$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.
mNo edit summary |
Thunder4ik (talk | contribs) m (clean up) |
||
Line 17: | Line 17: | ||
;<code>[[Prop Data|prop_data]]</code> | ;<code>[[Prop Data|prop_data]]</code> | ||
:Defines various properties for models for use in Valve's prop_* entities - usually [[ | :Defines various properties for models for use in Valve's prop_* entities - usually [[prop physics]]. | ||
;<code>[[physgun_interactions]]</code> | ;<code>[[physgun_interactions]]</code> | ||
:Defines any non-standard interactions with the [[Gravity Gun]]. | :Defines any non-standard interactions with the [[Gravity Gun]]. | ||
Line 23: | Line 23: | ||
:Attaches [[:Category:Particle System|particles]]. | :Attaches [[:Category:Particle System|particles]]. | ||
; <code>[[prop_door_rotating#Custom door models|door_options]]</code> | ; <code>[[prop_door_rotating#Custom door models|door_options]]</code> | ||
: Configures the model for use with [[ | : Configures the model for use with [[prop door rotating]]. | ||
;<code>vehicle_entry</code> | ;<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 [[ | :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> | ;<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" ). | :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" ). | ||
Line 35: | Line 35: | ||
== Example == | == Example == | ||
$keyvalues | |||
{ | { | ||
[[Prop Data|prop_data]] | [[Prop Data|prop_data]] | ||
Line 44: | Line 44: | ||
explosive_radius 100 | explosive_radius 100 | ||
} | } | ||
[[ | [[physgun interactions]] | ||
{ | { | ||
onfirstimpact break | onfirstimpact break | ||
Line 59: | Line 59: | ||
$keyvalues | |||
{ | { | ||
vehicle_entry | vehicle_entry |
Revision as of 01:35, 6 January 2024
$keyvalues
is a c0 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" } }