Affichage des résultats 1 à 30 sur 30

Discussion: [BG TCD] Création d'un fichier .D et .TRA de base à partir d'un texte

  1. #1
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156

    [BG TCD] Création d'un fichier .D et .TRA de base à partir d'un texte

    BG TCD: Baldur's gate Texte conversion Dialogue

    Mise à jour du 05/03/2017

    Voici un outil simple qui a pour but de transformer vôtre dialogue (fichier .TXT) en fichier de base .D et .TRA.

    Principe de fonctionnement

    - le programme gère les dialogues entre deux ou plusieurs personnes.

    - une phrase commence par le nom du personnage qui parle entre crochets.

    Exemple:
    [Elvira] Bonjour, comment ca va?
    - Si le personnage qui parle est un membre du groupe son nom est "PC" pour "Player Character"

    - Si une nouvelle personne parle, on change de ligne.

    - Si la nouvelle phrase est une réponse à la précédente, on ajoute une tabulation avant d'écrire le texte.
    Exemple:
    [Elvira] Bonjour, comment ca va?

    (1 Tabulation)[Luncida] Bien, j'espère qu'ils vont comprendre!
    - les lignes vides sont acceptées. (facilite la lecture)

    - En cas de réponses multiples possibles, il faut respecter le même nombre de tabulations pour chaque réponse.
    Exemple:
    [Elvira] Bonjour, comment ca va?

    (1 Tabulation)[Luncida] Bien, j'espère qu'ils vont comprendre!

    <Tabulation 1><Tabulation 2>[PC] Pas d'inquiétudes, je capte tout!

    <Tabulation 1><Tabulation 2><Tabulation 3>[Elvina] Génial, on va pouvoir continuer.


    <Tabulation 1><Tabulation 2>[PC] Arf, je comprends rien à ton histoire de tabulation...

    <Tabulation 1><Tabulation 2><Tabulation 3>[Elvina] Pas grave, relis depuis le début! :-)
    -Si une discussion est terminée, la suivante commence sans tabulation.
    Exemple:

    // Discussion 1
    [Elvira] Bonjour, comment ca va?

    (1 Tabulation)[Luncida] Bien, j'espère qu'ils vont comprendre!

    <Tabulation 1><Tabulation 2>[PC] Pas d'inquiétudes, je capte tout!

    <Tabulation 1><Tabulation 2><Tabulation 3>[Elvina] Génial, on va pouvoir continuer.


    <Tabulation 1><Tabulation 2>[PC] Arf, je comprends rien à ton histoire de tabulation...

    <Tabulation 1><Tabulation 2><Tabulation 3>[Elvina] Pas grave, relis depuis le début! :-)


    // Discussion 2
    [Luncida] Une fois qu'on a capté le principe, on est plus contrait d'écrire, les BEGIN IF THEN END et les CHAIN IF, ca se fait tout seul!

    - les mots-clés suivants sont gérés
    BEGIN
    IF THEN ... END
    CHAIN IF THEN ... END IF tHEN ...
    APPEND
    SAY
    REPLY
    GOTO
    EXTERN
    EXIT

    - Les conditions et autres mots clés seront donc à ajouter après génération du fichier .D. La structure étant là, il reste à la compléter.

    - Les commentaires de type // ou /* */ ne sont pas gérés.

    - La gestion du son n'a pas été testée. (nom du fichier son entre crochet à la fin de la ligne).

    - La gestion du sexe du Pnj n'est pas gérée.

    - Le fichier .D et TRA sont créés à l'endroit où est présent le fichier .TXT d'origine avec le même nom. Attention, Si les fichiers existent déjà, ils seront remplacés.

    - Le programme ayant besoin de créer quelques fichiers, ils seront générés dans le répertoire C:\TEMP\.


    LIEN

    Mise à jour 05/03/2017 Ajout de la gestion d'un cas (CHAIN sans réplique d'un [PC])
    Mise à jour 15/10/2017 Correction plantage au 1ier démarrage (Merci Faust!)

    http://www.mediafire.com/file/cehm8h...k5d/BG_TCD.exe



    Cocrane
    Dernière modification par Cocrane ; 04/06/2020 à 21h10.

  2. #2
    Date d'inscription
    février 2011
    Messages 
    674
    Salut,

    Merci pour le partage. Par contre, j'avoue avoir du mal à comprendre l'intérêt / la valeur ajouté de l'outil. Peut-être pourrais-tu donner des exemples de fichiers texte avant d'utiliser ton outil et après, pour que ce soit plus clair ?
    « Pssst. Tu as remarqué comme elle me dévore du regard ? Hein ? Tu as vu ça ? La façon dont elle a regardé la courbe de mon os occipital ? »

  3. #3
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Voici un cas concret. (les tabulations ne sont pas prises en compte par le site.) Les fichiers sont en pièces jointes.

    Fichier exemple.txt

    Code:
    Qui va là?
    
    	C'est une bonne question t'en pense quoi?
    
    		J'en penses que si tu continues d'approcher, tu vas te retrouver un joli carreaux en pleinte tête!
    
    			T'as vraiment aucun humour... C'est moi <CHARNAME>!
    
    				Aucun humour? La prochaine fois, je tire et je poserai la question après.
    
    	Quel con! Il peut pas se taire, j'étais venu te tuer inconito!
    
    		Dommage pour toi! Arrêtes de bouger, je ne voudrai pas te rater!
    
    			Tu raterais une vache dans un couloir gros lard. Tires si tu l'oses!
    
    			Regardes autour de toi ducon et sauves toi avant que j'arrive!
    
    	C'est <CHARNAME>, je suis venu te remplacer.
    
    		C'est pas trop tôt. J'ai cru qu'on allait me laisser mourir de froid!
    
    			C'est pas l'envie qui me manquait mais il aurait ensuite fallu que je cache ton cadavre. Et le sol et un bien trop dur!
    
    				C'est clair que tu n'as pas les bras pour creuser et le capitaine t'aurait arraché la tête. Bonne garde! (sourire)
    
    			Va te rechauffer à l'intérieur, une bonne soupe t'attend!
    
    				C'est pas de refus. Et toi gardes bien les yeux ouvert!

    Résultat

    Fichier Exemple.D

    Code:
    BEGIN ~exemple~
    
    
    IF ~~ THEN BEGIN 0
      SAY @1 /* ~Qui va là?~ */
    
      IF ~~ THEN 
        REPLY @2 /* ~C'est une bonne question t'en pense quoi?~ */
        GOTO 1
    
      IF ~~ THEN 
        REPLY @3 /* ~Quel con! Il peut pas se taire, j'étais venu te tuer inconito!~ */
        GOTO 3
    
      IF ~~ THEN 
        REPLY @4 /* ~C'est <CHARNAME>, je suis venu te remplacer.~ */
        GOTO 4
    END
    
    IF ~~ THEN BEGIN 1
      SAY @5 /* ~J'en penses que si tu continues d'approcher, tu vas te retrouver un joli carreaux en pleinte tête!~ */
    
      IF ~~ THEN 
        REPLY @6 /* ~T'as vraiment aucun humour... C'est moi <CHARNAME>!~ */
        GOTO 2
    END
    
    IF ~~ THEN BEGIN 2
      SAY @7 /* ~Aucun humour? La prochaine fois, je tire et je poserai la question après.~ */
    
      IF ~~ THEN 
        EXIT
    END
    
    IF ~~ THEN BEGIN 3
      SAY @8 /* ~Dommage pour toi! Arrêtes de bouger, je ne voudrai pas te rater!~ */
    
      IF ~~ THEN 
        REPLY @9 /* ~Tu raterais une vache dans un couloir gros lard. Tires si tu l'oses!~ */
        EXIT
    
      IF ~~ THEN 
        REPLY @10 /* ~Regardes autour de toi ducon et sauves toi avant que j'arrive!~ */
        EXIT
    END
    
    IF ~~ THEN BEGIN 4
      SAY @11 /* ~C'est pas trop tôt. J'ai cru qu'on allait me laisser mourir de froid!~ */
    
      IF ~~ THEN 
        REPLY @12 /* ~C'est pas l'envie qui me manquait mais il aurait ensuite fallu que je cache ton cadavre. Et le sol et un bien trop dur!~ */
        GOTO 5
    
      IF ~~ THEN 
        REPLY @13 /* ~Va te rechauffer à l'intérieur, une bonne soupe t'attend!~ */
        GOTO 6
    END
    
    IF ~~ THEN BEGIN 5
      SAY @14 /* ~C'est clair que tu n'as pas les bras pour creuser et le capitaine t'aurait arraché la tête. Bonne garde! (sourire)~ */
    
      IF ~~ THEN 
        EXIT
    END
    
    IF ~~ THEN BEGIN 6
      SAY @15 /* ~C'est pas de refus. Et toi gardes bien les yeux ouvert!~ */
    IF ~~ THEN 
        EXIT
    END

    Fichier exemple.TRA

    @1=~Qui va là?~
    @2=~C'est une bonne question t'en pense quoi?~
    @3=~Quel con! Il peut pas se taire, j'étais venu te tuer inconito!~
    @4=~C'est <CHARNAME>, je suis venu te remplacer.~
    @5=~J'en penses que si tu continues d'approcher, tu vas te retrouver un joli carreaux en pleinte tête!~
    @6=~T'as vraiment aucun humour... C'est moi <CHARNAME>!~
    @7=~Aucun humour? La prochaine fois, je tire et je poserai la question après.~
    @8=~Dommage pour toi! Arrêtes de bouger, je ne voudrai pas te rater!~
    @9=~Tu raterai une vache dans un couloir gros lard. Tires si tu l'oses!~
    @10=~Regardes autour de toi ducon et sauves toi avant que j'arrive!~
    @11=~C'est pas trop tôt. J'ai cru qu'on allait me laisser mourir de froid!~
    @12=~C'est pas l'envie qui me manquait mais il aurait ensuite fallu que je cache ton cadavre. Et le sol et un bien trop dur!~
    @13=~Va te rechauffer à l'intérieur, une bonne soupe t'attend!~
    @14=~C'est clair que tu n'as pas les bras pour creuser et le capitaine t'aurait arraché la tête. Bonne garde! (sourire)~
    @15=~C'est pas de refus. Et toi gardes bien les yeux ouvert!~



    Édit de Freddy : seule la balise [CODE] prend en compte les tabulations !
    Dernière modification par Freddy_Gwendo ; 24/06/2016 à 06h51. Motif: Mise en page

  4. #4
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Voici les pièces jointes.

    Cocrane
    Fichiers attachés Fichiers attachés

  5. #5
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Intéressant pour écrire rapidement des dialogues simples.

    Dommage que ça ne gère pas les dialogues à plusieurs intervenants... Pourtant les plus nombreux et les plus ch.... à coder.

    Édit : j'ai mis en page ton message d'exemple pour faire ressortir les tabulations.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  6. #6
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Pour les dialogues à plusieurs, je ne suis pas contre le développer quelque chose.

    Il faut trouver une logique simple afin de pouvoir rester dans l'esprit, j'écris mon dialogue dans un fichier texte tout bête et je le convertis ensuite.

    Cocrane

  7. #7
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Pour une question de lisibilité, pourrais-tu remplacer ces lignes

    Code:
      IF ~~ THEN 
        REPLY @2 /* ~C'est une bonne question t'en pense quoi?~ */
        GOTO 1
    
      IF ~~ THEN 
        EXIT
    par celles-ci :

    Code:
      IF ~~ THEN REPLY @2 /* ~C'est une bonne question t'en pense quoi?~ */ GOTO 1
    
      IF ~~ THEN EXIT
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  8. #8
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Je préfère la notation d'origine pour la lisibilité (normal je l'ai écris comme ça ). Cela permet notamment de voir la succession d'action qui s'enchaine si il y a un 'DO' ligne par ligne. Mais je peux créer une case à cocher pour choisir comment va se présenter le code. Ca permettra de choisir.

    Cocrane

  9. #9
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Proposition d'évolution pour traiter un dialogue multi-PNJ

    Chaque ligne de dialogue ou changement de PNJ commence par "[nom du PNJ]".


    Exemple:

    Code:
    [MASSENA] C'est un serviteur de Cyric, je le reconnais! J'ai comme une envie de tuer!
    
         [EKILIS] Tiens donc un serviteur de Bhaal. Pourquoi servir un dieu qui n'existe plus? Tu es seul sur une route sans avenir mon ami. 
      
                        Rejoints tes frères et Cyric t'accordera des pouvoirs bien au de là de ce que tu imagines.
    
                                 [MASSENA] Servir Cyric? Bhaal sera bientôt de retour et Cyric tremblera devant lui!
    
                                     [EKILIS] Quel gâchis vous ne trouvez pas?
    
                                            [PC] Entre tuez-vous et on verra qui a raison!
    Je ne sais si ca va être simple a adapter dans le code existant mais ça me semble la solution la plus simple au niveau écriture du texte à transformer en .D et .TRA

    Cocrane
    Dernière modification par Freddy_Gwendo ; 26/06/2016 à 09h28. Motif: Mise en page

  10. #10
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Ca donnerait à peu près ceci :

    Code:
    CHAIN MASSENA 0
    @1 // C'est un serviteur de Cyric, je le reconnais! J'ai comme une envie de tuer!
    == EKILIS @2 // Tiens donc un serviteur de Bhaal. Pourquoi servir un dieu qui n'existe plus? Tu es seul sur une route sans avenir mon ami. 
    == EKILIS @3 // Rejoints tes frères et Cyric t'accordera des pouvoirs bien au de là de ce que tu imagines.
    == MASSENA @4 // Servir Cyric? Bhaal sera bientôt de retour et Cyric tremblera devant lui!
    == EKILIS @5 // Quel gâchis vous ne trouvez pas?
    END
    IF ~~ THEN REPLY @5 EXIT // Entre tuez-vous et on verra qui a raison!
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  11. #11
    Date d'inscription
    février 2011
    Messages 
    674
    Ça serait effectivement assez sympa de pouvoir gérer les dialogues à plusieurs.

    Petites questions sur l'outil en lui-même :
    • quel(s) encodage(s) (UTF8, ISO-8859-15, ...) et fin(s) de ligne (Unix, Windows) prend-t'il en charge concernant le fichier texte d'entrée ? Et concernant les fichiers de sortie ?
    • en quel langage est-il écrit ?
    • y a-t-il possibilité de le porter sous d'autres OS (Linux, Mac) ?
    « Pssst. Tu as remarqué comme elle me dévore du regard ? Hein ? Tu as vu ça ? La façon dont elle a regardé la courbe de mon os occipital ? »

  12. #12
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Citation Envoyé par mirandir Voir le message
    quel(s) encodage(s) (UTF8, ISO-8859-15, ...) et fin(s) de ligne (Unix, Windows) prend-t'il en charge concernant le fichier texte d'entrée ? Et concernant les fichiers de sortie ?
    J'ai fait un test avec un fichier texte basique créé avec un notepad. D'après ce que je vois dans la doc, on parle uniquement de UTF08 si on désire effectuer des conversions particulières.

    Citation Envoyé par mirandir Voir le message
    en quel langage est-il écrit ?
    Logiciel Windev

    Citation Envoyé par mirandir Voir le message
    y a-t-il possibilité de le porter sous d'autres OS (Linux, Mac) ?
    En version 11, on a Windows 32 ou 64 bits et Linux. Je vais regarder ce que propose la version 21 qui est disponible.


    Au sujet du CHAIN, pouvez-vous me confirmer que les textes de tous les PNJ doivent se retrouver dans le même fichier TRA?

    Cocrane

  13. #13
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Citation Envoyé par Cocrane
    Au sujet du CHAIN, pouvez-vous me confirmer que les textes de tous les PNJ doivent se retrouver dans le même fichier TRA?
    Ce n'est pas obligatoire.
    Si tous les textes de DLG.D (dialogue1.D, dialogue2.D, dialogue3.D...) sont dans le fichier DLG.tra, alors tu compiles comme ça

    Code:
    COMPILE ~monmod/dialogues/DLG.d~
    Et tous les fichiers de dialogue contenus dans DLG.d seront créés à partir du fichier DLG.TRA.

    Sinon, si les textes de DLG.D sont répartis dans des fichiers spécifiques à chaque dialogue à créer, tu compiles comme ceci

    Code:
    COMPILE ~monmod/dialogues/DLG.d~ USING ~monmod/tra/dialogue1.tra~
    USING ~monmod/tra/dialogue2.tra~
    USING ~monmod/tra/dialogue3.tra~
    ...
    Mais le plus simple, c'est effectivement d'affecter un fichier tra unique par fichier.d à compiler, quelque soit le nombre de fichiers de dialogue que créé fichier.d.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  14. #14
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Ta réponse me donne des éléments mais je vais préciser ma demande pour être sur.

    On a un fichier texte où on a un mélange de:
    - De répliques entre deux PNJ
    - De répliques entre plusieurs PNJ

    On lance l'outil BG TCD dans le but de préparer les fichiers au format attendus par WEIDU.

    On écrit le TP2 qui va bien et on compile.


    Dans ce cadre, je créé:
    - un fichier .D et .TRA

    OU

    - un fichier .D et .TRA par PNJ différent identifié avec le .TRA qui commence à 1 pou chaque fichier.
    Dans ce cas, C'est le premier PNJ qui lance une discussion multiple qui porte le CHAIN?

    Cocrane

  15. #15
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Pour te faciliter la vie, privilégie la solution 1 car la deux ne fonctionnera pas dans nombre de cas.

    Tu tombes bien, je suis en train de finaliser mes dialogues de la quête spécifique du kit de chevaucheuse de licorne. Je mets en pièces jointes le début du fichier d générique qui gère plusieurs fichiers.

    Ne fais pas attention aux variables utilisées : elles me permettent de gérer les ajouts de mods à des dialogues existants. C'est un cas de dialogues particulier. En revanche, regarde comment sont traités les CHAIN. Ça te donnera une idée.

    Préviens moi quand tu l'as téléchargé que je le retire de la discussion (spoiler).
    Dernière modification par Freddy_Gwendo ; 26/06/2016 à 21h12. Motif: Suppression de la pièce jointe
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  16. #16
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Téléchargé!

    Cocrane

  17. #17
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Je n'ai pas testé, mais manifestement ton utilitaire ne gère pas les textes du type

    @1 = ~Bonjour monsieur.~ [SON01] ~Bonjour madame.~ [SON02]
    Tu le confirmes ?
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  18. #18
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Je n'ai pas travaillé sur le féminin / masculin des textes.

    Il prend le texte tel qu'il est écrit. Tu avais quoi comme ligne à l'origine?

    Cocrane

  19. #19
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    J'ai pas testé justement : j'attendais ta confirmation.

    Mais vu la présentation de ton exemple, je me suis dit que ça ne fonctionnerait pas. Au mieux, il me créerait une ligne de dialogue incluant les deux formes, masculine et féminine.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  20. #20
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Si on part sur une gestion du féminin / masculin, il faut prévoir un séparateur de texte tout en respectant le principe de tout avoir sur la même ligne.

    Exemple: "|"


    Par contre, si on ajoute la gestion du son avec des [] comme dans le futur codage, il faut que je m'assure qu'il n'y a pas de confusion entre le nom du PNJ et le son.


    Cocrane
    Dernière modification par Cocrane ; 26/06/2016 à 23h20.

  21. #21
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Je viens de retravailler le programme pour qu'il puisse gérer des dialogues Mono et/ou multi PNJ.

    Je viens de faire un test mais j'ai une anomalie signalée par WEIDU. (fichier en pièce jointe)

    La situation est la suivante:
    - 2 PNJ:
    Elvina
    Luncida

    - on a des passages qui donnent un codage
    > BLOCK type
    IF THEN BEGIN
    SAY
    Etc...

    > BLOCK type
    CHAIN IF
    @
    ==
    END etc...

    Mon problème est à priori le suivant, Weidu reclame un 2nd DLG pour Luncida. Je pensais que l'on pouvait faire un seul fichier .D et .TRA pour plusieurs PNJ. Visiblement j'ai raté un point.
    J'ai regardé d'autre fichiers, je ne vois pas où ça coince.

    A la base, je n'avais pas mis un APPEND pour Luncida mais un 2nd BEGIN dans le fichier. Du coup, j'ai eu une nouvelle anomalie.



    Qu'en pensez vous?

    Cocrane
    Miniatures attachées Miniatures attachées [BG TCD] Création d'un fichier .D et .TRA de base à partir d'un texte-weidu.jpg  
    Fichiers attachés Fichiers attachés

  22. #22
    Date d'inscription
    juillet 2003
    Localisation
    Plaisir
    Messages 
    6 961
    Tu peux faire un seul fichier D mais, si tu fais intervenir deux personnages, il faudra forcément deux dialogues différentes, donc deux fichiers DLG.

    Les BEGIN ~blabla~, APPEND ~blabla~, EXTERN ~blabla~ et enfin le blabla après == dans un CHAIN font référence pour blabla à un dialogue, c'est à dire au terme de l'installation à un fichier DLG qui portera ce nom blabla.DLG, c'est à dire à un vrai fichier pour le jeu et non un fichier D. Le seul moyen d'en créer un, c'est BEGIN et ça doit se faire avant les autres, qui vont chercher si le dialogue existe (soit dans le jeu, soit dans le même fichier D, soit peut-être encore, parce que tu passes plusieurs fichiers D en même temps à l'instruction COMPILE dans un fichier tp2) et vont échouer si ce n'est pas le cas.

    Un parcours rapide de ton fichier D confirme qu'il manque un BEGIN ~Luncida~. Il faut impérativement qu'il apparaisse vers le début, avant que tu y fasses référence dans un APPEND, un EXTERN ou un CHAIN. Le plus simple est que tu le mettes au tout début.
    Tu peux tout à fait mettre deux BEGIN de dialogues à la suite. Le x#tiaxquest.d du BG1 NPC en enchaîne trois au début.

    Une fois le dialogue créé par le BEGIN, tu pourras y faire référence et le remplir, que ce soit avec APPEND (pour coder les EXTERN auxquels tu fais référence) ou pour les CHAIN.

    Remarque : j'ai constaté que tu n'avais pas mis de tildes autour de Luncida après les == des CHAIN. Je ne suis pas certain que ça fonctionne bien, j'ai toujours vu des tildes autour des noms de dialogue dans les mods.
    Peu disponible
    Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
    Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !

  23. #23
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Salut Isaya,

    bonne nouvelle le fichier compile avec les deux corrections signalées:
    - ajout d'un BEGIN en début de fichier pour Lucinda.
    - ajout des Tildes à chaque référence de Luncida.


    Je vais pouvoir proposer cette nouvelle version bientôt.

    Merci.

    Cocrane

  24. #24
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Mise à jour à disposition.

    Détail dans le 1ier message.

    Cocrane

  25. #25
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Mise à jour 05/03/2017 Ajout de la gestion d'un cas (CHAIN sans réplique d'un [PC])


    http://www.mediafire.com/file/pbiiyb...3nw/BG_TCD.exe

    Cocrane

  26. #26
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    J'ai le cas suivant.

    Dialogue multi-PNJ:
    COMPILE ~PDBA1CH8\DLG\COURGLIT.d~ ~override~ USING ~PDBA1CH8\DLG\COURGLIT.tra~ // Dialogue URglit + Taguar

    "
    BEGIN ~URGLITE~

    BEGIN ~TAGUAR~

    CHAIN IF ~~ THEN ~TAGUAR~ 8
    @1/* ~Je vais enfin être débarassé de toi... Arghhhh.~ */
    == ~URGLITE~ IF ~~ THEN @2/* ~Taguar Nooonnnn!~ */
    == ~URGLITE~ IF ~~ THEN @3/* ~=(Elle vous regarde plein de haine) Tout ça, c'est votre FAUTE. Je vous MAUDIT tous!~ */
    END IF ~~ THEN EXIT


    APPEND ~URGLITE~

    CHAIN IF ~~ THEN ~URGLITE~ 9
    @14/* ~Taguar! C'est bien toi?~ */
    == ~TAGUAR~ IF ~~ THEN @15/* ~Urglite? Ils ont préféré empoisonner le champion de Bhaal que de l'affronter! Tous des lâches et tout est de ta faute!~ */
    == ~URGLITE~ IF ~~ THEN @16/* ~Comment oses-tu? Tu préférais la guerre à notre palais. Tu m'as abandonné à tous ces comploteurs!~ */
    == ~TAGUAR~ IF ~~ THEN @17/* ~Abandonné? Tu en avais jamais assez. Il fallait toujours plus de richesses et de pouvoir! J'ai fait de toi une grande reine!~ */
    == ~URGLITE~ IF ~~ THEN @18/* ~'TA GRANDE REINE', ils l'ont jeté dans un caveau prétextant que j'étais folle et maudite.~ */
    == ~URGLITE~ IF ~~ THEN @19/* ~=Je suis morte de froid. TU M'AS TUE!~ */
    == ~TAGUAR~ IF ~~ THEN @20/* ~Sale petite ingrate. Même morte, Tu es là à me tourmenter. J'en est ASSEZ de toi! Je vais te détruire!~ */
    END IF ~~ THEN EXIT

    CHAIN IF ~~ THEN ~URGLITE~ 10
    @22/* ~=(urglite tend la main vers Taguar) Je voulais juste être avec toi...~ */
    == ~TAGUAR~ IF ~~ THEN @23/* ~Tu as été mon plus grand fléau. Disparait maintenant!~ */
    END IF ~~ THEN EXIT

    END
    "

    A la compilation, le 1ier CHAIN IF de Urglite est annoncé "erreur de syntaxe". J'inverse URGLITE ET TAGUAR. C'est TAGUAR qui est en erreur de syntaxe.

    On ne peut pas avoir des CHAIN pour des personnes différents dans un même fichier multi PNJ?

  27. #27
    Date d'inscription
    avril 2011
    Localisation
    Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
    Messages 
    5 158
    Quand tu utilises des CHAIN sur plusieurs fichiers, tu ne dois pas utiliser de APPEND. Les deux BEGIN du début suffisent.
    CARPE DIEM...
    Co-modérateur de La Forge et de La Chambre des Scribes
    Moddeur qui s'arrache les cheveux...

  28. #28
    Date d'inscription
    juillet 2003
    Localisation
    Plaisir
    Messages 
    6 961
    Comme CHAIN oblige à préciser le dialogue concerné, tu peux considérer que le APPEND est intégré dans la commande.

    Par ailleurs, lorsque tu fais parler deux fois de suite le même personnage :
    Citation Envoyé par Cocrane Voir le message
    CHAIN IF ~~ THEN ~TAGUAR~ 8
    @1/* ~Je vais enfin être débarassé de toi... Arghhhh.~ */
    == ~URGLITE~ IF ~~ THEN @2/* ~Taguar Nooonnnn!~ */
    == ~URGLITE~ IF ~~ THEN @3/* ~=(Elle vous regarde plein de haine) Tout ça, c'est votre FAUTE. Je vous MAUDIT tous!~ */
    END IF ~~ THEN EXIT
    tu n'es pas obligé de répéter le nom du dialogue ; avec le symbole = (unique), tu indiques qu'il s'agit d'une autre réplique du même personnage qu'avant. De même, s'il n'y a pas de condition, tu peux te passer du IF.
    Code:
    CHAIN IF ~~ THEN ~TAGUAR~ 8
      @1/* ~Je vais enfin être débarassé de toi...  Arghhhh.~ */
      == ~URGLITE~ @2/* ~Taguar Nooonnnn !~ */
      = @3/* ~=(Elle vous regarde plein de haine) Tout ça, c'est votre FAUTE. Je vous MAUDIS tous !~ */
    END IF ~~ THEN EXIT
    Citation Envoyé par Cocrane Voir le message
    On ne peut pas avoir des CHAIN pour des personnes différents dans un même fichier multi PNJ?
    Au contraire, si tu veux que le CHAIN fonctionne avec deux PNJ ajoutés par ton mod, il te faut soit compiler le fichier .d qui effectue le BEGIN de l'autre dialogue AVANT (dans le tp2) celui qui fait le BEGIN du second dialogue et les CHAIN, soit tout mettre dans le même fichier .d.
    Peu disponible
    Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
    Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !

  29. #29
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    Merci pour vos retours.

    Mon fichier est corrigé et ça marche.


    Je ferai évoluer l'outil pour tenir compte de vos remarques.

    Cocrane

  30. #30
    Date d'inscription
    mars 2010
    Localisation
    Paris
    Messages 
    1 156
    En pièces jointes, un exemple de dialogue à 3.

    Cocrane
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Réponses: 5
    Dernier message: 16/06/2016, 22h04
  2. Réponses: 4
    Dernier message: 20/05/2015, 21h44
  3. Fichier(s) texte de tout ce qui est affiché ?
    Par Inbadreams dans le forum La Taverne d'Amkethran (Baldur's Gate 2)
    Réponses: 18
    Dernier message: 27/07/2014, 08h35
  4. [MAC OSX] Comment créer un fichier texte ? (.txt)
    Par EricDesMontagnes dans le forum Informatik'
    Réponses: 2
    Dernier message: 13/12/2008, 10h09
  5. Convertir un PDF en fichier texte ?
    Par Rodriguez Alcanzar dans le forum Informatik'
    Réponses: 4
    Dernier message: 22/01/2008, 10h02

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251