La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
FAQ
Rechercher
Liste des Membres
Groupes d'utilisateurs
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
S'enregistrer Se connecter pour vérifier ses messages privés Connexion
La date/heure actuelle est 29/12/2024 18:42:34
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
Voir le sujet précédent ¤ Voir le sujet suivant | |
---|---|
Auteur | Message |
Tuyen Demi-dieu Messages: 460 Localisation: Chez moi |
Posté le : 17/05/2003 22:40:10 Sujet du message : Où faut-il mettre les scripts pour les placeables??
Bonjour! Je voulais créer un placeable qui s'allume ( pour l'instant il s'allume tout le temps, je verrais par la suite comment faire pour qu'il ne s'allume que le soir ). Mais quand j'ai ouvert les propriétés du placeables, section script, je n'ai pas trouvé de "OnSpawn". Donc je voulais savoir où mettre mon script, toutes les autres conditions me paraissent pas correspondre avec ce que je veux.
Je veux juste que quand il est là, il s'allume. Je veux pas que le PJ ait à cliquer dessus pour ce faire. Voici mon script : Code : void main()
{ effect Lumiere001; Lumiere001 = EffectVisualEffect (VFX_DUR_LIGHT_BLUE_20,FALSE ); ApplyEffectToObject (DURATION_TYPE_PERMANENT, Lumiere001, OBJECT_SELF, 0.0 ); } Dans quelle section je dois le mettre svp??? |
Revenir en haut | |
Wololo Légende vivante Messages: 385 |
et bien .. ca dépend ...
en fait tu as l'air de le créer dynamiquement, donc allume le juste après la création. si ce n'est pas le cas, ben met le dans la zone sur le OnEnter (avec un test sur un flag histoire de ne pas l'allumer 40 fois ...) sinon pour le faire que le soir, tu peux faire une fonction récursive qui s'appelle avec un délai égale au délai entre l'instant où le pj rentre, et le moment où la nuit tombe .. |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Un autre truc aussi, juste un petit détail, prends l'habitude pour tes variables de mettre :
eNomDeVariable pour les effets sNomDeVariable pour les strings vNomDeVariable pour les vecteurs oNomDeVariable pour les objets etc... C'est peut-être tout bête, mais dans les scripts assez longs, c'est utile pour pas se perdre ! _________________ » 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 | |
Tyrion Ecuyer Messages: 43 |
pour si il fait jour ou nuit tu peux utiliser ceci :
Code : if (GetIsDusk())//si il fait nuit
{ //lampe alumé } else if (GetIsDawn())//ou si il fait jour { //lampe éteinte } Tyrion |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Attention ce n'est pas complet : GetIsDusk() c'est pour le crépuscule, et GetIsDawn() c'est pour l'aube. Donc le script ne se déclenchera que si le joueur se trouve dans la zone des placeables au moment où l'aube ou le crépuscule arrive, et pas s'il y arrive quand il fait déjà jour ou déjà nuit. J'ajoute qu'il faudrait également vérifier si le placeable est allumé/éteint selon le cas, pour éviter que le script se déclenche sans arrêt, puisque pour faire tout ça il faut un script sur le onHeartBeat.
Il faut donc mettre sur le onHeartBeat de la zone des placeables : Code : if (GetIsDusk() || GetIsNight()) // s'il fait nuit OU si c'est le crépuscule { if(GetLocalInt(GetModule(), "jour") == 0) // Si c'était éteint... { // commande lampe allumée SetLocalInt(GetModule(), "jour", 1); // ...c'est maintenant allumé ! } } if (GetIsDawn() || GetIsDay()) // s'il fait jour OU si c'est l'aube { if(GetLocalInt(GetModule(), "jour") == 1) // Si c'était allumé... { // commande lampe éteinte SetLocalInt(GetModule(), "jour", 0); // ...c'est maintenant éteint ! } } Voilà voilà _________________ » 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 | |
Wololo Légende vivante Messages: 385 |
mouais, sauf qu'avec votre méthode vous faites le calcul toutes les 6 secondes ...
alors que moi je ne le fais qu'une seule fois (mais j'utilise une fonction récursive ..) |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Je pense que c'est pas gênant, la condition est assez sélective pour que la charge CPU soit négligeable. Enfin je pense, j'ai déjà utilisé un script dans ce genre là (jour/nuit) et ça posait aucun 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 | |
La Bibliothèque de Neverwinter Nights Index du Forum »
La Bibliothèque Binaire du NWScript - Neverwinter Nights
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