Choosing Player Models

From Valve Developer Community
< De
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
English (en)Deutsch (de)Polski (pl)Русский (ru)中文 (zh)Translate (Translate)
Counter-Strike: Global Offensive Level Creation:de
Siehe KeyValues(en) für das Dateiformat.

In Counter-Strike: Global Offensive Counter-Strike: Global Offensive, Benutzerdefinierte Karten können so konfiguriert werden, dass verschiedene Spielermodelle oder eine Vielzahl von Spielermodellen für die Terroristen- und Anti-Terroristen-Teams verwendet werden. Diese Modelle sind in einer <mapname>.kv-Datei angegeben, die sich im csgo/maps/-Verzeichnis befindet.

Erstellen einer .kv-Datei

"de_example"
{
	"t_models"
	{
		"tm_anarchist" ""
		"tm_anarchist_variantA" ""
		"tm_anarchist_variantB" ""
		"tm_anarchist_variantC" ""
		"tm_anarchist_variantD" ""
	}
	"ct_models"
	{
		"ctm_swat" ""
		"ctm_swat_variantA" ""
		"ctm_swat_variantB" ""
		"ctm_swat_variantC" ""
		"ctm_swat_variantD" ""
	}
}
Wenn dies der Inhalt von csgo/maps/de_example.kv ist, dann verwendet de_example.bsp(en) anarchistische und Swat-Spielermodelle .

Die .kv-Datei ist einfach eine Textdatei, die einen Namen mit der Karte teilt, wobei die Erweiterung .txt in .kv geändert wurde.Wenn es zum Beispiel eine benutzerdefinierte Karte namens de_example.bsp im Ordner Counter-Strike Global Offensive/csgo/maps/ gibt, dann sollte dort eine Datei namens de_example.kv im selben Ordner.

Die .kv-Datei enthält eine Liste von Schlüssel/Wert-Paaren, die ähnlich wie andere Textdateien formatiert sind, die von der Source-Engine verwendet werden, z. B. VMT(en)-Dateien für Materialien.

Wie im Beispiel rechts zu sehen ist, ist es möglich, eine Karte so zu konfigurieren, dass sie für jedes Team eine Vielzahl von Weltspielermodellen verwendet. Anders als in früheren Counter-Strike-Spielen wird das Modell des Spielers zufällig aus dieser Liste ausgewählt, anstatt dem Spieler die Wahl zu lassen.

Syntax

Siehe Beispiel rechts. Das erste Wort in Anführungszeichen muss der Dateiname der map(en) sein. Der Schlüssel jedes Schlüsselwerts in "t_models" und/oder "ct_models" soll der Pfad zu einem Spielermodell sein. Wenn <model> ein solcher Schlüssel ist, versucht das Spiel, das erste der folgenden vorhandenen Modelle zu verwenden:

  1. csgo/models/player/custom_player/legacy/<model>.mdl
  2. csgo/models/player/<model>.mdl
  3. csgo/models/error.mdl

Der Wert jedes dieser Schlüsselwet wird ignoriert und kann daher leer gelassen werden.

Tip.pngTipp:Verwenden Sie den Hammer(en) model browser um die verfügbaren Modelle an diesen Orten zu sehen. Sie können auch sehen [[De/
  1. Model List|below]](en) für Listen zum Kopieren und Einfügen.
Tip.pngTipp:Im Allgemeinen kann eine Liste beliebige Anzahl und beliebige Kombination von Spielermodellen enthalten.
Tip.pngTipp:Wenn sich riesige Fehlerfelder auf der Karte bewegen, haben Sie wahrscheinlich den Namen mindestens eines Spielermodells falsch geschrieben.
Note.pngHinweis:Seit dem Handschuh-Update ist es unnötig, das Armmodell zu definieren, die Engine verwendet stattdessen das Ärmelmodell.

Beziehung zu Gamemodes.txt(en)

Die Informationen dieser Datei werden teilweise mit csgo/gamemodes.txt zusammengeführt. Die offiziellen Karten haben keine csgo/maps/<mapname>.kv-Datei, da sich ihr Inhalt bereits in gamemodes.txt befindet. Die Kartenliste in dieser Datei kann mit gamemodes_server.txt gemäß dem folgenden Beispiel erweitert werden.

Warning.pngAchtung:Informationen in diesen Dateien überschreiben alle kartenspezifischen csgo/maps/<mapname>.kv-Datei!

