[Résolu] Script de téléportation et variable globale
Re: Problème avec un script ....
Cela veut juste dire qu'il ne pas encore lu.
Re: Problème avec un script ....
Oki merci ... Je retourne a a réinstallation de windaube ...
Re: Problème avec un script ....
Me voila de retour avec un pc fraichement formaté ....
Je me suis plongé dans lecture des réponses données et un détail m'interpelle dans l'utilisation des états, dans le script proposé par Lucead , la mention autostate remet à jour l'état.
Si je comprend bien a chaque fois que le script est exécuté l'autostate fait office de reset ???
Je me suis plongé dans lecture des réponses données et un détail m'interpelle dans l'utilisation des états, dans le script proposé par Lucead , la mention autostate remet à jour l'état.
Si je comprend bien a chaque fois que le script est exécuté l'autostate fait office de reset ???
Re: Problème avec un script ....
En fait, dans chaque script, tu as un état "invisible" qui correspond tout simplement à tous les éléments placés en dehors d'un état que tu créer toi-même. Cet état "invisible" est l'état "par défaut". Or, dans le cas que j'ai présenté, utiliser cet état n'a pas de sens, on rédéfinit donc l'état "par défaut" en ajoutant le mot-clé "auto" devant l'état.
Une autre solution aurait été de mettre un
juste après les variables. Comme cet évènement est dans l'étant "invisible", il est exécuté dans le lancement du script. Et on lui demande simplement de changer d'état. L'avantage du mot-clé "Auto" est donc d'éviter d'avoir à déclarer un type d'event si l'on se moque totalement du fonctionnement par défaut.
J'espère avoir été assez limpide
Une autre solution aurait été de mettre un
Code : Tout sélectionner
Event OnInit()
[tab=30]GoToState("Au_Marqueur_1")
EndEvent
J'espère avoir été assez limpide

Re: Problème avec un script ....
Je pense avoir compris, est ce que les états sont gardés en mémoire ???
Si c'est le cas, un autre script peux initialiser l'état et de ce fait se passer de l'autostate ?
Si c'est le cas, un autre script peux initialiser l'état et de ce fait se passer de l'autostate ?
Re: Problème avec un script ....
Je suis pas sûr qu'un autre script puisse changer l'état d'un autre script.
Quand au fait de se passer de l'auto-state, tu es libre de ne pas l'utiliser si tu ne souhaites pas l'utiliser, mais il reste assez utile pour se simplifier la vie. Tu peux très bien préférer la version avec le OnInit() si tu trouves ça plus clair.
Après, les états sont peut-être assez compliqués à comprendre pour un débutant. Ils sont très pratiques, mais il faut bien comprendre quand les utiliser et pourquoi. Dans ton cas actuel, tout comme tu l'as fait, on peux très bien s'en passer.
Quand au fait de se passer de l'auto-state, tu es libre de ne pas l'utiliser si tu ne souhaites pas l'utiliser, mais il reste assez utile pour se simplifier la vie. Tu peux très bien préférer la version avec le OnInit() si tu trouves ça plus clair.
Après, les états sont peut-être assez compliqués à comprendre pour un débutant. Ils sont très pratiques, mais il faut bien comprendre quand les utiliser et pourquoi. Dans ton cas actuel, tout comme tu l'as fait, on peux très bien s'en passer.
Re: Problème avec un script ....
grrr .... j'aurais mieux fait de me casser une jambe le jour où j'ai ouvert le CK ....
Il est certain que les états offrent de nombreuses possibilités.
Je vais creuser tout ça et essayer de faire en sorte que ça marche .... pour l'instant je bute pour rattacher l'effet au sort ....
Il est certain que les états offrent de nombreuses possibilités.
Je vais creuser tout ça et essayer de faire en sorte que ça marche .... pour l'instant je bute pour rattacher l'effet au sort ....
Re: Problème avec un script ....
Bonne nouvelle !!
Le script marche !!!
Le problème venait de la manipulation des variables globales et l'utilisation de getvalue et setvalue ...
Merci à vous tous !!!
Je garde sous le coude les états qui me seront très utile par la suite
Le script marche !!!
Code : Tout sélectionner
Scriptname AdsScriptTele extends activemagiceffect
{Sort de téléportation au manoir}
Actor Property PlayerREF Auto
ObjectReference Property AdsMarkTele01 Auto
ObjectReference Property AdsMarkTele02 Auto
GlobalVariable Property AdsVarTeleportation Auto
Event OnEffectStart(Actor akTarget, Actor akCaster)
If AdsVarTeleportation.GetValueint() == 0
AdsMarkTele01.MoveTo(PlayerREF)
PlayerREF.MoveTo(AdsMarkTele02)
AdsVarTeleportation.SetValueInt(1)
ElseIf AdsVarTeleportation.GetValueint() == 1
PlayerREF.MoveTo(AdsMarkTele01)
AdsVarTeleportation.SetValueInt(0)
EndIf
EndEvent
Merci à vous tous !!!
Je garde sous le coude les états qui me seront très utile par la suite
Re: [Résolu] Script de téléportation et variable globale
Il y a un script dans les ressources utilisant les états pour compter des activations. Cela peut aider à apprécier un peu leur potentiel. Les états servent aussi à éviter une double activation quand un event ne doit déclencher qu'une fois (le fameux state busy utilisé par Beth).