Page 1 sur 1
[SCRIPT] MoveToObjectFollow au lancement d'une sauvegarde
Posté : dim. 13 janv. 2019, 14:01
par Cocrane
J'ai un PNJ qui suit le groupe.
Je sauvegarde et quitte la partie.
Je rappelle la partie.
Le PNJ ne suit plus alors que je désire que celà continue. Visiblement charger la partie casse les actions en cours.
J'ai envisagé un test avec RANGE mais ca ne me convient pas.
Pour le moment, j'ai prévu un dialogue pour permettre au PNJ de suivre à nouveau.
Est ce qu'il existe un test permettant de savoir qu'une partie vient d'être chargée? Si oui, je relancerai l'action dans le script suite à cet évènement.
Autre idée?
Pour info:
Code : Tout sélectionner
IF
Global("ekilis_follow","GLOBAL",0)
Global("ekilis_alliance","GLOBAL",1)
!See(Nearestenemyof(Myself))
Detect(PLAYER1)
THEN
RESPONSE #100
SetGlobal("ekilis_follow","GLOBAL",1)
MoveToObjectFollow(PLAYER1)
END
Cocrane
Posté : dim. 13 janv. 2019, 14:10
par Freddy_Gwendo
Tu dois utiliser une variable LOCALS, essaie avec une GLOBAL qui sera sauvegardée dans le save.
Posté : dim. 13 janv. 2019, 16:04
par Cocrane
c'est déjà une gestion en GLOBAL.
Si c'est actif pour le player1, ekilis_follow=1.
Cocrane
Posté : dim. 13 janv. 2019, 16:15
par Freddy_Gwendo
J'ai toujours du mal avec les objets en minuscules. Toute la doc reprend NearestEnemyOf. Essaie pour voir.
Sinon, la gestion des scripts lors des sauvegardes est plutôt aléatoire selon les actions. Tu as regardé le code de stratagems?
Posté : lun. 14 janv. 2019, 10:16
par Faust
Cocrane a écrit :J'ai un PNJ qui suit le groupe.
Je sauvegarde et quitte la partie.
Je rappelle la partie.
Le PNJ ne suit plus alors que je désire que celà continue. Visiblement charger la partie casse les actions en cours.
J'ai envisagé un test avec RANGE mais ca ne me convient pas.
Pour le moment, j'ai prévu un dialogue pour permettre au PNJ de suivre à nouveau.
Est ce qu'il existe un test permettant de savoir qu'une partie vient d'être chargée? Si oui, je relancerai l'action dans le script suite à cet évènement.
Autre idée?
Pour info:
Code : Tout sélectionner
IF
Global("ekilis_follow","GLOBAL",0)
Global("ekilis_alliance","GLOBAL",1)
!See(Nearestenemyof(Myself))
Detect(PLAYER1)
THEN
RESPONSE #100
SetGlobal("ekilis_follow","GLOBAL",1)
MoveToObjectFollow(PLAYER1)
END
Cocrane
Hello Coco, et avec ActionOverride("TACREATURE", MoveToObjectFollow(PLAYER1))
?
Le problème c'est ça
RESPONSE #100
SetGlobal("ekilis_follow","GLOBAL",1)
MoveToObjectFollow(PLAYER1)
Ta variable Global("ekilis_follow","GLOBAL",0) a besoin d'être à 0 sinon la créature ne suivra pas et ta variable augmente de 1 dans le même script, essaye en séparant
IF Global("ekilis_follow","GLOBAL",0)
Global("ekilis_alliance","GLOBAL",1)
Detect(PLAYER1)
THEN
RESPONSE #100
SetGlobal("ekilis_follow","GLOBAL",1)
END
IF
!See(Nearestenemyof(Myself))
Global("ekilis_follow","GLOBAL",1)
THEN
RESPONSE #100
MoveToObjectFollow(PLAYER1)
END
Posté : lun. 14 janv. 2019, 20:13
par Cocrane
Merci pour ton analyse Faust.
Code : Tout sélectionner
IF Global("ekilis_follow","GLOBAL",0)
Global("ekilis_alliance","GLOBAL",1)
Detect(PLAYER1)
THEN
RESPONSE #100
SetGlobal("ekilis_follow","GLOBAL",1)
END
IF
!See(Nearestenemyof(Myself))
Global("ekilis_follow","GLOBAL",1)
THEN
RESPONSE #100
MoveToObjectFollow(PLAYER1)
END
En séparant, le TOP 'suit' de l'action effectivement, au redémarrage d'une save, le PNJ suit. Le problème est que le PNJ va recevoir l'ordre de suivre constamment. Du coup, il va avancer en saccadé.
Je suis mauvaise langue, c'est ce que je me disais depuis le début. :-) Du coup, je me dis, ça ne mange pas de pain de tester et on me le propose. Effectivement c'est saccadé mais c'est léger et parfois on voit rien. :-). Très agréablement surpris en fait pour tout te dire.
La solution est meilleure.
Merci pour ton aide.
Cocrane
Posté : jeu. 17 janv. 2019, 21:19
par Faust
Cocrane a écrit :Merci pour ton analyse Faust.
Code : Tout sélectionner
IF Global("ekilis_follow","GLOBAL",0)
Global("ekilis_alliance","GLOBAL",1)
Detect(PLAYER1)
THEN
RESPONSE #100
SetGlobal("ekilis_follow","GLOBAL",1)
END
IF
!See(Nearestenemyof(Myself))
Global("ekilis_follow","GLOBAL",1)
THEN
RESPONSE #100
MoveToObjectFollow(PLAYER1)
END
En séparant, le TOP 'suit' de l'action effectivement, au redémarrage d'une save, le PNJ suit. Le problème est que le PNJ va recevoir l'ordre de suivre constamment. Du coup, il va avancer en saccadé.
Je suis mauvaise langue, c'est ce que je me disais depuis le début. :-) Du coup, je me dis, ça ne mange pas de pain de tester et on me le propose. Effectivement c'est saccadé mais c'est léger et parfois on voit rien. :-). Très agréablement surpris en fait pour tout te dire.
La solution est meilleure.
Merci pour ton aide.
Cocrane
[LEFT]
Avec plaisir ! Pour une fois que je peux apporter une solution fonctionnelle [/LEFT]