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 23/11/2024 13:19:41
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 |
Shan-Kuei Novice Messages: 13 |
Hello,
J'ai un problème "d'emmêlage" avec deux scripts de mon petit module. A la base, j'avais fait un script pour qu'une créature change de réplique lorsqu'un PJ vient la voir pour une seconde fois. En clair, si le joueur accoste celle-ci pour la première fois, celle-ci répondra: "Bonjour à vous <FirstName>, etc". Et lorsque le joueur lui reparle pour la seconde fois, elle lui répondra: "De retour ? etc" Voici la partie technique: Dans l'éditeur de dialogue j'ai: Pour la première réplique (celle de bienvenue) dans "action conséquente": 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. Pour la seconde réplique (celle de retour) dans "Condition d'éxecution" NWScript :
int StartingConditional() { ClearAllActions(); // Inspecter variables locales if(!(GetLocalInt(GetPCSpeaker(), "nFirstTimeTalked") == 1)) return FALSE; return TRUE; } Jusque là, tout va bien. Et puis je décide de faire la même chose pour l'aubergiste (une autre créature). Je met donc en place exactement le même système que celui précedemment. Et là...c'est le drââme. Lorsque je parle à l'un, et que je parle à l'autre ensuite, ce dernier passe directement à la seconde réplique, et inversement. J'ai donc pensé qu'un "ClearAllAction()" en début de script allait arranger les choses, mais nada. Je souhaite donc que l'on m'aide à résoudre ce problème (c'est tout con, j'en suis sur ) Merci Dernière édition par Shan-Kuei le 08/08/2005 17:49:19; édité 1 fois
|
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Non le problème ne viens pas de sa, tu enregistre sur ton joueur une variable.
Pour l'aubergiste tu utilise la même donc sa fait comme si tu avais parler déjà une fois. Seul moyen changer les nom de variable/Stoquer les variable sur pnj avec nom joueur... _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Shan-Kuei Novice Messages: 13 |
Hmm..très bien, merci beaucoup !
|
Revenir en haut | |
Shan-Kuei Novice Messages: 13 |
J'ai maintenant stocké ma variable sur la créature grâce à GetObjectByTag("MonTag")
Ca marche, mais je crains le pire. Si désormais la variable est stocké sur la créature, imaginons le scénario: Un joueur arrive, il engage une discussion. Il fait fonctionner la variable, donc, quand il reparle à la créature, il tombe sur le deuxième noeud de dialogue. Ce joueur s'en va. Quelques minutes après, un autre pj arrive. Donc, si il parle à la créature, il risque de tomber directement sur le deuxième noeud de dialogue, sans avoir entamer la première non ? Merci de répondre. Edit: J'ai oublié de le préciser...C'est un très bonne équipe de soutien et d'apprentissage, ici |
Revenir en haut | |
Amphiprion Ecuyer Messages: 56 |
Ben c'est simple, tu stock l'info sur le PC, en utilisant une cle par NPC
SetLocalInt(oPC, "CLE_NPC_1", 1); -> j'ai deja parlé au NPC 1 SetLocalInt(oPC, "CLE_NPC_2", 1); -> j'ai deja parlé au NPC 2 |
Revenir en haut | |
Shan-Kuei Novice Messages: 13 |
Quel idiot, j'avais oublié de changer mon nom de variable -_-
Merci en tout cas |
Revenir en haut | |
Ivellios Légende vivante Messages: 447 Localisation: Poitiers |
Shan-Kuei a écrit : Si désormais la variable est stocké sur la créature, imaginons le scénario:
J'avais donner deux solutions, celle de Amphiprion et celle ou on stoque sur le pnj avec nom/ID du PJ
Un joueur arrive, il engage une discussion. Il fait fonctionner la variable, donc, quand il reparle à la créature, il tombe sur le deuxième noeud de dialogue. Ce joueur s'en va. Quelques minutes après, un autre pj arrive. Donc, si il parle à la créature, il risque de tomber directement sur le deuxième noeud de dialogue, sans avoir entamer la première non ? Moi-même a écrit : Seul moyen changer les nom de variable/Stoquer les variable sur pnj avec nom joueur... Exemple quand tu stock sa donne sa :
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. Quand tu consulte l'info : 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. Avantage pour tout les pnj juste tes deux scripts. (Sinon tu stock sur le PC avec le tag du PNJ dans le même style) _________________ Scripts, systèmes, fonctions,... c'est par ici... Pyjama pour castor, une vocation, un avenir sûr |
Revenir en haut | |
Shan-Kuei Novice Messages: 13 |
C'est clair que c'est beaucoup plus pratique.
J'avais pas très bien compris ce que tu proposais au début. En clair, la variable est stockée sur le PNJ, mais s'exécute en fonction du PJ qui parle. Pas besoin de changer le nom de variable, donc. Merci |
Revenir en haut | |
Shan-Kuei Novice Messages: 13 |
Hum..Je tombe sur un nouveau problème:
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. Impossible de compiler. Je pense que c'est dû à l'absence des lignes object =(oPC,..) situés tout en haut. Je n'ai jamais compris en quelles circonstances il fallait les préciser, et quelle était leurs fonctions. |
Revenir en haut | |
kiky.le.magnifique Homme très gay Messages: 907 Localisation: Camping de la nation martienne... |
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. ou encore : 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. C'est bien simple, oPC, c'est comme la cuillere dans matrix, ça n'existe pas pour l'editeur. C'est donc à nous de la définir à la main _________________ http://perso.wanadoo.fr/kikitor | Deviant Art | www.VistaEntraide.com | CCLLSELFV! | D-lire_K | Viendez rêver au Pays des fées... | Ne taquinez pas l'admin! |
Revenir en haut | |
Shan-Kuei Novice Messages: 13 |
Sympa la comparaison
Sympa aussi d'avoir trouvé la solution |
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