OnContainerChanged - ObjectReference
Revision as of 09:52, 4 January 2014 by imported>JustinOther (Mofakin: ObjectReferences are all forms, yet not all forms are ObjectReferences (all zaps are zips yet not all zips are zaps). This event listens for both, ObjectReferences inclusive in that if you add/remove an ObjectReference filling an alias, both defi)
Member of: ObjectReference Script
Event called when the object reference enters/leaves/moves between containers.
Syntax[edit | edit source]
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
Parameters[edit | edit source]
- akNewContainer: The container this object is entering. If this is None, the object was dropped.
- akOldContainer: The container this object just left. If this is None, the object was picked up.
Examples[edit | edit source]
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
if akOldContainer && !akNewContainer
Debug.Trace("We have been dropped!")
elseif akNewContainer && !akOldContainer
Debug.Trace("We have been picked up!")
else
Debug.Trace("We have switched containers!")
endIf
endEvent
Event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
if akNewContainer == Game.GetPlayer()
Debug.Trace("I just got put in the player's inventory!")
endIf
endEvent
Notes[edit | edit source]
- Once an object has been added to a container it is no longer valid to call functions on it. Functions on self will fail to run with an error.
- Reminder: If you call RemoveItem() on an object and don't give it a destination container it is destroyed... such destroyed objects won't run an OnContainerChanged event.
- This event should only be relied upon for single objects. Moving stacked objects or objects from a stack will not always cause the event to fire. See this thread on the official Creation Kit forum for more information.