Scriptname SampleScript Extends ActiveMagicEffect Bool IsFinished ; スペルがかかると呼ばれる Event OnEffectStart(Actor akTarget, Actor akCaster) ; 速攻でスペルが切れることがあるので、少し待ってから次の処理に移る Utility.Wait(0.5) ; スペルが切れているなら何もしないで終わる if IsFinished return endif ; 1秒後になにかする RegisterForSingleUpdate(1.0) EndEvent ; スペルが切れると呼ばれる ; 既にActiveMagicEffectは消えており、ActiveMagicEffectに対する操作は一切無効 Event OnEffectFinish(Actor akTarget, Actor akCaster) IsFinished = true EndEvent Event OnUpdate() ; スペルが切れているなら何もしないで終わる if IsFinished return endif ; ここでやりたことをする ; 再び1秒後になにかする if !IsFinished RegisterForSingleUpdate(1.0) endif EndEvent