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é...
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] Ajouter une interjection à la fin d'un bloc d'un dialogue existant
- Shinook
- Ours des cavernes
- Messages : 1102
- Enregistré le : mar. 18 mai 2004, 17:12
- Localisation : Angers
- Contact :
- Statut : Hors ligne
[DLG] Ajouter une interjection à la fin d'un bloc d'un dialogue existant
.
J'ai plus ou moins lu le tutorial de Blue sur les banters, et je ne pense pas qu'il y ait une réponse à ma question. Si je veux par exemple ajouter juste une petite intervention à la fin d'un dialogue existant ( par exemple juste avant le combat final contre Irenicus, chaque PNJ a sa petite phrase, et j'aimerais en rajouter une pour quelqu'un d'autre ), comment dois-je faire ?
- Galathée
- Élu de Mystra
- Messages : 36360
- Enregistré le : mer. 25 août 2004, 15:26
- Localisation : Ailleurs
- Contact :
- Statut : Hors ligne
.
Ce n'est certainement pas la jolie réponse que tu attendais :notme: mais si tu es pressé, je peux toujours te dire que chez Keto, ça ressemble à ça:
Maintenant, bon amusement...
EDIT: ah zut, ça c'est le dialogue de l'arbre, c'est pas ça que tu voulais... Enfin, cela dit, souvent, en regardant dans les scripts des autres persos, on trouve ce qu'on cherche ?
Code : Tout sélectionner
EXTEND_BOTTOM PLAYER1 33
IF ~InParty("Keto") !Dead("Keto")
Global("PGKetoKnowsHistory","GLOBAL",1)
Global("PGKetoDidTOLThing","GLOBAL",0)~ THEN DO ~SetGlobal("PGKetoDidTOLThing","GLOBAL",1)~ GOTO P133Keto
IF ~InParty("Keto") !Dead("Keto")
!Global("PGKetoKnowsHistory","GLOBAL",1)
Global("PGKetoDidTOLThing","GLOBAL",0)~ THEN DO ~SetGlobal("PGKetoDidTOLThing","GLOBAL",1)~ GOTO P133KetoNoID
END
APPEND PLAYER1
IF ~~ P133Keto
SAY @2327
++ @2328 EXTERN FWKETOJ tolstorylife2
++ @2329 EXTERN FWKETOJ tolnotcoward2
++ @2330 EXTERN FWKETOJ tolhandlethat2
++ @2331 EXTERN FWKETOJ tolknowid
END
IF ~~ P133KetoNoID
SAY @2332
++ @2328 EXTERN FWKETOJ tolstorylife
++ @2329 EXTERN FWKETOJ tolnotcoward
++ @2330 EXTERN FWKETOJ tolhandlethat
++ @2333 EXTERN FWKETOJ toldeathofall
END
END
APPEND FWKETOJ
IF ~~ tolknowid
SAY @2334
IF ~~ GOTO tolend
END
IF ~~ tolstorylife2
SAY @2335
IF ~~ GOTO tolend
END
IF ~~ tolnotcoward2
SAY @2336
IF ~~ GOTO tolend
END
IF ~~ tolhandlethat2
SAY @2337
IF ~~ GOTO tolend
END
IF ~~ tolstorylife
SAY @2335
IF ~~ GOTO tolend
END
IF ~~ tolnotcoward
SAY @2338
IF ~~ GOTO tolend
END
IF ~~ tolhandlethat
SAY @2339
IF ~~ GOTO tolend
END
IF ~~ toldeathofall
SAY @2340
IF ~~ GOTO tolend
END
END
CHAIN FWKETOJ tolend
@2341
= @2342
= @2343
== FWKETOJ IF ~Global("PGKetoKnowsHistory","GLOBAL",1)~ THEN @2344
== FWKETOJ IF ~!G("PGKetoYoshimoBetray",0)~ THEN @2345
= @2346
END
COPY_TRANS PLAYER1 33
EDIT: ah zut, ça c'est le dialogue de l'arbre, c'est pas ça que tu voulais... Enfin, cela dit, souvent, en regardant dans les scripts des autres persos, on trouve ce qu'on cherche ?
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
Comme bien souvent :notme2: , la réponse est dans la documentation !
Jette un coup d'oeil à la doc Weidu (pourquoi chercher ailleurs ? ), dans la partie "Tutorials", plus particulièrement celle concernant COPY_TRANS. Le numéro d'état de dialogue 25 correspond au dialogue particulier indiqué dans le tutorial (les enfers, si j'ai bien lu). Il existe d'autres numéros d'états particuliers pour le dialogue de l'arbre de vie et peut-être d'autres encore. Pour plus de précisions, tu peux consulter un autre mod de PNJ car ces états sont normalement référencés dans les fichiers D avec le numéro lui-même au lieu d'un nom.
Tu peux aussi trouver ce numéro en cherchant dans le dialogue d'un PNJ original pour savoir quel est le numéro pour l'intervention en question.
Jette un coup d'oeil à la doc Weidu (pourquoi chercher ailleurs ? ), dans la partie "Tutorials", plus particulièrement celle concernant COPY_TRANS. Le numéro d'état de dialogue 25 correspond au dialogue particulier indiqué dans le tutorial (les enfers, si j'ai bien lu). Il existe d'autres numéros d'états particuliers pour le dialogue de l'arbre de vie et peut-être d'autres encore. Pour plus de précisions, tu peux consulter un autre mod de PNJ car ces états sont normalement référencés dans les fichiers D avec le numéro lui-même au lieu d'un nom.
Tu peux aussi trouver ce numéro en cherchant dans le dialogue d'un PNJ original pour savoir quel est le numéro pour l'intervention en question.
:!: 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 !
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 !
- Shinook
- Ours des cavernes
- Messages : 1102
- Enregistré le : mar. 18 mai 2004, 17:12
- Localisation : Angers
- Contact :
- Statut : Hors ligne
.
Bon, pour ça, c'est régler et compris, merci à vous deux ( un peu en retard d'ailleurs ). Par contre, j'aurais une autre question. Les fonctions COPY_TRANS, INTERJECT_COPY_TRANS1 et 2, EXTEND_BOTTOM marchent seulement, me semble-t-il, pour un PNJ "dans" le groupe. Or, je voudrais ajouter Flora à côté des 3 dryades dans le Donjon d'Irenicus ( ça c'est fait ), et rajouter des interjections/interventions aux différents dialogues des dryades, qui se passent constamment la parole ( les fichiers IDRYAD1, IDRYAD2 et IDRYAD3 sont les .dlg de chacune des dryades ), AVANT qu'elle n'entre dans le groupe. Je suppose que modifier directement les fichiers ne seraient pas un bon moyen. Comment faire, donc ?
- Shinook
- Ours des cavernes
- Messages : 1102
- Enregistré le : mar. 18 mai 2004, 17:12
- Localisation : Angers
- Contact :
- Statut : Hors ligne
.
Ca y est, j'ai trouvé . Déjà, j'ai utilisé la fonction INTERJECT ( je n'ai pas retesté les autres. cf le tutorial de WeiDU.org ). Ensuite, j'ai intégré tous les blocs qui devaient intervenir dans le discussion des Dryades dans le fichier .dlg indiqué dans le .cre de Flora ( ici, Flora.dlg ). Ca donne quelque chose comme :
Cependant, il demeure un autre problème. Il n'y a pas de problème tant que l'interjection intervient entre deux autre interventions des Dryades, mais lorsque l'interjection de Flora doit aboutir ensuite sur un changement de variable, ou proposer des interventions du PJ, comment faire ? Cette forme du bloc INTERJECT ne m'est pas familière, et je ne sais pas si je peux rajouter des choses comme DO ou REPLY...
Code : Tout sélectionner
INTERJECT IDRYAD2 0 florainterject1
== FLORA IF ~~ THEN [color=red]// FLORA correspond au fichier qui va permettre d'identifier qui parle[/color]
~Blah blah blah.~
END DRYAD3 0 [color=red]// Le fait d'indiquer DRYAD3 permet de faire le lien avec la suite du dialogue, sous forme d'un dialogue à plusieurs.[/color]
Cependant, il demeure un autre problème. Il n'y a pas de problème tant que l'interjection intervient entre deux autre interventions des Dryades, mais lorsque l'interjection de Flora doit aboutir ensuite sur un changement de variable, ou proposer des interventions du PJ, comment faire ? Cette forme du bloc INTERJECT ne m'est pas familière, et je ne sais pas si je peux rajouter des choses comme DO ou REPLY...
- Isaya
- Adepte de Grondemarteau
- Planaire
- Messages : 6990
- Enregistré le : mar. 22 juil. 2003, 21:03
- Localisation : Plaisir
- Contact :
- Statut : Hors ligne
.
INTERJECT sert à ajouter des liens entre les dialogues de différents personnages. Si tu veux retomber sur un dialogue classique (plus particulièrement une intervention du personnage principal), il se peut que tu sois obligé de revenir à la solution indiquée dans le tutorial sur Interject dans la doc Weidu, celle qui montre comment il fallait procéder avant l'apparition d'Interject. Comme elle est basée sur une construction classique de message, tu peux y insérer un échange classique. Depuis l'exemple, il te suffit alors de remplacer la partie "IF ~~ THEN EXTERN SAHPR2 10" par les REPLY que tu veux proposer.
Par ailleurs, si on se réfère à la description formelle d'INTERJECT, il semble que tu puisses utiliser le END pour indiquer un lien vers un état particulier d'un dialogue. Tu peux donc indiquer ici celui dans lequel tu veux permettre au personnage principal d'intervenir.
Par ailleurs, si on se réfère à la description formelle d'INTERJECT, il semble que tu puisses utiliser le END pour indiquer un lien vers un état particulier d'un dialogue. Tu peux donc indiquer ici celui dans lequel tu veux permettre au personnage principal d'intervenir.
:!: 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 !
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 !
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité