4
Fork 0
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

102 lines
2.8 KiB

Scriptname WeaponRackTriggerSCRIPT extends ObjectReference Hidden
import game
import debug
import utility
Keyword Property WRackActivator Auto
;The activator we must disable if there is already something in this trigger
ObjectReference Property ActivatorRef Auto Hidden
;Reference that is currently in the trigger
ObjectReference Property RefCurrentlyInTrig Auto Hidden
;1 = if something is in this trigger, 0 = empty
Bool Property HasBeenTriggered Auto Hidden
Int Property numInTrig Auto Hidden
Bool Property AlreadyInit Auto Hidden
Bool Property IgnoreArmor = FALSE Auto
EVENT OnReset()
AlreadyInit = FALSE
;Trace("DARYL - " + self + " running OnReset() and AlreadyInit = " + AlreadyInit)
endEVENT
EVENT OnLoad()
;Trace("DARYL - " + self + " running OnLoad() and AlreadyInit = " + AlreadyInit)
if (AlreadyInit == FALSE) && (self.IsEnabled())
ActivatorRef = GetLinkedRef(WRackActivator)
if (ActivatorRef)
ActivatorRef.Enable()
endif
ActivatorRef = NONE
AlreadyInit = TRUE
;Trace("DARYL - " + self + " The Activator Ref is " + ActivatorRef)
else
;Do nothing
endif
;Trace("DARYL - " + self + " finishing OnLoad() and AlreadyInit = " + AlreadyInit)
endEVENT
;EVENT OnCellLoad()
; ;Trace("DARYL - " + self + " running OnCellLoad() and AlreadyInit = " + AlreadyInit)
; if (AlreadyInit == FALSE) && (self.IsEnabled())
; ActivatorRef = GetLinkedRef(WRackActivator)
; AlreadyInit = TRUE
; ;Trace("DARYL - " + self + " The Activator Ref is " + ActivatorRef)
; else
; ;Do nothing
; endif
; ;Trace("DARYL - " + self + " finishing OnCellLoad() and AlreadyInit = " + AlreadyInit)
;endEVENT
auto STATE WaitingForReference
EVENT onTriggerEnter(objectReference triggerRef)
;Trace("DARYL - " + self + " Just OnTriggerEntered by " + triggerref)
if (IgnoreArmor == TRUE) && (triggerRef.GetBaseObject() as Armor)
;Trace("DARYL - " + self + " I'm ignoring armor, and this is armor, so I'm doing nothing.")
;Do Nothing
else
;Trace("DARYL - " + self + " I'm updating as normal")
;numInTrig = (numInTrig + 1)
HasBeenTriggered = TRUE
ActivatorRef = GetLinkedRef(WRackActivator)
if ActivatorRef
ActivatorRef.Disable()
endif
ActivatorRef = NONE
endif
endEVENT
EVENT OnTriggerLeave(objectReference triggerRef)
;Trace("DARYL - " + self + " A References has EXITED, refs in this trigger now = " + numInTrig)
if (IgnoreArmor == TRUE) && (triggerRef.GetBaseObject() as Armor)
;Trace("DARYL - " + self + " I'm ignoring armor, and this is armor, so I'm doing nothing.")
;Do Nothing
else
;Trace("DARYL - " + self + " I'm updating as normal")
;numInTrig = (numInTrig - 1)
endif
if (GetTriggerObjectCount() == 0)
ActivatorRef = GetLinkedRef(WRackActivator)
HasBeenTriggered = FALSE
ActivatorRef.Enable()
ActivatorRef = NONE
endif
endEVENT
endSTATE