Difference between revisions of "OnActivate"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Haama
(→‎Notes: 'That can be equipped' is misleading)
imported>UDUN
Line 17: Line 17:


*If you create an object and activate it in the same frame, its OnActivate block may not run. See [[PlaceAtMe#Usage_in_same_frame_as_creation|PlaceAtMe]] more info.
*If you create an object and activate it in the same frame, its OnActivate block may not run. See [[PlaceAtMe#Usage_in_same_frame_as_creation|PlaceAtMe]] more info.
*''OnActivate player'' will compile but act as ''OnActivate'' - meaning when an NPC activates the object its normal activation will be prevented. A common mistake.


==See Also==  
==See Also==  

Revision as of 18:39, 4 June 2010

Syntax:

 begin OnActivate 

This block will be run once when the scripted reference is activated.

Notes

  • Using OnActivate will prevent normal activation of the object. To use the object's default activation you must call Activate on it.
  • If you want to do something specific depending on what activated the object, use IsActionRef or GetActionRef inside the OnActivate block. They won't return the correct ActionRef in any other block.
  • The activator type of object has NO default activation.
  • Locked doors, containers and books are activated a second time automatically when you open the lock or take the book. To find out when a door was unlocked, for example, you can wait for GetLocked == 0 in the OnActivate-block.
  • Clicking on items in inventory causes the onEquip block to run, not the onActivate block.
    • However, you can make an item run it's own onActivate block in the inventory menu (MenuMode 1008, MenuMode, onEquip, etc.) with Activate player, 1.
  • If you create an object and activate it in the same frame, its OnActivate block may not run. See PlaceAtMe more info.
  • OnActivate player will compile but act as OnActivate - meaning when an NPC activates the object its normal activation will be prevented. A common mistake.

See Also