scn Bewegungsscript ;Dies ist der Scriptname. Benenne ihn so um, dass du ihn schnell wiederfindest
short activated
float locx
float locy
float locz
float stopx
float stopy
float stopz
float stopxb
float stopyb
float stopzb
float speedx
float speedy
float speedz
short wayx
short wayy
short wayz
ref myself
Begin OnActivate
if activated == 0
set myself to getself
set stopx to myself.getpos x + 500 ;bestimmt, wie weit sich das Objekt auf der x-Koordinate bewegen soll (- und + bestimmen die Richtung auf der x-Koordinate)
set stopy to myself.getpos y + 350 ;bestimmt, wie weit sich das Objekt auf der y-Koordinate bewegen soll (- und + bestimmen die Richtung auf der y-Koordinate)
set stopz to myself.getpos z - 200 ;bestimmt, wie weit sich das Objekt auf der z-Koordinate bewegen soll (- und + bestimmen die Richtung auf der z-Koordinate)
set speedx to +5 ;bestimmt die Geschwindigkeit auf der x-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
set speedy to +3.5 ;bestimmt die Geschwindigkeit auf der y-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
set speedz to -1.8 ;bestimmt die Geschwindigkeit auf der z-Koordinate (muss negativ sein, wenn der Wert bei der Richtung auch negativ ist)
If stopx > myself.getpos x
set wayx to 1
Elseif stopx < myself.getpos x
set wayx to -1
Endif
If stopy > myself.getpos y
set wayy to 1
Elseif stopy < myself.getpos y
set wayy to -1
Endif
If stopz > myself.getpos z
set wayz to 1
Elseif stopz < myself.getpos z
set wayz to -1
Endif
set activated to 1
Elseif (activated == 1)
If (wayx == 1) && (locx >= stopx) || (wayx == -1) && (locx <= stopx) && (wayy == 1) && (locy >= stopy) || (wayy == -1) && (locy <= stopy) && (wayz == 1) && (locz >= stopz) || (wayz == -1) && (locz <= stopz)
set activated to 2
Endif
Endif
End
Begin GameMode
if activated == 0
return
Elseif activated == 1
set locx to myself.getpos x - speedx
set locy to myself.getpos y - speedy
set locz to myself.getpos z - speedz
If (wayx == 1) && (locx < stopx)
myself.setpos x locx
Elseif (wayx == -1) && (locx > stopx)
myself.setpos x locx
Endif
If (wayy == 1) && (locy < stopy)
myself.setpos y locy
Elseif (wayy == -1) && (locy > stopy)
myself.setpos y locy
Endif
If (wayz == 1) && (locz < stopz)
myself.setpos z locz
Elseif (wayz == -1) && (locz > stopz)
myself.setpos z locz
Endif
Elseif activated == 2
set locx to myself.getpos x + speedx
set locy to myself.getpos y + speedy
set locz to myself.getpos z + speedz
If (wayx == 1) && (locx > stopx)
myself.setpos x locx
Elseif (wayx == -1) && (locx < stopx)
myself.setpos x locx
Endif
If (wayy == 1) && (locy > stopy)
myself.setpos y locy
Elseif (wayy == -1) && (locy < stopy)
myself.setpos y locy
Endif
If (wayz == 1) && (locz > stopz)
myself.setpos z locz
Elseif (wayz == -1) && (locz < stopz)
myself.setpos z locz
Endif
Endif
End