OnAdd
From GECK
This block will be run once when the scripted object is added to the Container's inventory. If no parameter is used, the block will be run whenever the object is added to anything's inventory.
Syntax
begin OnAdd ContainerRefID
Example
begin OnAdd begin OnAdd player
Notes
- When the target container isn't in the current cell (or within the 5x5 exterior-cell square), the OnAdd block doesn't run until you enter the cell with the container. However, the onAdd block won't run if you've saved and reloaded before entering the remote cell.
- The item must remain in the new container for at least one frame after it is added in order for the block to trigger.
- This block won't run when Death Items, including items added via "Add Leveled List On Death" Entry point perks, are first placed in the dead Actor's inventory.
- This block won't initially run on items that are listed in the actor's inventory tab in the GECK, even when a new instance of an actor is placed in the world. OnAdd blocks trigger on changes to an actor's inventory, but not when objects are created along with the container they are placed in (and so the same applies for Container objects placed in the world).
- This block won't run on items created at a workbench until dropped in the world and picked up.
- SetOnCraftingEventHandler can be used to detect when items are crafted.
Bugs
- Items with OnAdd blocks will only trigger ONCE if the player picks up an item stack from the game world or from a container. But will trigger for each item in the count if bought from a vendor or if an item stack is given through script with AddItem.
See Also
- OnDrop
- This blocktype is available as an Event Handler.