Difference between revisions of "Magic effect scripts"
m
Grammar correction ("effected" ==> "affected")
imported>DragoonWraith m (→Notes: GameMode == ScriptEffectUpdate ''within a scripted spell'') |
imported>Syscrusher m (Grammar correction ("effected" ==> "affected")) |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Magic Effect scripts are special scripts that can be used to create Scripted Magic Effects. They are created using the normal script editing window, but must be marked as Magic Effect scripts in order to be used in this way. Also note that the scripted effects will only run while under Game Mode. | Magic Effect scripts are special scripts that can be used to create Scripted Magic Effects. They are created using the normal script editing window, but must be marked as Magic Effect scripts in order to be used in this way. Also note that the scripted effects will only run while under Game Mode. | ||
These scripts do not use normal begin/end blocks, since they only run while the spell effect is active on a target. They use three special block types and one special function. | These scripts do not use normal begin/end blocks, since they only run while the spell effect is active on a target. They use three special block types and one special function. | ||
Magic Effect block types: | Magic Effect block types: | ||
*[[ScriptEffectStart]] | *[[ScriptEffectStart]] | ||
*[[ScriptEffectFinish]] | *[[ScriptEffectFinish]] | ||
*[[ScriptEffectUpdate]] | *[[ScriptEffectUpdate]] | ||
Magic Effect functions: | |||
*[[ScriptEffectElapsedSeconds]] | |||
In all other ways, Magic Effect scripts act like reference scripts, and can use all normal script functions inside the Magic Effect blocks. Magic Effect scripts would run on what is affected by the effect, so getSelf for instance would give the reference to the the target of the spell. | |||
In all other ways, Magic Effect scripts act like reference scripts, and can use all normal script functions inside the Magic Effect blocks. | |||
==Notes== | ==Notes== | ||
Line 23: | Line 21: | ||
<li>For scripted abilities, a new instance of the script is created each time the player enters the cell with the affected actor.</ul> | <li>For scripted abilities, a new instance of the script is created each time the player enters the cell with the affected actor.</ul> | ||
Other bizarre results have yet to be confirmed or explained. A workaround is to add a scripted item to the actor's inventory. | Other bizarre results have yet to be confirmed or explained. A workaround is to add a scripted item to the actor's inventory. | ||
<li>Magic effect scripts are not necessarily limited to the three blocktypes above. [[MenuMode]], for example, will work, and [[GameMode]] is identical to [[ScriptEffectUpdate]] from within a scripted spell.</ul> | <li>Magic effect scripts are not necessarily limited to the three blocktypes above. [[MenuMode]], for example, will work, and [[GameMode]] is identical to [[ScriptEffectUpdate]] from within a scripted spell. | ||
<li>Using OBSE string and array variables in magic effect scripts will cause new set of variables to be created every time new instance of script is running. This will cause OBSE save game bloating so they must be uninitialized after they are used. Call [[Sv_Destruct]] for string variables and set arrays to [[Ar_Null]].</ul> | |||
==See Also== | ==See Also== |