58 lines
1.6 KiB
Plaintext
58 lines
1.6 KiB
Plaintext
scriptName dunMiddenTorchSCRIPT extends objectReference
|
|
{Configurable Custom Script. Be default: when triggered, it will cast the spell from a linked ref at the triggering actor}
|
|
|
|
float property delayBetween auto
|
|
{seconds to wait between shots. Only relevant if doOnce == false}
|
|
;light property myLight auto
|
|
;{light to cast}
|
|
;projectile property myFX auto
|
|
;{light FX object to place}
|
|
|
|
auto STATE active
|
|
EVENT onTriggerEnter(ObjectReference actronaut)
|
|
if actronaut == game.getPlayer()
|
|
;gotoState("inactive")
|
|
getLinkedRef().enable(true)
|
|
;utility.wait(delayBetween)
|
|
;gotostate("active")
|
|
endif
|
|
endEVENT
|
|
|
|
EVENT onTriggerLeave(objectReference actronaut)
|
|
if actronaut == game.getPlayer()
|
|
getLinkedRef().disable(true)
|
|
endif
|
|
endEVENT
|
|
endSTATE
|
|
|
|
STATE inactive
|
|
; nothing happens here.
|
|
endSTATE
|
|
|
|
; objectReference myFXref
|
|
; myFXref = getLinkedRef().placeatme(myFX)
|
|
; myFXref.setScale(0.1)
|
|
;;send to inert state
|
|
; gotoState ("inactive")
|
|
; int i = 0
|
|
; while myFXref.getScale() < 1.0
|
|
;;store the current scale for later
|
|
; float fScale = myFXref.getscale()
|
|
; ; debug.trace(self + "fScale = " + fscale)
|
|
; i += 1
|
|
; if i > 1000
|
|
;;too many loops. Force full scale and kill the script
|
|
; ; debug.traceStack(self + "looped too many times, killing it. Scale was: " + fScale, 0)
|
|
; myFXref.disable(true)
|
|
; myFXref.delete()
|
|
; gotoState("active")
|
|
; return
|
|
; endif
|
|
; float newScale = (fScale + 0.01)
|
|
; myFXref.setScale(newScale)
|
|
; endwhile
|
|
;;begin the delay wait after we've reached full scale
|
|
; utility.wait(delayBetween)
|
|
; gotoState("active")
|
|
; endif
|
|
; endEVENT |