Papi62
27.03.2010, 01:08
Grmpf, ich krieg noch nen Knoten im Gehirn. :gnah
Ich hab nun alle möglichen Collisionsfehler ausgeschlossen und trotzdem steh ich in der Luft. :auh
Geplanter und funktionierender Ablauf:
Terminal hacken und Geheimversteck aktivieren. [Terminal startet Bodenbewegung, enabled rotes Licht und Trigger]
Nun wird der Boden über dem Liftschacht leicht angehoben und zur Seite geschoben. (Gleichzeitig wird da ein rotes Licht und ein Trigger enabled.) [Trigger startet Gitterrahmen]
Danach kommt der Gitterrahmen von der Decke. [Gitterrahmen startet Aufzug]
Wenn das Gitter unten ist fährt der Aufzug nach unten.
Der Ablauf der Skripte läuft soweit perfekt aber der Boden scheint über dem Loch noch eine Collision zu haben obwohl dieses Stück Boden weit genug versetzt ist.
http://www.r-appert.ch/fallout/cnw/cnwliftfehler03_thumb.jpg (http://www.r-appert.ch/fallout/cnw/cnwliftfehler03.jpg)
Ich habe dann im Geck den Boden zur Seite geschoben (an die selbe Stelle wie es das Skript machen würde) und so ohne den Ablauf zu starten getestet.
http://www.r-appert.ch/fallout/cnw/cnwliftfehler01_thumb.jpg (http://www.r-appert.ch/fallout/cnw/cnwliftfehler01.jpg) http://www.r-appert.ch/fallout/cnw/cnwliftfehler02_thumb.jpg (http://www.r-appert.ch/fallout/cnw/cnwliftfehler02.jpg)
Seltsamerweise ist so das Loch offen. :gruebel
Am Gitter in Bild 1 liegt es nicht, das habe ich schon getestet. Es muss irgendwas mit dem Boden und seinem Skript zu tun haben, wobei das Skript des Bodens nur die Bewegung des selben beinhaltet.
scn CNWLiftschachtAbdeckungScript
short Move
short DoOnce
float ZAchsePosition
float ZAchse
float XAchsePosition
float XAchse
float Timer
;************************************************* ******
Begin GameMode
if DoOnce == 0 && Move == 1
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition +.3
SetPos Z ZAchse
endif
if DoOnce == 0 && Move == 1
if GetDistance CNWLiftAbdeckUpMarkerREF <= 10
Set DoOnce to 1
endif
endif
if DoOnce == 1 && Move == 1
Set XAchsePosition to GetPos X
Set XAchse to XAchsePosition -1
SetPos X XAchse
endif
if DoOnce == 1 && Move == 1
if GetDistance CNWLiftAbdeckOpenMarkerREF <= 10
Set Move to 0
Set DoOnce to 0
endif
endif
End
;************************************************* ******
Begin GameMode
if DoOnce == 0 && Move == 2
Set XAchsePosition to GetPos X
Set XAchse to XAchsePosition +1
SetPos X XAchse
endif
if DoOnce == 0 && Move == 2
if GetDistance CNWLiftAbdeckClosedMarkerREF <= 10
Set DoOnce to 1
endif
endif
if DoOnce == 1 && Move == 2
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition -.3
SetPos Z ZAchse
endif
if DoOnce == 1 && Move == 2
if GetDistance CNWLiftAbdeckDownMarkerREF <= 10
Set Move to 0
Set DoOnce to 0
endif
endif
End
Das "Move to 1" wird vom Terminal (Start des ganzen Ablaufes) vergeben, "Move to 2" im Moment noch gar nicht - erst mal diesen Fehler fixen.
Ok, wenn ich den Boden disable und den Startpunkt der Aufzug-Plattform im Geck ein Stückchen weiter nach unten verschiebe (wie in Bild 3 zu sehen) dann komm ich doch durch das Loch bis zur Plattform, auch mit Skript. Wenn die dann aber nach unten fährt bleib ich da stehen, liegt also auch an der besch... Plattform.
Wenn der Boden wieder Enable ist komm ich nicht mal bis zur Plattform.
Weiss jemand warum? Ich teste mal weiter. :)
Hmm, scheint ein Problem mit der Bewegung des Players zu sein.
Ich habe eine Testzelle gemacht mit einer auf- und ab-beweglichen Plattform und einem Terminal zum starten. Die Plattform bewegt sich wie sie soll aber der Player bleibt stehen, und bei der Aufwärtsbewegung geht die Plattform einfach durch den Player durch.
Seltsam, ich weiss dass es geht; denn z.B. bei Cube gibts auch Aufzüge die funktionieren mit Player, aber ich komm nicht dahinter wie.
edit alceleniel: Könntest du bitte den Ändern-Button nutzen...
Ich hab nun alle möglichen Collisionsfehler ausgeschlossen und trotzdem steh ich in der Luft. :auh
Geplanter und funktionierender Ablauf:
Terminal hacken und Geheimversteck aktivieren. [Terminal startet Bodenbewegung, enabled rotes Licht und Trigger]
Nun wird der Boden über dem Liftschacht leicht angehoben und zur Seite geschoben. (Gleichzeitig wird da ein rotes Licht und ein Trigger enabled.) [Trigger startet Gitterrahmen]
Danach kommt der Gitterrahmen von der Decke. [Gitterrahmen startet Aufzug]
Wenn das Gitter unten ist fährt der Aufzug nach unten.
Der Ablauf der Skripte läuft soweit perfekt aber der Boden scheint über dem Loch noch eine Collision zu haben obwohl dieses Stück Boden weit genug versetzt ist.
http://www.r-appert.ch/fallout/cnw/cnwliftfehler03_thumb.jpg (http://www.r-appert.ch/fallout/cnw/cnwliftfehler03.jpg)
Ich habe dann im Geck den Boden zur Seite geschoben (an die selbe Stelle wie es das Skript machen würde) und so ohne den Ablauf zu starten getestet.
http://www.r-appert.ch/fallout/cnw/cnwliftfehler01_thumb.jpg (http://www.r-appert.ch/fallout/cnw/cnwliftfehler01.jpg) http://www.r-appert.ch/fallout/cnw/cnwliftfehler02_thumb.jpg (http://www.r-appert.ch/fallout/cnw/cnwliftfehler02.jpg)
Seltsamerweise ist so das Loch offen. :gruebel
Am Gitter in Bild 1 liegt es nicht, das habe ich schon getestet. Es muss irgendwas mit dem Boden und seinem Skript zu tun haben, wobei das Skript des Bodens nur die Bewegung des selben beinhaltet.
scn CNWLiftschachtAbdeckungScript
short Move
short DoOnce
float ZAchsePosition
float ZAchse
float XAchsePosition
float XAchse
float Timer
;************************************************* ******
Begin GameMode
if DoOnce == 0 && Move == 1
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition +.3
SetPos Z ZAchse
endif
if DoOnce == 0 && Move == 1
if GetDistance CNWLiftAbdeckUpMarkerREF <= 10
Set DoOnce to 1
endif
endif
if DoOnce == 1 && Move == 1
Set XAchsePosition to GetPos X
Set XAchse to XAchsePosition -1
SetPos X XAchse
endif
if DoOnce == 1 && Move == 1
if GetDistance CNWLiftAbdeckOpenMarkerREF <= 10
Set Move to 0
Set DoOnce to 0
endif
endif
End
;************************************************* ******
Begin GameMode
if DoOnce == 0 && Move == 2
Set XAchsePosition to GetPos X
Set XAchse to XAchsePosition +1
SetPos X XAchse
endif
if DoOnce == 0 && Move == 2
if GetDistance CNWLiftAbdeckClosedMarkerREF <= 10
Set DoOnce to 1
endif
endif
if DoOnce == 1 && Move == 2
Set ZAchsePosition to GetPos Z
Set ZAchse to ZAchsePosition -.3
SetPos Z ZAchse
endif
if DoOnce == 1 && Move == 2
if GetDistance CNWLiftAbdeckDownMarkerREF <= 10
Set Move to 0
Set DoOnce to 0
endif
endif
End
Das "Move to 1" wird vom Terminal (Start des ganzen Ablaufes) vergeben, "Move to 2" im Moment noch gar nicht - erst mal diesen Fehler fixen.
Ok, wenn ich den Boden disable und den Startpunkt der Aufzug-Plattform im Geck ein Stückchen weiter nach unten verschiebe (wie in Bild 3 zu sehen) dann komm ich doch durch das Loch bis zur Plattform, auch mit Skript. Wenn die dann aber nach unten fährt bleib ich da stehen, liegt also auch an der besch... Plattform.
Wenn der Boden wieder Enable ist komm ich nicht mal bis zur Plattform.
Weiss jemand warum? Ich teste mal weiter. :)
Hmm, scheint ein Problem mit der Bewegung des Players zu sein.
Ich habe eine Testzelle gemacht mit einer auf- und ab-beweglichen Plattform und einem Terminal zum starten. Die Plattform bewegt sich wie sie soll aber der Player bleibt stehen, und bei der Aufwärtsbewegung geht die Plattform einfach durch den Player durch.
Seltsam, ich weiss dass es geht; denn z.B. bei Cube gibts auch Aufzüge die funktionieren mit Player, aber ich komm nicht dahinter wie.
edit alceleniel: Könntest du bitte den Ändern-Button nutzen...