Choosing Player Models: Difference between revisions
No edit summary |
m (→Model list) |
||
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

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" ""
}
}

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.