$keyvalues: Difference between revisions
Jump to navigation
Jump to search
Note:Since the values are arbitrary, studiomdl can't check that they are correct when it compiles the model.
No edit summary |
No edit summary |
||
(36 intermediate revisions by 13 users not shown) | |||
Line 1: | Line 1: | ||
{{LanguageBar}} | |||
{{this is a|QC command|name=$keyvalues}} It embeds a block of arbitrary [[keyvalue]]s into the .mdl file. | |||
{{note|Since the values are arbitrary, [[studiomdl]] can't check that they are correct when it compiles the model.}} | |||
Programmers can access the $keyvalues block with <code>modelinfo->GetModelKeyValueText(GetModel())</code> and the <code>[[KeyValues]]</code> class. | |||
== Syntax == | |||
[[Category:QC | $keyvalues | ||
{ | |||
''keyvalue data'' | |||
} | |||
== Common KeyValues == | |||
See [[:Category:QC Keyvalues]] for a complete list. | |||
;<code>[[prop_data]]</code> | |||
:Defines various properties for models for use in Valve's prop_* entities - usually {{ent|prop_physics}}. | |||
;<code>[[physgun_interactions]]</code> | |||
:Defines any non-standard interactions with the [[Gravity Gun]]. | |||
;<code>[[Particles On Models|particles]]</code> | |||
:Attaches [[:Category:Particle System|particles]]. | |||
; <code>[[prop_door_rotating#Custom Door Models|door_options]]</code> | |||
: Configures the model for use with {{ent|prop_door_rotating}}. | |||
;<code>vehicle_entry</code> | |||
:Positions where the player will enter into a [[vehicle]], where the player's camera will blend into the vehicle's camera position ( eyes ). It is defined by [[attachments]] with a number to indicate the hitbox group, set previously on any hitbox within a [[$hboxset|hitbox set]] called "entryboxes". | |||
;<code>vehicle_exit</code> | |||
:Positions where the player will exit from a vehicle. Defined by the name of an attachment and if is intended to be used while the vehicle is upright ( "upright" ) or upside down ( "upsidedown" ). | |||
;<code>vehicle_escape_exit</code> | |||
:Positions where the player will exit from a vehicle in case there are problems ( underwater, upside down, other events... ). Same definitions as in vehicle_exit. | |||
;<code>AddedAmbientScale <[[int]]></code> | |||
:Softens the ambient lighting received by this model. Present in L4D2 infected. | |||
== Example == | |||
$keyvalues | |||
{ | |||
[[prop_data]] | |||
{ | |||
base Wooden.Small | |||
dmg.bullets 0 | |||
explosive_damage 100 | |||
explosive_radius 100 | |||
} | |||
[[physgun_interactions]] | |||
{ | |||
onfirstimpact break | |||
onfirstimpact paintsplat | |||
onlaunch spin_zaxis | |||
onbreak explode_fire | |||
} | |||
''// hud_name has been made up as an example of a one-dimensional custom KV. | |||
''// (If you were being picky, you might point out that it ought to be [[localised]] ...)'' | |||
hud_name "Rubber chicken with a pulley in the middle" | |||
} | |||
$keyvalues | |||
{ | |||
vehicle_entry | |||
{ | |||
"enter1" "1" | |||
"enter2" "2" | |||
"enter3" "3" | |||
"enter4" "1" | |||
"enter5" "2" | |||
"enter6" "3" | |||
"enter7" "1" | |||
} | |||
vehicle_exit | |||
{ | |||
"exit3" "upright" | |||
"exit4" "upright" | |||
"exit6" "upsidedown" | |||
} | |||
vehicle_escape_exit | |||
{ | |||
"exit1" "upright" | |||
"exit2" "upright" | |||
"exit5" "upsidedown" | |||
"exit7" "upright" | |||
"exit8" "upsidedown" | |||
} | |||
} |
Latest revision as of 21:24, 18 July 2025
$keyvalues
is a QC command available in all Source games. It embeds a block of arbitrary keyvalues into the .mdl file.

Programmers can access the $keyvalues block with modelinfo->GetModelKeyValueText(GetModel())
and the KeyValues
class.
Syntax
$keyvalues { keyvalue data }
Common KeyValues
See Category:QC Keyvalues for a complete list.
prop_data
- Defines various properties for models for use in Valve's prop_* entities - usually prop_physics.
physgun_interactions
- Defines any non-standard interactions with the Gravity Gun.
particles
- Attaches particles.
door_options
- Configures the model for use with prop_door_rotating.
vehicle_entry
- Positions where the player will enter into a vehicle, where the player's camera will blend into the vehicle's camera position ( eyes ). It is defined by attachments with a number to indicate the hitbox group, set previously on any hitbox within a hitbox set called "entryboxes".
vehicle_exit
- Positions where the player will exit from a vehicle. Defined by the name of an attachment and if is intended to be used while the vehicle is upright ( "upright" ) or upside down ( "upsidedown" ).
vehicle_escape_exit
- Positions where the player will exit from a vehicle in case there are problems ( underwater, upside down, other events... ). Same definitions as in vehicle_exit.
AddedAmbientScale <int>
- Softens the ambient lighting received by this model. Present in L4D2 infected.
Example
$keyvalues { prop_data { base Wooden.Small dmg.bullets 0 explosive_damage 100 explosive_radius 100 } physgun_interactions { onfirstimpact break onfirstimpact paintsplat onlaunch spin_zaxis onbreak explode_fire } // hud_name has been made up as an example of a one-dimensional custom KV. // (If you were being picky, you might point out that it ought to be localised ...) hud_name "Rubber chicken with a pulley in the middle" }
$keyvalues { vehicle_entry { "enter1" "1" "enter2" "2" "enter3" "3" "enter4" "1" "enter5" "2" "enter6" "3" "enter7" "1" } vehicle_exit { "exit3" "upright" "exit4" "upright" "exit6" "upsidedown" } vehicle_escape_exit { "exit1" "upright" "exit2" "upright" "exit5" "upsidedown" "exit7" "upright" "exit8" "upsidedown" } }