OnPlayerLoadGame - Actor
Member of: Actor Script (Requires 1.6)
Event called when the player loads a save game. This event is only sent to the player actor. If this is the first save game load where the event is being listened to, and the event is on an alias, and the alias didn't exist at the time the save was made, then the player won't be in the alias by the time the event is sent, and the alias script will not receive the event. It should then receive later events.
- Normal use
; Event is only sent to the player actor. This would probably be on a magic effect or alias script Event OnPlayerLoadGame() Debug.Trace("player loaded a save, do some fancy stuff") endEvent
- Do something exactly once per save load
Say you need something to happen exactly once every time a save is loaded including the first and you're using a ReferenceAlias filled with the Player. In the below example with a quest flagged as "Start Game Enabled" and set to "Run Once" from within its Quest Data Tab, we maintain a Float Property (valueless in editor) such that it will invariably reflect the version loaded. Use an OnInit event in the quest's script to catch the first save load...
ScriptName YourQuestScript extends Quest Float Property fYourModVersion Auto Event OnInit() Maintenance() EndEvent Function Maintenance() If fYourModVersion < 1.23 ; Current version If fYourModVersion Debug.Trace("Updating from version " + fYourModVersion) Else Debug.Trace("Initializing for the first time.") EndIf fYourModVersion = 1.23 EndIf EndFunction
...and use your player alias' OnPlayerLoadGame event to catch each consecutive save load.
ScriptName YourPlayerAliasScript extends ReferenceAlias YourQuestScript Property QuestScript Auto Event OnPlayerLoadGame() QuestScript.Maintenance() EndEvent
This event is only sent to the player actor. It is recommended that you handle this event via an alias the player is forced into, or a magic effect on the player.
This event will not be sent when starting a new game. See the discussion page for more information.