Difference between revisions of "Reference variables"

From the Fallout3 GECK Wiki
Jump to navigation Jump to search
imported>JOG
imported>Cipscis
(Fixing erroneous information about uninitialised reference variables)
Line 5: Line 5:
</pre>
</pre>


You can use a reference variable anywhere you could use an [[Reference|object reference]]. Uninitialized reference variables act as if they referred to the scripted object itself; otherwise a reference variable acts just like any other reference.  
You can use a reference variable anywhere you could use an [[Reference|object reference]]. Uninitialized reference variables hold a value of 0, and will cause a script to silently stop running if used to call a [[Reference_functions|reference function]]; otherwise a reference variable acts just like any other reference.  


You set reference variables using the set command, like other variables. Normally, you will want to use a [[:Category:Reference_Variable_Functions|reference variable function]], which returns a [[formID]]. For example:
You set reference variables using the set command, like other variables. Normally, you will want to use a [[:Category:Reference_Variable_Functions|reference variable function]], which returns a [[formID]]. For example:

Revision as of 21:59, 11 October 2011

Like other variables, reference variables must be declared before they can be used:

ref   refVarName  

You can use a reference variable anywhere you could use an object reference. Uninitialized reference variables hold a value of 0, and will cause a script to silently stop running if used to call a reference function; otherwise a reference variable acts just like any other reference.

You set reference variables using the set command, like other variables. Normally, you will want to use a reference variable function, which returns a formID. For example:

set myRef to GetContainer  

Like other variables, you can set a reference variable on another scripted object:

 set BobRef.myRef to GetSelf   

To check if a ref variable is unset:

if myReferenceVariable == 0

To check if a ref variable is set:

if myReferenceVariable

To check if a ref variable is another reference (in this example the player):

if myReferenceVariable == player

Or not another reference:

if myReferenceVariable != player