Le meilleur Timer que je connaisse est SetGlobalTimer("ZFlancementdesort","LOCALS",6) pour un round (6s)
SetGlobalTimer("ZFcequetuveux","LOCALS",24) pour 4 rounds
En trigger t'as le choix:
GlobalTimerExpired est vrai si le timer a déjà été lancé et qu'il est achevé alors que GlobalTimerNotExpired est vrai lorsque le timer est en cours. Donc !GlobalTimerNotExpired est vrai lorsque le timer est fini OU qu'il n'a jamais été enclenché. Pratique mais dans ton cas, on se contentera de GlobalTimerExpired puisque tu veux attendre avant de lancer le sort.
Bref ton script ressemblera à:
IF
See(NearestEnemyOf(Myself))
!Range(LastSeenBy(),3)//Le mage n'est pas au corps à corps, 3 étant une distance càc acceptable
Global("pxb7araf","AREA",0)
THEN RESPONSE
SetGlobalTimer("ZFok","LOCALS",24)
SetGlobal("pxb7araf","AREA",1)
END
IF
See(NearestEnemyOf(Myself))
!Range(LastSeenBy(),3)
GlobalLT("pxb7araf","AREA",4)
GlobalTimerExpired("ZFok","LOCALS")
THEN RESPONSE #100
Spell...
SetGlobalTimer("ZFok","LOCALS",24)
on incremente aussi pxb7araf que je te propose de ne pas mettre en LOCALS pour une fois.
END
Le premier bloc sert à déclencher le second au bout de 4 rounds si l'ennemi est toujours visible et qu'il n'est pas au corps-à-corps. Puis le bloc 2 tournera 3 fois en boucle.
Si tu veux tout savoir sur les scripts, va sur http://www.pocketplane.net/tutorials/simscript.html
C'est plein d'astuces qui te libèrent de ta difficulté.
Exemple: Savais-tu que lorsque tu utilisais le trigger See("machin")
Alors LastSeenBy() signifiait "machin" utile pour:
IF
See([ANYONE])
THEN RESPONSE #100
Attack(LastSeenBy(Myself))
END