Difference between revisions of "Talk:Dissecting the Scripts for Weapon Racks"
Jump to navigation
Jump to search
imported>HawkFest (→Erroneous assertion: new section) |
imported>HawkFest |
||
Line 1: | Line 1: | ||
== Erroneous assertion == | == Erroneous assertion == | ||
It's written : « | '''It's written:''' « ''OnTriggerEnter and OnTriggerLeave - Next, you see the OnTriggerEnter and OnTriggerLeave blocks inside the 'WaitingForReference' state. I'm not going to try and explain states here, but '''it's redundant and has no utility if you only have a single state in a script'''.'' » | ||
That's plain wrong : a singleton state can be essential e.g. when monitoring things, while using RegisterForSingleUpdateGameTime for instance. One example which is quite self-explanatory: | '''That's plain wrong:''' a singleton state can be essential e.g. when monitoring things, while using RegisterForSingleUpdateGameTime for instance. One example which is quite self-explanatory: | ||
<source lang="papyrus"> | <source lang="papyrus"> | ||
Scriptname FactionDetectionScript extends ObjectReference | Scriptname FactionDetectionScript extends ObjectReference |
Revision as of 15:34, 29 January 2013
Erroneous assertion
It's written: « OnTriggerEnter and OnTriggerLeave - Next, you see the OnTriggerEnter and OnTriggerLeave blocks inside the 'WaitingForReference' state. I'm not going to try and explain states here, but it's redundant and has no utility if you only have a single state in a script. »
That's plain wrong: a singleton state can be essential e.g. when monitoring things, while using RegisterForSingleUpdateGameTime for instance. One example which is quite self-explanatory:
Scriptname FactionDetectionScript extends ObjectReference
{Script to be attached to some object in the cell you wish to be monitoring for the player to be a member in some allowed faction}
ObjectReference Property MarkerEnabler Auto
{A marker reference parent of other objects that you wish to enable when the player becomes member of some allowed faction}
Event OnLoad()
If MarkerEnabler.IsDisabled()
GoToState("WaitForAllowedFaction")
EndIf
EndEvent
State WaitForAllowedFaction
Event OnBeginState()
If PlayerREF.IsInFaction(AllowedFaction)
MarkerEnabler.Enable()
Else
RegisterForSingleUpdateGameTime(0.9)
EndIf
EndEvent
Event OnUpdateGameTime()
GoToState("WaitForAllowedFaction")
EndEvent
EndState