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é...

Ordonner à une créature d'enclencher son dialogue à distance

Répondre
Avatar du membre
DrAzTiK
Ours des cavernes
Messages : 1177
Enregistré le : ven. 19 sept. 2003, 03:20
Localisation : Bordeaux
Contact :
Statut : Hors ligne

Ordonner à une créature d'enclencher son dialogue à distance

.

Message par DrAzTiK »

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.
Faites comme moi, jouez FP :cool:

Mon Mod : BuTcHeRY

Ma châine Youtube
Avatar du membre
Faust
Adepte de Grondemarteau
Loup noir
Messages : 291
Enregistré le : mer. 15 avr. 2009, 12:04
Localisation : Wherever I may roam
Statut : Hors ligne
.

Message par Faust »

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.
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.

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.
rivvers
Ours brun
Messages : 300
Enregistré le : sam. 21 janv. 2012, 14:36
Statut : Hors ligne
.

Message par rivvers »

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
Avatar du membre
DrAzTiK
Ours des cavernes
Messages : 1177
Enregistré le : ven. 19 sept. 2003, 03:20
Localisation : Bordeaux
Contact :
Statut : Hors ligne
.

Message par DrAzTiK »

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.
Faites comme moi, jouez FP :cool:

Mon Mod : BuTcHeRY

Ma châine Youtube
Répondre

Retourner vers « Scripts »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 2 invités