[DLG] Je n'arrive pas à déclencher un dialogue 3 jours après le recrutement d'un PNJ
Posté : dim. 05 févr. 2006, 20:05
Bon j'ai un petit problème avec les Dialogues :
Je voudrais qu'au bout de trois jours après qu'il ai été recruté, Eadem discute avec le PJ.
Donc déjà, cette discussion est à mettre où ? dans le B ou le J ? ( et il faut bien créer plusieurs fichier .D ? Ou tout mettre dans le même ? )
Après, il faut donc mettre un script dans l'override :
Voila ce que j'ai mis :
Après j'ai mis ça dans le dialogue :
( Pour tester donc
)
et pour définir les dialogues j'ai mis ça dans le TP2 :
donc soit je regarde de travers, soit il y a un problème dans mes adresses dans les scripts toussa... J'aurais besoin d'aide.
Remarque : j'ai déjà essayé en mettant le '' SetGlobal("EademTalk01","LOCALS",1) '' dans le dialogue plutôt que dans le script mais ça fonctionnait pas non plus
.
Tiens j'ai aussi ajouté ce script au D3PlAYERs pour faire arriver mon perso, calqué sur celui de Shinook ( merci à lui encore )
Je le donne au cas où...
Voila... merci d'avance pour votre aide
.
Je voudrais qu'au bout de trois jours après qu'il ai été recruté, Eadem discute avec le PJ.
Donc déjà, cette discussion est à mettre où ? dans le B ou le J ? ( et il faut bien créer plusieurs fichier .D ? Ou tout mettre dans le même ? )
Après, il faut donc mettre un script dans l'override :
Voila ce que j'ai mis :
Code : Tout sélectionner
IF
Global("EademJoined","LOCALS",1) // bon c'est juste pour vérifier s'il est dans le groupe
Global("EademTalk01","LOCALS",0) // pour éviter de recommencer le même talk à chaque fois...
THEN
RESPONSE #100
SetGlobalTimer("EADPRTLK","GLOBAL",21600) // Le timer...
END
IF
Global("EademJoined","LOCALS",1) // idem qu'au dessus
Global("EademTalk01","LOCALS",0) // idem qu'au dessus
GlobalTimerExpired("EADPRTLK","GLOBAL") // Ca parle pour soi même je pense :)
!StateCheck(Player1,STATE_SLEEPING) // Pour éviter que ça se déroule quand le perso dors... j'ai copié sur un Tuto de Romance que j'ai trouvé
InParty(Myself)
See(Player1)
THEN
RESPONSE #100
SetGlobal("EademTalk01","LOCALS",1)
Dialogue(Player1) // il me semble que cette commande renvoie donc à une discussion se trouvant dans le Fichier.D J du perso...
END
Code : Tout sélectionner
BEGIN K-eademJ
IF ~Global("EademTalk01","LOCALS",0)~ THEN BEGIN TEST
SAY ~Test~
IF ~~ THEN REPLY ~ok~ EXIT
END

et pour définir les dialogues j'ai mis ça dans le TP2 :
Code : Tout sélectionner
APPEND ~pdialog.2da~ ~k-eadem K-EademP K-eademJ K-EademD K-EadetP K-EadetJ K-EadetD K-Eadet5~
UNLESS ~k-eadem~
APPEND ~interdia.2da~ ~k-eadem Beadem k-eadetB~
UNLESS ~k-eadem~
Remarque : j'ai déjà essayé en mettant le '' SetGlobal("EademTalk01","LOCALS",1) '' dans le dialogue plutôt que dans le script mais ça fonctionnait pas non plus

Tiens j'ai aussi ajouté ce script au D3PlAYERs pour faire arriver mon perso, calqué sur celui de Shinook ( merci à lui encore )
Code : Tout sélectionner
IF
Global("Chapter","GLOBAL",1)
Global("Eadespawn","GLOBAL",0)
THEN
RESPONSE #100
SetGlobalTimer("SPAWNEAD","GLOBAL",7200)
SetGlobal("Eadespawn","GLOBAL",1)
END
IF
GlobalTimerExpired("SPAWNEAD","GLOBAL")
Global("EademExists","GLOBAL",0)
PartyRested()
THEN
RESPONSE #100
CreateCreature("K-Eadem",[-1.-1],0)
SetGlobal("EademExists","GLOBAL",1)
END
Voila... merci d'avance pour votre aide
