Im Folgenden wird beschrieben, wie die für den CP (Capture Point) Modus von Team Fortress 2 essenziellen Kontrollpunkte erstellt werden. Das beinhaltet sowohl den Grundaufbau einzelner Punkte, als auch die Beziehungen dieser untereinander.
Ich gehe zunächst davon aus, dass die Umgebung des Punkts so weit fertiggestellt ist, dass der Punkt sinnvoll platziert werden kann.
Zuerst wird ein prop_dynamic an der Stelle platziert, an der sich die Basis des Kontrollpunkts befinden soll. Rufe die Entityeigenschaften auf (Alt+Enter) und nimm die folgenden Einstellungen vor:
Schlüssel | Wert | Beschreibung |
---|---|---|
World Model | cap_point_base.mdl | |
Name | cp_tutorial_1_base | eindeutiger, sprechender Name |
Platziere dann ein team_control_point
auf dieser Basis. Am besten so, dass der Angelpunkt des team_control_point
auf dem des prop_dynamic liegt. In den Entityeigenschaften werden die Änderungen vorgenommen:
Schlüssel | Wert | Beschreibung |
---|---|---|
Name | cp_tutorial_1 | eindeutiger, sprechender Name |
Print Name | Tutorial 1 | Bezeichnung, die im Spiel angezeigt wird |
Index | 1 | eindeutige Nummerierung (!) |
Warn on capture | No/Yes | Bei wichtigen Punkten (z.B. den jeweils letzten) sinnvoll |
Wichtig ist an dieser Stelle, dass wirklich jeder Kontrollpunkt später einen eindeutigen Index-Wert hat. Jetzt wechsle in die Registerkarte „Outputs“ in den Entityeigenschaften und füge 2 Outputs hinzu:
Bezeichner | Wert | Beschreibung |
---|---|---|
My output named | OnOwnerChangedToTeam1 | Punkt wurde von Team 1 eingenommen |
Targets entity named | cp_tutorial_1_base | das prop_dynamic |
Via this input | Skin | Skin ändern |
With a parameter override of | 1 | Aufrufparameter |
Bezeichner | Wert | Beschreibung |
---|---|---|
My output named | OnOwnerChangedToTeam2 | Punkt wurde von Team 2 eingenommen |
Targets entity named | cp_tutorial_1_base | das prop_dynamic |
Via this input | Skin | Skin ändern |
With a parameter override of | 2 | Aufrufparameter |
Diese Outputs sorgen dafür, dass sich die Mitte der Basis entsprechend der Teamfarbe ändert, wenn der Punkt eingenommen wurde.
Wähle jetzt die Textur „tools/toolstrigger“ aus und erstelle einen Block um den Kontrollpunkt. Dieser Block
beschreibt den Raum, in dem ein Spieler stehen kann um den Punkt einzunehmen. Erstelle aus diesem Block
ein neues Entity vom Typ trigger_capture_area
und stell die folgenden Eigenschaften ein:
Schlüssel | Wert | Beschreibung |
---|---|---|
Name | cp_tutorial_1_area | eindeutiger, sprechender Name |
Control point | cp_tutorial_1 | das zugehörige team_control_point |
Time to cap (sec) | 5 | Zeit in Sekunden, die ein einzelner Spieler braucht um den Punkt einzunehmen |
Wenn du jetzt deinem Layout entsprechend alle Kontrollpunkte in deiner Map platziert hast und ihnen die entsprechenden Grundeinstellungen gegeben hast (Wichtig: Benennung und Index!), kannst du damit anfangen, die Abhängigkeiten sowie Team-Zugehörigkeiten einzustellen.
Die Planungsskizze der Kontrollpunkte für dieses Tutorial sieht wie folgt aus:
Ausgehend von den in Schritt 1 genannten Einstellungen werden hier nurnoch die zusätzlich vorzunehmenden Änderungen aufgeführt (von einer entsprechenden Benennung gehe ich aus):
Schlüssel | Wert | Beschreibung |
---|---|---|
Default owner | Blue | Punkt gehört von Anfang an dem blauen Team |
Warn on capture | Yes | |
RED Previous Required Point 1 | cp_tutorial_2 | das rote Team muss beide mittleren Punkte besitzen… |
RED Previous Required Point 2 | cp_tutorial_3 | …um den letzten einnehmen zu können |
Schlüssel | Wert |
---|---|
Time to cap (sec) | 3 |
Schlüssel | Wert |
---|---|
Time to cap (sec) | 8 |
Schlüssel | Wert |
---|---|
Time to cap (sec) | 8 |
Schlüssel | Wert | Beschreibung |
---|---|---|
Default owner | Red | Punkt gehört von Anfang an dem roten Team |
Warn on capture | Yes | |
BLUE Previous Required Point 1 | cp_tutorial_2 | das blaue Team muss ebenfalls beide mittleren Punkte besitzen… |
BLUE Previous Required Point 2 | cp_tutorial_3 | …um den letzten einnehmen zu können |
Schlüssel | Wert |
---|---|
Time to cap (sec) | 3 |
Damit haben wir die folgende Situation hergestellt: Jedes Team hat zu Beginn einen Kontrollpunkt im Besitz (1 und 4), in der Mitte finden sich zwei neutrale Punkte (2 und 3). Die neutralen Punkte hängen nicht voneinander ab, allerdings braucht ein Team Kontrolle über beide gleichzeitig, um den letzten Punkt des gegnerischen Teams einnehmen zu können.
Die Zeiten (Time to cap (sec)) sind aufgeführt um darauf hinzuweisen, dass sie angepasst werden sollten. Die beste Zeit für einen Kontrollpunkt hängt von der Map ab - bei einem symmetrischen Layout sollte auf Fairness geachtet werden!
Um jetzt die Mapeinstellungen weiter zu kontrollieren, setze ein team_control_point_master
an eine beliebige Stelle innerhalb der Map. Rufe die Eigenschaften auf und passe sie deinen Wünschen entsprechend an.
Da diese Einstellungen nicht unbedingt getätigt werden müssen, sehe ich von einer detaillierten Beschreibung ab. Die Benennungen und Hilfetexte im Hammer Editor sind weitestgehend selbstbeschreibend.
Damit die Punkte in der Anzeige im HUD auch so angeordnet sind, wie sie miteinander verschaltet haben, ändern wir den Eintrag „Cap Layout“. Hier werden die Indizes der Punkte eingetragen, ggf durch Kommata getrennt. Ein Komma sorgt hier dafür, dass die folgenden Punkte in die nächste Zeile gesetzt werden.
In diesem Tutorial sind die beiden mittleren Punkte gleichberechtigt und sollten daher nicht nebeneinander in einer Linie zwischen dem roten und blauen Punkt dargestellt werden. Stattdessen kann man die Anzeige beispielsweise wie folgt anpassen (die Beschriftungen im Bild sind jeweils die Einträge für „Cap Layout“):