[SCRIPT] MoveToObjectFollow au lancement d'une sauvegarde

Répondre
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne

[SCRIPT] MoveToObjectFollow au lancement d'une sauvegarde

.

Message 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
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message par Freddy_Gwendo »

Tu dois utiliser une variable LOCALS, essaie avec une GLOBAL qui sera sauvegardée dans le save.
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Cocrane »

c'est déjà une gestion en GLOBAL.
Si c'est actif pour le player1, ekilis_follow=1.

Cocrane
Avatar du membre
Freddy_Gwendo
Adepte de Grondemarteau
Orbe ancien
Messages : 5877
Enregistré le : sam. 23 avr. 2011, 00:26
Localisation : Égaré dans un vortex entre Féérune et le Royaume de Diamant Éternel
Statut : Hors ligne
.

Message 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?
CARPE DIEM...Co-modérateur de La Forge et de La Chambre des Scribes
Moddeur qui s'arrache les cheveux...
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 »

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
[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.
Cocrane
Adepte de Grondemarteau
Ogre mage
Messages : 1328
Enregistré le : dim. 21 mars 2010, 12:03
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message 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
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 »

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 :D [/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.
Répondre

Retourner vers « Scripts »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité