I suggest, what that script will not work (bacause of DoOnce condition) Since we use weapon effect: scn SCRIPTNAME
float fTimer
short iStage
Begin ScriptEffectStart
if IsInInterior == 0
set iStage to 1
set fTimer to 10
showmessage SCRIPTMESSAGE
endif
end
Begin ScriptEffectUpdate
if iStage == 1
if fTimer > 0
set fTimer to (fTimer - GetSecondsPassed)
else
placeatme SCRIPTEFFECT, 1
set iStage to 0
endif
endif
end Note, what if you hit target again until timer expires, effect will be replaced (with new 10 sec delay). To avoid this, you can store timer elsewere (in quest script, for example) Weapon effect script scn SCRIPTNAME
short iStage
Begin ScriptEffectStart
if IsInInterior == 0
set iStage to 1
if MuQuest.fTimer <= 0 ;if timer expired, set again
set MuQuest.fTimer to 10
endif
showmessage SCRIPTMESSAGE
endif
end
Begin ScriptEffectUpdate
if iStage == 1
if MuQuest.fTimer > 0
set MuQuest.fTimer to (MuQuest.fTimer - GetSecondsPassed)
else
placeatme SCRIPTEFFECT, 1
set iStage to 0
endif
endif
end Quest Script scn MyQuestScript
float fTimer
And dont forget about effect duration (15 sec is ok)