Hmmm je pense voir où se situe le problème.
Je suppose que quand tu parles du fichier .baf, il s'agit du #RAr0406.baf ?
Ce que tu tentes de faire est donc de déclencher un dialogue dans une zone précise à partir d'un script de zone ?
Le problème ici, c'est que le script est relié à une zone, donc si tu utilises la commande StartDialogueNoSet(Player1), l'objet de cette action sera... la zone ! Or une zone ne peut pas parler, elle ne pourra jamais déclencher de dialogue ^^ A la rigueur, avec un ActionOverride(), le déclenchement du dialogue est possible.
De plus, ce bloc manque de conditions de vérification dans le IF. Ainsi, ce bloc se déclenchera dès que tu rentres dans la couronne de cuivre, car il n'y a aucune condition spécifique à Jesup : ce script ne vérifie pas si Jesup est dans le groupe par exemple.
Bref, tout ceci fait que le dialogue ne se déclenchera jamais.
De plus, faire démarrer un dialogue à partir d'un script de zone me semble maladroit.
Il est plus simple de déclencher ton dialogue à partir du personnage qui discute avec Charname, à savoir dans ce cas-là Jesup, donc de rédiger un bloc de script qui se trouvera directement dans le #RJesup.baf (je suppose que le fichier script de Jesup doit se nommer comme ça).
Et par conséquent, tu pourras supprimer le bloc du #RAr0406.baf que tu as posté.
Voici le bloc :
IF
InParty("#RJesup")
AreaCheck("Ar0406")
See([PC])
Global("#RJesupCouronnedeCuivre","AR0406",0)
THEN RESPONSE #100
SetGlobal("#RJesupCouronnedeCuivre","AR0406",1)
StartDialogueNoSet(Player1)
END
Petit détail ligne par ligne :
IF
InParty("#RJesup") // vérifie que Jesup est dans le groupe
AreaCheck("Ar0406") // vérifie que Jesup se trouve dans la zone Ar0406 (en l'occurrence la couronne de cuivre)
See([PC]) // vérifie que Charname est dans le champ de vision de Jesup (et a fortiori dans la même zone.)
Global("#RJesupCouronnedeCuivre","AR0406",0) // vérifie que la variable #RJesupCouronnedeCuivre est à 0.
THEN RESPONSE #100
SetGlobal("#RJesupCouronnedeCuivre","AR0406",1) // passe la variable #RJesupCouronnedeCuivre à la valeur 1.
StartDialogueNoSet(Player1) // démarre le dialogue avec Charname.
END
La condition importante est donc l'AreaCheck() qui vérifie qu'on se trouve bien dans telle zone pour déclencher l'action.
Voilà, normalement avec ça, le dialogue devrait se déclencher la première que tu franchiras le pas de la couronne de cuivre avec Jesup dans ton groupe.
Content de voir que tu poursuis ton chemin dans le modding