Bonsoir,
Dans mon mode mon héro est forcé de quitter le groupe pour subir une expérience et on est censés le retrouver allongé sur le sol. Jusque là tout va bien, pas de problème pour faire ça.
Le problème qui se pose est que je n'arrive pas à faire en sorte que mon héros reste au sol, et ne lance pas de banter afin que Charname choisisse de le lancer ou non en lui cliquant dessus afin de faire apparaître un dialogue.
Dès que mon héros voit charname, ll se lève et initialise le dialogue.
Existe t-il un moyen de faire en sorte qu'un npc n'initialise pas automatiquement de dialogue, ou même qu'il n'entreprenne une quelconque action dès qu'il est viré ?
[Script] Empêcher un Npc rejeté du groupe de lancer un dialogue
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
[Script] Empêcher un Npc rejeté du groupe de lancer un dialogue
.
[h=6]"Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."[/h]Wherever I May Roam.
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
.
Apres plusieurs jours d'essais, j'ai finalement reussi:
IF
Global("El[r]inSoul","GLOBAL",1)
AreaCheck("AR1512")
THEN
RESPONSE #100
ActionOverride(Myself,ReallyForceSpellRES("Eloul",Myself)) // [LEFT]Graphics: Character Animation Change [138] Sleep, permanent[/LEFT]
SetGlobal("El[r]inSoul","GLOBAL",2) //
Continue()
END
IF
Global("El[r]inSoul","GLOBAL",2)
!InParty(Myself)
THEN
RESPONSE #100
ActionOverride(Myself,NoAction())
END
Coté Dialogue, dans le fichier xxxxP.DLG
BEGIN ~El[r]inP~
IF ~ Global("El[r]inSoul","GLOBAL",2)
~
BEGIN Skip
SAY @48
IF ~~ THEN DO ~
SetGlobal("El[r]inSoul","GLOBAL",3)~
JoinParty()
EXIT
END
Le personnage reste allongé jusqu'à ce qu'un PNJ lui clique dessus, le dialogue se lance bien, le personnage rejoint bien le groupe.
IF
Global("El[r]inSoul","GLOBAL",1)
AreaCheck("AR1512")
THEN
RESPONSE #100
ActionOverride(Myself,ReallyForceSpellRES("Eloul",Myself)) // [LEFT]Graphics: Character Animation Change [138] Sleep, permanent[/LEFT]
SetGlobal("El[r]inSoul","GLOBAL",2) //
Continue()
END
IF
Global("El[r]inSoul","GLOBAL",2)
!InParty(Myself)
THEN
RESPONSE #100
ActionOverride(Myself,NoAction())
END
Coté Dialogue, dans le fichier xxxxP.DLG
BEGIN ~El[r]inP~
IF ~ Global("El[r]inSoul","GLOBAL",2)
~
BEGIN Skip
SAY @48
IF ~~ THEN DO ~
SetGlobal("El[r]inSoul","GLOBAL",3)~
JoinParty()
EXIT
END
Le personnage reste allongé jusqu'à ce qu'un PNJ lui clique dessus, le dialogue se lance bien, le personnage rejoint bien le groupe.
[h=6]"Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."[/h]Wherever I May Roam.
-
- Adepte de Grondemarteau
- Ogre mage
- Messages : 1328
- Enregistré le : dim. 21 mars 2010, 12:03
- Localisation : Paris
- Contact :
- Statut : Hors ligne
.
J'ai eu un problème dans le même genre.
Le Charname a quelque chose à faire seul et il quitte le groupe.
Ensuite dès qu'un PNJ voit le Charname, il fonce dessus et lance le dialogue de départ. A ma connaissance, tu ne peux pas l'empêcher. Par contre, tu peux faire évoluer le dialogue pour avoir ton texte.
Pour mon problème, j'ai finalement opté, pour ne pas faire sortir le Charname du groupe et le faire quitter la carte sans le groupe. (Tu peux paramétrer les cartes pour cela).
Le groupe peut évoluer de son coté. Au niv scénario, ça peut être aussi intéressant.
J'ai répondu sans voir ton dernier msg. Celà veut dire que c'est l'état sleep qui empêche le PNJ de parler automatiquement?
Cocrane
Le Charname a quelque chose à faire seul et il quitte le groupe.
Ensuite dès qu'un PNJ voit le Charname, il fonce dessus et lance le dialogue de départ. A ma connaissance, tu ne peux pas l'empêcher. Par contre, tu peux faire évoluer le dialogue pour avoir ton texte.
Pour mon problème, j'ai finalement opté, pour ne pas faire sortir le Charname du groupe et le faire quitter la carte sans le groupe. (Tu peux paramétrer les cartes pour cela).
Le groupe peut évoluer de son coté. Au niv scénario, ça peut être aussi intéressant.
J'ai répondu sans voir ton dernier msg. Celà veut dire que c'est l'état sleep qui empêche le PNJ de parler automatiquement?
Cocrane
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
.
Hello Coco,Cocrane a écrit :J'ai eu un problème dans le même genre.
Le Charname a quelque chose à faire seul et il quitte le groupe.
Ensuite dès qu'un PNJ voit le Charname, il fonce dessus et lance le dialogue de départ. A ma connaissance, tu ne peux pas l'empêcher. Par contre, tu peux faire évoluer le dialogue pour avoir ton texte.
Pour mon problème, j'ai finalement opté, pour ne pas faire sortir le Charname du groupe et le faire quitter la carte sans le groupe. (Tu peux paramétrer les cartes pour cela).
Le groupe peut évoluer de son coté. Au niv scénario, ça peut être aussi intéressant.
J'ai répondu sans voir ton dernier msg. Celà veut dire que c'est l'état sleep qui empêche le PNJ de parler automatiquement?
Cocrane
En fait il s'agit simplement de l'animation jouée lorsque une créature est sous l'état sleep, la créature reste allongée.
Si tu appliques un état qui fige la créature (inconscient, immobilisé, etc.̷) cela fige tout ses scripts (y compris dialogues) donc impossible de parler a la créature.
Ce qui me permet de garder la créature dans cette position c'est le script suivant:
IF
Global("El[r]inSoul","GLOBAL",2)
!InParty(Myself)
THEN
RESPONSE #100
ActionOverride(Myself,NoAction()) // La créature n'entreprend pas d'action, ici celle d'aller parler a CHARNAME après avoir été éjectée
END
La créature reste sous l'animation souhaitée "Graphics: Character Animation Change [138] Sleep, permanent" tant qu'elle n'est pas dans le groupe
Global("El[r]inSoul","GLOBAL",2)
!InParty(Myself)
THEN
RESPONSE #100
ActionOverride(Myself,NoAction())
END
Elle rejoint le groupe et se lève après que le PNJ lui ai parlé
IF ~ Global("El[r]inSoul","GLOBAL",2)
~
BEGIN Skip
SAY @48
IF ~~ THEN DO ~
SetGlobal("El[r]inSoul","GLOBAL",3)
ForceSpellRES("Eltnd",Myself) // pour faire se relever la créature, sinon elle reste au sol tant qu'elle n'est pas déplacée
JoinParty() ~
EXIT
END
Sinon tu peux utiliser DLTCEP
Spell Effect: Pause Target [165]
Cure: Unpause Target [270]
[h=6]"Wrath is the burden of those who haven't faith in humanity but there's no mean to avoid it. I guess it's my choice, just try to stand it."[/h]Wherever I May Roam.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité