GetPlayer - Game

From the CreationKit Wiki
Revision as of 07:04, 27 January 2013 by imported>JustinOther (→‎Notes)
Jump to navigation Jump to search

Member of: Game Script

Obtains the actor representing the player.

Syntax

Actor Function GetPlayer() native global

Parameters

None

Return Value

The Actor that represents the player.

Examples

; Print out the player to the log
Debug.Trace("Player is " + Game.GetPlayer())

Notes

Use this function if you only need need to access the player once in a script. Otherwise, use an actor property, as demonstrated below, named "PlayerREF" as 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

See Also