La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 23/11/2024 19:04:13


  Page 1 sur 1 ¤

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 05/10/2006 19:54:45 Sujet du message : Eclipse totale !

Bonjour amis scripteurs. Smile

Je recherche desespérément le moyen de faire un script basé sur l'idée d'une eclipse volontaire... je m'explique.

En gros a un moment donné, je voudrais que sur toutes les zones d'exterieurs (plaines, forets, montagnes, j'en passe et des meilleures) se retrouvent dans le noir total d'une eclipse de soleil (brouillard noir, eclairage noir, disparition du ciel skybox etc...) qui soit activable via objet ou placeable pour faire plus simple (objet exclusivement pour md je precise, sorte d'interrupteur a lumiere mondial)

Quelqu'un a t il une idée lumineuse ? Very Happy

{edit : desolé si le post est en double, ma connexion deconne completement. Si un modérateur pouvais avoir l'extreme gentillesse de supprimer le post superflu je lui en serai reconnaissant, merci beaucoup}
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 11/10/2006 09:29:22 Sujet du message :

Je m'excuse de relancer ainsi le post mais... personne n'a d'idées ?
Ou est ce qu'il faut que je reconfigure manuellement une a une toutes les zones d'exterieur du mod ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 11/10/2006 12:11:55 Sujet du message :

Essaye avec ça :

NWScript :
// Changes the current Day/Night cycle for this player to night
// - oPlayer: which player to change the lighting for
// - fTransitionTime: how long the transition should take
void DayToNight(object oPlayer, float fTransitionTime=0.0f)
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Black Knight
Grand Maître Chanteur du Conseil
Inscrit le: 27 Oct 2005
Messages: 1031
Localisation: Fin fond du trou du cul du monde
Répondre en citant
Posté le : 11/10/2006 18:58:07 Sujet du message :

Ou alors tu mets le sort "Tenebre" partout?

Ok je sors ->
_________________
[http]
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 12/10/2006 10:45:36 Sujet du message :

Merci pour vos propositions de solutions qui sont intéressantes, quoique brutales Smile

De mon côté j'ai essayé ceci :

NWScript :
void main()
{
    object oArea = GetFirstArea();

  while(GetIsObjectValid(oArea))
  {
    if(GetIsAreaAboveGround(oArea) == TRUE && GetIsAreaInterior(oArea) == FALSE)
    {
    SetSkyBox(SKYBOX_NONE,oArea);
    SetFogAmount(FOG_TYPE_ALL, 10, oArea);
    SetFogColor(FOG_TYPE_ALL, FOG_COLOR_BLACK, oArea);
    }
  object oArea = GetNextArea();
  }

}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Seulement j'ai un tout petit problème... GetFirstArea et GetNextArea n'existent pas... et je ne sais pas non plus comment les créer. Embarassed
Est ce que vous voyez comment se sortir de ce petit pépin ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 12/10/2006 13:27:09 Sujet du message :

Je réitère ma proposition, elle n'a rien de brutale :

NWScript :
// Changes the current Day/Night cycle for this player to night
// - oPlayer: which player to change the lighting for
// - fTransitionTime: how long the transition should take
void DayToNight(object oPlayer, float fTransitionTime=0.0f)
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Je n'ai pas testé, mais il y a un paramètre fTransitionTime qui visiblement te permet de définir à quelle vitesse tu veux que la nuit tombe. Quoi de mieux pour une éclipse ?
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 12/10/2006 18:01:23 Sujet du message :

Je suis d'accord avec toi finipe, rien de très brutal en fait.
Mais cependant, il y a deux choses qui me plaisent pas avec cette fonction :

- la fonction change le jour en nuit, mais l'heure continue a s'ecouler et le jour finit par se relever au bout d'un moment... ce qui est moyen pour une éclipse qui est censée durée indéfiniment.
- j'aurai réellement souhaité utiliser le brouillard noir, ou modifier la luminosité ambiante pour donner cette impression d'obscurité; avec cette fonction on se retrouve juste avec les paramètres de brouillard et d'éclairages de nuit configurés dans les propriétés de la zone.

Donc c'est bien comme fonction si y'a rien d'autre en fait, sans vouloir te vexer finipe.Smile
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 13/10/2006 05:00:27 Sujet du message :

Dans ce cas là, essaye avec les fonctions comme GetTileMainLight1Color(), y en a 5 ou 6 : il faut faire une boucle sur la zone en cours, c'est assez lourd à gérer pour le module.

Si en plus tu veux que ça s'applique à tout le module, alors il va falloir ruser (par exemple, en utilisant une condition sur le onEnter de chaque zone : si variable eclipse=1, alors boucle avec GetTileBlablabla...)

Si c'est un module multi, alors il faudra faire une boucle sur chaque joueur du module (GetFirstPC() - GetNextPC() ...) et appliquer la boucle avec les GetTileBlablabla() sur chaque zone dans laquelle un perso se trouve.

Mais tout cela donnera sûrement une grosse usine à gaz Malade

Finalement, le plus simple serait encore d'utiliser DayToNight(), puis ensuite de changer l'heure du module à intervalles réguliers pour reculer l'heure, en utilisant SetTime(). C'est foireux, mais ô combien moins coûteux !
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 14/10/2006 21:01:27 Sujet du message :

J'aime bien les solutions suicides Smile
Dans quoi faut il stocker la variable "eclipse" ? et avec quelle fonction y arriver ?

J'ai ça pour le moment mais ca marche pas trop
NWScript :
void main()
{
    object oPC = GetEnteringObject();
    object oArea = GetArea(oPC);
    object oLev = GetObjectByTag("levier_eclipse");

    if(GetLocalInt(oLev,"eclipse") == 1)
    {
    SetSkyBox(SKYBOX_NONE,oArea);
    SetFogAmount(FOG_TYPE_ALL, 20, oArea);
    SetFogColor(FOG_TYPE_ALL, FOG_COLOR_BLACK, oArea);
    }
    if(GetLocalInt(oLev,"eclipse") == 0)
    {
    SetSkyBox(SKYBOX_GRASS_CLEAR,oArea);
    SetFogAmount(FOG_TYPE_ALL, 1, oArea);
    SetFogColor(FOG_TYPE_ALL, FOG_COLOR_WHITE, oArea);
    }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
finipe
Grand Sage du Conseil
Inscrit le: 11 Fév 2003
Messages: 519
Localisation: Nantes
Répondre en citant
Posté le : 15/10/2006 19:51:54 Sujet du message :

Ma foi tout dépend de l'outilisation que tu veux en faire. Si tu veux une éclipse sur tout ton module, tu stockes sur le module. Si c'est juste sur la zone, tu stockes sur la zone.

Ce qui change beaucoup de choses aussi je suppose, c'est selon que ton module soit multijoueur ou non. Si ton module est multijoueur et que l'éclipse est sur tout le module, ça alourdit forcément de façon considérable ton script.
_________________
» Le Tref & l'Aucube : Histoire, misanthropie & zoologie léonine
» 1626, le Gant & l'Epée : intrigues & duels sous le règne de Louis XIII
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 16/10/2006 17:47:44 Sujet du message :

Je persiste dans ma solution suicide...

C'est pour un module multijoueur et c'est pour tout le module Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 1 ¤


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 37.974ms