CS:GO Mapping Tutorial – Buy Zones

Mit dem bisher erlernten Wissen kannst du schon eine begehbare Map für CS:GO bauen. Doch damit diese sich auch wie eine richtige Map spielt, fehlen noch ein paar funktionelle Aspekte. In diesem Mapping Tutorial widmen wir uns einem davon, nämlich den Buy Zones, in denen man Waffen und Equipment kaufen kann.

Prioritäten am Spawn

Bevor wir eine Buy Zone einrichten, macht es Sinn, dass deine Map richtige Startbereiche für beide Teams hat. In den Mapping Tutorials zuvor haben wir immer nur einen einzigen Startpunkt platziert, damit sich die Map wenigstens betreten lässt. Das wird sich jetzt ändern: Deine Map soll genug Startplätze für die Spieler bekommen.

In einem der ersten Tutorials hast du bereits gelernt, wie man Spawnpoints platziert. Mit dem Entity Tool musst du für jeden Startplatz ein “info_player_terrorist” bzw. “info_player_counterterrorist” Entity erstellen.

cs go mapping player spawn

An dieser Stelle sei noch einmal angemerkt, dass ein Spawnpoint keinen Brush berühren darf, auch nicht den Boden! Valve hat es geschickterweise so eingerichtet, dass beim Platzieren von Spawnpoint Entities in der 3D-Ansicht automatisch ein Abstand von einer Unit zum Boden eingehalten wird.

Eine normale Map sollte pro Team mindestens 16 Startplätze bieten. Das klingt vielleicht viel, ist aber Standard und auch notwendig. Du weißt nie, wie andere Leute deine Map spielen möchten. Achte aber auch darauf, dass zwischen den einzelnen Spawnpoints genug Platz ist, so dass sich die Spieler beim Rundenstart nicht gegenseitig auf den Füßen stehen.

Für die erstellten Startplätze lassen sich Prioritäten festlegen. Das ist optional, aber es gibt dir als Schöpfer der Map einen nicht zu verachtenden Einfluss auf das Spielgeschehen. Du kannst dadurch die Timings – also in welcher Zeit ein Spieler einen bestimmten Ort erreichen kann – beeinflussen, was sich direkt auf das Balancing deiner Map auswirkt. Oder du legst dadurch fest, dass bestimmte Startplätze nur im Notfall (also bei hohen Spielerzahlen) genutzt werden.

Wähle einen Startplatz aus und öffne mit Alt+Enter seine Eigenschaften. Die Priorität wird durch den Eintrag “Spawn Priority (int)“ festgelegt, wobei hier eine niedrigere Zahl eine höhere Priorität bedeutet.

cs go mapping tutorial spawn priority

Hast du pro Team 16 Spawnpoints, dann könntest du jetzt beispielsweise bei zehn davon den Wert “0” belassen und den anderen sechs den Wert “1” verpassen. Bei zehn oder weniger Spielern im Team werden dann die sechs Spawnpoints mit höherem Wert (und damit niedrigerer Priorität) nicht genutzt.

Buy Zone zum Einkaufen

Damit die Teams zum Rundenbeginn Waffen und Equipment kaufen können, muss im Editor eine Buy Zone dafür eingerichtet werden. Dabei handelt es sich um ein Brush Entity.

Als erstes kannst du aber schon einmal die richtige Textur auswählen. Der Brush muss nämlich mit der Trigger-Textur belegt sein, damit er als Kaufbereich funktionieren kann. Dabei handelt es sich – wie bei der Skybox-Textur aus dem vorherigen Mapping Tutorial – um eine Tool-Textur, die eine bestimmte Funktion übernimmt. Öffne den Texture Browser und such dort nach “toolstrigger”, um die benötigte Textur zu finden.

cs go mapping tutorial trigger texture

Mit der Trigger-Textur im Gepäck erstellst du jetzt einfach nur einen neuen Brush, der deine zuvor erstellten Spawnpoints für das jeweilige Team komplett umschließt. Am sinnvollsten ist es den Brush zunächst in der Top-Ansicht zu ziehen und dann gegebenenfalls in den Seitenansichten anzupassen. Wenn die Ausmaße passen, kannst du den Brush wie gewohnt mit Enter erstellen.

cs go mapping tutorial buy zone

Falls etwas noch nicht ganz passt, lassen sich sowohl die Größe als auch die Textur des Brushes auch nach dem Erstellen noch ändern. Wenn alles okay ist, dann kommen wir jetzt zum spannenden Teil.

