Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Aide pour un script ! SVP, aidez-moi ! J'en dors plus !
Aide pour un script ! SVP, aidez-moi ! J'en dors plus !
Par Mel Ethybem le 26/12/2002 à 23:29:52 (#2885095)
Cela ne fait pas tellement longtemps que je chipote sur le toolset Aurora et j'ai un petit problème de script. Je vous explique :
Dans un dialogue j'ai créé un noeud qui ne passe qu'une fois (le personnage se présente) : avec les variables locales 'nFirstTimeTalked' en '1' j'y suis arrivé (bien que ça déconne de temps en temps, mais bon :maboule: pas grave). Mais je n'arrive pas à refaire la même chose avec un deuxième personnage !! Comment faire pour assigner un script de "phrase unique" à plusieurs personnes ?? C'est à dire que je refais l'étape du script 'nFirstTimeTalked' au deuxième personnage, je lance le jeu pour tester, et là le deuxième personnage fonctionne bien, mais le premier ne le fait plus ! Le nom de mes scripts sont bien tous différent. Est-ce normal ? Dites-moi tout ce qui vous passe par la tête à ce sujet. Merci d'avance !
Mel Ethybem
Par coolstar le 26/12/2002 à 23:36:41 (#2885147)
;)
Par Jaha Effect le 26/12/2002 à 23:39:15 (#2885169)
Jaha Effect :D
Par Mel Ethybem le 26/12/2002 à 23:39:56 (#2885172)
Par coolstar le 26/12/2002 à 23:42:25 (#2885195)
// Set oObject's local integer variable sVarName to nValue
void SetLocalInt(object oObject, string sVarName, int nValue)
C'est le 'string sVarName' qui doit être chaque fois différent, pour chaque nouveau cas... :rolleyes:
...
Par Mastokk le 26/12/2002 à 23:45:22 (#2885225)
je vais ré-exposer ton problème pour être certain de l'avoir compris:
Tu as 2 NPC (non Player Character ; Personnage non joueur), et tu leur fais dire un dialogue. Seulement tu veux que ce dialogue n'apparaisse qu'une seule fois. Pour faire ça, tu as créé une variable locale appelée "nFirstTimeTalked" que tu mets à 1.
Ton problème est qu'une fois qu'un PC (Player Character ; Personnage joueur) a parlé au premier NPC, il ne peut pas avoir la phrase du second NPC.
Si ton problème s'expose bien dans ces termes, il vient du fait que tu as la même variable locale pour tes 2 NPC. Ce qui veut dire qu'une fois que le PC à parlé au premier NPC, la variable locale est mise à 1 et donc elle est considérée à 1 aussi sur le 2eme NPC. Pour résoudre ton problème, il suffit donc de donner un nom différent à la variable locale du dialogue de ton second NPC.
Une variable locale n'est pas rattachée à l'objet qui lui a donné une valeur. Tu peux y faire référence n'importe où sur ton module. C'est pour ça que le dialogue ne s'affiche pas sur le 2eme NPC. Ces variables locales pourront par exemple te permettre de déclencher des dialogues suite à l'arrivée des PC dans une zone qu'ils ne connaissaient pas.
exemple:
Tes PC arrivent dans la ville et ne connaissent rien de la région. Quand ils parlent aux gens, ceux-ci n'ont rien de spécial à leur dire. Les PC explorent un peu et arrivent dans une crypte. Et bien par l'intermédiaire d'une variable locale, tu peux mettre la valeur 1 à la variable "crypte" par exemple et celle-ci déclenchera des possibilités de dialogues avec les NPC en ville, permettant à tes PC de poser des questions sur la crypte :).
Voilà j'espère t'avoir aidé, tu n'as donc qu'à mettre des noms de variables locales différents dans chaque dialogue.
Edit \ Et voilà ce que c'est que d'écrire des tartines, on se fait grillé sur la ligne :D :rolleyes:
Par Jaha Effect le 26/12/2002 à 23:46:01 (#2885228)
exemple: avec un pnj qui s'appel Robert appel ta variable local "RobertFTTalk" le tout est que tu t'y retrouve. :D
Jaha Effect :D
Par coolstar le 26/12/2002 à 23:48:27 (#2885241)
Par Mel Ethybem le 26/12/2002 à 23:49:44 (#2885247)
Je crois que mon problème est résolu. En fin de compte, c'est très logique. Si, j'ai encore des choses à dire, je n'hésite pas à revenir. On se verra peut-être un jour sur mon module :mdr: ! looool
Mel Ethybem
Par Jaha Effect le 26/12/2002 à 23:50:14 (#2885250)
Provient du message de coolstar
Pourquoi vous faites rien que de tartiner les mêmes choses?? :D
PARCE QUE !!! :D
Jaha Effect :D
Par Mel Ethybem le 26/12/2002 à 23:50:28 (#2885253)
Provient du message de coolstar
Pourquoi vous faites rien que de tartiner les mêmes choses?? :D
Que veux-tu dire ?
Par coolstar le 26/12/2002 à 23:50:48 (#2885255)
;)
Par Mel Ethybem le 26/12/2002 à 23:52:53 (#2885270)
Par Mastokk le 26/12/2002 à 23:55:49 (#2885294)
Provient du message de coolstar
Pourquoi vous faites rien que de tartiner les mêmes choses?? :D
Parce que les tartines c'est bon ! :D
Par Jaha Effect le 26/12/2002 à 23:56:25 (#2885299)
Provient du message de coolstar
C'est pour Mastokk et Jaha! :D
;)
Gna gna gna :p
Jaha Effect :D
Par Mastokk le 26/12/2002 à 23:58:03 (#2885313)
Provient du message de Jaha Effect
Gna gna gna :p
Jaha Effect :D
Fast fast fast ? :p
JOL Archives 1.0.1
@ JOL / JeuxOnLine