TÜR UND TOR
Autor: Fragpoint
Downloads: Beispielmap 7
Als nächsten Arbeitsschritt wollen wir unsere beiden Räume durch eine Türe voneinander abtrennen. Wir zeichnen dazu erst einmal einen Brush, der bei Gridstärke 8 in etwa 1 Unit stark ist. Höhe und Breite sollten den Hohlraum unseres Ganges vollständig bündig ausfüllen.

Dies wird nämlich unsere spätere Stahltüre. Als Textur habe ich „textures -> base_trim -> yelhaz2“ verwendet. Noch während der Tür-Brush markiert ist, machen wir wieder einen Rechtsklick in die Seitenansicht und wählen dort „func -> func_door“. Das bedeutet lediglich, dass der Brush zu einer Tür wird. Übrigens kann so eine Türe auch aus mehren Brushes bestehen. Ihr müsst nur alle gleichzeitig markiert haben, bevor ihr sie zu einem "func_door" macht.

Anschließend drücken wir wieder die Taste N, um in das Entity-Menue zu kommen. Der Türe können nämlich noch verschiedene Eigenschaften zugewiesen werden. Unter anderem ist es möglich, ihr zu „sagen“ in welche Richtung sie aufgehen soll. Schaut dazu wieder in die Draufsicht und überlegt Euch, in welche Richtung diese – als Schiebetür – aufgehen soll. In unserem Fall stellen wir 270 Grad ein, da sie vom Spieler aus gehen nach links in die Wand verschwinden soll.

Ebenfalls lässt sich dort festlegen, das die Türe nach oben oder unten aufgehen soll (ähnlich einem Rollladen). Drückt dazu einfach die Buttons UP (hoch, verschwindet in der Decke) oder DN (runter, verschwindet im Boden). Für uns genügt es aber zunächst, wenn die Türe nach links aufgeht. Anschließend werdet ihr sofort feststellen, dass im Entity-Fenster ein neuer Eintrag erfolgt ist, nämlich in unserem Fall "movedir 270".

Eigentlich genügt das schon, um eine Türe zu erstellen, da ihr auch automatisch ein Sound zugeordnet ist. Ihr könnt jedoch noch zahlreiche weitere Veränderungen vornehmen, wie zum Beispiel Öffnungsgeschwindigkeit, Zeit bis zum Schließen, etc. Wenn Ihr Euch nochmals das Bild von oben anschaut, seht ihr in dem Fensterabschnitt wo "Usage: Door..." steht, noch jede Menge Beschreibung. Links steht immer der Befehl, der bei KEY eingetragen wird und rechts die Beschreibung, was dieser bewirkt. Wo man das eingibt? Schaut Euch mal folgendes Bild an:

