Je suis à la recherche d'une méthode permettant de modifier un dialogue qui a été ajouté par un autre mod.
Plus précisément, je veux faire un EXTEND_BOTTOM sur l'un des blocs de ce dialogue, afin d'ajouter une nouvelle option à CHARNAME dans la discussion. Mon grand problème est de trouver quel est le numéro du bloc de dialogue, car d'une installation à une autre, en fonction des mods installés avant le mien, ce numéro va changer.
>> Existe-il une méthode permettant de parcourir tous les blocs d'un fichier de dialogue, et d'en récupérer le numéro si le bloc possède certaines caractéristiques ?
Dans l'exemple qui m'intéresse, c'est le mod BG1NPC qui ajoute la possibilité d'initier une discussion avec les personnages de son groupe. Dans le cadre de mon mod sur Garrick, je veux ajouter à ce dialogue une réplique permettant à CHARNAME de demander à Garrick d'expliquer les effets de ses nouvelles chansons.
Le bloc de dialogue en question est contenu dans le fichier garrij.dlg, et ressemble à ça :
Code : Tout sélectionner
IF WEIGHT #yy
~ IsGabber(Player1)
!Global("endofbg1","GLOBAL",2)
~ THEN BEGIN [B]xxx[/B] // from:
SAY #105971 /* ~*Garrick semble un peu distant, ces derniers temps, et moins bavard. C'est surprenant. Peut-être serait-ce le bon moment pour remédier à cette situation et remonter le moral du barde. Et les artistes n'aiment rien tant que de parler d'eux-mêmes.*~ [X#BLANKD] */
IF ~~ THEN REPLY #105972 /* ~*Vous décidez que cela n'en vaut pas la peine. Après tout, vous pourriez apprendre des choses que vous ne voulez pas savoir sur Garrick.*~ */ EXIT
[autres réponses possibles]
IF ~~ THEN REPLY #105980 /* ~Garrick, ta voix est... étrange.~ */ GOTO 268
END
J'ajoute la possibilité de dialogue comme ceci :
Code : Tout sélectionner
EXTEND_BOTTOM GARRIJ [B]xxx[/B]
IF ~Or(3)
Global("gtt#ChansonIvrogne","GLOBAL",1)
Global("gtt#ChansonSirenes","GLOBAL",1)
Global("gtt#BalladeNainFou","GLOBAL",1)
~ THEN REPLY @320 GOTO choixchanson
END
Merci d'avance pour vos suggestions