CS:GO-Spielmodi/Wingman
Wingman(intern: scrimcomp2v2) ist ein Spielmodus in Template:Game name:de.
Hier erfahren Sie, wie Sie eine Wettbewerbskarte dafür modifizieren und wie das alles funktioniert.
Eine Karte wird im Wingman-Spielmodus mit den Befehlen {{ent:de}} is deprecated. Use {{ent}} instead.
, {{ent:de}} is deprecated. Use {{ent}} instead.
und map <mapname></ gestartet. code>, oder alles in einem: map <mapname> scrimcomp2v2.
Beschreibung des Spielmodus
Entscheidende (CFG) Unterschiede
 
Eigenschaften 
 Wettbewerbsfähig 
 Wingman
 
Spieler pro Mannschaft 
5 
2
  
Das Beste von 
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 
 Wettkampf.
Die Ereignisse am Ende der Runde sind gleich, was bedeutet, dass dieser Spielmodus mit Bombenstandorten, Geiseln oder keiner von ihnen gespielt werden kann.
Die entscheidenden Unterschiede sind die Datei CFG des Spielmodus (siehe Tabelle rechts) und Maximale Spielerzahl.
Offiziell spielt sich der Spielmodus wie folgt ab:
- Zwei Teams von zwei Spieler spielen ein Match in einer Wettbewerbsfähige Umgebung.
 
- Es gibt eine zugängliche Bombenstandorten.
 
Hinzufügen von Wingman-Unterstützung zu einer Karte
Jede 
 Wettkampf-Karte kann modifiziert werden, um 
 Wingman auf die gleiche Weise wie Cobblestone, Inferno, Nuke, Overpass, Vertigo und Train zu unterstützen.
Diese Karten sind eigentlich zu groß für Wingman, aber wenn sie in Wingman gestartet werden, werden die Spawnpunkte und Buyzones bei Bedarf "verschoben" und es gibt Blocker, die den spielbaren Bereich auf nur eine Bombsite beschränken.
Wie dies geschehen kann, wird in den folgenden Abschnitten erläutert.
File:Important template.gif Wichtig: Wenn Sie Ihre Karte für Wingman so entwerfen, dass keine Spawn-Verschiebung oder -Blockierung durchgeführt werden muss, benötigen Sie dieses Tutorial nicht.Skripterstellung
csgo/scripts/vscripts/2v2/2v2_enable.nut
 
// Diese Funktion wird von der Karte OnMapSpawn aufgerufen
function EnableWingman()
{
       // überprüft den Spielmodus und -typ und das aktuelle Spiel
       local nMode = ScriptGetGameMode();
       local nType = ScriptGetGameType();
       // type 0, mode 0 = Casual
       // 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 wir 2v2 laufen, mach Sachen
	{
	  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);				// Deaktivieren Sie 2v2-Kaufzonen
	  EntFire("navblocker.2v2", "UnblockNav", 0, 0);
	}
  
 }
Fehler:Die hervorgehobene Zeile hat nicht den beabsichtigten Effekt, da SetEnabled keine gültige Eingabe für func_buyzone ist.  [todo getestet in ?]
  
Um in Wingman Spawn-Punkte zu verschieben oder Bereiche nur zu blockieren, muss unsere Karte den aktuellen Spielmodus erkennen, was VScript erfordert.
Glücklicherweise hat Valve bereits ein VScript erstellt, das dies tut (rechts zu sehen) und es für jede Karte verfügbar gemacht, sodass Sie keinen Code schreiben müssen.
Template:Note:de
Erstellen Sie zum Ausführen dieses Skripts eine logic_script-Entität in Ihrer Map und nennen Sie sie script.2v2.
Setzen Sie die Eigenschaft Entity Scripts auf 2v2/2v2_enable.nut.
Dann machen Sie ein logic_auto mit folgendem output:
  
