- Found in:
- Vanilla
eventOnContainerChanged(ObjectReferenceakNewContainer, ObjectReferenceakOldContainer)
Description
Wiki Description
Event called when the object reference enters/leaves/moves between containers.
Documentation Comment
Event received when this object enters, exits, or changes containers
Caveats
CK Wiki - Notes
- Once an object has been added to a container it ceases to exist in most cases. Most functions (except those that are inventory-safe) 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. However, if an item is destroyed by RemoveItem() being called with a FormList or Keyword argument, the OnContainerChanged event will still be fired.
Parameters
ObjectReferenceakNewContainer
CK Wiki Description
The container this object is entering. If this is None, the object was dropped.
ObjectReferenceakOldContainer
CK Wiki Description
The container this object just left. If this is None, the object was picked up.
Examples
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
endEventEvent OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
if akNewContainer == Game.GetPlayer()
Debug.Trace("I just got put in the player's inventory!")
endIf
endEventAuto-Generated Example
Scriptname MyCoolScript extends ObjectReference
event OnContainerChanged(ObjectReference akNewContainer, ObjectReference akOldContainer)
Debug.trace("Event received - OnContainerChanged: akNewContainer = " + akNewContainer + " akOldContainer = " + akOldContainer)
endEvent