Thanks guys and gals.
Scriptname TestMEScript extends ActiveMagicEffectEvent OnEffectStart(Actor akTarget, Actor akCaster) Debug.Notification("Start") RegisterForSingleUpdate(5)EndEventEvent OnUpdate() Debug.Notification("Update")EndEventEvent OnEffectFinish(Actor akTarget, Actor akCaster) Debug.Notification("Finish")EndEvent
Scriptname TestMEScript extends ActiveMagicEffectEvent OnEffectStart(Actor akTarget, Actor akCaster) Debug.Notification("Start") Utility.Wait(5) Debug.Notification("Update")EndEventEvent OnEffectFinish(Actor akTarget, Actor akCaster) Debug.Notification("Finish")EndEvent
;;;GlobalVariable property TimeLastUsed autoBool AbortedEvent OnEffectStart(Actor akTarget, Actor akCaster) if ((Game.GetRealHoursPassed() - TimeLastUsed) < (1.0/60.0)) Aborted = True Dispel() Return endif ;;;;EndEvent;;;Event OnEffectFinish(Actor akTarget, Actor akCaster) if !Aborted TimeLastUsed.SetValue(Game.GetRealHoursPassed()) endif ;;; EndEvent
!Caster.HasMagicEffect(BatFormTimer)If instead use
Caster.HasMagicEffect(BatFormTimer)Then of course it works but essentially does not change the spell just adds more argument to the script.