Difference between revisions of "A beginner's guide, lesson 1 - The Construction Set Primer"

no edit summary
imported>Kaelvala
Tag: Manual revert
 
(11 intermediate revisions by 2 users not shown)
Line 282: Line 282:
=====Notes=====
=====Notes=====
*For storing remote containers and [[Remote Activators|activators]] you can leave it floor-less without a problem.
*For storing remote containers and [[Remote Activators|activators]] you can leave it floor-less without a problem.
*Method 1 gives you an empty cell, rather than some vanilla interior.


====Creating a New Persistent Reference====
====Creating a New Persistent Reference====


Generally, giving a thing a persistent reference is necessary when you want some process to be able to refer to that thing from somewhere else. Specifically, flagging a reference as persistent means that Oblivion will always keep it in memory (it persists.)  The advantage to being flagged persistent is that scripts, quests or AI packages can use that reference even when the player is in a different cell. If a script, a quest, or an AI package, will possibly need the thing outside of the cell in which it is given its reference, then that reference needs to be a persistent reference. Oblivion only loads a certain number of cells at a time, and calling upon anything that is not loaded or persisting in memory will cause a crash.  The disadvantage to making all references persistent is that the persistent references occupy memory. If 500,000 references that did not need to persist were, in fact, made persistent and each used 4 bytes that would require about 2 MB of memory and a corresponding use of disk space for each save.  After all, to persist they must be reloaded upon resumption of the game.  
Generally, giving a thing a persistent reference is necessary when you want some process to be able to refer to that thing from somewhere else. Specifically, flagging a reference as persistent means that Oblivion will always keep it in memory (it persists.)  The advantage to being flagged persistent is that scripts, quests or AI packages can use that reference even when the player is in a different cell. If a script, a quest, or an AI package, will possibly need the thing outside of the cell in which it is given its reference, then that reference needs to be a persistent reference. Oblivion only loads a certain number of cells at a time, and calling upon anything that is not loaded or persisting in memory will cause a crash.  The disadvantage to making all references persistent is that the persistent references occupy memory. If 500,000 references that did not need to persist were, in fact, made persistent and each used 4 bytes that would require about 2 MB of memory and a corresponding use of disk space for each save.  After all, to persist they must be reloaded upon resumption of the game.  
The plan is get something you'll use in your scripts, hence the persistent reference.


#Open the cell you wish to add the Persistent Reference to, so you can see it in the [[Render Window]]
#Open the cell you wish to add the Persistent Reference to, so you can see it in the [[Render Window]]
#*Double-click the cell in the [[Cell View Window]]
#*Double-click the cell in the [[Cell View Window]]
#Select the base object from the [[Object Window]]
#Select the base object from the [[Object Window]]
#* Temporarily in the [[Object Window]] you could try:  Items > Armor > Glass > and in the right hand side of the window scroll down to: EnchGlassCuirassCameleon
#Drag the base object into the '''Render Window'''
#Drag the base object into the '''Render Window'''
#* You should have a cool cuirass in your renamed TestQuest01 '''Render Window'''
#Double-click the new reference in the '''Render Window'''
#Double-click the new reference in the '''Render Window'''
#Give it a "Reference EditorID" (top bar of the Edit window)
#Give it a "Reference EditorID" (top bar of the Edit window)
#*This is the name you'll use in your scripts, so give it a name you'll remember
#*This is the name you'll use in your scripts, so give it a name you'll remember
#*'''Do not''' start the Reference EditorID name with a number as this will cause you a lot of problems down the road
#*'''Do not''' start the Reference EditorID name with a number as this will cause you a lot of problems down the road
#Flag the object as Persistent (top-left of the 6 check-boxes at the bottom)
#Flag the object as '''Persistent''' (top-left of the 6 check-boxes at the bottom)


==== Creating a New Base Object ====
==== Creating a New Base Object ====
Anonymous user