Logiquement, s'il y a un contenu .tra, si on parle de soi-même au personnage, il doit déballer son texte, non?
Ce n'est pas si simple. Comme tu l'as constaté avec les problèmes de réplique de Sheratan (je sais, il a changé de nom, mais il s'appelait comme ça à l'époque), chaque réplique d'un dialogue est précédé d'une condition pour valider son apparition. Si tu n'as pas mis de condition ou si la condition que tu as mise n'est pas vérifiée lorsque tu engages le dialogue, aucune réplique n'est valide et le personnage "n'a rien à vous dire".
Pour éviter ce problème, il y a souvent en fin de dialogue (fichier D) un bloc du genre
Code : Tout sélectionner
IF ~true~ THEN BEGIN AucuneCondition
SAY ~Vous n'avez rien d'autre à faire.~
IF ~~ THEN EXIT
END
de façon à ce que le personnage ait toujours quelque chose à dire dans le pire des cas.
Une autre possibilité est que tu n'aies pas associé de dialogue (DLG) ou sous un mauvais nom au personnage dans le fichier CRE. Le nom du fichier DLG est indiqué par le "BEGIN TOTO" au début du fichier D. Dans ce cas, bien évidemment, il n'aurait rien à dire. :!: Je ne sais pas si le jeu affiche ce message dans ce cas, c'est juste une hypothèse.
En ce qui concerne ton souci d'enchaînement, je ne pense pas que le nombre d'intervenants ait une influence. Si je comprends bien, les intervenants sont le personnage principal, Severian et deux autres. Si le personnage qui débute la série est celui qui a le fichier .d et .tra, je ne vois pas de raison pour que le dialogue ne commence pas. On rejoint les hypothèses ci-dessus.
Faute de voir le dialogue (tu peux masquer les textes si tu ne ne veux pas spoiler), il m'est difficile de t'en dire davantage (je ne suis pas du tout spécialiste des dialogues et surtout de la syntaxe WeiDU pour les créer).
Tu évoques l'usage d'EXTERN mais il y a bien plus simple et pratique avec WeiDU. En particulier (dans ce cas, si je l'ai bien compris), il y aurait la commande CHAIN. Elle est décrite dans un tutorial à l'intérieur de la documentation WeiDU ? Ce serait le moyen le plus simple si les personnages sont ajoutés par le mod et non des personnages existants (sinon il te faut utiliser une des déclinaisons de INTERJECT_COPY_TRANS, je pense). Le tutorial consacré à INTERJECT dans la doc WeiDU est assez révélateur de l'usage qu'on peut faire de ces commandes un peu compliquées pour éviter le recours à des EXTERN qui s'avère encore plus complexe en général.
Dans le cas de CHAIN, si le fichier DLG qu'il faut indiquer après le == n'existe pas, je ne sais pas si WeiDU le crée. Si jamais le problème est là, il te suffirait peut-être de compiler avant un fichier D pour ce second personnage reprenant ce que j'ai indiqué plus tôt. Si tu n'en as pas créé un séparément, c'est que ce personnage n'intervient que dans cette discussion et cette réplique bidon ajoutée ne sera jamais exploitée. Mais elle permettra la création préalable du fichier pour que WeiDU y ajoute les répliques propres à ton vrai dialogue.
Si tu as utilisé des EXTERN alors tu risques un problème avec la référence externe à un autre dialogue (celui du deuxième personnage) s'il n'existe pas. En particulier parce qu'un EXTERN est supposé pointer sur le numéro d'un "état" dans le dialogue visé.
PS : dire que le TP2 est nickel est un peu présomptueux quand on ne connaît pas l'origine d'un problème, Mademoiselle.