47 lines
1.2 KiB
Plaintext
47 lines
1.2 KiB
Plaintext
|
scriptName defaultActivateToggleLinkedRefOnce extends ObjectReference
|
||
|
{
|
||
|
- Toggles the state of the linked ref when this object is activated.
|
||
|
}
|
||
|
|
||
|
ObjectReference myLinkedRef
|
||
|
Keyword property linkKeyword Auto
|
||
|
bool property requirePlayer = False Auto
|
||
|
bool property requireNOTPlayer = False Auto
|
||
|
bool property fade = False Auto
|
||
|
bool property reset = True Auto
|
||
|
|
||
|
Event OnReset()
|
||
|
;USKP 2.0.4 - This should only return to pre-activation if the reference should be reset. Otherwise don't, because it makes messes of things.
|
||
|
if(reset)
|
||
|
gotoState("PreActivation")
|
||
|
Else
|
||
|
gotoState("DoNothing")
|
||
|
EndIf
|
||
|
EndEvent
|
||
|
|
||
|
Auto State PreActivation
|
||
|
Event OnActivate(ObjectReference triggerRef)
|
||
|
if ((!requirePlayer && !requireNOTPlayer) || (requirePlayer && triggerRef == (Game.GetForm(0x14) as Actor)) || (requireNOTPlayer && triggerRef != (Game.GetForm(0x14) as Actor)))
|
||
|
myLinkedRef = GetLinkedRef(linkKeyword) as ObjectReference
|
||
|
if (myLinkedRef.IsEnabled())
|
||
|
myLinkedRef.Disable(fade)
|
||
|
Else
|
||
|
myLinkedRef.Enable(fade)
|
||
|
EndIf
|
||
|
if (reset)
|
||
|
; Debug.Trace("Now awaiting reset.")
|
||
|
gotoState("PostActivation")
|
||
|
Else
|
||
|
gotoState("DoNothing")
|
||
|
EndIf
|
||
|
EndIf
|
||
|
EndEvent
|
||
|
EndState
|
||
|
|
||
|
STATE PostActivation
|
||
|
EndState
|
||
|
|
||
|
STATE DoNothing
|
||
|
;Do nothing
|
||
|
EndState
|