Wie gesagt: Bei KEY immer den Befehl eingeben und bei VALUE immer einen Wert. Gutes Beispiel hierfür ist die Öffnungsrichtung, die wir vorhin bereits eingestellt hatten. Der dortige KEY lautet "movedir" und für VALUE wurde ein Wert von "270" gewählt. Statt Zahlen können auch Verzeichnispfade angegeben werden, wenn zum Beispiel Musikdateien abgespielt werden soll. Dies ist aber abhängig vom einzelnen Befehl. Auf die für uns momentan wichtigsten möchte ich gern wie folgt eingehen:
KEY: speed
VALUE: Zahlenwerte in km/h *g*
Darüber reguliert Ihr, wie schnell die Türe auf- und zugehen soll.
KEY: time
VALUE: Zahlenwerte in Sekunden
Darüber reguliert Ihr ebenfalls, wie schnell die Türe auf- und zugehen soll. Sind time und speed gesetzt, wird vom Spiel der bei time gesetzte Wert verwendet. Kann zum Beispiel für zwei Türen genutzt werden die gemeinsam schliessen und öffnen sollen, jedoch dabei unterschiedliche Wege zurücklegen müssen.
KEY: damage oder dmg
VALUE: Zahlenwerte
Dies gibt an, ob der Spieler verletzt wird, wenn er beim Schließen der Türe berührt wird (Quetschungen). Beim Zahlwert werden die abzuziehenden Health-Punkte angegeben.
KEY: health
VALUE: Zahlenwerte
Wird dieser Befehl eingetragen, lässt sich die Türe nur öffnen, wenn ihr darauf schießt. Über den Zahlenwert (hier Lebenspunkte) könnt Ihr regulieren, wie stark der Beschuss sein muss.
KEY: start_open
VALUE: Zahlenwert 0 oder 1
Die Türe ist gleich von Beginn an geöffnet. Dies ist sinnvoll, wenn man sie später z. B. über ein Script wieder schließen lassen will, um den Spieler in einem Raum festzuhalten.
KEY: lip
VALUE: Zahlenwerte
Hier könnt Ihr angeben, wie weit eine Türe aufgehen/zugehen soll. Negative Zahlen (z.B. -8) geben an, dass die Tür weiter wie normal aufgehen soll. So könnt ihr unter anderem beeinflussen, dass diese ganz in die Wand fährt. Positive Zahlen (z.B. 8) geben an, dass die Tür nicht ganz zugeht, sondern noch ein mehr oder weniger kleiner Spalt offen bleibt. So kann zum Beispiel eine blockierende Tür dargestellt werden die nicht ganz aufgeht.
KEY: crusher
VALUE: Zahlenwert 0 oder 1
Spieler und Gegner blockieren die Tür nicht sondern werden zerquetscht.
KEY: wait
VALUE: Zahlenwerte
Hier wird die Wartezeit angegeben, bis die Türe wieder schließt. Tragt Ihr -1 ein, bleibt diese permanent offen.
KEY: locked
VALUE: Zahlenwert 0, 1 oder 2
Über diese Zahlenwerte reguliert Ihr, ob die Türe verschlossen ist. Mit 0 ist diese offen. Ist aber nur sinnvoll im Zusammenhang mit einem Trigger und dem Befehl no_touch. Bei einem Wert von 1 wird die Tür entriegelt und geht auf. Bei einem Wert von 2 wird die Tür nur entriegelt, der Spieler muss sie dann selbst öffnen.
KEY: no_touch
VALUE: Zahlenwert 0 oder 1
Die Tür kann nur von einem Trigger geöffnet werden, nicht von einem Spieler. Multiplayer: Die Tür kann nicht aufgeschossen werden.
KEY: movedir
VALUE: Zahlenwerte
Legt die Richtung fest in die die Tür sich öffnen soll. -2 bewegt die Tür nach unten, -1 nach oben.
KEY: angel
VALUE: Zahlenwerte
Nicht für die Öffnungsrichtung verwenden, dafür ist die Funktion movedir zuständig. Dieser Wert ist für Models zuständig, die ihr als Türen verwenden wollt. Damit können diese im Radiant gedreht/positioniert werden.
KEY: team
VALUE: Textreintrag (team1, team2, etc.)
Wird zum Beispiel für Doppeltüren benötigt, um diese zu synchronisieren. Wird eine Tür geöffnet, so öffnet sich die andere mit. Beide müssen hier den gleichen Wert haben.
KEY: triggersize
VALUE: Zahlenwerte
Wert, um den der Trigger, der die Tür automatisch öffnet und schliesst sobald sich ein Spieler nähert, vergrößert wird.
KEY: triggerClosed
VALUE: Text (Entityname)
Name des Entity, das getriggert wird, wenn die Tür geschlossen wird.
Bei mehreren Entities kann auch triggerClosed2, triggerClosed3 usw verwendet werden. triggerOpened text (entity name) Name des Entity das getriggert wird wenn die Tür geöffnet wird. Bei mehreren Entities kann auch triggerOpened2, triggerOpened3 usw verwendet werden.
KEY: triggerBlocked
VALUE: Text (Entityname)
Name des Entity das getriggert wird, wenn etwas die Tür blockiert. Bei mehreren Entities kann auch triggerBlocked2, triggerBlocked3 usw verwendet werden.
KEY: start_open
VALUE: Zahlenwerte 0 oder 1
Die Tür arbeitet genau andersherum. Sie steht nach dem Spawn offen, kommt ein Spieler in die Nähe oder wird sie durch einen Trigger aktiviert, geht sie zu.
KEY: toggle
VALUE: Zahlenwerte 0 oder 1
Die Tür schliesst sich nach dem öffnen nicht automatisch sondern wartet bis sie erneut aktiviert wird und umgekehrt.
KEY: model
VALUE: Pfadangabe/Dateiname
Model das anstelle eines normalen Brushes dargestellt werden soll.
KEY: gui_noninteractive
VALUE: Zahlenwerte 0 oder 1
GUIEntities die mit dieser Tür verbunden sind werden nicht vom Status der Tür beeinflusst.
Nun kommen wir noch zu ein paar Sonderfällen. Dazu sollten wir uns einmal folgendes Bild anschauen:

Dies bewirkt, dass statt des normalen Öffnen-Sounds (snd_open) ein eigener abgespielt wird. Doch wie habe ich diesen Verzeichnis-Pfad gefunden? Nun, klickt dazu einfach auf den Button "Sound..." im Entity-Fenster. Gleich anschließend erscheint folgendes Fenster:

Es kann einen kleinen Augenblick dauern, da der Radiant zuerst einmal auf die gepackten Sounds in den PK4-Dateien zugreift. Anschließend könnt Ihr dort bequem Euren Sound suchen und diesen über "Play" abspielen lassen. Wenn Ihr auf OK klickt, wird dieser Pfad zwar übernommen, aber einem falschen Befehl mit Namen "s_shader" zugeordnet. Kopiert Euch einfach den Verzeichnispfad aus dem falschen Eintrag (kopieren: Strg-C, einfügen: Strg-V) und fügt den Pfad bei dem Befehl "snd_open" als VALUE ein. Wie das aussehen sollt, seht ihr beim vorletzten Bild.
Den falschen Eintrag "s_shader" löschen wir nun, indem wir ihn anklicken und anschließend das große X drücken:

Eine Auswahl der Befehle, für die dieses Vorgehen notwendig ist, seht ihr nachstehend:
KEY: snd_locked
VALUE: Verzeichnispfad zu Sounddatei
Gibt an, welcher Sound abgespielt werden soll, wenn der Spieler versucht die Türe zu öffnen, obwohl sie verschlossen ist. Der Eintrag ersetzt den vom Radiant automatisch gewählten Sound.
KEY: snd_open
Gibt an, welcher Sound abgespielt werden soll, wenn sich die Türe öffnet. Der Eintrag ersetzt den vom Radiant automatisch gewählten Sound.
KEY: snd_close
VALUE: Verzeichnispfad zu Sounddatei
Gibt an, welcher Sound abgespielt werden soll, wenn sich die Türe schließt. Der Eintrag ersetzt den vom Radiant automatisch gewählten Sound.
KEY: snd_opened
VALUE: Verzeichnispfad zu Sounddatei
Ein sich immer wiederholender (loopender) Sound, der abgespielt wird, wenn die Türe offen ist/bleibt. Dies kann zum Beispiel ein elektrisches Surren sein. Der Eintrag ersetzt den vom Radiant automatisch gewählten Sound.