Difference between revisions of "GetSelf"

From the Fallout3 GECK Wiki
Jump to navigation Jump to search
imported>Cipscis
(Further testing of GetSelf reveals that it returns 0 when called on references saved in the save game (i.e. those with formIDs starting with "ff"). Thanks to HugePinball for pointing this out.)
imported>Prideslayer
m (Reversed the example in notes. "never do this" was and still is bad advice.)
Line 11: Line 11:
==Notes==
==Notes==
<ul>
<ul>
<li>Because reference functions can be called on the scripted reference implicitly by omitting explicit reference syntax, the following code structure should never be used:
<li>While functions that take an implied reference can be cast without needing a variable or call to getself, like so:
<pre>ref rSelf
<pre>CIOS someSpell</pre>
Doing so may not be clear, and makes the code less portable if moved to a different script that does not support the implied reference.  For this reason, modders should prefer the more expressive syntax:
<pre>
ref rSelf
set rSelf to GetSelf
set rSelf to GetSelf
rSelf.ReferenceFunction</pre>
rSelf.CIOS someSpell</pre>
Instead, just use code like this:
Not only for CIOS, but for all "reference methods" that require a reference, like CIOS.
<pre>ReferenceFunction</pre>
</li>
</li>
<li>[[GetSelf]] will return 0 if called on a reference that has been created dynamically (for example, created via [[PlaceAtMe]], or dropped from an inventory into the game world).
<li>[[GetSelf]] will return 0 if called on a reference that has been created dynamically (for example, created via [[PlaceAtMe]], or dropped from an inventory into the game world).

Revision as of 17:17, 23 December 2014

< [[::Category:Functions|Category:Functions]]

Link to TES4 Construction Set Wiki: GetSelf.

A function included in the GECK version 1.1.0.36.

Description

Returns the RefID of the calling reference. GetSelf is only useful when this information is accessed externally, or when the scripted reference's RefID needs to be passed as a parameter to a function like PushActorAway

Syntax

[help]
GetSelf 

Or:

this

Example

ref rSelf
set rSelf to GetSelf
player.PushActorAway rSelf 5

Notes

  • While functions that take an implied reference can be cast without needing a variable or call to getself, like so:
    CIOS someSpell

    Doing so may not be clear, and makes the code less portable if moved to a different script that does not support the implied reference. For this reason, modders should prefer the more expressive syntax:

    ref rSelf
    set rSelf to GetSelf
    rSelf.CIOS someSpell

    Not only for CIOS, but for all "reference methods" that require a reference, like CIOS.

  • GetSelf will return 0 if called on a reference that has been created dynamically (for example, created via PlaceAtMe, or dropped from an inventory into the game world).