Après avoir réussi à intégrer mon dialogue de recrutement à mon PNJ, je n'arrive pas à lancer le second dialogue qui devrait se déclencher après un événement.
Le PNJ doit parler à CHARNAME après avoir récupéré un objet lâché par un monstre. Le trigger s'active mais aucune fenêtre de dialogue apparaît, le PNJ se tourne vers CHARNAME, rien d'autre ne se passe.
Voici les fichiers impliqués:
Elrn.D
► Afficher le texte
// Recrutement
BEGIN ~El[r]in~
IF ~ NumTimesTalkedTo(0)
THEN DO SetGlobal("HireEl[r]in","GLOBAL",0)
~ THEN BEGIN 1
SAY @1 = @3/* ~Que voulez-vous?~ */
IF ~~ THEN REPLY @2 /* ~Qu'est ce que ça peut vous faire?! Cette auberge ne vous appartient pas. Que cela vous plaise ou non, je m'installe près de ce feu. Vous feriez mieux de déguerpir avant que l'envie ne me prenne de vous sortir moi-même.~ */ GOTO 2
IF ~~ THEN REPLY @4 /* ~Je souhaite simplement me réchauffer auprès du feu, j'ai beaucoup voyagé et un peu de répis me fera le plus grand bien.~ */ GOTO 10
END
IF ~~ THEN BEGIN 2
SAY @6 /* ~Pendant qu'il vous toise du regard, vous portez la main à votre ceinturon près à dégainer votre arme, mais l'Elfe semble ne pas chercher querelle, il vous ignore et s'en va.~ */
IF ~~ THEN DO ~EscapeArea()~ EXIT
END
IF ~~ THEN BEGIN 10
SAY @21
IF ~~ THEN DO ~
SetGlobal("HireEl[r]in","GLOBAL",1)
SetCutSceneLite(TRUE)
Face(6)
ActionOverride(Player1,MoveToPointNoInterrupt([212.246]))
Wait(1)
ActionOverride("El[r]in",StartDialogNoSet(Player1))
Wait(4)
SetCutSceneLite(FALSE)~
EXIT
END
IF ~Global("HireEl[r]in","GLOBAL",1)~ THEN BEGIN 11
SAY @22= @23
IF ~~ THEN GOTO 12
END
IF ~~ THEN BEGIN 12
SAY @24=@25 /* ~Dans votre état actuel, je ne pense pas que qui que ce soit accepte de vous confier une quelconque tâche, à moins que vous ne soyez connu dans tout Féérune. Quel est votre nom?~ */
IF ~~ THEN REPLY @26 /* ~Je me nomme [CHARNAME], que me proposez-vous de faire dans ce cas là?~ */ GOTO 13
IF ~~ THEN REPLY @7 GOTO 2
END
IF ~~ THEN BEGIN 13
SAY @27 /* ~J'avais moi-même prévu d'enquêter sur les affaires liées à la Mine de Nashkel, nous pourrions faire équipe.~ */
IF ~~ THEN REPLY @28 /* ~Votre proposition me semble intéressante. Pourquoi vous ferais-je confiance?~ */ GOTO 14
END
IF ~~ THEN BEGIN 14
SAY @29 /* ~Je sais que vous êtes recherché par tout les assassins des environs mais je n'ai aucun intérêt à vous voir mort. Je me propose de vous aider à combattre vos assaillants afin d'assurer votre survie, ainsi que d'enquêter ensemble. Qui plus est, deux personnes armées se trouvent à l'extérieur de l'auberge, soit elles sont ici pour vous, soit elles sont ici pour moi. Dans ces deux cas nous pourrions éclaircir ce point là ensemble.~ */
IF ~~ THEN REPLY @30 /* ~Vu de cette manière, je ne peux qu'accepter, quel est votre nom?~ */ GOTO 16
END
IF ~~ THEN BEGIN 16
SAY @31 /* ~Il aurait été peu judicieux pour un criminel de se mettre à découvert dans une auberge, ou pour vous d'annoncer les choses de cette manière. Vous semblez par ailleurs être bien plus recherché que je ne le suis (il vous montre un parchemin avec votre nom et portrait dessus).~ */
IF ~~ THEN REPLY @32/* ~(Vous agrippez votre arme fermement.)~ */ GOTO 17
END
IF ~~ THEN BEGIN 17
SAY @34 /* ~Il est inutile d'agir de la sorte, si j'avais été intéressé par cette offre, je n'aurais pas attendu de vous adresser la parole pour vous attaquer. Nous sommes tous recherchés par quelqu'un pour de bonnes ou de mauvaises raisons.~ */
IF ~~ THEN REPLY @35 /* ~(Toujours la main posée sur votre arme, vous relachez cependant la prise sur celle-ci.) Que cela signifie t-il?~ */ GOTO 18
END
IF ~~ THEN BEGIN 18
SAY @36 /* ~Je cherche à enquêter sur le affaires de la Mine de Nashkel, mais tout seul, je risque de ne pas en revenir. Accepteriez-vous de me prendre dans votre groupe?~ */
IF ~~ THEN REPLY @37 /* ~Comment puis-je être certain de pouvoir vous faire confiance?~ */ GOTO 19
END
IF ~~ THEN BEGIN 19
SAY @38 /* ~Deux personnes armées, s'il n'y en a pas plus, sont ici soit pour vous, soit pour moi. Dans ces deux cas nous aurons besoin l'un de l'autre pour en venir à bout.~ */
IF ~~ THEN REPLY @39 /* ~Je n'ai pas vraiment d'autre choix. Comment vous appelez-vous?~ */ GOTO 20
END
IF ~~ THEN BEGIN 20
SAY @40 /* ~Elrin Indoel.~ */
IF ~~ THEN DO ~
SetGlobal("HireEl[r]in","GLOBAL",2)
JoinParty()
~
EXIT
END
BEGIN ~El[r]in~
IF ~ NumTimesTalkedTo(0)
THEN DO SetGlobal("HireEl[r]in","GLOBAL",0)
~ THEN BEGIN 1
SAY @1 = @3/* ~Que voulez-vous?~ */
IF ~~ THEN REPLY @2 /* ~Qu'est ce que ça peut vous faire?! Cette auberge ne vous appartient pas. Que cela vous plaise ou non, je m'installe près de ce feu. Vous feriez mieux de déguerpir avant que l'envie ne me prenne de vous sortir moi-même.~ */ GOTO 2
IF ~~ THEN REPLY @4 /* ~Je souhaite simplement me réchauffer auprès du feu, j'ai beaucoup voyagé et un peu de répis me fera le plus grand bien.~ */ GOTO 10
END
IF ~~ THEN BEGIN 2
SAY @6 /* ~Pendant qu'il vous toise du regard, vous portez la main à votre ceinturon près à dégainer votre arme, mais l'Elfe semble ne pas chercher querelle, il vous ignore et s'en va.~ */
IF ~~ THEN DO ~EscapeArea()~ EXIT
END
IF ~~ THEN BEGIN 10
SAY @21
IF ~~ THEN DO ~
SetGlobal("HireEl[r]in","GLOBAL",1)
SetCutSceneLite(TRUE)
Face(6)
ActionOverride(Player1,MoveToPointNoInterrupt([212.246]))
Wait(1)
ActionOverride("El[r]in",StartDialogNoSet(Player1))
Wait(4)
SetCutSceneLite(FALSE)~
EXIT
END
IF ~Global("HireEl[r]in","GLOBAL",1)~ THEN BEGIN 11
SAY @22= @23
IF ~~ THEN GOTO 12
END
IF ~~ THEN BEGIN 12
SAY @24=@25 /* ~Dans votre état actuel, je ne pense pas que qui que ce soit accepte de vous confier une quelconque tâche, à moins que vous ne soyez connu dans tout Féérune. Quel est votre nom?~ */
IF ~~ THEN REPLY @26 /* ~Je me nomme [CHARNAME], que me proposez-vous de faire dans ce cas là?~ */ GOTO 13
IF ~~ THEN REPLY @7 GOTO 2
END
IF ~~ THEN BEGIN 13
SAY @27 /* ~J'avais moi-même prévu d'enquêter sur les affaires liées à la Mine de Nashkel, nous pourrions faire équipe.~ */
IF ~~ THEN REPLY @28 /* ~Votre proposition me semble intéressante. Pourquoi vous ferais-je confiance?~ */ GOTO 14
END
IF ~~ THEN BEGIN 14
SAY @29 /* ~Je sais que vous êtes recherché par tout les assassins des environs mais je n'ai aucun intérêt à vous voir mort. Je me propose de vous aider à combattre vos assaillants afin d'assurer votre survie, ainsi que d'enquêter ensemble. Qui plus est, deux personnes armées se trouvent à l'extérieur de l'auberge, soit elles sont ici pour vous, soit elles sont ici pour moi. Dans ces deux cas nous pourrions éclaircir ce point là ensemble.~ */
IF ~~ THEN REPLY @30 /* ~Vu de cette manière, je ne peux qu'accepter, quel est votre nom?~ */ GOTO 16
END
IF ~~ THEN BEGIN 16
SAY @31 /* ~Il aurait été peu judicieux pour un criminel de se mettre à découvert dans une auberge, ou pour vous d'annoncer les choses de cette manière. Vous semblez par ailleurs être bien plus recherché que je ne le suis (il vous montre un parchemin avec votre nom et portrait dessus).~ */
IF ~~ THEN REPLY @32/* ~(Vous agrippez votre arme fermement.)~ */ GOTO 17
END
IF ~~ THEN BEGIN 17
SAY @34 /* ~Il est inutile d'agir de la sorte, si j'avais été intéressé par cette offre, je n'aurais pas attendu de vous adresser la parole pour vous attaquer. Nous sommes tous recherchés par quelqu'un pour de bonnes ou de mauvaises raisons.~ */
IF ~~ THEN REPLY @35 /* ~(Toujours la main posée sur votre arme, vous relachez cependant la prise sur celle-ci.) Que cela signifie t-il?~ */ GOTO 18
END
IF ~~ THEN BEGIN 18
SAY @36 /* ~Je cherche à enquêter sur le affaires de la Mine de Nashkel, mais tout seul, je risque de ne pas en revenir. Accepteriez-vous de me prendre dans votre groupe?~ */
IF ~~ THEN REPLY @37 /* ~Comment puis-je être certain de pouvoir vous faire confiance?~ */ GOTO 19
END
IF ~~ THEN BEGIN 19
SAY @38 /* ~Deux personnes armées, s'il n'y en a pas plus, sont ici soit pour vous, soit pour moi. Dans ces deux cas nous aurons besoin l'un de l'autre pour en venir à bout.~ */
IF ~~ THEN REPLY @39 /* ~Je n'ai pas vraiment d'autre choix. Comment vous appelez-vous?~ */ GOTO 20
END
IF ~~ THEN BEGIN 20
SAY @40 /* ~Elrin Indoel.~ */
IF ~~ THEN DO ~
SetGlobal("HireEl[r]in","GLOBAL",2)
JoinParty()
~
EXIT
END
El[r]in.BCS
► Afficher le texte
IF
Global("HireEl[r]in","GLOBAL",2)
PartyHasItem("ELCRL") // Le Sacrifice
THEN
RESPONSE #100
SetGlobal("HireEl[r]in","GLOBAL",3)
ActionOverride("El[r]in",StartDialog("El[r]inJ",Player1))
END
Global("HireEl[r]in","GLOBAL",2)
PartyHasItem("ELCRL") // Le Sacrifice
THEN
RESPONSE #100
SetGlobal("HireEl[r]in","GLOBAL",3)
ActionOverride("El[r]in",StartDialog("El[r]inJ",Player1))
END
El[r]inJ.D
► Afficher le texte
// Un nouvel ennemi
BEGIN ~El[r]inJ~
IF ~ Global("HireEl[r]in","GLOBAL",3) ~
THEN BEGIN 21
SAY @36
IF ~~ THEN REPLY @37
EXIT
END
BEGIN ~El[r]inJ~
IF ~ Global("HireEl[r]in","GLOBAL",3) ~
THEN BEGIN 21
SAY @36
IF ~~ THEN REPLY @37
EXIT
END
Voici la partie du fichier TP2 concernée pour la liaison du fichiers .D avec le personnage:
► Afficher le texte
// 2DA POUR DIALOGUES (SoA + To)
// ELRIN
APPEND ~pdialog.2da~
~El[r]in El[r]inP El[r]inJ El[r]inD El[r]25P El[r]25J El[r]25D El[r]D25~
UNLESS~El[r]in~
// ISKORN
APPEND ~pdialog.2da~
~Is[k]or Is[k]orP Is[k]orJ Is[k]orD Is[]25P Is[]25J Is[]25D Is[]D25~
UNLESS~Is[k]orn~
// ELRIN
APPEND ~interdia.2da~
~El[r]in STEl[r] El[r]25~
UNLESS ~El[r]in~
UNLESS ~25FILE~
// ISKORN
APPEND ~interdia.2da~
~Is[k]or STIs[k] Is[k]25~
UNLESS ~Is[k]or~
UNLESS ~25FILE~
// Compilation des fichiers dialogues(BG)
// LYCANTHROPE
COMPILE ~El[r]in_Dragosh/Dialogues/El[w]lf.d~
USING ~El[r]in_Dragosh/Dialogues/El[w]lf.tra~
// Compilation des fichiers dialogues(SoA)
// ELRIN
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]in.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]inP.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]inJ.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]inD.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
// ISKORN
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]or.d~
USING ~El[r]in_Dragosh/Dialogues/French/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]orP.d~
USING ~El[r]in_Dragosh/Dialogues/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]orJ.d~
USING ~El[r]in_Dragosh/Dialogues/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]orD.d~
USING ~El[r]in_Dragosh/Dialogues/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[N]my.d~
USING ~El[r]in_Dragosh/Dialogues/El[N]my.tra~
// Compilation des fichiers dialogues(SoA) + ToB
//ELRIN
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]25P.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]25J.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]25D.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]D25.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
// ISKORN
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]25P.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]25J.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]25D.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]D25.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
// ELRIN
APPEND ~pdialog.2da~
~El[r]in El[r]inP El[r]inJ El[r]inD El[r]25P El[r]25J El[r]25D El[r]D25~
UNLESS~El[r]in~
// ISKORN
APPEND ~pdialog.2da~
~Is[k]or Is[k]orP Is[k]orJ Is[k]orD Is[]25P Is[]25J Is[]25D Is[]D25~
UNLESS~Is[k]orn~
// ELRIN
APPEND ~interdia.2da~
~El[r]in STEl[r] El[r]25~
UNLESS ~El[r]in~
UNLESS ~25FILE~
// ISKORN
APPEND ~interdia.2da~
~Is[k]or STIs[k] Is[k]25~
UNLESS ~Is[k]or~
UNLESS ~25FILE~
// Compilation des fichiers dialogues(BG)
// LYCANTHROPE
COMPILE ~El[r]in_Dragosh/Dialogues/El[w]lf.d~
USING ~El[r]in_Dragosh/Dialogues/El[w]lf.tra~
// Compilation des fichiers dialogues(SoA)
// ELRIN
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]in.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]inP.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]inJ.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[r]inD.d~
USING ~El[r]in_Dragosh/Dialogues/El[r]in.tra~
// ISKORN
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]or.d~
USING ~El[r]in_Dragosh/Dialogues/French/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]orP.d~
USING ~El[r]in_Dragosh/Dialogues/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]orJ.d~
USING ~El[r]in_Dragosh/Dialogues/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/Is[k]orD.d~
USING ~El[r]in_Dragosh/Dialogues/Is[k]or.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/El[N]my.d~
USING ~El[r]in_Dragosh/Dialogues/El[N]my.tra~
// Compilation des fichiers dialogues(SoA) + ToB
//ELRIN
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]25P.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]25J.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]25D.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/El[r]D25.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/El[r]25.tra~
// ISKORN
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]25P.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]25J.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]25D.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
COMPILE ~El[r]in_Dragosh/Dialogues/ToB/Is[]D25.d~
USING ~El[r]in_Dragosh/Dialogues/ToB/Is[]25.tra~
Merci pour vos lumières.