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 01/11/2024 05:28:42
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 |
Seth de Sombrelune Seigneur Messages: 156 |
Bonjour à tous...
Un collegue m'a refiler un script de listener afin d'ouvrir une porte si un mot de passe est prononcé, voici ses scripts (ils fonctionnet parfairement...) Dans le OnSpawn de la créature : NWScript :
#include "NW_I0_GENERIC" void SetAssociateListenPatterns(object oTarget=OBJECT_SELF); void SetListeningPatterns(); void main() { SetListening(OBJECT_SELF,TRUE); SetListenPattern(OBJECT_SELF, "**ouverture**", 1000); SetListenPattern(OBJECT_SELF, "**", 1001); } dans le OnConversation de la créature NWScript :
#include "NW_I0_GENERIC" void main() { int iNb = GetListenPatternNumber(); object oPC = GetPCSpeaker(); object oTarget; oTarget = GetObjectByTag("e1"); //le tag de la porte int iClassLevelDRUID=GetLevelByClass(CLASS_TYPE_DRUID,oPC); int iClassLevelRANGER=GetLevelByClass(CLASS_TYPE_RANGER,oPC); switch (iNb) { case -1 : ClearAllActions(); break; case 1000 : // si le mot de passe est bon, ouvre la porte SetLocked(oTarget, FALSE); AssignCommand(oTarget, ActionOpenDoor(oTarget)); break; case 1001 : break; } } Actuellement, quiconque prononce "ouverture" devant la porte, elle s'ouvre. J'ai donc voulu introduire une condition relative à la classe du personnage afin de n'accorder l'ouverture qu'aux druides et rodeurs. J'ai donc modifier le script et obtenu ceci : NWScript :
#include "NW_I0_GENERIC" void main() { int iNb = GetListenPatternNumber(); object oPC = GetPCSpeaker(); object oTarget; oTarget = GetObjectByTag("e1"); //le tag de la porte int iClassLevelDRUID=GetLevelByClass(CLASS_TYPE_DRUID,oPC); int iClassLevelRANGER=GetLevelByClass(CLASS_TYPE_RANGER,oPC); switch (iNb) { case -1 : ClearAllActions(); break; case 1000 : // si le mot de passe est bon, ouvre la porte if ((iClassLevelDRUID >= 1) ||(iClassLevelRANGER >= 1)) { SetLocked(oTarget, FALSE); AssignCommand(oTarget, ActionOpenDoor(oTarget)); } break; case 1001 : break; } } Mais là plus personne n'ouvre la porte ni les druides, ni les rodeurs et encore moins les autres classes de perso... Qui peux me dire quelle est mon erreur et comment determiner une condition ? Merci ! Dernière édition par Seth de Sombrelune le 11/11/2005 14:23:51; édité 1 fois
|
Revenir en haut | |
warpShadow Légende vivante Messages: 363 Localisation: Perpignan |
et le script se compile bien ?
_________________ Asphia Module RP Médiéval Fantastique pour Neverwiner Nights |
Revenir en haut | |
Anthraxcite Légende vivante Messages: 372 Localisation: Belgique |
Essaye avec GetLastSpeaker();.
|
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
GetPCSpeaker est a changé, cette "phrase" sert juste dans les dialogue de PNJs, alors que la tu le met dans une "ecoute" de PNJ. Donc comme Anthraxite tu doit mettre GetLastSpeaker().
|
Revenir en haut | |
Seth de Sombrelune Seigneur Messages: 156 |
Merci de cette aide, ça marche impec !
J'ai encore du mal a faire la difference entre les 2 object ! |
Revenir en haut | |
Black Knight Grand Maître Chanteur du Conseil Messages: 1031 Localisation: Fin fond du trou du cul du monde |
GetPCSpeaker(); = A mettre dans un DIALOGUE, cela sert d'identifiquation du PJ qui parle.
GetLastSpeaker(); = C'est a mettre plus autres par que dans un DIAGLOGUE car ceci dit qu'un PJ "cause", comme je t'es dit, ici le PNJ entend causé le PJ qui lui dit "ouverture". C'est presque rien comme difference mais GetPCSpeaker(), et GetLastSpeaker() son a utilisé soit dans un Dialogue (GetPCSpeaker) soit dans un OnConversation (GetLastSpeaker) |
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