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 14/11/2024 07:53: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 |
Fleurs Comiques1 Acolyte Messages: 26 |
Bonsoir a tous,
je voudrais savoir si il exsiste un sript pour le départ des monstre dans une zone? Mon problème est que quand je spawn les monstre dans la zone et quand j'en ressort eu il reste meme apres 10 minutes. Quelqu'un aurais t'il une idée (un script)? Merci d'avance. |
Revenir en haut | |
Doshin Novice Messages: 14 Localisation: Finistère |
Bonjour.
Ce que tu veux c'est que les créatures disparaisent une fois que tu es sortis de la zone ? Si c'est cela voici un script qui devrait t'aider (et marcher ) : NWScript :
void main() { object oObjectToDestroy = GetFirstObjectInArea(); object oPCExiting = GetExitingObject(); object oArea = OBJECT_SELF; int iNbrPC = GetLocalInt(oArea, "NbrPC"); while(oObjectToDestroy != OBJECT_INVALID) { if(iNbrPC == 0) { if((GetObjectType(oObjectToDestroy) == OBJECT_TYPE_CREATURE) && GetIsEncounterCreature(oObjectToDestroy) && GetIsPC(oPCExiting)) { DelayCommand(10.0, DestroyObject(oObjectToDestroy)); } oObjectToDestroy = GetNextObjectInArea(); } } } Doshin |
Revenir en haut | |
Fleurs Comiques1 Acolyte Messages: 26 |
Oui c'est sa que je désire et merci de ton aide.
|
Revenir en haut | |
Doshin Novice Messages: 14 Localisation: Finistère |
Je t'en prie.
Donc ce script doit marcher, il est à placer dans le OnExit de la zone, j'ai oublié de préciser. Les monstres seront détruits après un delai de 10 secondes facilement changeable. Doshin |
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Il manque quelque chose dans ce script : il y a une variable nommée iNbrPC qui visiblement vérifie qu'il ne reste plus de joueur dans la zone avant de la vider de ses monstres. Mais ta variable n'est modifiée nulle part : il doit manquer une portion de code qui vérifie le nombre de joueurs dans la zone (probablement sur le onEnter, qui ajoute 1 à iNbrPC à chaque fois qu'un joueur entre, et sur le onExit, qui retranche 1 à chaque fois qu'un joueur sort).
Il faudrait aussi ajouter une condition pour stopper la boucle while si jamais il reste encore des joueurs dans la zone : sinon le script passera en revue tous les objets de la zone, même s'il ne fait rien du tout. Il suffirait de rajouter, après le bloc if, un bloc else { break; } _________________ » 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 | |
Fleurs Comiques1 Acolyte Messages: 26 |
j'ai tester le script et effectivement les monstres dans la zone disparesse meme si il y a un joueur.
|
Revenir en haut | |
finipe Grand Sage du Conseil Messages: 519 Localisation: Nantes |
Voilà la version améliorée des quelques remarques précédentes :
1. A placer sur le onExit de la zone : NWScript :
void main() { object oObjectToDestroy = GetFirstObjectInArea(); object oPCExiting = GetExitingObject(); object oArea = OBJECT_SELF; int iNbrPC = GetLocalInt(oArea, "NbrPC"); if(GetIsPC(oPCExiting)) { iNbrPC--; SetLocalInt(oArea, "NbrPC", iNbrPC); } if(iNbrPC == 0) { while(oObjectToDestroy != OBJECT_INVALID) { if((GetObjectType(oObjectToDestroy) == OBJECT_TYPE_CREATURE) && GetIsEncounterCreature(oObjectToDestroy) && GetIsPC(oPCExiting)) { DelayCommand(10.0, DestroyObject(oObjectToDestroy)); } oObjectToDestroy = GetNextObjectInArea(); } } } 2. A placer sur le onEnter de la zone : NWScript :
void main() { object oPCEntering = GetEnteringObject(); object oArea = OBJECT_SELF; int iNbrPC = GetLocalInt(oArea, "NbrPC"); if(GetIsPC(oPCEntering)) { iNbrPC++; SetLocalInt(oArea, "NbrPC", iNbrPC); } } Voilà, c'est pas testé, mais à peu de choses près ça devrait marcher _________________ » 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 | |
Fleurs Comiques1 Acolyte Messages: 26 |
Merci à toi Finipe je teste et je te reviens avec sa.
|
Revenir en haut | |
Fleurs Comiques1 Acolyte Messages: 26 |
Je voudrais te dire un gros merci Finipe sa fonctionne a merveille et il me semble pas avoir d'erreur pour le momment le script va comme je le désirais merci encore:P
|
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