PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : bald ausgebluteter Scripting-Anfänger beim Aufzugbau



Daidalos
08.08.2006, 11:14
Hi Leute,
ich arbeite jetzt schon seit Tagen der Verzweiflung an einem script, das einen Aufzug in Bewegung setzen soll.
Da ich mir bei meinem ersten script natürlich die Latte nicht hoch anlege ;) , versuche ich,
blöde wie ich bin, den Aufzug dazu zu bringen, sich beim Aktivieren des ersten Schalters
nach unten zu bewegen, dort angekommen zehn sekunden zu verweilen und anschließend
wieder nach oben zu fahren. Mit der Aktivierung des zweiten Schalters sollte dann der Spieler den Aufzug wieder nach unten zurückrufen können.
Aktiviere ich jedoch den zweiten Schalter(den ich probeweise ins obere Stockwerk verlegt habe),
so bewegt sich mein Aufzug eine lächerliche Handbreit nach unten und bleibt stehen.
Beim Schalter Nr. 2 lässt sich dieser Vorgang beliebig oft wiederholen, während der Erste
gar keine Reaktion zeigt. Könnte das eventuell daran liegen, dass mein Aufzug, eine Raumecke,
beim Runterfahren (zum Rauffahren bin ich ja noch nicht gekommen) vielleicht mit meinem Aufzugschacht koollidiert ?
Falls mir noch irgendjemand helfen kann, hier ist mein "script" - bitte nicht lachen!

Begin my_Elevartor_01

Short convar
Short pausvar
Float timer

;________________________________________________________________________________
if ( cellchanged == 1 )
"my_aufzugschalter_02"->positioncell, -2027, -264, -248, 0, "Balmora, Residenz, Schmiede"
"my_aufzugschalter_02"->setangle y, 180
"my_elevatorplanter"->positioncell, -2293, -328, -391, 0, "Balmora, Residenz, Schmiede"
"my_elevator_comberry"->positioncell, -2300, -316, -297, 0, "Balmora, Residenz, Schmiede"
"my_elevator_comberry"->SetScale 0,5
"my_elevator"->positioncell, -2240, -384, -384, 0, "Balmora, Residenz, Schmiede"
"my_aufzugschalter_versteckt"->positioncell, -2262, -327, -322, 0, "Balmora, Residenz, Schmiede" ; Schalter 1
"my_aufzugschalter_versteckt"->setangle x, 90
"my_elevator_fern"->positioncell, -2275, -361, -275, 0, "Balmora, Residenz, Schmiede"
"my_elevator_fern"->SetScale 0,5
"my_elevator_bodenplatte"->positioncell, -2242, -264, -384, 0, "Balmora, Residenz, Schmiede" ; eine Static-Wand, sollte alles im Aufzug von unten verdecken
"my_elevator_bodenplatte"->setangle x, 270
"my_elevator_torch_ring"->positioncell, -2127, -284, -234, 0, "Balmora, Residenz, Schmiede"
"my_elevator_torch"->positioncell, -2127, -292, -248, 0, "Balmora, Residenz, Schmiede"
set convar to 0
set pausvar to 0
set timer to 0.0
endif

;________________________________________________________________________________
If ( "my_aufzugschalter_versteckt"->OnActivate == 1 )
If ( convar != 0 )
If ( convar != -1)
If ( pausvar == 0 )
set pausvar to 1
elseif ( pausvar == 1)
set pausvar to 0
endif
endif
endif
endif

If ( pausvar == 1 )
Return
endif

If ( MenuMode == 1 )
Return
endif

;________________________________________________________________________________

If ( "my_aufzugschalter_versteckt"->OnActivate == 1 )
PlaySound, "ropebridge"
If ( convar == 0 )
set convar to 1
elseif ( convar == -1 )
set convar to 3
endif
endif

;_________________________________________________________________________________
if ( convar == 1 )
"my_elevatorplanter"-> MoveWorld z, -74
"my_elevator_comberry"-> MoveWorld z, -74
"my_elevator"-> MoveWorld z, -74
"my_aufzugschalter_versteckt"-> MoveWorld z, -74
"my_elevator_fern"-> MoveWorld z, -74
"my_elevator_bodenplatte"-> MoveWorld z, -74
"my_elevator_torch_ring"-> MoveWorld z, -74
"my_elevator_torch"-> MoveWorld z, -74
set timer to ( timer + GetSecondsPassed )
if ( timer >= 23.0 )
set convar to 2
set timer to 0
endif
elseif ( convar == 2 )
set timer to ( timer + GetSecondsPassed )
if ( timer >= 10 )
set convar to 3
set timer to 0
endif
elseif ( convar == 3 )
"my_elevatorplanter"-> MoveWorld z, 74
"my_elevator_comberry"-> MoveWorld z, 74
"my_elevator"-> MoveWorld z, 74
"my_aufzugschalter_versteckt"-> MoveWorld z, 74
"my_elevator_fern"-> MoveWorld z, 74
"my_elevator_bodenplatte"-> MoveWorld z, 74
"my_elevator_torch_ring"-> MoveWorld z, 74
"my_elevator_torch"-> MoveWorld z, 74
set timer to ( timer + GetSecondsPassed )
if ( timer >= 23.0 )
set convar to 0
set timer to 0
endif
endif
;__________________________________________________________________________________

If ( "my_aufzugschalter_02"-> OnActivate == 1 )
If ( convar == 0 )
"my_elevatorplanter"-> Move z, -74
"my_elevator_comberry"-> Move z, -74
"my_elevator"-> Move z, -74
"my_aufzugschalter_versteckt"-> MoveWorld z, -74
"my_elevator_fern"-> Move z, -74
"my_elevator_bodenplatte"-> MoveWorld z, -74
"my_elevator_torch_ring"-> Move z, -74
"my_elevator_torch"-> Move z, -74
set timer to ( timer + GetSecondsPassed )
If ( timer >= 23.0 )
set convar to -1
set timer to 0
endif
endif
endif

end


Im Voraus vielen Dank,
Daidalos

Crow
08.08.2006, 14:15
Ich schiebe dich mal ins PI-Forum, wo es thematisch besser hinpasst. Da wird dir hoffentlich jemand helfen können.