Kapitel 31 · Doom 3

TÜR MIT ZAHLENCODE

Autor: Fragpoint
Downloads: Beispielmap 24

Zunächst einmal vielen Dank an Ice für seine Klasse Vorarbeit zu diesem Tutorial. Wie Ihr ja sicher schon aus dem Titel entnehmen konntet, wollen wir heute eine Türe erstellen, die man nur über einen Zahlencode öffnen kann. Dazu erstellen wir in unserem Raum mit der Leiter erst einmal einen breiteren Durchgang.

image207.jpg

Um die genauen Größenverhältnisses dieses Durchganges festzustellen, solltet ihr evtl. erst noch den nächsten Arbeitsschritt abwarten, denn wir wollen ein Model einfügen, das die Größe vorgibt. Macht dazu wieder einen Rechtsklick in die Draufsicht und wählt dort folgendes aus:

image208.jpg

Es öffnet sich nach einer kurzen Ladezeit ein neues Fenster, in dem wir das betreffend Model, einen Türrahmen, auswählen.

image210.jpg

Diese Model platzieren wir schön bündig in unseren Durchgang und passen diesen ggf. noch etwas an. Sollte bei Euch statt des Models zunächst ein schwarzer viereckiger Kasten erscheinen, dann speichert Eure Map und öffnet sie neu. Alternativ könnt Ihr das Model dazu auch über die Leertaste kopieren. Nun sollte das Model korrekt angezeigt werden.

image211.jpg

Der Türrahmen steht also schon mal, jetzt fehlen nur noch die Türen selbst. Dazu machen wir wieder einen Rechtsklick in die Draufsicht, wählen "New Model" aus und fügen die beiden folgenden Türen ein:

image212.jpg

Es handelt sich dabei um die linke und die rechte Hälfte unserer Doppeltüre. Wir positionieren diese nun auch noch bündig zu unserem Türrahmen.

image213.jpg

Wir wählen nun eine der beiden Türen an und drücken die Taste N, um das Entity-Menue aufzurufen. Wie wir dort feststellen, handelt es sich bei den Tür um ein so genannte "func_static". Wir benötigen jedoch ein "func_door", damit sich unsere Türe korrekt öffnet. Leider geht dies nicht über den herkömmlichen weg (Rechtsklick -> func -> func_door), sondern muss manuell erfolgen. Klickt dazu einfach die entsprechenden Einträge im Entity-Menue an und tragt dort func_door ein.

image214.jpg

Macht dies für beide Türen. Wenn Ihr nun ins Spiel geht, öffnen sich zwar die Türen, aber getrennt voneinander. Unser Ziel ist es jedoch, dass beide gleichzeitig öffnen, wenn der Spieler in der Nähe ist. Deshalb nehmen wir bei beiden einen identischen Eintrag vor:

image209.jpg

Das sagt den beiden Türen so zusagen, dass sie beide in einem Team - dem Team "tuer1" - sind und alles gemeinsam machen müssen. Nun fehlt aber noch etwas weiteres wichtiges, nämlich die Öffnungsrichtung. Im Gegensatz zu den herkömmlichen Türen (vgl. Türen-Tutorial), können wir hier die Öffnungsrichtung nicht durch Anklicken der Gradzahlen festlegen. Stattdessen müssen wir einen neuen Befehl eingeben:

image215.jpg

Nun sollten die Türen korrekt öffnen. Euch ist sicher aufgefallen, dass in einer der Türen ein kleines Display sitzt, das wir schon von unserem Health-Spender kennen. Wir können dort also auch wieder ein GUI zuordnen. Klickt dazu die Türe an, drückt die Taste N für das Entity-Menue und klickt dort den GUI-Button an. Das passende GUI ist in diesem Fall "guis/doors/areakeypad.gui".

image216.jpg

Nun müssen wir der Türe mit dem GUI noch den Zahlencode vorgeben. Dazu gibt es den Befehl "gui_parm?". Das Fragezeichen steht hierbei für eine fortlaufende Zahl. Da wir drei Zahlen benötigen, geben wir auch gui_parm1-3 vor und tragen für jeden eine andere Zahl ein.

image217.jpg

Wie Ihr seht, haben wir einen dreistelligen Zahlencode (1-8-9), aber auch noch einen weiteren Eintrag, nämlich gui_parm4. Bei diesem könnt Ihr eine beliebige Textmitteilung (z. B. wie der Raum heißt) eingeben, die dann im Display erscheint, wenn der Spieler dieses anschaut. Leider sind wir an dieser Stelle noch nicht fertig, denn die Tür öffnet sich immer noch automatisch. Wir müssen ihr jetzt noch sagen, dass sie verschlossen sein soll (locked). Dazu geben wir noch folgenden Befehl ein.

image218.jpg

Jede Menge Zahlen, trotzdem funktioniert die Türe noch nicht so, wie sie soll. Das liegt daran, dass uns noch ein "trigger -> trigger_relay" fehlt, der den Öffnungsvorgang koordiniert.

image219.jpg

1. Arbeitsschritt
Damit der "trigger_relay" auch weiß, dass er mit den Türen zusammenarbeiten muss, markieren wir zunächst unsere Türe mit dem Display, dann den "trigger_relay" und drücken Strg-K.

2. Arbeitsschritt
Nun markieren wir den "trigger_relay" erneut, anschließend wieder die Türe mit dem Display und drücken Strg-K.

3. Arbeitsschritt
Auch die zweite Türe ohne Display muss mit dem "trigger_relay" verbunden sein. Markiert daher zuerst den "trigger_relay", dann die Türe ohne Display und drückt Strg-K.

Da die nun entstandenen Verbindungslinien genau an der gleichen Stelle liegen, kann man die einzelnen Pfeile leider nicht unterscheiden. Die Pfeilspitzen selbst bilden ein X, wie auf dem nachstehenden Screenshot zu sehen ist.

image220.jpg

So sieht dann unser Display im Spiel aus:

image221.jpg

Diesen "trigger_relay" könnt ihr übrigens wieder mit beliebigen anderen Objekten verbinden. Diese werden dann automatisch ausgelöst, wenn die Türe geöffnet wird. In der Beispielmap habe ich ein paar Monster in den Raum gesetzt, die erscheinen, sobald sich die Tür öffnet. Natürlich könnt ihr die Monster auch hinter dem Spieler spawnen lassen.