Loaded

Revision as of 11:16, 26 August 2007 by imported>Haama (Created)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Oblivion cannot keep track of every single object in the game at all times. Only certain objects are loaded in memory, at any one time. These include persistent objects and objects in the player's current cell. It seems to extend beyond it in certain conditions, however there is no guarantee that an object will still be loaded.

This is especially important when dealing with non-persistent objects (such as objects created with PlaceAtMe). A script can interact with a non-persistent object while the player is in the same cell (i.e., grab the reference to the object with set Ref to (PlaceAtMe SomeObject), and activate it with Ref.Activate), as if it were a persistent object. You can even walk to a new cell or enter a door from the cell, and everything will still work. However, if you fast-travel, save and reload, or enter too many new cells, the object will no longer be loaded in memory. When the script attempts to call the object, it will either stall or CTD. This is because a new object will be in memory, and that new object will be called instead.