Choosing Player Models: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 39: Line 39:
<syntaxhighlight>
<syntaxhighlight>
COUNTER-TERRORIST
COUNTER-TERRORIST
FBI
FBI "models/weapons/ct_arms_fbi.mdl"
{
{
"ctm_fbi"""
"ctm_fbi"""
Line 47: Line 47:
"ctm_fbi_variantD"""
"ctm_fbi_variantD"""
}
}
GIGN
GIGN "models/weapons/ct_arms_gign.mdl"
{
{
"ctm_gign"""
"ctm_gign"""
Line 55: Line 55:
"ctm_gign_variantD"""
"ctm_gign_variantD"""
}
}
GSG
GSG "models/weapons/ct_arms_gsg9.mdl"
{
{
"ctm_gsg9"""
"ctm_gsg9"""
Line 63: Line 63:
"ctm_gsg9_variantD"""
"ctm_gsg9_variantD"""
}
}
IDF
IDF "models/weapons/ct_arms_idf.mdl"
{
{
"ctm_idf"""
"ctm_idf"""
Line 72: Line 72:
"ctm_idf_variantF"""
"ctm_idf_variantF"""
}
}
SAS
SAS "models/weapons/ct_arms_sas.mdl"
{
{
"ctm_sas"""
"ctm_sas"""
Line 81: Line 81:
"ctm_sas_variantE"""
"ctm_sas_variantE"""
}
}
SEALS
SEALS "models/weapons/ct_arms_st6.mdl"
{
{
"ctm_st6"""
"ctm_st6"""
Line 89: Line 89:
"ctm_st6_variantD"""
"ctm_st6_variantD"""
}
}
SWAT
SWAT "models/weapons/ct_arms_swat.mdl"
{
{
"ctm_swat"""
"ctm_swat"""
Line 99: Line 99:


TERRORIST
TERRORIST
Anarchist
Anarchist "models/weapons/t_arms_anarchist.mdl"
{
{
"tm_anarchist"""
"tm_anarchist"""
Line 107: Line 107:
"tm_anarchist_variantD"""
"tm_anarchist_variantD"""
}
}
Balkan
Balkan "models/weapons/t_arms_balkan.mdl"
{
{
"tm_balkan_variantA"""
"tm_balkan_variantA"""
Line 115: Line 115:
"tm_balkan_variantE"""
"tm_balkan_variantE"""
}
}
LEET
LEET "models/weapons/t_arms.mdl"
{
{
"tm_leet_variantA"""
"tm_leet_variantA"""
Line 123: Line 123:
"tm_leet_variantE"""
"tm_leet_variantE"""
}
}
Phoenix
Phoenix "models/weapons/t_arms_phoenix.mdl"
{
{
"tm_phoenix"""
"tm_phoenix"""
Line 131: Line 131:
"tm_phoenix_variantD"""
"tm_phoenix_variantD"""
}
}
Pirate
Pirate "models/weapons/t_arms_pirate.mdl"
{
{
"tm_pirate"""
"tm_pirate"""
Line 139: Line 139:
"tm_pirate_variantD"""
"tm_pirate_variantD"""
}
}
Professional
Professional "models/weapons/t_arms_professional.mdl"
{
{
"tm_professional"""
"tm_professional"""
Line 147: Line 147:
"tm_professional_var4"""
"tm_professional_var4"""
}
}
Separatist
Separatist "models/weapons/t_arms_separatist.mdl"
{
{
"tm_separatist"""
"tm_separatist"""
Line 156: Line 156:
}
}
</syntaxhighlight>
</syntaxhighlight>
==Making CT vs CT '''or''' T vs T==
==Making CT vs CT '''or''' T vs T==
The .kv can be set up to use models for the wrong team, i.e. 'swat' vs 'fbi'
The .kv can be set up to use models for the wrong team, i.e. 'swat' vs 'fbi'

Revision as of 17:58, 12 April 2014

Note.pngNote:.kv file redirects here

In Counter-Strike: Global Offensive, custom maps can be configured to use different player models, or a variety of player models, for the Terrorist and Counter-Terrorist teams. These models are specified in a <mapname>.kv file that lives in the Counter-Strike: Global Offensive maps directory.

Creating a .kv file

The .kv file is simply a text file that shares a name with the custom map, with the .txt extension changed to .kv. For example, if there were a custom map called 'de_example.bsp' in the 'Counter-Strike Global Offensive\csgo\maps' folder, then there should be a file called 'de_example.kv' in the same folder.

The .kv file contains a list of key/value pairs formatted similarly to other text files used by the source engine, such as .vmt files for materials.

As can be seen in the below example, it is possible to configure a map to use a specific set of view model arms for each team, as well as a variety of world player models for each team. Unlike in previous Counter-Strike games, the player's model is chosen randomly from this list, instead of allowing the player to choose.

"de_example"
{
   "name" "de_example"
   "t_arms" "models/weapons/t_arms_anarchist.mdl"
   "ct_arms" "models/weapons/ct_arms_fbi.mdl"
   "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" ""
   }
}
Tip.pngTip:Use the model viewer to browse the available models. It should be possible to mix and match as much as you like

Model list

COUNTER-TERRORIST
FBI		"models/weapons/ct_arms_fbi.mdl"
	{
		"ctm_fbi"""
		"ctm_fbi_variantA"""
		"ctm_fbi_variantB"""
		"ctm_fbi_variantC"""
		"ctm_fbi_variantD"""
	}
GIGN		"models/weapons/ct_arms_gign.mdl"
	{
		"ctm_gign"""
		"ctm_gign_variantA"""
		"ctm_gign_variantB"""
		"ctm_gign_variantC"""
		"ctm_gign_variantD"""
	}
GSG		"models/weapons/ct_arms_gsg9.mdl"
	{
		"ctm_gsg9"""
		"ctm_gsg9_variantA"""
		"ctm_gsg9_variantB"""
		"ctm_gsg9_variantC"""
		"ctm_gsg9_variantD"""
	}
IDF		"models/weapons/ct_arms_idf.mdl"
	{
		"ctm_idf"""
		"ctm_idf_variantB"""
		"ctm_idf_variantC"""
		"ctm_idf_variantD"""
		"ctm_idf_variantE"""
		"ctm_idf_variantF"""
	}
SAS		"models/weapons/ct_arms_sas.mdl"
	{
		"ctm_sas"""
		"ctm_sas_variantA"""
		"ctm_sas_variantB"""
		"ctm_sas_variantC"""
		"ctm_sas_variantD"""
		"ctm_sas_variantE"""
	}
SEALS		"models/weapons/ct_arms_st6.mdl"
	{
		"ctm_st6"""
		"ctm_st6_variantA"""
		"ctm_st6_variantB"""
		"ctm_st6_variantC"""
		"ctm_st6_variantD"""
	}
SWAT		"models/weapons/ct_arms_swat.mdl"
	{
		"ctm_swat"""
		"ctm_swat_variantA"""
		"ctm_swat_variantB"""
		"ctm_swat_variantC"""
		"ctm_swat_variantD"""
	}

TERRORIST
Anarchist	"models/weapons/t_arms_anarchist.mdl"
	{
		"tm_anarchist"""
		"tm_anarchist_variantA"""
		"tm_anarchist_variantB"""
		"tm_anarchist_variantC"""
		"tm_anarchist_variantD"""
	}
Balkan		"models/weapons/t_arms_balkan.mdl"
	{
		"tm_balkan_variantA"""
		"tm_balkan_variantB"""
		"tm_balkan_variantC"""
		"tm_balkan_variantD"""
		"tm_balkan_variantE"""
	}
LEET		"models/weapons/t_arms.mdl"
	{
		"tm_leet_variantA"""
		"tm_leet_variantB"""
		"tm_leet_variantC"""
		"tm_leet_variantD"""
		"tm_leet_variantE"""
	}
Phoenix		"models/weapons/t_arms_phoenix.mdl"
	{
		"tm_phoenix"""
		"tm_phoenix_variantA"""
		"tm_phoenix_variantB"""
		"tm_phoenix_variantC"""
		"tm_phoenix_variantD"""
	}
Pirate		"models/weapons/t_arms_pirate.mdl"
	{
		"tm_pirate"""
		"tm_pirate_variantA"""
		"tm_pirate_variantB"""
		"tm_pirate_variantC"""
		"tm_pirate_variantD"""
	}
Professional	"models/weapons/t_arms_professional.mdl"
	{
		"tm_professional"""
		"tm_professional_var1"""
		"tm_professional_var2"""
		"tm_professional_var3"""
		"tm_professional_var4"""
	}
Separatist	"models/weapons/t_arms_separatist.mdl"
	{
		"tm_separatist"""
		"tm_separatist_variantA"""
		"tm_separatist_variantB"""
		"tm_separatist_variantC"""
		"tm_separatist_variantD"""
	}

Making CT vs CT or T vs T

The .kv can be set up to use models for the wrong team, i.e. 'swat' vs 'fbi'

"name_of_the_map"
 {
     "name"              "name_of_the_map"
     "t_arms"            "models/weapons/ct_arms_swat.mdl"
     "ct_arms"           "models/weapons/ct_arms_gign.mdl"
     "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"  ""
     }
 }

Additional Resources

KV File Writer

A gui tool that streamlines setting up and saving a CT vs T .kv

External links


  • Todo: What else can the .kv do? The .kv might be involved in setting up the overview for spectating.