Difference between revisions of "GetSelf"

283 bytes added ,  08:47, 13 January 2017
no edit summary
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>Tgspy
 
(One intermediate revision by one other user not shown)
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).
</li>
</li>
</ul>
</ul>
*Using GetSelf in scripts rather than  this will result in GECKPU throwing errors.


[[Category:Functions]]
[[Category:Functions]]
Anonymous user