Derzeitiger Zustand des Skripts:
Code:
Scriptname 1TestUnsichtbartest
ref target
short doonce
ref myself
begin onTriggerActor
if doonce == 0
MessageBox "Test - Tür aktiviert!"
if player.HasMagicEffect INVI != 1
set target to getParentRef
set myself to getself
target.activate myself 1
set doonce to 1
set myself to 0
endif
endif
end
Code:
scn 1DoonceRuecksetzen
short doonce
ref parent
begin OnTrigger Player
Set Parent to GetParentRef
Set Parent.doonce to 0
end
(Wenn ich versuche im Rücksetzskript "short doonce" zu entfernen wirft er mir Skript Errors entgegen)
Funktioniert nur leider nicht wie es sollte -> Hauptskript wird einmal ausgelöst, danach nie wieder. -> doonce wird nicht zurückgesetzt!
Edit: Hier noch das vorgefertigte Skript des Activator-Doors, falls dieses irgendwie reinpfuschen könnte:
Code:
scn RuinsGATEopenSCRIPT
; activated by linked child
; activates optionally linked parent after 1 sec delay
short init
short closed
short next
short busy
float timer
ref mySelf
ref myParent
begin onActivate
set mySelf to getSelf
set myParent to getParentRef
if isActionRef player == 1
if closed == 1
message "Dieses Tor wird anderswo geöffnet."
endif
elseif isActionRef mySelf == 0 && busy == 0
if closed == 0
playgroup forward 0
set closed to 1
disableLinkedPathPoints
else
playgroup backward 0
set closed to 0
enableLinkedPathPoints
endif
set next to 1
set timer to 1
set busy to 1
endif
end
begin gameMode
if init == 0
; set up ref vars
set mySelf to getSelf
set myParent to getParentRef
; prepare linked pathsgrid points
enableLinkedPathPoints
set init to 1
endif
; daisy-chain activation
if next == 1 && timer <=0
set next to 0
myParent.activate mySelf 1
endif
if timer > 0
set timer to timer - getSecondsPassed
endif
if isAnimPlaying == 0 && busy == 1
set busy to 0
endif
end
begin onReset
reset3DState
set closed to 0
set next to 0
set busy to 0
enableLinkedPathPoints
end