Difference between revisions of "ScriptEffectUpdate"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>ShadowDancer
(adding note)
imported>ShadowDancer
(updating note with new info)
Line 5: Line 5:


'''Note:'''
'''Note:'''
* The '''ScriptEffectUpdate''' block will be processed before the '''ScriptEffectFinish''' block when the spell ends. If there is a '''Return''' statement in '''ScriptEffectUpdate''', then the '''ScriptEffectFinish''' block will never run.
* When the '''ScriptEffectUpdate''' block is placed before the '''ScriptEffectFinish''' block,  it ''<u>will</u>'' be processed before the '''ScriptEffectFinish''' block in the script as the spell ends. In this instance, if there is an active '''Return''' statement in '''ScriptEffectUpdate''', then the '''ScriptEffectFinish''' block will never run.





Revision as of 00:19, 25 August 2007

Usage

 begin ScriptEffectUpdate 

Special block type used only by Magic Effect scripts. This block will start running on the first iteration of a scripted spell effect and run each time the spell is updated until the spell ends.

Note:

  • When the ScriptEffectUpdate block is placed before the ScriptEffectFinish block, it will be processed before the ScriptEffectFinish block in the script as the spell ends. In this instance, if there is an active Return statement in ScriptEffectUpdate, then the ScriptEffectFinish block will never run.


Constant Enchantments

Unfortunately, this block won't fire when used as a scripted effect for constant (apparel) enchantments. If you need a constant enchantment, you can use two scripts to accomplish the effect. Put one script on the item to have the enchantment and use the OnEquip and OnUnEquip blocks to add and remove an ability. The script will look like this:

scriptname MyCoolConstantEnchScript

ref Wearer

Begin OnEquip
	set Wearer to GetContainer
	Wearer.AddSpell MyCoolConstantEnchAbility
End

Begin OnUnEquip
	set Wearer to GetContainer
	Wearer.RemoveSpell MyCoolConstantEnchAbility
End

Then, you create the ability and give it a scripted effect. Use the ScriptEffectUpdate block in the script to run the scripted enchantment that you wanted for the item. Remember to code for speed, as this block will be run every frame as long as the player is near.


See Also

ScriptEffectStart

ScriptEffectFinish