
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.







La date/heure actuelle est 07/04/2025 21:07:06
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 |
Djezebel Héros ![]() Messages: 252 |
Bonjour à tous,
Avant de créer ce post, j'ai fais une recherche et ai bien trouvé certains sujets concernant des mots de passes, une partie de la phrase que dirait le PNJ pour donner une action. Cependant, je souhaiterais créer un perroquet (or, il ne sait pas par avance que le joueur va dire). Comment faire, donc, pour qu'un PNJ restitue la phrase que le PJ vient de dire ? J'ai fais ceci, et cela ne fonctionne pas : Dans le OnSpawn : NWScript :
// Dans le Onspawn du pnj invisible. #include "NW_I0_GENERIC" void main() { SetSpawnInCondition(NW_FLAG_ON_DIALOGUE_EVENT); //SetAssociateListenPatterns() ; //SetListeningPatterns(); SetListening(OBJECT_SELF, TRUE); SetListenPattern(OBJECT_SELF, "**", 1601); } Dans le User defined NWScript :
//:: Custom User Defined Event #include "NW_I0_GENERIC" void main() { int nUser = GetUserDefinedEventNumber(); if(nUser == 1004) // ON DIALOGUE { int iNb = GetListenPatternNumber(); if ((iNb == 1601) && (GetIsPC(GetLastSpeaker()))) { string sListen = GetMatchedSubstring(1601);// ah bah vi SpeakString(sListen); } } } Le PNJ semble vouloir dire quelque chose mais rien dans le texte ne s'affiche. Des idées ? Dernière édition par Djezebel le 05/06/2006 12:00:54; édité 1 fois
|
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Yop
remplace juste : string sListen = GetMatchedSubstring(1601); par NWScript :
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. et hop, ça marche. Le nombre que tu entres en paramètre dans GetMatchedSubString, c'est pour compter les occurences de la chaîne que tu cherches dans ce qu'il entend. Or tu cherches toute parole entendue, donc elle ne peut y être qu'une fois, soit l'index 0. |
Revenir en haut | ![]() ![]() ![]() |
Djezebel Héros ![]() Messages: 252 |
Merciiiiiiiii !
![]() |
Revenir en haut | ![]() ![]() ![]() |
Viduc de Papironda Grand Chevalier Messages: 119 |
|
Revenir en haut | ![]() ![]() ![]() |
Arkain Von Villar Novice Messages: 5 |
Lol un petit conseille quand même, si tu ne veux pas retrouver ton perroquet mort : Met le dans une zone où il n'y aura pas 26 personnes à dialoguer, ca peut être très lourdant ^^
|
Revenir en haut | ![]() ![]() ![]() |
Djezebel Héros ![]() Messages: 252 |
C'est soit le perroquet qui meurt, mais si je le mets en invincible ce sera sûrement les PJ qui se tairont ou chuchotteront pour éviter que tout soit répêté.
![]() Mais merci de l'avoir signalé. ![]() |
Revenir en haut | ![]() ![]() ![]() |
Sith Vicious Grand Sage du Conseil ![]() Messages: 693 |
Le truc à pas faire c'est 2 perroquets sans la verif GetIsPC(GetLastSpeaker()) par contre
![]() J'ai essayé, ça fait un beau freeze hihi |
Revenir en haut | ![]() ![]() ![]() |
Arkain Von Villar Novice Messages: 5 |
MDR
![]() |
Revenir en haut | ![]() ![]() ![]() |
Black Knight Grand Maître Chanteur du Conseil ![]() Messages: 1031 Localisation: Fin fond du trou du cul du monde |
Extra se systeme, j'arrive à faire des guildes maintenant, les joueurs pourront créer leur propre guilde
![]() _________________ [http] |
Revenir en haut | ![]() ![]() ![]() |


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