Page 1 sur 1

[DLG, WeiDU] Dialogue pour Invocateur de la créature uniquement

Posté : dim. 08 oct. 2017, 21:57
par Faust
Bonsoir,

Je me lance dans la création des dialogues, le premier point sur lequel je bloque est le suivant:

Je veux rendre un certain dialogue accessible uniquement si c'est l'invocateur qui parle à la créature, mais je n'ai pas réussi à trouver comment m'y prendre.

Je connais les fonctions InPartySlot(LastTalkedToBy,0) et LastSummonerOf(Myself), la première prend en compte quel personnage sur les 6 slots parle à la créature, la seconde identifie la personne ayant invoquée la créature.

Je me base sur le dialogue FAMIL1.DLG pour faire quelque chose de similaire, la seule différence est que ce dialogue prend le protagoniste comme référence, il est le seul à avoir accès aux dialogues, moi je veux qu'il s'agisse de l'invocateur qui soit le seul à pouvoir accéder aux dialogues, l'invocateur ne sera pas le protagoniste mais un PNJ.

Posté : lun. 09 oct. 2017, 16:03
par Freddy_Gwendo
As-tu essayé d'utiliser le trigger Detect(LastSummunerOf(Myself)) dans l'une des répliques ?

Exemple :

Code : Tout sélectionner

SAY blabla
  IF ~Detect(LastSummunerOf(Myself))~ THEN GOTO Replique_Invocateur
  IF ~!Detect(LastSummunerOf(Myself))~ THEN GOTO Replique_NonInvocateur
ou

Code : Tout sélectionner

SAY blabla
  IF ~Detect(LastSummunerOf(Myself))~ THEN REPLY Question_Invocateur GOTO Replique_Invocateur
  IF ~~ THEN REPLY Nimportequoi GOTO Autre_Replique

Posté : lun. 09 oct. 2017, 17:29
par Faust
Freddy_Gwendo a écrit :As-tu essayé d'utiliser le trigger Detect(LastSummunerOf(Myself)) dans l'une des répliques ?

Exemple :

Code : Tout sélectionner

SAY blabla
  IF ~Detect(LastSummunerOf(Myself))~ THEN GOTO Replique_Invocateur
  IF ~!Detect(LastSummunerOf(Myself))~ THEN GOTO Replique_NonInvocateur
ou

Code : Tout sélectionner

SAY blabla
  IF ~Detect(LastSummunerOf(Myself))~ THEN REPLY Question_Invocateur GOTO Replique_Invocateur
  IF ~~ THEN REPLY Nimportequoi GOTO Autre_Replique
Salut Freddy,

Merci pour ton intervention!

D'après la description que j'ai pu lire de ce trigger, la créature détecte ce qu'elle voit, ou ce qu'elle entend. S'il y a dans le groupe CHARNAME et le personnage avec le kit, mais que c'est CHARNAME qui lance la conversation, la créature va quand-même proposer le banter, non?

J'ai trouvé quelques infos sur le mod de Severian, mais j'ai encore du mal à comprendre la structure d'un dialogue.
► Afficher le texte

Si j'ai bien compris, Coolcoyote à ajouter le nom de Severian dans le fichier pdialog.2da, du coup il est possible d'identifier Severian grace au trigger suivant:

/******** Le bloc ci-dessous doit rester en dernière position ********/
// Renvoi d'Onyx avant la fin normale de la convocation
IF ~Name("#Severian",LastTalkedToBy)~ THEN BEGIN Renvoi
SAY @1000
IF ~~ THEN REPLY @1001 EXIT
IF ~~ THEN REPLY @1002 DO ~ForceSpellRES("#SUnSumB",Myself)~ EXIT
END


► Afficher le texte