Falltür fällt als wieder zu |  |
Hallo an alle,
hier ist der Code für meine Druckplatte. Wenn ich die drücke möchte ich, dass die Falltüre auf geht (Gitter nach oben). So weit so gut. Das geht. Aber sie fällt danach umgehend von allein wieder runter. Wie mache ich das, dass das Fallgitter beim Öffnen auch geöffnet BLEIBT? :-)
Code:
code: scn 00Druckplatte xyz
Short DoorOpen
Short DoorOpenTemp
Begin OnActivate
if DoorOpen == 0 && DoorOpenTemp == 0
MattiTorZumKellerSchriftstellerRef.PlayGroup Forward 0
Set DoorOpen to 1
endif
if DoorOpen == 1 && DoorOpenTemp == 0
MattiTorZumKellerSchriftstellerRef.PlayGroup Backward 0
Set DoorOpen to 0
endif
end
Ich muss in beiden Teilen meines Skripts nur noch irgendeinen Befehl einbauen, meiner Meinung nach, damit das Gitter im Zustand "geöffnet" bleibt, und nicht wieder runterfällt.
Mein Skript ist so geschrieben, dass wenn ich den Schalter drücke, das Gitter einmal geöffnet wird, und beim nächsten Drücken des Schaltert schließt das Gittertor wieder (darum die beiden Variablen "DoorOpen" und "DoorOpenTemp")
Ich kriegs einfach nicht hin.
Alles was bisher klappt ist, dass ich wie oben im Code zu sehen (Ref.PlayGroup Forward 0), dass die Animationen anspringen wenn ich auf den Schalter drücke. Das Gitter fällt jedoch danach wieder umgehend runter. Es muss doch ne Möglichkeit geben, dass das Gitter OBEN bleibt.
Nachtrag:
Lösung selbst gebastelt 
Hier ist nun ein sehr einfaches, funktionierendes Skript.
[ot]Kann man meine Lösung nicht einfach in eine Skript-Sektion einfügen, wo andere Leute auch die Lösung für ein Fallgitter (oder Ähnliches) verwenden können?[/ot]
Titel:
Fallgitter öffnen- bzw. schießen mit Hilfe eines Activators (Druckplatte oder Ähnliches):
Beschreibung:
Wenn man auf eine Druckplatte (oder Ähnliches) drückt, dann öffnet sich das Fallgitter, und man kann hindurch gehen. Das Fallgitter bleibt dauerhaft geöffnet!
Wenn man erneut auf die Druckplatte drückt, so fällt das Gitter wieder hinunter.
Diesen Vorgang kann man beliebig oft wiederholen.
Die Druckplatte findet man im CS unter:
WORLDOBJECTS --> ACTIVATOR --> "ARTrigPressurePlateRESET01" (Name: "Druckplatte")
Das Fallgitter findet man im CS unter:
WORLDOBJECTS --> ACTIVATOR --> "SE08HighGate" (Name: "Tor")
Das Fallgitter habe ich bei mir umbenannt und eine (Persistent-)Reference ID gegeben, namens "MattiTorZumKellerSchriftstellerRef".
Hier der Code:
code:
scn 00DruckplatteAnwesenSchriftsteller
Short DoorOpen
Short DoorOpenTemp
Begin OnActivate
If DoorOpen == 0 && DoorOpenTemp == 00
Set DoorOpen to 1
Set DoorOpenTemp to 1
MattiTorZumKellerSchriftstellerRef.PlayGroup Forward 1
else
Set DoorOpen to 1
Set DoorOpenTemp to 0
MattiTorZumKellerSchriftstellerRef.PlayGroup Backward 1
endif
end
begin gamemode
if DoorOpen== 1 && MattiTorZumKellerSchriftstellerRef.isanimplaying == 0
set DoorOpen to 0
endif
end
__________________ Ich bin nicht hier um Anderen zu zeigen, was ich kann oder irgendwem im Leben etwas rechtzufertigen. Ich bin nicht hier um etwas zu beweisen. Ich bin zufrieden mit mir, weil ich für mich immer das getan habe, was ich für richtig hielt - ganz gleich was Andere davon hielten. Ich bin ein unzerstörbarer Fels in der Brandung. Ich bin resistent gegen Gife, äußere Beeinflussungen, Strahlen, Bomben, Gewehrpatronen oder Panzerfäusten. Mein Geist kann nicht zerstört werden. Nicht einmal den gehässigen Menschen oder Neidern kann ich erliegen. Ein schöner Gedanke den ich auslebe, so lange mein Geist existiert.

Dieser Beitrag wurde von Matti79 am 25.06.2010, 19:18 Uhr editiert.
|