De/Counter-Strike: Global Offensive/Game Modes/Wingman

Wingman (intern: scrimcomp2v2) ist ein in .
Hier erfahren Sie, wie Sie eine Wettkampf-Karte dafür modifizieren und wie es funktioniert.
Eine Karte wird im Wingman-Spielmodus mit den Befehlen game_type 0; game_mode 2; [[Map (ConCommand):de|map <mapname> gestartet, oder kürzer: map <mapname> scrimcomp2v2.
__TOC__
== Beschreibung des Spielmodus ==
 Entscheidende Unterschiede in der 
Eigenschaft 	Wettkampf	Wingman
Spieler pro Mannschaft	5 	2
Best Of 	30 	16
Rundenzeit in Minuten 	1:55 	1:30
Freezetime in Sekunden	15 	10
Maximales Geld 	$16000 	$8000
Technisch gesehen entspricht dieser Spielmodus fast dem Spielmodus .
Die Ereignisse, die eine Runde beenden, sind identisch, was bedeutet, dass dieser Spielmodus sowohl mit als auch gespielt werden kann.
Die entscheidenden Unterschiede sind die -Datei des Spielmodus (siehe Tabelle rechts) und .
Offiziell wird der Spielmodus wie folgt gespielt:
* Zwei Teams von zwei spielen ein Match in einer Wettkampf-Umgebung.
* Es gibt einen zugänglichen .
== Wingman-Unterstützung auf Wettkampf-Karten ==
Jede -Karte kann modifiziert werden, sodass sie auf die gleiche Weise wie Cobblestone, Inferno, Nuke, Overpass, Vertigo und Train unterstützt.
Diese Karten sind eigentlich zu groß für Wingman, doch wenn sie in Wingman gestartet werden, werden die Spawnpunkte und Kaufzonen bei Bedarf "verschoben" und es gibt Blockaden, die den bespielbaren Bereich der Karte auf nur einen Bombenort beschränken.
Die folgenden Abschnitte behandeln, wie Kartenersteller dies reproduzieren können.
=== Skripterstellung ===
csgo/scripts/vscripts/2v2/2v2_enable.nut
// Diese Funktion wird von der Karte OnMapSpawn aufgerufen
function EnableWingman()
{
 // überprüft den Spielmodus und -typ des aktuellen Spiels
 local nMode = ScriptGetGameMode();
 local nType = ScriptGetGameType();
 // type 0, mode 0 = Gelegenheitsspiel
 // type 0, mode 1 = Wettkampf
 // type 1, mode 0 = Wettrüsten
 // type 1, mode 1 = Zerstörung
 // type 1, mode 2 = Deathmatch
 // usw. 
	if (nMode == 2 && nType == 0)								// Wenn 2v2 läuft, tu Dinge
	{
	 EntFire("spawnpoints.standard", "SetDisabled", 0, 0);
	 EntFire("spawnpoints.2v2", "SetEnabled", 0, 0);
	 EntFire("brush.blocker", "Enable", 0, 0);
	 EntFire("buyzone.2v2", "SetEnabled", 0, 0);
	 EntFire("navblocker.2v2", "BlockNav", 0, 0);
	}
	else
	{
	 EntFire("buyzone.2v2", "Disable", 0, 0);				// 2v2-Kaufzonen deaktivieren
	 EntFire("navblocker.2v2", "UnblockNav", 0, 0);
	}
 
 }
Um nur in Wingman Spawnpunkte zu verschieben oder Bereiche zu blockieren, muss unsere Karte , was erfordert.
Glücklicherweise hat Valve bereits ein VScript erstellt, das dies tut (rechts zu sehen) und da es für jeden verfügbar ist, muss kein Code geschrieben werden.
Erstellen Sie zum Ausführen dieses Skripts ein in der Karte mit dem script.2v2 (frei wählbar).
Setzen Sie die Eigenschaft Entity Scripts auf 2v2/2v2_enable.nut.
Erstellen Sie dann ein mit folgendem :
	OnMapSpawn	script.2v2	RunScriptCode	EnableWingman()	0	No
In jeder Runde führt dies die Funktion EnableWingman aus, die -Ereignisse an bestimmte, benannte Entitäten in unserem Level auslöst, je nachdem, welcher Spielmodus läuft.
Aus diesem Grund müssen alle folgenden Entitätsnamen genau wie im obigen VScript sein, sonst funktioniert es nicht.
=== Spawnpunkte und Kaufzonen ===
Wählen Sie zuerst alle Spawnpunkte beider Teams an, die im normalen klassischen Modus verwendet werden sollen, und ändern Sie ihre Namen in spawnpoints.standard. Das Skript wird diese in Wingman deaktivieren.
Erstellen Sie nun mindestens zwei Spawnpunkte für jedes Team, die in Wingman verwendet werden sollen. In den offiziellen Valve-Karten gibt es 4 pro Team.
Wählen Sie alle an, nennen Sie sie spawnpoints.2v2 und setzen Sie Enable by default? auf No.
Wenn sich diese Spawns nicht bereits in einer befinden, erstellen Sie eine für sie, wählen Sie das Team aus und nennen Sie es buyzone.2v2. Tun Sie dasselbe für das andere Team.
=== Blockieren des spielbaren Bereichs ===
Das Spiel läuft im aktuellen Zustand, aber wahrscheinlich soll nur ein erreichbar sein.
Erstellen Sie dazu einige mit der Textur tools/toolsclip an den Stellen, an denen die blockiert werden sollen.
Wandeln Sie diese in es um und nennen Sie sie brush.blocker.
Setzen Sie Start disabled auf Yes und das Skript aktiviert sie nur in Wingman.
Sie können sogar mehr daraus machen und die coole Textur tools/wrongway verwenden, um den Spielern zu signalisieren, dass es eine unsichtbare Wand gibt. Es verblasst sogar mit zunehmender Entfernung! Für diese Brushes ist es eine gute Angewohnheit, deren Solidity auf Never Solid zu setzen, wenn sie sich bereits innerhalb eines größeren brush.blockers befinden, da überlappende Kollisionen unnötig sind.
=== Navigationsnetze blockieren ===
Jetzt werden die brush.blockers wunderbar Spieler blockieren, aber möglicherweise werden weiterhin an diesen Blockaden verzweifeln.
Erstellen Sie Entitäten innerhalb der brush.blocker mit der Textur tools/toolstrigger und nennen Sie sie navblocker.2v2.
Das VScript feuert in Wingman schließlich BlockNav an diese Entitäten oder UnblockNav in allen anderen Spielmodi und informiert dadurch die Bots, ob ein Bereich blockiert ist oder nicht.
== Testen und Hochladen ==
Um eine Karte im Wingman-Modus zu spielen, geben Sie die Befehle game_type 0; game_mode 2 in die Konsole ein und geben Sie dann den -Befehl ein, um die Karte zu laden.
Wenn Sie die Karte in den Workshop hochladen, stellen Sie sicher, dass Sie Wingman in der Liste der Spielmodi ausgewählt haben, damit andere Nutzer den Modus beim Start der Karte über das Hauptmenü auswählen können.
Fertig!