Page 1 sur 1

DIALOGUE SAY utilisation du =

Posté : ven. 16 août 2013, 12:48
par Cocrane
Je reviens sur ce sujet.

On peut donc avoir la saisie suivante: "SAY @3900000 = @3900001" dans un fichier .D

Weidu sait donc interpréter ce texte?
Il le transforme en deux blocks distincts dans le fichier .DLG?

Pouvons nous avoir aussi la syntaxe suivante dans un .D? (idem mais avec des références au fichier .TLK)
"SAY #3900000 = #3900001"


Je propose à chaud le fonctionnement suivant dans l'éditeur:
1- Création d'un fichier .D
> si il y a un "=" dans le texte du mot clé SAY alors il sera sauvegardé tel quel.

2- Lecture d'un fichier .D
> à l'affiche de la simulation de dialogue, si il y a un '=' dans le sAY, il y aura deux séquences au lieu d'une.

Cocrane

Posté : ven. 16 août 2013, 13:10
par Mornagest
Petit message complètement hors sujet et destiné à disparaître dès que tu le souhaites...

J'ai édité ton titre pour ne mettre que = et pas '=' car il faisait planter l'affichage des derniers messages du forum... sans doute une question de caractères REGEX...

Voilà voilà ;)

Posté : ven. 16 août 2013, 23:45
par Isaya
Pour savoir ce que fait WeiDU quand il crée le fichier DLG, le plus simple est d'essayer. Ensuite tu décompiles le fichier DLG et tu vois le résultat. Et tu constateras souvent ce que je t'avais signalé, c'est à dire qu'une fois compilé, on ne sait souvent pas remonter à la forme originale, y compris dans le cas du SAY multiple.
Dans le cas présent, il devrait bien y avoir 2 blocs avec un renvoi du premier vers le second.

Après SAY et les autres endroits où on fait référence à un texte du jeu, tu peux utiliser indifféremment @nnn, #nnn ou ~texte entre séparateurs~.

Posté : sam. 17 août 2013, 09:14
par Armand
Weidu sait donc interpréter ce texte?
Il le transforme en deux blocks distincts dans le fichier .DLG?
Oui c'est ce qu'il fait.
Pouvons nous avoir aussi la syntaxe suivante dans un .D? (idem mais avec des références au fichier .TLK)
"SAY #3900000 = #3900001"
Alors pour être honnête je n'ai jamais essayé, il faut dire que cela implique qu'on ait à utiliser deux entrées tlk preexistante d'affilée. Autant dire que ça n'arrive jamais.

Je propose à chaud le fonctionnement suivant dans l'éditeur:
1- Création d'un fichier .D
> si il y a un "=" dans le texte du mot clé SAY alors il sera sauvegardé tel quel.
Oui ça me semble bon.
2- Lecture d'un fichier .D
> à l'affiche de la simulation de dialogue, si il y a un '=' dans le sAY, il y aura deux séquences au lieu d'une.
Si tu veux simuler un dlg en l’occurrence oui.

Posté : mer. 21 août 2013, 03:40
par Freddy_Gwendo
Armand a écrit :
Cocrane a écrit :Pouvons nous avoir aussi la syntaxe suivante dans un .D? (idem mais avec des références au fichier .TLK)
"SAY #3900000 = #3900001"
Alors pour être honnête je n'ai jamais essayé, il faut dire que cela implique qu'on ait à utiliser deux entrées tlk preexistante d'affilée. Autant dire que ça n'arrive jamais.
J'ai testé ce fonctionnement avec des ajouts aux dialogues de Minsc et d'Imoen (trop paresseux pour écrire de nouveaux dialogues, donc j'utilisais des # existants) : ça fonctionne parfaitement. ;)

Posté : sam. 24 août 2013, 00:35
par Cocrane
En conclusion:

Le '=' doit être lisible pour un fichier DLG ou D sur les cas suivants:
1- # = # etc...
2- Texte = Texte etc...
3- @ = @ etc...

En ecriture dans un fichier .D on aura:
1- # -> # (on ne change rien)
2- texte -> @ + .TRA
3- @ -> @ (on ne change rien)

Cocrane