"GameModes_Server.txt"
{
{
	"gameTypes"
	{
		// ...
	}

	"mapgroups"
	{
		// ...
	}

	"maps"
	{
		"<mapname1>"
		{
			"t_models"
			{
				"tm_professional"""
				// ...
			} 
			
			"ct_models"
			{
				"ctm_fbi"""
				// ...
			} 
		}

		"<mapname2>"
		{
			"t_models"
			{
				"tm_professional"""
				// ...
			} 
			
			"ct_models"
			{
				"ctm_sas"""
				// ...
			} 
		}

		// ...
	}
}

Zu erledigen: Die offiziellen Karten verwenden mehr KVs als nur t_models und ct_models. Anscheinend bestimmt die nameID den angezeigten Kartennamen im Ladebildschirm, aber diese KV scheint in <mapname>.kv nicht zu funktionieren? Wo wird also die kartenspezifische Datei <mapname>.kv im Code eingelesen? Ideen:
  • void GameTypes::AddMapKVs( KeyValues* pKVMaps, const char* curMap )
  • void GameTypes::CheckShouldSetDefaultGameModeAndType( const char* szMapNameFull )
Beide sind definiert in gametypes.cpp. In beiden Fällen sollte es eigentlich möglich sein, mehr KVs mit dieser Datei zu versenden, aber anscheinend ist das nicht der Fall.[Why?]

Modellliste

Diese Auszüge sind so aufgebaut, dass ein Block eine häufig verwendete Gruppe von Modellen darstellt.

Die anderen benutzerdefinierten Player-Modelle können ebenfalls verwendet werden. In den folgenden Listen sind sie benannt, aber auskommentiert (//), um eine häufig verwendete Gruppe von Modellen beizubehalten.

Tip.pngTipp:Sie können T-Modelle für Stromwandler verwenden und umgekehrt! Die Modelle haben nichts mit dem Team eines player(en) mit einem dieser Modelle zu tun.
Note.pngHinweis:Das Modell eines Spielers bestimmt auch die für das Ansichtsmodell sichtbaren Arme sowie die Funkbefehlsstimme. Es wird den Spieler jedoch nicht dazu bringen, die entsprechende Funkstimme des zugeordneten „Agenten“ zu verwenden (z. B. keine weibliche Stimme auf diese Weise).

Anti-Terror-Modelle

FBI English (en)
	{
		"ctm_fbi"""
		"ctm_fbi_variantA"""
		"ctm_fbi_variantB"""
		"ctm_fbi_variantC"""
		"ctm_fbi_variantD"""
//		"ctm_fbi_variantE"""
//		"ctm_fbi_variantF"""
//		"ctm_fbi_variantG"""
//		"ctm_fbi_variantH"""
	}
GIGN Français (fr)
	{
		"ctm_gign"""
		"ctm_gign_variantA"""
		"ctm_gign_variantB"""
		"ctm_gign_variantC"""
		"ctm_gign_variantD"""
	}
GSG9 Deutsch (de)
	{
		"ctm_gsg9"""
		"ctm_gsg9_variantA"""
		"ctm_gsg9_variantB"""
		"ctm_gsg9_variantC"""
		"ctm_gsg9_variantD"""
	}
IDF עברית (he)
	{
		"ctm_idf"""
		"ctm_idf_variantB"""
		"ctm_idf_variantC"""
		"ctm_idf_variantD"""
		"ctm_idf_variantE"""
		"ctm_idf_variantF"""
	}
SAS British English (en-GB)
	{
		"ctm_sas""" // identical to A-E?
		"ctm_sas_variantA"""
		"ctm_sas_variantB"""
		"ctm_sas_variantC"""
		"ctm_sas_variantD"""
		"ctm_sas_variantE"""
//		"ctm_sas_variantF"""
//		"ctm_sas_variantG"""
	}
SEAL Team 6 English (en) (default)
	{
		"ctm_st6"""
		"ctm_st6_variantA"""
		"ctm_st6_variantB"""
		"ctm_st6_variantC"""
		"ctm_st6_variantD"""
//		"ctm_st6_variantE"""
//		"ctm_st6_variantG"""
//		"ctm_st6_variantI"""
//		"ctm_st6_variantJ"""
//		"ctm_st6_variantK"""
//		"ctm_st6_variantL"""
//		"ctm_st6_variantM"""
//		"ctm_st6_variantN"""
	}
SWAT English (en)
	{
		"ctm_swat"""
		"ctm_swat_variantA"""
		"ctm_swat_variantB"""
		"ctm_swat_variantC"""
		"ctm_swat_variantD"""
//		"ctm_swat_variantE"""
//		"ctm_swat_variantF"""
//		"ctm_swat_variantG"""
//		"ctm_swat_variantH"""
//		"ctm_swat_variantI"""
//		"ctm_swat_variantJ"""
//		"ctm_swat_variantK"""
	}

Terroristische Modelle

Anarchist English (en)
	{
		"tm_anarchist"""
		"tm_anarchist_variantA"""
		"tm_anarchist_variantB"""
		"tm_anarchist_variantC"""
		"tm_anarchist_variantD"""
	}
Balkan
	{
		"tm_balkan_variantA"""
		"tm_balkan_variantB"""
		"tm_balkan_variantC"""
		"tm_balkan_variantD"""
		"tm_balkan_variantE"""
//		"tm_balkan_variantF"""
//		"tm_balkan_variantG"""
//		"tm_balkan_variantH"""
//		"tm_balkan_variantI"""
//		"tm_balkan_variantJ"""
//		"tm_balkan_variantK"""
//		"tm_balkan_variantL"""
	}
Elite Crew
	{
		"tm_leet_variantA"""
		"tm_leet_variantB"""
		"tm_leet_variantC"""
		"tm_leet_variantD"""
		"tm_leet_variantE"""
//		"tm_leet_variantF"""
//		"tm_leet_variantG"""
//		"tm_leet_variantH"""
//		"tm_leet_variantI"""
//		"tm_leet_variantJ"""
//		"tm_leet_variantK"""
	}
Phoenix Connexion (default)
	{
		"tm_phoenix"""
		"tm_phoenix_variantA"""
		"tm_phoenix_variantB"""
		"tm_phoenix_variantC"""
		"tm_phoenix_variantD"""
//		"tm_phoenix_variantF"""
//		"tm_phoenix_variantG"""
//		"tm_phoenix_variantH"""
//		"tm_phoenix_variantI"""
	}
Pirate
	{
		"tm_pirate"""
		"tm_pirate_variantA"""
		"tm_pirate_variantB"""
		"tm_pirate_variantC"""
		"tm_pirate_variantD"""
	}
Professional English (en)
	{
		"tm_professional"""
		"tm_professional_var1"""
		"tm_professional_var2"""
		"tm_professional_var3"""
		"tm_professional_var4"""
//		"tm_professional_varF"""
//		"tm_professional_varF1"""
//		"tm_professional_varF2"""
//		"tm_professional_varF3"""
//		"tm_professional_varF4"""
//		"tm_professional_varF5"""
//		"tm_professional_varG"""
//		"tm_professional_varH"""
//		"tm_professional_varI"""
//		"tm_professional_varJ"""
	}
Separatist Français (fr) Español (es)
	{
		"tm_separatist"""
		"tm_separatist_variantA"""
		"tm_separatist_variantB"""
		"tm_separatist_variantC"""
		"tm_separatist_variantD"""
	}

Andere Modelle

Heavy Phoenix
        {
		"tm_phoenix_heavy"""
        }
Heavy CT
        {
		"ctm_heavy"""
        }
Jumpsuit (CS:GO Gefahrenzone Gefahrenzone)
	{
		"tm_jumpsuit_variantA"""
		"tm_jumpsuit_variantB"""
		"tm_jumpsuit_variantC"""
	}
Diver (Operation Riptide)
	{
		"ctm_diver_variantA"""
		"ctm_diver_variantB"""
		"ctm_diver_variantC"""
	}
Gendarmerie (Operation Riptide)
	{
		"ctm_gendarmerie_variantA"""
		"ctm_gendarmerie_variantB"""
		"ctm_gendarmerie_variantC"""
		"ctm_gendarmerie_variantD"""
		"ctm_gendarmerie_variantE"""
	}
Guerrilla Warfare (Operation Riptide)
	{
		"tm_jungle_raider_variantA"""
		"tm_jungle_raider_variantB"""
		"tm_jungle_raider_variantB2"""
		"tm_jungle_raider_variantC"""
		"tm_jungle_raider_variantD"""
		"tm_jungle_raider_variantE"""
		"tm_jungle_raider_variantF"""
		"tm_jungle_raider_variantF2"""
	}
Zombie
        {
		"zombie"""
        }

Machen CT vs CT oder T vs T

Die .kv-Datei kann so eingerichtet werden, dass Modelle für das falsche Team verwendet werden, z. SWAT gegen FBI.


"name_von_der_Map"
 {
     "name"              "name_von_der_Map"
     "t_models"
     {
         "ctm_swat"       ""
         "ctm_swat_varianta"  ""
         "ctm_swat_variantb"  ""
         "ctm_swat_variantc"  ""
         "ctm_swat_variantd"  ""
     }
     "ct_models"
     {
         "ctm_gign"       ""
         "ctm_gign_varianta"  ""
         "ctm_gign_variantb"  ""
         "ctm_gign_variantc"  ""
         "ctm_gign_variantd"  ""
     }
 }

Externe Links

KV File Writer: Ein GUI-Tool, das das Einrichten und Speichern einer CT vs. T .kv rationalisiert

Webbasierter KV-Dateigenerator: Ein webbasiertes Dienstprogramm, das basierend auf Benutzereingaben eine .kv-Datei generiert.