OBJECT SELF
From NWN Lexicon
Jump to navigationJump to searchOBJECT_SELF is the engine constant for the object running the current script. eg:
void main()
{
object oSelf = OBJECT_SELF;
// Send message to first PC of our object name (some objects will have a blank name, eg; Area of Effect objects)
SendMessageToPC(GetFirstPC(), "I am running a script! I am named: " + GetName(oSelf));
}
{
object oSelf = OBJECT_SELF;
// Send message to first PC of our object name (some objects will have a blank name, eg; Area of Effect objects)
SendMessageToPC(GetFirstPC(), "I am running a script! I am named: " + GetName(oSelf));
}
The OBJECT_SELF parameter will always be valid since a script must run against an object. If a object is destroyed any future scripts running on it (eg; via DelayCommand or ExecuteScript) will simply fail to invoke.
It essentially does a special function call to go "Get the Object Running this script".
In some cases it is useful to recast it, making it cleaner to read, and for some scripts like a Spell Script it is useful to recognise there is no singular "caster" but it could be many types of object.