Difference between revisions of "OnPlayerLoadGame - Actor"
m
no edit summary
imported>0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 (added additional syntax and edited example from HC_ManagerScript - original text written prior to Survival Mode implementation?) |
imported>Qazaaq m |
||
(3 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
'''Member of:''' [[Actor Script]] | '''Member of:''' [[Actor Script]] | ||
Line 11: | Line 8: | ||
</source> | </source> | ||
== Parameters == | |||
None | |||
== Examples == | |||
The player is unique in that it is almost always bad practice to modify the [[Actor]] form directly. | |||
This is due to compatibily reasons concerning ''The Rule of One''. | |||
There are several techniques to avoid violating this rule. | |||
=== Example === | |||
This example is straight forward but violates ''The Rule of One'' because it requires the player [[Actor]] to be modified. | |||
<source lang="papyrus"> | <source lang="papyrus"> | ||
Event | Scriptname Example extends Actor | ||
Event OnPlayerLoadGame() | |||
Debug.TraceSelf(self, "OnPlayerLoadGame", "The player actor has reloaded the game.") | |||
EndEvent | |||
</source> | </source> | ||
== | === Alternative === | ||
A [[ReferenceAlias Script|ReferenceAlias]] or [[ActiveMagicEffect Script|ActiveMagicEffect]] will receive events from the [[Actor]] they are attached to. | |||
'''A quest alias pointed at the player''' | |||
<source lang="papyrus"> | |||
Scriptname Example extends ReferenceAlias | |||
Event OnPlayerLoadGame() | |||
Debug.TraceSelf(self, "OnPlayerLoadGame", "The player actor has reloaded the game.") | |||
EndEvent | |||
</source> | |||
'''A magic effect on the player''' | |||
<source lang="papyrus"> | <source lang="papyrus"> | ||
Scriptname Example extends ActiveMagicEffect | |||
Event OnPlayerLoadGame() | Event OnPlayerLoadGame() | ||
Debug.TraceSelf(self, "OnPlayerLoadGame", "The player actor has reloaded the game.") | |||
EndEvent | |||
</source> | </source> | ||
=== Remoting === | |||
With [[Remote Papyrus Event Registration]], this event may also be handled from ''any'' script object. | |||
<source lang="papyrus"> | <source lang="papyrus"> | ||
Scriptname Example extends ScriptObject | |||
Event | |||
Event OnInit() | |||
RegisterForRemoteEvent(Game.GetPlayer(), "OnPlayerLoadGame") | |||
Debug.TraceSelf(self, "Actor.OnPlayerLoadGame", "This script has initialized and is now listening for the 'OnPlayerLoadGame' event.") | |||
EndEvent | |||
Event Actor.OnPlayerLoadGame(Actor akSender) | |||
Debug.TraceSelf(self, "Actor.OnPlayerLoadGame", "The player actor has reloaded.") | |||
EndEvent | |||
</source> | </source> | ||
== Notes == | == Notes == | ||
*This event | *This event will fire for the '''first time''' on the next load. See also ''OnInit''. | ||
== See Also == | == See Also == | ||
*[[Actor Script]] | *[[Actor]] | ||
*[[OnInit - ScriptObject]] | |||
*[[ReferenceAlias Script]] | |||
*[[ActiveMagicEffect Script]] | |||
*[[Remote Papyrus Event Registration]] | |||
[[Category:Scripting]] | |||
[[Category:Papyrus]] | |||
[[Category:Events]] |