GetPlayer - Game
Member of: Game Script
Obtains the actor representing the player.
Actor Function GetPlayer() native global
The Actor that represents the player.
; Print out the player to the log Debug.Trace("Player is " + Game.GetPlayer())
Use this function if you only need need to access the player once in a script. Otherwise, use an actor property named "PlayerREF" as demonstrated below since properties are literally 1,000 times faster (See: CK Forum Thread) than this function. The CK will auto-fill said property with the player's hardcoded reference, ACHR:00000014. While it's true that filling a property will make the reference persistent, the player (and most actors for that matter) are already necessarily persistent.
Actor Property PlayerRef Auto Event OnInit() Debug.Trace("Player is " + PlayerRef) EndEvent
In the event you are referring to the player more than once, sometimes you can minimize use of GetPlayer, utilizing an event's arguments as a free way to cache PlayerREF and in turn expedite your script.
Event OnActivate(ObjectReference akActionRef) If akActionRef == Game.GetPlayer() Int iCount = akActionRef.GetItemCount(kWidget) If iCount akActionRef.RemoveItem(kWidget, iCount) akActionRef.AddItem(kBauble, iCount) EndIf EndIf EndEvent