Page 1 sur 1

Mod extracteur de dialogues

Posté : jeu. 08 nov. 2012, 14:35
par Smidge
Near Infinity et Infinity Explorer n'étant pas à mon goût très pratique pour "lire" des dialogues entre les PNJ, j'ai essayé d'extraire ces lignes de dialogues et de les organiser afin de les rendre plus lisible.

Le mod fonctionne pour BG2 et ToB, mais je n'ai aucune idée de sa compatibilité avec la partie BG1 de BGT (a priori, je dirais que c'est bon, mais à condition de connaître les numéros de la zone à extraire).

Fonctionnement général :

- le mod demande le numéro de la zone dont on souhaite extraire les dialogues (la liste, disponible ici, est aussi en lien dans la pièce jointe).

- le mod créé ensuite un fichier récapitulatif nommé DLGXXXX.CSV (où XXXX est le code de la zone en question), dans le répertoire "DLGLIST" créé automatiquement dans celui de BG2. Le type "CSV" est normalement lisible par n'importe quel tableur (comme Excel, celui d'open office), même s'il ne permet aucune mise en forme dans sa structure.

Lecture du fichier :

Voici un récapitulatif des données de chaque colonne. Les plus importantes sont les A, C, et G, et gagnent à être élargies manuellement (elles contiennent le plus de texte).

  • Dans la colonne A, on trouve :
[INDENT] - les noms des différents protagonistes de la zone extraite.
- en dessous, les dialogues "d'amorçage", avec leurs éventuelles conditions de déclenchement.
- les réponses possibles, là encore avec leurs conditions éventuelles d'apparition.
- en dessous encore (après les dialogues d'amorçage), les autres répliques du personnage, et les réponses à choisir éventuelles du joueur.
[/INDENT]

  • Colonne B :
[INDENT] - en face de chaque dialogue, son code. Ces codes permettent de savoir quelle réplique lire en fonction des réponses choisies.
[/INDENT]
[INDENT]Note : les répliques ne sont pas exactement dans l'ordre de leur codage. Les dialogues d'amorçage sont indiqués en premier (par ordre croissant), puis les répliques ensuite (par ordre croissant aussi).

[/INDENT]
  • Colonne C :
[INDENT] - le dialogue en lui-même

[/INDENT]
  • Colonnes D et E :
[INDENT] - à la suite des réponses du joueur. C'est le code du personnage qui prendra la parole si on choisit cette réponse, et dans la colonne E, le numéro de la réplique qui sera déclenchée.

- en cas de fin de dialogue, la colonne E indique l'action éventuelle qui sera réalisée.
[/INDENT]


Les colonnes F et suivantes ne sont utilisées que lorsqu'un personnage tiers intervient à la suite d'une réplique (cela peut être un PNJ de votre équipe, ou un autre personnage présent aux alentours).

  • Colonne G :
[INDENT]- le texte de la réplique du personnage tiers indiqué dans les colonnes D et E.
[/INDENT]


Les colonnes H et suivantes ne sont utilisées que si le dialogue se poursuit après l'intervention du personnage tiers (colonne G) indiqué en colonnes D et E.

  • Colonnes I et J :
[INDENT] - à la suite de l'intervention du personnage tiers. C'est le code du personnage qui reprendra ensuite la parole, et dans la colonne J, le numéro de la réplique qui sera déclenchée.
[/INDENT]


Quelques remarques :


- aucun problème sous Excel; pour Open Office, il faut veiller à configurer le tableur pour qu'il considère bien les ";" comme séparateurs (ce qui n'est pas toujours le cas par défaut).

- sous Excel, il peut être pratique de sélectionner l'intégralité du tableau, et dans le menu "Format/Cellule", dans l'onglet "Alignement", cocher la case "Renvoyer à la ligne automatiquement".

- le mod ne permet pas la continuité du dialogue si plusieurs intervenants extérieurs (comme des PNJ compagnons) prennent part à suivre dans un échange. Le code du dialogue est alors inscrit en colonnes I et J, sauf si l'intervention suivante est à l'initiative du joueur (avec plusieurs choix possibles), auquel cas les colonnes seront vides. Dans ces deux cas, il faut utiliser un outil autre (comme NI) et ouvrir le DLG correspondant pour déterminer qui reprendra la parole ensuite et avec quel réplique. Cependant, cette situation ne se produit qu'exceptionnellement.

- le mod ne permet pas non plus de retranscrire les dialogues de personnages n'apparaissant dans la zone que via un script. S'ils interviennent dans un échange avec des personnages "fixes", ils seront considérés comme des intervenants extérieurs.
Ce point précis sera peut-être implémenté dans une éventuelle mise à jour ultérieure.

Posté : mer. 28 nov. 2012, 19:10
par Armand
Un petit mod sympathique qui se complète bien à l'usage avec les autres outils existants. Je dirais que near infinity permet de compulser un max de réplique sans se soucier d'ou elle se trouve, infinity explorer propose une lecture plus intelligente bien que laborieuse alors que l'editeur de coco propose plutôt un rendu de ce qu'on a in game.

Ici on a je dirais un lecture à mi chemin de tout ça, la structure du code du dialogue reste très apparente mais en même temps on lit relativement facilement on est très guidé. D'un point de vue pratique en général et du point de vue du modder en particulier je dirais que c'est l'outil idéal pour explorer un peu le ton des différents dialogues là où on veut implanter quelque chose pour voir ce qui peut être intéressant de faire, ce qui peut être intéressant à exploiter. On est un peu paumé au début lorsque qu'on ouvre le tableau principalement du au fait que y'a pas de mise en forme mais deux trois ajustements au niveau de la taille des cellules a tôt fait de résoudre le problème. Bref au outil que je conseille, je m'en sers moi même pas mal depuis peu pour me mettre dans le bain quand j'attaque de nouveaux dialogues.

Petit conseil en plus : Sous open office, lors du premier lancement du fichier csv pensez à decocher "espace" sinon vous allez avoir une cellule par mot.

EDIT : Tu manis le tp2 comme un chef smidge ! Ça fait rêver...

Posté : mer. 28 nov. 2012, 19:22
par Smidge
Armand a écrit :On est un peu paumé au début lorsque qu'on ouvre le tableau principalement du au fait que y'a pas de mise en forme mais deux trois ajustements au niveau de la taille des cellules a tôt fait de résoudre le problème.
Oui, j'ai pas réussi à résoudre ce problème, étant donné que le CSV ne supporte pas la mémorisation de mise en forme...

Sinon, pour ce qui est des morceaux de codes "bruts", je pourrais éventuellement traiter ça en "plus clair" avec un algorithme extérieur une fois la première extraction finie. Quand j'aurais le temps, promis :gign:


Merci pour les compliments en tous cas :$ mais je suis loin d'être au niveau des créateurs de "vrais" mods