Difference between revisions of "OnActivate"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>Haama
(→‎Notes: Oops, tested that long ago)
imported>Haama
(→‎Notes: These notes don't really fit here, and are on the Activate page)
Line 8: Line 8:


*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.
*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.
*This block (and the entire script) runs immediately when called from an external script. There were a few things that were posted before that this should clarify:
#Activation occurs before the next line of code of the calling script is processed, and not in the next frame
#Any number of objects can activate one object, within one frame, and they will all be run (though see notes on [[Activate#Nesting|Nesting]])
*It's possible to nest activations. However, you can only have 5-6 nests at any given time (see [[Activate#Nesting|Nesting]] for more information)


*The activator type of object has NO default activation.  
*The activator type of object has NO default activation.  

Revision as of 12:15, 23 June 2008

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.
  • Selecting an item in inventory will equip it (except for enchanted scrolls) and run onEquip blocks instead of 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.

See Also