Im Tutorial zum Thema Brushwork haben wir mit “func_detail” bereits ein Brush Entity erzeugt. Diesmal benötigen wir aber eine andere Klasse. Wähle den gerade erstellten Brush mit dem Selection Tool aus und klick dann einfach auf der rechten Seite den Button “to Entity” an. Alternativ kannst du auch die Tastenkombination Strg+T nutzen.

cs go mapping tutorial buy zone

Daraufhin öffnet sich das Fenster mit den Entity-Eigenschaften. Dort musst du als erstes die Klasse ändern, indem du in das entsprechende Feld “func_buyzone” eingibst. Klicke dann auf “Übernehmen” und es sollten dir neue Eigenschaften angezeigt werden, nämlich die einer Buy Zone.

Der Eintrag “Team Number (int)” ist wichtig und muss noch eingestellt werden. Wenn du darauf klickst, dann kannst du rechts daneben mit einem Dropdown-Menü auswählen, für welches Team der Kaufbereich gilt.

cs go mapping tutorial buy zone

Hast du diese Einstellung gemacht, dann klicke noch einmal auf “Übernehmen” und danach kannst du das Fenster wieder schließen. Jetzt ist die Buy Zone voll funktionsfähig!

Für das andere Team kannst du entweder die Prozedur wiederholen oder du kopierst die Buy Zone. Bei letzterer Methode musst du gegebenenfalls die Maße anpassen und mit Alt+Enter öffnest du die Eigenschaften, um die Team-Einstellung zu ändern.

Navigation für Bots

Die Überschrift klingt vielleicht nach einem plötzlichen Themenwechsel. Weil du jetzt aber zum ersten Mal eine Map mit richtigen Startarealen hast, müssen wir kurz das Thema Bot-Navigation anreißen.

Kompilier doch mal deine Map (drücke dazu die F9-Taste und denk an den Workaround gegen schwarze Models), um deine neu erstellten Buy Zones auszuprobieren. Wenn du sie dann über die Konsole mit “map mapname” (z.B. „map incs_tutorial_buy_zones“) startest, füllt das Spiel dein Match in der Regel mit Bots auf. Ansonsten kannst du den Konsolenbefehl “bot_add” nutzen, um manuell Bots hinzuzufügen.

Sobald ein Bot deine Map betritt, sucht das Spiel nach einer Navigation. Das ist wichtig, damit Bots wissen, wo sie entlang laufen können und wo nicht. Nach dem ersten Kompilieren deiner Map wird das Spiel aber keine Datei mit den nötigen Informationen finden, weil es noch keine gibt. Es erstellt deshalb kurzerhand einfach die Navigationsdatei.

Die Berechnungen dafür dauern je nach Komplexität deiner Map ein paar Sekunden oder mehrere Minuten und verursachen massive Lags. Lass solange einfach die Finger von der Tastatur, damit das Spiel in Ruhe die Navigationdatei erstellen kann.

Daraufhin findest du im Ordner “Steam\steamapps\common\Counter-Strike Global Offensive\csgo\maps” eine neue Datei mit den Namen deiner Map und “.nav” als Endung.

Solltest du den Namen deiner Map ändern, dann wird das Spiel nach dem nächsten Kompilieren eine neue Navigationsdatei erstellen – weil es keine mit passendem Namen findet. Wenn sich am Aufbau nichts verändert hat, kannst du einfach die existierende “.nav”-Datei kopieren und umbenennen.

Mit den Konsolenbefehlen “nav_analyze” und “nav_generate” kannst du die Navigation aktualisieren bzw. komplett neu erstellen lassen. Das ist wichtig, damit sich die Bots stets gut zurechtfinden. In einem zukünftigen Mapping Tutorial werden wir dieses Thema im Detail behandeln, so dass du die Wegfindung der Bots auch selbst beeinflussen kannst.

Beispiel-Map herunterladen

Bei Bedarf kannst du dir die folgende Beispiel-Map herunterladen. Sie enthält 16 Spawnpoints pro Team (davon jeweils 10 mit höherer Priorität). Neben der “.vmf” für den Editor ist auch eine bereits kompilierte “.bsp” sowie die dazugehörige “.nav” für die Botnavigation enthalten.

Die VMF-Datei kommt in den Ordner Steam\steamapps\common\Counter-Strike Global Offensive\sdk_content\maps\ und kann dann im Editor geladen werden.

Optional können die BSP- und die NAV-Datei im Ordner “Steam\steamapps\common\Counter-Strike Global Offensive\csgo\maps” abgelegt werden. Dann kannst du die Beispiel-Map starten, ohne sie vorher selbst kompilieren zu müssen und die Bot-Navigation ist auch gleich dabei.

Weitere Grundlagen folgen im nächsten Mapping Tutorial. In diesem geht es um das Erstellen von Treppen und Leitern.