Construction Set Fahrstuhl erstellen

Anastasya

Neuankömmling
Hallo zusammen

Leider hat die SuFu nicht das gewünschte Resultat geliefert und die ganzen Foren durchzulesen dauert mit etwas zu lang.

Ich möchte in meiner Burg eine art Lift installieren.
Das ganze sollte wie folgt funktionieren:
Am Ende eines Ganges sollen sich Schalter befinden, wenn man die aktiviert soll sich der Gang um eine bestimmte Anzahl Einheiten nach oben bewegen und wenn man den Schalter nochmal aktiviert wieder an seinen ursprungsort.

Weiss jemand wie das einfach umzusetzen ist?
 
Schau dir mal die Aufzüge der Obliviontürme im CS an. Auf dem Hebel müsste ein Script liegen, das dies bewerkstelligt.
 
Also ich hab das in einer Mod mal so gesehen das da an einer Stelle eine Platte ist . Wenn man sich drauf stellt fährt die nach Oben , und wenn man sich nochmal draufstellt fährt die wieder nach unten . So müsste es eigentlich auch klappen wenn du auf den Schalter verzichten kannst würde das auch funktionieren .


Greez Colakarim
 
Nur mal so nebenbei:
Anastasya, du gibst MoW ein Danke fürs Verlinken, aber Gildur für das Schreiben dieses garnicht so kleinen Scripts keines? :roll:
 
Zuletzt bearbeitet:
  • Like
Reaktionen: Gildur
Falsch: Ich gab MoW ein Danke für die Korrektur meiner Aussage. Vielleicht solltest du Post 5 mal lesen :roll:

Edit: @Doges: Ist Ok, kann ja jeden mal passieren ;)
 
Zuletzt bearbeitet:
Nur mal so nebenbei:
Anastasya, du gibst MoW ein Danke fürs Verlinken, aber Gildur für das Schreiben dieses garnicht so kleinen Scripts keines? :roll:

Oo natürlich kriegt Gildur eine riesen Dankeschön für sein Bewegungsskript. Leider bin ich nur dadzu gekommen die Antworten auf meine Frage zu lesen und noch schnell was zu schreiben... dann musst ich auch schon kurzfristig weg..

Ich will ja nicht als unhöflich erscheinen oder so :oops:

Also hier noch mal: DANKE GILDUR!
Werds bei gelegenheit ausprobieren.
 
  • Like
Reaktionen: Gildur
So,
jetzt hab ich endlich Zeit gefunden Gildur's Bewegungsscript auszuprobieren.
Leider kommt bei mir wenn ich das Schalterscript speichern will folgende Fehlermeldung:
"Script Fahrstuhlschalter, line7:
invalid object referece 1 for parameter ObjectReferenceID.
Complied script not saved!"

Da ich keine Ahnung vom Scripten hab, bin ich auf eure Hilfe angewiesen.
Vielen Dank.
 
Wäre nicht schlecht, wenn du dein Script mal hier reinsetzt. So können wir nicht viel dazu sagen.
Ich habe zwar eine Vermutung, warum bei dir die Fehlermeldung kommt, aber ganz ohne Script will ich dazu nichts sagen.
 
Das sind die Scripts von Gildur.

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

scn ScriptName ;Dies ist der Scriptname. Benenne ihn so um, dass du ihn schnell wiederfindest
ref par
Begin OnActivate
set par to getparentref
par.activate 1
End
 
Was nach einem ";" steht, wird ignoriert. Da kannst du so viel reinschreiben, wie du willst;)
Bei ihr haut etwas mit einer Reference ID nicht hin, allerdings muss ich dazu ihre Scripte sehen.