Difference between revisions of "GetSelf"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>UDUN
imported>QQuix
(Added a note on a GetSelf glitch)
 
(2 intermediate revisions by 2 users not shown)
Line 13: Line 13:
==Notes==
==Notes==
* This function doesn't work quite as expected for [[Glossary#I|item]]s. See [http://www.uesp.net/wiki/Tes4Mod:Modding_Terminology Modding Terminology], especially the [http://www.uesp.net/wiki/Tes4Mod:Modding_Terminology#Dynamic_Items Dynamic Items] and [http://www.uesp.net/wiki/Tes4Mod:Modding_Terminology#Scripting_Notes Scripting Notes] sections for more information. In particular :
* This function doesn't work quite as expected for [[Glossary#I|item]]s. See [http://www.uesp.net/wiki/Tes4Mod:Modding_Terminology Modding Terminology], especially the [http://www.uesp.net/wiki/Tes4Mod:Modding_Terminology#Dynamic_Items Dynamic Items] and [http://www.uesp.net/wiki/Tes4Mod:Modding_Terminology#Scripting_Notes Scripting Notes] sections for more information. In particular :
** getSelf applied to a mod based item will always return the original formid of the item.
** GetSelf applied to a mod based (non-dynamic) item will always return the original formid of the item as long as the item is in the world (not in an inventory).
** getSelf applied to a dynamic item will always return 0 -- even when the item is in a cell and has a reference. While you might expect it to return the formid of it's dynamic reference while in the cell, apparently the function is rigged to return zero for safety reasons. Directly contrary to the behavior of getSelf, [[placeAtMe]] creates a dynamic reference -- ''and'' returns the correct formid.
** getSelf applied to a dynamic item will always return 0 -- even when the item is in a cell and has a reference. While you might expect it to return the formid of its dynamic reference while in the cell, apparently the function is rigged to return zero for safety reasons. Directly contrary to the behavior of getSelf, [[placeAtMe]] creates a dynamic reference -- ''and'' returns the correct formid.
 
*GetSelf returns 0 if the item is in an inventory (for both, dynamic and non-dynamic items)


* This function [[Talk:GetSelf#Unreliability with Player|appears to be unreliable]] when called on the player.
* This function [[Talk:GetSelf#Unreliability with Player|appears to be unreliable]] when called on the player.
Line 22: Line 24:
to make sure it's not the player. See the talk page for more information.
to make sure it's not the player. See the talk page for more information.
* This function returns 0 when called on a [[Light]].
* This function returns 0 when called on a [[Light]].
* If used (1) in an item script AND (2) the item is in a container in an exterior cell AND (3) the container cell is loaded as the player approaches on foot AND (4) GetSelf is used in the very first frame >> the game CTDs. ([[Talk:GetSelf#GetSelf glitch|see the talk page for details]])


==See Also==
==See Also==

Latest revision as of 06:38, 15 May 2011

Syntax:

set refVar to GetSelf
set refVar to this

Example:

if GetSelf == GetActionRef
set MyQuest.targetRef to GetSelf

An alias for This. Returns the calling object itself as a reference. Useful for if statements, or for setting reference variables on other scripts.


Notes[edit | edit source]

  • This function doesn't work quite as expected for items. See Modding Terminology, especially the Dynamic Items and Scripting Notes sections for more information. In particular :
    • GetSelf applied to a mod based (non-dynamic) item will always return the original formid of the item as long as the item is in the world (not in an inventory).
    • getSelf applied to a dynamic item will always return 0 -- even when the item is in a cell and has a reference. While you might expect it to return the formid of its dynamic reference while in the cell, apparently the function is rigged to return zero for safety reasons. Directly contrary to the behavior of getSelf, placeAtMe creates a dynamic reference -- and returns the correct formid.
  • GetSelf returns 0 if the item is in an inventory (for both, dynamic and non-dynamic items)
set ref to GetSelf
if (ref.GetIsReference player == 0)

to make sure it's not the player. See the talk page for more information.

  • This function returns 0 when called on a Light.
  • If used (1) in an item script AND (2) the item is in a container in an exterior cell AND (3) the container cell is loaded as the player approaches on foot AND (4) GetSelf is used in the very first frame >> the game CTDs. (see the talk page for details)

See Also[edit | edit source]

This