Alors que je préparais tranquillement le squelette de mon dialogue j'ai eu la mauvaise surprise de me retrouver devant un bug de Weidu, qui me refusait une formule de condition, alors que j'avais 4 lignes plus tôt quelque chose de quasi-identique et fonctionnel, enfin bref suite a quelques Clic et 2 heures j'ai vaincu le problème.
Maintenant j'ai la chance... de voir apparaitre un problème de label, soit :
► Afficher le texte
Compiling 1 script ...
Compiling 1 dialogue file ...
ERROR: Cannot resolve internal symbolic label [Klareenemy0401] for DLG [#ZKLARE]
Known labels: Klareintro0101 Klareintro0102 Klareintro0103 Klareintro0104 Klares
ilence0101 Klaresilence0102 Klarepresentation0101 Klaremensonge0101 Klareverite0
101 Klareverite0102 Klareverite0103 Klareinteru0101
ERROR: postprocessing [#ZKLARE]: Failure("cannot resolve label")
Stopping installation because of error.
Compiling 1 dialogue file ...
ERROR: Cannot resolve internal symbolic label [Klareenemy0401] for DLG [#ZKLARE]
Known labels: Klareintro0101 Klareintro0102 Klareintro0103 Klareintro0104 Klares
ilence0101 Klaresilence0102 Klarepresentation0101 Klaremensonge0101 Klareverite0
101 Klareverite0102 Klareverite0103 Klareinteru0101
ERROR: postprocessing [#ZKLARE]: Failure("cannot resolve label")
Stopping installation because of error.
Voici pour les courageux mon .D
Merci d'avance a ceux qui pourrons m'expliquer le pourquoi du bug de 'label'
► Afficher le texte
BEGIN "#ZKlare" //Partie qui permet le cheminement dans les differents dialogues de Klare
//Deux premiers chiffres : ID du dialogue en entier, deux derniers : ID du bloc
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Dialogues d'introduction - 01 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Partie 1 crise de nerfs de la bestiole enfin liberée de sa cage
IF ~NumTimesTalkedTo(0)~ THEN BEGIN Klareintro0101
SAY @1301001
IF ~~ THEN REPLY @2301001 GOTO Klareintro0102
IF ~~ THEN REPLY @2301002 GOTO Klareintro0102 //silence
IF ~~ THEN REPLY @2301003 GOTO Klareenemy0401 //Klaire devient hostile
END
IF ~~ THEN BEGIN Klareintro0102
SAY @1301002
IF ~~ THEN REPLY @2301004 GOTO Klareintro0103
IF ~~ THEN REPLY @2301002 GOTO Klareintro0103 //silence
IF ~~ THEN REPLY @2301003 GOTO Klareenemy0401 //Klaire devient hostile
END
IF ~~ THEN BEGIN Klareintro0103
SAY @1301003
IF ~~ THEN REPLY @2301005 GOTO Klareintro0104
IF ~~ THEN REPLY @2301002 GOTO Klareintro0104 //silence
IF ~~ THEN REPLY @2301006 GOTO Klareenemy0401 //Klaire devient hostile
END
IF ~~ THEN BEGIN Klareintro0104
SAY @1301004
IF ~~ THEN REPLY @2301007 GOTO Klarepresentation0101
IF ~~ THEN REPLY @2301002 GOTO Klaresilence0101 //silence
IF ~~ THEN REPLY @2301008 GOTO Klareenemy0401 //Klare devient hostile
END
// Partie 1.5 le perso est trop calme
IF ~~ THEN BEGIN Klaresilence0101
SAY @1301005
IF ~~ THEN REPLY @2301009 GOTO Klarepresentation0101
IF ~~ THEN REPLY @2301002 GOTO Klaresilence0102 //silence
IF ~~ THEN REPLY @2301010 GOTO Klarefuit0403 //Klare s'en va
END
IF ~~ THEN BEGIN Klaresilence0102
SAY @1301006
IF ~~ THEN DO ~SetGlobal("#ZKlareangry","GLOBAL",1)~ EXIT //Klare s'en va
END
// Partie 2 presentations.
IF ~~ THEN BEGIN Klarepresentation0101
SAY @1301007
IF ~~ THEN REPLY @2301011 GOTO Klaremensonge0101
IF ~~ THEN REPLY @2301012 GOTO Klareverite0101
END
IF ~~ THEN BEGIN Klaremensonge0101
SAY @1301008
IF ~~ THEN REPLY @2301013 GOTO Klaresilence0102
IF ~~ THEN REPLY @2301012 GOTO Klareverite0101
END
IF ~~ THEN BEGIN Klareverite0101
SAY @1301009
IF ~~ THEN REPLY @2301014 GOTO Klareverite0102
IF ~~ THEN REPLY @2301015 GOTO Klareverite0102
END
IF ~~ THEN BEGIN Klareverite0102
SAY @1301010
IF ~~ THEN REPLY @2301016 GOTO Klareverite0103
IF ~~ THEN REPLY @2301017 GOTO Klareinteru0101
END
IF ~~ THEN BEGIN Klareverite0103
SAY @1301010
IF ~~ THEN REPLY @2301016 GOTO Klareverite0103
IF ~~ THEN REPLY @2301017 GOTO Klareinteru0101
END
IF ~~ THEN BEGIN Klareinteru0101
SAY @1301010
IF ~~ THEN DO ~SetGlobal("#ZGemmajoined","GLOBAL",1) JoinParty()~ EXIT
END
// Partie 3 signature du contract
// Partie 4 Klare rejoinds l'equipe
// Partie 5 Klare s'en va
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Dialogues de liceciment de Klare - 02 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BEGIN "#ZKlareP"
IF ~Global("#ZKlarejoined","GLOBAL",1)~
THEN BEGIN Klarevire0201
SAY @1302001
IF ~~ THEN REPLY @2302001 GOTO Klarevire0202
IF ~~ THEN REPLY @2302002 GOTO Klarevire0203
IF ~~ THEN REPLY @2302003 GOTO Klarevire0204
END
//Klare attend a sa position actuelle
IF ~~ THEN BEGIN Klarevire0202
SAY @1302002
IF ~~ DO ~SetGlobal("#ZKlarejoined","GLOBAL",0)~ EXIT
END
// Klare est envoyé a la couronne de cuivre
IF ~~ THEN BEGIN Klarevire0203
SAY @1302003
IF ~~ THEN REPLY @2302004 GOTO Klarevire0205
END
IF ~~ THEN BEGIN Klarevire0204
SAY @1302004
IF ~~ DO ~JoinParty()~ EXIT
END
IF ~~ THEN BEGIN Klarevire0205
SAY @1302005
IF ~~ DO ~SetGlobal("#ZKlarejoined","GLOBAL",0) SetGlobal("#ZKlaretombe","GLOBAL",1)~ EXIT
END
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Dialogues de rerecrutement - 03 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IF ~Global("#ZKlarejoined","GLOBAL",0)~ THEN BEGIN Klareqqpart // Le NPC se trouve "quelque part" la ou la abandonner CHARNAME
SAY @1303001
IF ~~ THEN REPLY @2303001 GOTO Klarerevien // Klare reviens dans le groupe
IF ~~ THEN REPLY @2303002 GOTO Klarevire0203 // Demande a Klare d'aller au cimetiere
IF ~~ THEN REPLY @2303003 GOTO Klarefuit0401
IF ~~ THEN REPLY @2303004 EXIT
END
IF ~Global("#ZKlaretombe","GLOBAL",2)~ THEN BEGIN Klarecimetiere
SAY @1303001
IF ~~ THEN REPLY @2303001 GOTO Klarerevien // Klare reviens dans le groupe
IF ~~ THEN REPLY @2303003 GOTO Klarefuit0401
IF ~~ THEN REPLY @2303004 EXIT
END
// Le NPC reviens dans le groupe
IF ~~ THEN BEGIN Klarerevien
SAY @1303003
IF ~~ THEN DO ~SetGlobal("#ZKlarejoined","GLOBAL",1) SetGlobal("#ZKlaretombe","GLOBAL",0) JoinParty()~ EXIT // Klare reviens dans le groupe
END
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Rupture du contract - 04 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IF ~~ THEN BEGIN Klareenemy0401
SAY @1304001
IF ~~ THEN DO ~SetGlobal("ZKlarehostile","GLOBAL",1)~ EXIT // Klare devient hostile
END
IF ~~ THEN BEGIN Klarefuit0403
SAY @1304003
IF ~~ THEN DO ~SetGlobal("#ZKlarefuit","GLOBAL",1)~ EXIT // Klare disparait a jamais
END
IF ~~ THEN BEGIN Klarefuit0401
SAY @1304002
IF ~~ THEN DO ~SetGlobal("#ZKlareafuitngry","GLOBAL",1)~ EXIT // Klare disparait a jamais
END
//Deux premiers chiffres : ID du dialogue en entier, deux derniers : ID du bloc
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Dialogues d'introduction - 01 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Partie 1 crise de nerfs de la bestiole enfin liberée de sa cage
IF ~NumTimesTalkedTo(0)~ THEN BEGIN Klareintro0101
SAY @1301001
IF ~~ THEN REPLY @2301001 GOTO Klareintro0102
IF ~~ THEN REPLY @2301002 GOTO Klareintro0102 //silence
IF ~~ THEN REPLY @2301003 GOTO Klareenemy0401 //Klaire devient hostile
END
IF ~~ THEN BEGIN Klareintro0102
SAY @1301002
IF ~~ THEN REPLY @2301004 GOTO Klareintro0103
IF ~~ THEN REPLY @2301002 GOTO Klareintro0103 //silence
IF ~~ THEN REPLY @2301003 GOTO Klareenemy0401 //Klaire devient hostile
END
IF ~~ THEN BEGIN Klareintro0103
SAY @1301003
IF ~~ THEN REPLY @2301005 GOTO Klareintro0104
IF ~~ THEN REPLY @2301002 GOTO Klareintro0104 //silence
IF ~~ THEN REPLY @2301006 GOTO Klareenemy0401 //Klaire devient hostile
END
IF ~~ THEN BEGIN Klareintro0104
SAY @1301004
IF ~~ THEN REPLY @2301007 GOTO Klarepresentation0101
IF ~~ THEN REPLY @2301002 GOTO Klaresilence0101 //silence
IF ~~ THEN REPLY @2301008 GOTO Klareenemy0401 //Klare devient hostile
END
// Partie 1.5 le perso est trop calme
IF ~~ THEN BEGIN Klaresilence0101
SAY @1301005
IF ~~ THEN REPLY @2301009 GOTO Klarepresentation0101
IF ~~ THEN REPLY @2301002 GOTO Klaresilence0102 //silence
IF ~~ THEN REPLY @2301010 GOTO Klarefuit0403 //Klare s'en va
END
IF ~~ THEN BEGIN Klaresilence0102
SAY @1301006
IF ~~ THEN DO ~SetGlobal("#ZKlareangry","GLOBAL",1)~ EXIT //Klare s'en va
END
// Partie 2 presentations.
IF ~~ THEN BEGIN Klarepresentation0101
SAY @1301007
IF ~~ THEN REPLY @2301011 GOTO Klaremensonge0101
IF ~~ THEN REPLY @2301012 GOTO Klareverite0101
END
IF ~~ THEN BEGIN Klaremensonge0101
SAY @1301008
IF ~~ THEN REPLY @2301013 GOTO Klaresilence0102
IF ~~ THEN REPLY @2301012 GOTO Klareverite0101
END
IF ~~ THEN BEGIN Klareverite0101
SAY @1301009
IF ~~ THEN REPLY @2301014 GOTO Klareverite0102
IF ~~ THEN REPLY @2301015 GOTO Klareverite0102
END
IF ~~ THEN BEGIN Klareverite0102
SAY @1301010
IF ~~ THEN REPLY @2301016 GOTO Klareverite0103
IF ~~ THEN REPLY @2301017 GOTO Klareinteru0101
END
IF ~~ THEN BEGIN Klareverite0103
SAY @1301010
IF ~~ THEN REPLY @2301016 GOTO Klareverite0103
IF ~~ THEN REPLY @2301017 GOTO Klareinteru0101
END
IF ~~ THEN BEGIN Klareinteru0101
SAY @1301010
IF ~~ THEN DO ~SetGlobal("#ZGemmajoined","GLOBAL",1) JoinParty()~ EXIT
END
// Partie 3 signature du contract
// Partie 4 Klare rejoinds l'equipe
// Partie 5 Klare s'en va
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Dialogues de liceciment de Klare - 02 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BEGIN "#ZKlareP"
IF ~Global("#ZKlarejoined","GLOBAL",1)~
THEN BEGIN Klarevire0201
SAY @1302001
IF ~~ THEN REPLY @2302001 GOTO Klarevire0202
IF ~~ THEN REPLY @2302002 GOTO Klarevire0203
IF ~~ THEN REPLY @2302003 GOTO Klarevire0204
END
//Klare attend a sa position actuelle
IF ~~ THEN BEGIN Klarevire0202
SAY @1302002
IF ~~ DO ~SetGlobal("#ZKlarejoined","GLOBAL",0)~ EXIT
END
// Klare est envoyé a la couronne de cuivre
IF ~~ THEN BEGIN Klarevire0203
SAY @1302003
IF ~~ THEN REPLY @2302004 GOTO Klarevire0205
END
IF ~~ THEN BEGIN Klarevire0204
SAY @1302004
IF ~~ DO ~JoinParty()~ EXIT
END
IF ~~ THEN BEGIN Klarevire0205
SAY @1302005
IF ~~ DO ~SetGlobal("#ZKlarejoined","GLOBAL",0) SetGlobal("#ZKlaretombe","GLOBAL",1)~ EXIT
END
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Dialogues de rerecrutement - 03 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IF ~Global("#ZKlarejoined","GLOBAL",0)~ THEN BEGIN Klareqqpart // Le NPC se trouve "quelque part" la ou la abandonner CHARNAME
SAY @1303001
IF ~~ THEN REPLY @2303001 GOTO Klarerevien // Klare reviens dans le groupe
IF ~~ THEN REPLY @2303002 GOTO Klarevire0203 // Demande a Klare d'aller au cimetiere
IF ~~ THEN REPLY @2303003 GOTO Klarefuit0401
IF ~~ THEN REPLY @2303004 EXIT
END
IF ~Global("#ZKlaretombe","GLOBAL",2)~ THEN BEGIN Klarecimetiere
SAY @1303001
IF ~~ THEN REPLY @2303001 GOTO Klarerevien // Klare reviens dans le groupe
IF ~~ THEN REPLY @2303003 GOTO Klarefuit0401
IF ~~ THEN REPLY @2303004 EXIT
END
// Le NPC reviens dans le groupe
IF ~~ THEN BEGIN Klarerevien
SAY @1303003
IF ~~ THEN DO ~SetGlobal("#ZKlarejoined","GLOBAL",1) SetGlobal("#ZKlaretombe","GLOBAL",0) JoinParty()~ EXIT // Klare reviens dans le groupe
END
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Rupture du contract - 04 //
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
IF ~~ THEN BEGIN Klareenemy0401
SAY @1304001
IF ~~ THEN DO ~SetGlobal("ZKlarehostile","GLOBAL",1)~ EXIT // Klare devient hostile
END
IF ~~ THEN BEGIN Klarefuit0403
SAY @1304003
IF ~~ THEN DO ~SetGlobal("#ZKlarefuit","GLOBAL",1)~ EXIT // Klare disparait a jamais
END
IF ~~ THEN BEGIN Klarefuit0401
SAY @1304002
IF ~~ THEN DO ~SetGlobal("#ZKlareafuitngry","GLOBAL",1)~ EXIT // Klare disparait a jamais
END