My Output 
Target Entity 
Target Input 
Parameter 
Delay 
Only Once
  

 
OnMapSpawn 
script.2v2 
RunScriptCode 
EnableWingman() 
0 
No
  
In jeder Runde führt dies die Funktion EnableWingman aus, die E/A-Ereignisse an benannte Entitäten in unserem Level abfeuert, je nachdem, in welchem Spielmodus wir uns befinden.
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 normalen Spawn-Punkte (sowohl CT als auch T) aus, die im normalen klassischen Modus verwendet werden, 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, das in Wingman verwendet werden soll.
In den offiziellen Valve-Karten verwenden sie 4 für jedes Team.
Wählen Sie alle aus, nennen Sie sie spawnpoints.2v2 und setzen Sie Standardmäßig aktivieren? auf Nein.
Wenn sich diese Spawns nicht bereits in einer Kaufzonen befinden, erstellen Sie eine für sie, wählen Sie das Team aus und nennen Sie es buyzone.2v2. Machen Sie dasselbe für das andere Team.
Fehler:
Setze alle Buyzones auf Start Enabled! In Valves Skript aktiviert EnableWingman() niemals eine Buyzone in allen Spielmodi, da "SetEnabled" keine gültige Eingabe für func_buyzone ist. Das Skript ist dennoch nützlich, da es die Wingman-Kaufzone bei Bedarf Disable.
Außerdem deaktiviert das Skript nicht die Standard-Kaufzonen in Wingman, da davon ausgegangen wird, dass sie sich außerhalb des spielbaren Bereichs befinden. Wenn dies ein Problem ist, schreiben Sie Ihr eigenes Skript und beheben Sie es oder finden Sie eine andere Lösung.
  [todo getestet in ?]Blockieren des spielbaren Bereichs
  Die tools/wrongway Texturentool ist nur für Spieler in der Nähe des Ursprungs der Entität sichtbar, auf die dieses Material angewendet wird.Das Spiel kann so funktionieren, wie es jetzt ist, aber Sie möchten wahrscheinlich, dass nur eine Bombenstandorten erreichbar ist.
Erstellen Sie dazu einige Clippinsele mit der Textur „tools/toolsclip“ an den Stellen, an denen die Spieler nicht hinkommen sollen.
Wandeln Sie sie in func_brushes 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 davon machen und die coole Textur tools/wrongway verwenden, um den Spielern zu signalisieren, dass sie nicht durch diese unsichtbare Wand gehen können. Es verblasst sogar mit der Entfernung! Für diese Pinsel möchten Sie normalerweise ihre Solidity auf Never Solid setzen, wenn sie sich bereits in einem größeren brush.blocker befinden, da ihre Kollision auch nicht benötigt wird Es sollte auch keine Probleme geben.
Jetzt werden die brush.blockers großartige Arbeit beim Blockieren von Spielern leisten, aber bots könnten immer noch versuchen, durch die Blocker zu gehen.
Erstellen Sie func_nav_blocker Brush Entities innerhalb der brush.blockers mit der tools/toolstrigger Textur und nennen Sie sie 'navblocker.2v2.
Das VScript feuert schließlich BlockNav auf diese Entitäten in Wingman oder UnblockNav in allen anderen Spielmodi ab und informiert die Bots, ob ihr Bereich blockiert ist oder nicht.
Template:Tip:de
Testen und Hochladen
Um eine Karte im Wingman-Modus zu spielen, geben Sie die Befehle {{ent:de}} is deprecated. Use {{ent}} instead.
und {{ent:de}} is deprecated. Use {{ent}} instead.
in die Konsole ein und geben Sie dann den map Befehl ein, um auf Ihre Karte zuzugreifen.
Wenn Sie die Karte in den Workshop hochladen, stellen Sie sicher, dass Sie „Wingman“ in der Liste der Spielmodi auswählen, damit die Leute dies auswählen können, wenn sie die Karte über die Registerkarte „Workshop“ im Spiel öffnen.
Fertig!