Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[DLG] Comment ajouter des interjections d'un nouveau PNJ dans un dialogue existant ?

Répondre
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne

[DLG] Comment ajouter des interjections d'un nouveau PNJ dans un dialogue existant ?

.

Message par Grenouillebleue »

Je souhaiterais que Kim ait de nombreux commentaires insérées dans un certain nombre de discussions ou quêtes. Malheureusement, l'examen des fichiers correspondants de Chloe m'a donné le tournis.

Est-ce que quelqu'un pourrait m'expliquer clairement, avec des mots basiques, comment utiliser les EXTEND_BOTTOM et autres INTERJECT, ou bien me diriger vers un tutorial plus complet que celui de teambg ?

Pour prendre un exemple CONCRET (qui évidemment ne sera pas dans le mod), supposons que je veuille que, lorsqu'on rencontre le tanneur dans le quartier du pont, Kim rajoute au milieu de la discussion un commentaire comme quoi "Ça sent mauvais, par ici".

Quelles sont les étapes à faire pour rajouter ça ?
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 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
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

A mons avis, ça se fait par script, ça. EXTENDED_BOTTOM, c'est pour rajouter quelques scripts dans un bcs (ou autre je pense). Ca s'utilise dans le tp2, tu crées ton script bcs, puis tu indiques (comme dans le tuto traduit) à quel script du jeu tu veu l'attacher. INTERJECT, je ne sais pas du tout ce que c'est.
Silk
Statut : Hors ligne
.

Message par Silk »

Je présume que c'est l'inverse :) Ca doit servir à créer une réplique dans un dialogue autre.
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

Bon, ça va, je viens d'avoir un cours par le grand JCompton en personne (co-créateur de Weidu & créateur de Kelsey), et ça simplifie tout de suite les choses :hein:

En clair, pour ceux que ça intéresse:
Okay, well, let's say you want your interjection after the line "The guards have already canvassed the neighborhood, so if you want anything, go talk to them.* I don't know who or what you are, so I'm not talking to you." This line is TANNER 3: you can discover that with WeiDU, with DLTCEP, with NI (remember that the normal NI browsing mode starts numbering from 1 instead of 0, so either subtract 1 or use the Edit tab), or with the beta version of InfExp that shows weighting and DLG/state info and such (which I can provide if you give me an e-mail address.)

I_C_T says "Okay, I am going to give you a DLG name and state number. You will put this new transition for my NPC at the botom of that state, we will have our new line, and then you will COPY_TRANS the old transition list from the original DLG name and state number I provided at the beginning."

I_C_T TANNER 3 UniqueVariableNameHere
== FROG IF ~IsValidForPartyDialog("Frog")~ THEN ~Hey, sicko tanner boy! We've got your number! Tell him, <CHARNAME>!~
END

So now, you'll see the TANNER 3 line, and then if the NPC is valid for dialogue, you'll see "Hey, sicko tanner boy!" etc., and then the game will use the old transition list that used to be at TANNER 3.

In this case, that's a list of reply options for the PC, so the reply options will appear immediately under the new Frog lines. Since this can look weird (because the PC is addressing the tanner and not Frog), when you know you're I_C_T'ing into a state with PC reply options, I consider it good style to give the object of the replies another line, so that his name is the one on the screen for the replies. Like so:

I_C_T TANNER 3 UniqueVariableNameHere
== FROG IF ~IsValidForPartyDialog("Frog")~ THEN ~Hey, sicko tanner boy! We've got your number! Tell him, <CHARNAME>!~
== TANNER IF ~IsValidForPartyDialog("Frog")~ THEN ~Hah! I doubt it, Frog!~
END


Note that the condition is the same for both of the lines in the I_C_T (IsValidForPartyDialog("Frog")) because we only want the Tanner's new line to show up if we've actually seen Frog's line.

Il y a aussi une explication bien faite dans le readme de Weidu.

Bref, ces fonctions servent à créer des interjections (c'est à dire des interventions du PNJ en plein milieu d'un autre dialogue, comme par exemple Minsc qui parle de ne pas tuer d'animaux innocents quand on accepte la quête de FrancMarché).

I_C_T veut dire Interject_Copy_Trans. Ça permet de rajouter un commentaire dans le fichier .dlg d'un autre personnage qui s'insère DANS le dialogue préexistant.


Exemple: grâce à ça, on peut modifier une rencontre comme celle du tanneur.

Au lieu d'avoir:
- Je suis fermé, revenez demain
- Haha, on sait pour tes crimes
- Oh, zut, je suis pris (fuit)

On peut avoir:
- Je suis fermé, revenez demain
- Haha, on sait pour tes crimes
- Oui, t'es trop nul, t'as laissé une peau d'éléphant sur le sol <-- interjection
- Oh, zut je suis pris (fuit)
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 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
Silk
Statut : Hors ligne
.

Message par Silk »

C'est un peu ce que j'avais dit, mais bon... :notme:
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Excellent ! :rigoler: La peau d'éléphant fait un peu peau de tigre mais bon... Ca m'a toujours dérangé ce petit détail... Ca va fuser avec Saemon, je sais pas pourquoi, mais Lamnis va perdre des phrases...
Silk
Statut : Hors ligne
.

Message par Silk »

Lamnis, tu es au courant que c'est fait exprès, au moins ? :heu:
Lamnis Valnon
Statut : Hors ligne
.

Message par Lamnis Valnon »

Euh... Que quoi est fait exprès ? (sent qu'il va encore passer pour un con... :8: )
Silk
Statut : Hors ligne
.

Message par Silk »

Bah la peau d'éléphant à l'apprence de tigre, c'est de l'humour... :oops: Pour montrer que le mec qui analyse est vraiment une tarte et que personne ne sait ce que c'est qu'un éléphant en réalité, tout le monde invente des trucs mais personne ne le sait... (c'est un point commun à TOUS les livres de SF, cette blague, j'ai jamais su pourquoi :8: Une référence obscure à l'afrique et au commerce triangulaire, peut-être).
Avatar du membre
Grenouillebleue
Loup effrayant
Messages : 723
Enregistré le : sam. 27 sept. 2003, 22:58
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Grenouillebleue »

C'est probablement une référence à la blague de Tolkien et de son Olifant (avec Samwise qui explique que les Olifants sont de gros animaux avec un grand nez qui bouge tout seul)
MOD KIM TERMINE
- Des centaines de dialogues et d'interactions
- De nombreuses quêtes
- De nouveaux objets magiques
- Une véritable romance

Roman d'Heroic Fantasy en feuilleton (un chapitre par jour)
Intro 01 02 03 04 05 06 07 08 09 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
Silk
Statut : Hors ligne
.

Message par Silk »

Et qui a été reprise après... ^^ En tout cas, j'ai toujours trouvé ça à mourir de rire, cette peau de tigre, et l'autre avec ses connaissances pointues qui t'affirmes scientifiquement que c'est une peau d'éléphant. Bref, revenons à nos moutons, enfin à nos éléphants.
Répondre

Retourner vers « Dialogues »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité