Page 1 sur 1

[PNJ] Comment tester mes dialogues dans le jeu ?

Posté : dim. 28 sept. 2003, 16:50
par Grenouillebleue
Désolé de poser de multiples questions mais, après tout, c'est comme ça qu'on apprend !

Donc voilà, j'ai créé un fichier J#kim.d avec les dialogues d'introduction du personnage et ses dialogues de sortie/retour dans le groupe. Près de deux cent options de dialogue btw, ça fait mal aux mains ;)

J'ai ensuite créé le fichier .cre correspondant, avec les stats, l'équipement, etc, de la donzelle. Jusque là, je crois que ça va.

C'est maintenant que ça se complique. J'aimerais voir si tout va bien, si je n'ai pas fait d'erreur, et si ça a de la gueule. Je voudrais donc, en guise de test, introduire ce nouveau PNJ dans le repaire d'Irenicus, près des cages (pour pouvoir tester rapidement ses dialogues).

Mais là, le tutorial se révèle assez insuffisant (de mon point de vue de n00bie programmeur qui n'a jamais écrit une ligne de code de sa vie). Comment est-ce que je fais ? J'ai lancé WeiDU, mais on dirait que ça ne marche pas (il ouvre une fenêtre DOS en me listant toutes les commandes possibles, mais se ferme dès que je tape quelque chose).

Est-ce qu'il serait possible, en m'expliquant comme à un gamin de 5 ans, ce que je dois faire vraiment pour tester, sachant que je dispose de deux choses pour l'instant:
- Un fichier J#kim.d
- Un fichier Kim.cre

HEEEEEEELP :timide:

Posté : dim. 28 sept. 2003, 16:52
par Silk
Tu as le map editor (cf. ma réponse sur JOL) ?

Posté : dim. 28 sept. 2003, 17:07
par Grenouillebleue
Oui, je l'ai. Mais je suppose que pour introduire mon PNJ, il faut déjà que je lui associe son dialogue, donc comment est-ce que je fais pour passer d'un fichier .d à un fichier .dlg ?

...bon, je vais regarder map editor :notme2:

Posté : dim. 28 sept. 2003, 17:30
par Silk
C'est dans le ReadMe de WeiDu, ce n'est pas Map Editor qui va t'aider ^^ Il dispose juste, comme NI, d'une interface claire.

Posté : dim. 28 sept. 2003, 19:24
par Isaya
Lis le didacticiel sur la création de PNJ traduit par Thot. Il y a pas mal d'information.
C'est sûr que pour le tester chez toi, il y a plus simple (inutile de faire un fichier tp2 par exemple), mais il contient des informations sur la façon de faire apparaître le personnage dans le jeu (via un script).
Sinon, pour créer un fichier .dlg à partir d'un fichier .d, tu trouveras effectivement ton bonheur dans le readme de WeiDU : c'est la fonction de base du programme, donc elle est très bien documentée.

Edit:
Ca m'apprendra à lire correctement les messages ! Oublie ce que j'ai écrit sur le didactiticiel puisque tu l'as manifestement déjà fait.
Pour travailler avec WeiDU, il ne faut pas lancer le programme à partir de Windows mais ouvrir une fenêtre DOS et lancer le programme à partir de la ligne de commande. Le plus simple est de mettre le fichier executable WeiDU.exe dans le répertoire principal de BG2. Dès lors, il suffit de se placer dans ce répertoire dans la fenêtre DOS pour que tu puisses lancer les commandes WeiDU avec un minimum de paramètres : il va travailler à partir du répertoire courant, créer les fichiers .dlg dans le répertoire Override, et mettre à jour le fichier dialog.tlk.

Tu peux aussi t'intéresser à un programme appelé DLTCEP (j'ai indiqué le lien dans les messages sur les outils) : c'est un éditeur très complet et il s'interface avec WeiDU pour la partie dialogue. Tu y trouveras peut-être un moyen de simplifier l'accès aux commandes WeiDU.

Posté : dim. 28 sept. 2003, 21:09
par Grenouillebleue
Merci pour tous ces conseils. Je vais essayer de comprendre ;)

Posté : dim. 28 sept. 2003, 22:50
par Grenouillebleue
Ca y est, après des efforts monumentaux, ça a fini par compiler. Ooof.

