Dans le script de la map AR 5203, j'aimerai ordonner à Yagashura de se déplacer vers le joueur 1 et qu'il action son dialogue une fois qu'il nous aperçoit. J'utilise la fonction suivante :
IF
Global("D9YAGASPAWN3","AR5203",0)
GlobalGT("MaxSpawn","AR5203",2)
THEN
RESPONSE #100
ActionOverride("YAGA01",MoveToObject(Player1))
SetGlobal("D9YAGASPAWN3","AR5203",1)
END
le problème c'est que yaga shura enclenche son dialogue que lorsqu'il est collé au joueur, moi je voudrai qu'il enclenche son dialogue à distance.
EDIT: en fait je voudrais qu'il se déplace vers le joueur 1 mais qu'il reste à bonne distance car il suffit qu'il voit le joueur 1 pour enclencher son dialogue normalement.:
IF
NumberOfTimesTalkedTo(0)
See([PC])
THEN
RESPONSE #100
StartDialogueNoSet([PC])
END
voila voilu.
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é...
Ordonner à une créature d'enclencher son dialogue à distance
- Faust
- Adepte de Grondemarteau
- Loup noir
- Messages : 291
- Enregistré le : mer. 15 avr. 2009, 12:04
- Localisation : Wherever I may roam
- Statut : Hors ligne
.
Désolé, étant au boulot je ne peux pas chercher le code, en revanche tu devrais trouver ce que tu cherches en piochant dans les scripts d'Irenicus par exemple. Lorsque j'ai le temps j'essayerai de te trouver ça.DrAzTiK a écrit :Dans le script de la map AR 5203, j'aimerai ordonner à Yagashura de se déplacer vers le joueur 1 et qu'il action son dialogue une fois qu'il nous aperçoit. J'utilise la fonction suivante :
IF
Global("D9YAGASPAWN3","AR5203",0)
GlobalGT("MaxSpawn","AR5203",2)
THEN
RESPONSE #100
ActionOverride("YAGA01",MoveToObject(Player1))
SetGlobal("D9YAGASPAWN3","AR5203",1)
END
le problème c'est que yaga shura enclenche son dialogue que lorsqu'il est collé au joueur, moi je voudrai qu'il enclenche son dialogue à distance.
EDIT: en fait je voudrais qu'il se déplace vers le joueur 1 mais qu'il reste à bonne distance car il suffit qu'il voit le joueur 1 pour enclencher son dialogue normalement.:
IF
NumberOfTimesTalkedTo(0)
See([PC])
THEN
RESPONSE #100
StartDialogueNoSet([PC])
END
voila voilu.
Edit:
Essayes,
[LEFT]IF
Global("D9YAGASPAWN3","AR5203",0)
GlobalGT("MaxSpawn","AR5203",2)
THEN
RESPONSE #100
ActionOverride("YAGA01",MoveToObject(Player1))
ActionOverride("YAGA01",Dialogue(Player1))
SetGlobal("D9YAGASPAWN3","AR5203",1)
END[LEFT][LEFT][LEFT]
Je ne sais pas quelles sont les conditions pour que Dialogue(Player1) fonctionne, mais StartDialogueNoSet fonctionne sans que la créature voit son interlocuteur.
Sinon tu peux ajouter un ActionOverride("YAGA01",MoveToPoint([x.y])) au lieu de ActionOverride("YAGA01",MoveToObject(Player1))
[LEFT]L'apparition d'Irenicus avec le premier dialogue lors de la création d'une nouvelle partie fait exactement ce que tu recherches. Dans le pire des cas, créer une cutscene sera un solution définitive.[/LEFT]
[/LEFT]
[/LEFT]
[/LEFT]
[/LEFT]
[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.
.
Je crois que tu as toutes les cartes en main, je procéderais de cette façon :
IF
TriggerOverride("YAGA01", NumberOfTimesTalkedTo(0))
TriggerOverride("YAGA01", See(Player1))
THEN
RESPONSE #100
ActionOverride("YAGA01",StartDialogueNoSet(Player1))
END
IF
TriggerOverride("YAGA01", NumberOfTimesTalkedTo(0))
!TriggerOverride("YAGA01", See(Player1))
THEN
RESPONSE #100
ActionOverride("YAGA01",MoveToObject(Player1))
END
- DrAzTiK
- Ours des cavernes
- Messages : 1177
- Enregistré le : ven. 19 sept. 2003, 03:20
- Localisation : Bordeaux
- Contact :
- Statut : Hors ligne
.
Ok merçi les amis.
Finalement j'ai reussi mais faut passer par le script de yaga shura . J'ai rajouté les lignes suivantes qu'un membre de la couronne de cuivre m'avait passé :
IF
GlobalGT("MaxSpawn","AR5203",2)
!Detect(NearestEnemyOf(Myself))
!Detect(Player1)
!Detect(Player2)
!Detect(Player3)
!Detect(Player4)
!Detect(Player5)
!Detect(Player6)
THEN
RESPONSE #100
SetGlobal("Move1","LOCALS",1)
MoveToObject(Player1)
Continue()
END
IF
Global("Move1","LOCALS",1)
OR(7)
Detect(NearestEnemyOf(Myself))
Detect(Player1)
Detect(Player2)
Detect(Player3)
Detect(Player4)
Detect(Player5)
Detect(Player6)
THEN
RESPONSE #100
NoAction()
SetGlobal("Move1","LOCALS",0)
Continue()
END
Voila , ca marche. Si je reste dans le script de la map AR 5203, ce n'est pas possible de faire tout ça je pense.
Finalement j'ai reussi mais faut passer par le script de yaga shura . J'ai rajouté les lignes suivantes qu'un membre de la couronne de cuivre m'avait passé :
IF
GlobalGT("MaxSpawn","AR5203",2)
!Detect(NearestEnemyOf(Myself))
!Detect(Player1)
!Detect(Player2)
!Detect(Player3)
!Detect(Player4)
!Detect(Player5)
!Detect(Player6)
THEN
RESPONSE #100
SetGlobal("Move1","LOCALS",1)
MoveToObject(Player1)
Continue()
END
IF
Global("Move1","LOCALS",1)
OR(7)
Detect(NearestEnemyOf(Myself))
Detect(Player1)
Detect(Player2)
Detect(Player3)
Detect(Player4)
Detect(Player5)
Detect(Player6)
THEN
RESPONSE #100
NoAction()
SetGlobal("Move1","LOCALS",0)
Continue()
END
Voila , ca marche. Si je reste dans le script de la map AR 5203, ce n'est pas possible de faire tout ça je pense.
Qui est en ligne
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités