Page 1 sur 1

AddAction apres un respawn

Publié : 10 mars 2015, 22:39
par Julien
Salut,

Quand on fait un addAction, dans l'init d'un joueur, l'action n'est plus disponible après un respawn.
Rien d’anormal jusque la.

Est ce que pour garder l'action, il y a plus simple que les event handler ?

Code : Tout sélectionner

this addEventHandler ["respawn", {
 // du code
}]
;

Re: AddAction apres un respawn

Publié : 11 mars 2015, 09:07
par Tyrghen
C'est le plus propre d'utiliser un eventhandler.

Idéalement, si on parle d'une carte où les cadavres restent, il vaut mieux aussi enlever l'action sur le cadavre avec le "killed" event.
Sinon, lorsque tu approches de ton cadavre, tu auras l'action sur le cadavre aussi.

Une autre solution pour éviter ça, c'est dans la condition de l'action (qui définit sa visibilité ou non) d'ajouter "alive _target".
_target est une variable spéciale dans la condition d'une action qui désigne l'objet sur lequel cette action a été ajoutée.
On peut utiliser la condition pour pleins de choses, comme par exemple rendre l'action indisponible si on est dans un véhicule, ou que la carte est ouverte, etc.

Mais pour en revenir à ta question, l'idéal c'est une paire "killed" et "respawn" qui gère ça.

Si tu veux vraiment un raccourci, tu utilises un déclencheur qui teste en permanence (répétition) la présence de l'action, du style:
Condition:

Code : Tout sélectionner

(player getVariable ["mon_action_id",-1]) < 0
Activation:

Code : Tout sélectionner

player setVariable ["mon_action_id", player addAction [.....]];
Mais ce n'est pas ce que je ferais.

L'idéal c'est de lancer un script en début de mission qui ajouter les deux handlers.

Re: AddAction apres un respawn

Publié : 11 mars 2015, 10:02
par Julien
Merci pour ces quelques précisions :)