[TRIGGER.IDS] parsed
[OBJECT.IDS] parsed
[ACTION.IDS] parsed
[GENDER.IDS] parsed
[./data/Default.bif] 5847739 bytes, 444 files, 0 tilesets
[EA.IDS] parsed
[j#kim2.d] parsed
Adding J#KIM2 to internal list of available DLGs
Adding J#KIMP to internal list of available DLGs
[J#KIMP.DLG] saved 2 states, 4 trans, 2 strig, 0 ttrig, 3 actions
[J#KIM2.DLG] saved 46 states, 170 trans, 3 strig, 16 ttrig, 6 action
You did not specify '--tlkout dialog.tlk', so 178 strings were not saved.


Bon, je ne comprends rien à ce que ça veut dire, mais je suppose que je dois me réjouir, nan ? :8:

Posté : lun. 29 sept. 2003, 07:22
par Thot
En fait, il faut que tu rajoutes, lors du lancement de la commande WeiDU, l'option --tlkout dialog.tlk. Cette option permet de rajouter dans le fichier dialog.tlk toutes les chaînes de caractères que tu as écrites.

Et je sens qu'il va falloir que je réécrive ce fichu tutorial (ce n'était qu'une traduction d'un tuto existant :( ).

Posté : lun. 29 sept. 2003, 18:39
par Grenouillebleue
Etape suivante...

Faute de trouver un tutorial compréhensible pour un simplet comme moi, je vais devoir une nouvelle fois faire appel à vos lumières. N'hésitez pas à me prévenir si je suis trop envahissant... :notme2:


[weidu] WeiDU version 137
[./chitin.key] 182 BIFFs, 41794 resources
[./dialog.tlk] 87557 string entries
[./dialogf.tlk] 87553 string entries
*** ./dialogf.tlk has 4 too few entries, padding.
[TRIGGER.IDS] parsed
[OBJECT.IDS] parsed
[ACTION.IDS] parsed
[GENDER.IDS] parsed
[./data/Default.bif] 5847739 bytes, 444 files, 0 tilesets
[EA.IDS] parsed
[J#kim2.d] parsed
Adding J#KIM2 to internal list of available DLGs
Adding J#KIMP to internal list of available DLGs
[J#KIMP.DLG] saved 2 states, 4 trans, 2 strig, 0 ttrig, 3 actions
[J#KIM2.DLG] saved 46 states, 170 trans, 3 strig, 16 ttrig, 6 actions
[dialog.tlk] claims to be writeable.
[dialog.tlk] claims to be a regular file.
13245 characters, 178 entries added to DIALOG.TLK
[dialog.tlk] created, 87735 string entries


Next step ?
J'ai donc un personnage en fichier .cre, et un fichier .dlg
Je suppose qu'il faut que j'associe dans creature maker le .dlg à "dialogues" (déduction subtile et raffinée).

Yes ?

Posté : lun. 29 sept. 2003, 18:50
par Silk
Mmh ça se fait plutôt dans WeiDu/MapEditor/NearInfinity...

Posté : lun. 29 sept. 2003, 21:27
par Grenouillebleue
Arf.

Excuse-moi, Silk, mais ça ne m'aide pas beaucoup, vu que je n'y connais rien (mais alors rien) avec ces logiciels, et que leurs readme sont insondables pour le non-initié.

Ce que je cherche (mais j'ai conscience que ça prend du temps), c'est une explication claire, étape par étape, de ce qu'il faut faire. Du type:

"Bon, maintenant tu crées un fichier xxx et tu mets yyy dedans"
"Ensuite, tu ouvres le fichier aaa et tu rajoutes la ligne zzz dedans"
"Finalement, tu fais goulougoulougoulou, et ça devrait marcher"

Par exemple, quelqu'un m'a conseillé de mettre un truc dans mon TP2... kézako ?

Posté : lun. 29 sept. 2003, 21:53
par Silk
Tu as un compileur de script (NearInfinity, MapEditor, WeiDu) ?

Posté : lun. 29 sept. 2003, 22:13
par Grenouillebleue
Oui, j'ai WeiDU.

Posté : lun. 29 sept. 2003, 22:15
par Isaya
Le fichier tp2 est le fichier utilisé par WeiDU pour déterminer les actions à effectuer à l'installation. C'est plutôt destiné à la distribution de ton mod.

Si ma mémoire est bonne, le didacticiel indique certaines des choses à faire.

Il y a notamment à indiquer dans le fichier CRE (via Creature Maker, DLTCEP ou Near Infinity) le nom de la "variable de mort" (qui doit être unique à ton personnage) et le nom du fichier .dlg que va utiliser ton personnage lorsque tu vas le rencontrer (généralement, on lui donne pour nom TOTO.dlg ou TOTO est le nom du PNJ). Il y a généralement deux autres fichiers utilisés, TOTOJ.dlg pour les dialogues échangés pendant que le perso est dans le groupe, TOTOP.dlg pour les dialogues quand il quitte le groupe ou quand tu lui proposes de revenir.
De ton côté tu en a créé deux, J#KimP.dlg et J#Kim2.dlg. Tu aurais tout intérêt à suivre le mécanisme habituel à 3 fichiers et à respecter les suffixes P et J. C'est expliqué dans le didacticiel.

Ensuite, il faut référencer les dialogues utilisés en fonction de la situation dans le fichier pdialog.2DA. Tu pourras trouver une description de ce fichier sur le site TeamBG dans la partie IESDP. Il est assez lisible si tu prends exemple sur ce qu'il contient déjà. Il faut ajouter la description propre à ton personnage et à ses fichiers dlg.

Par ailleurs, il faut faire apparaître ton personnage à un endroit dans le jeu. Tu as deux possibilités : ajouter la créature dans le fichier ARE de la zone où tu veux le faire apparaître ou ajouter un petit bout dans le script associé à la zone (c'est cette deuxième méthode qui est montrée dans le didacticiel).
L'édition de fichier ARE s'effectue avec IETME (Map Editor), DLTCEP ou NearInfinity. Pour les scripts, utilise DLTCEP (via WeiDU) ou Near Infinity.

J'en oublie peut-être. Là-encore, vérifie le didacticiel, même s'il n'est peut-être pas parfait.

PS: je n'ai jamais fait de PNJ, je tiens ce que je t'indique du didacticiel et de ce que j'ai lu par ci par là. Alors, maintenant, je te laisse te débrouiller un peu tout seul, OK ? :p

Posté : lun. 29 sept. 2003, 22:17
par Silk
Isaya, avec le temps tu apprendras à ne pas pondre de romans à chaque post... :rigoler:

Posté : lun. 29 sept. 2003, 22:45
par Grenouillebleue
Les choses ont avancé.
Grâce à IE Tileset map editor, j'ai essayé d'ajouter mon perso à Area0300 (les docks)

Bon, le personnage s'y trouve bien, par contre pas moyen de commencer une discussion avec elle. Ca me met "Bozo- n'a rien à vous dire"

Ce qui est d'autant plus étrange, c'est que Bozo est le nom du personnage avec lequel je lui parle, et pas le sien.

Bizarre, bizarre...

J'ai créé l'icone dans le Map Editor, en rajoutant un perso puis en mettant:


Creature Name: Kim
Visible
Dialog File: J#Kim
Cre.file: Kimlan

Mais je n'ai rien rajouté d'autre (rien dans les scripts, par exemple). Est-ce que ça peut être du à ça ? Sinon, je ne vois pas. Oooh, je suis bien malheureux :8:

(Je sens que je vais finir par les saouler avec mes questions :diable: )


PS: A mon avis, il doit y avoir un problème dans mon fichier dialogue. Peut-être qu'il fallait que je définisse les variables au début ? Ca a pourtant compilé sans problème ??)

Posté : mar. 30 sept. 2003, 18:02
par Grenouillebleue
Erf, aucune réponse ?

Moi qui espérais mettre les premiers screenshots online ce soir, voilà qui est râpé.
Je suis si triste et si désespéré :snif:

Mwhahaha, j'adore ce smiley.

Posté : mar. 30 sept. 2003, 19:35
par Isaya
Hé, je travaille, moi, dans la journée :p

Silk, je ne réponds des romans qu'au début. Après je me lasse. Profitez-en tout de suite (ou attendez patiemment que je me calme, c'est vous qui voyez).

Grenouillebleue, c'est peut-être le script par défaut du personnage. Tu pourrais toujours essayer d'affecter un script basique de PNJ.
Mais le plus probable, c'est qu'il te manque la condition dans les états de ton dialogue, du genre True() pour que la phrase soit toujours utilisée ou un truc du genre un test sur NumTimesTalkedTo() pour le dialogue initial. Je pense que le didacticiel doit en parler.

Zut, j'avais dit que je te laissais te débrouiller seul...

Posté : mar. 30 sept. 2003, 19:58
par Grenouillebleue
En fait, c'est probablement une histoire de deathvariable, vu que je n'ai rien mis dedans.

Un peu d'aide ne me ferait pas de mal... le self-made man, ça a du bon, mais on ne peut pas devenir un codeur du jour au lendemain sans le moindre conseil ;)

Posté : mer. 01 oct. 2003, 13:43
par Silk
Ca arrive... ;)