$keyvalues: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
(for programmers)
Line 2: Line 2:


{{note|Since the values are arbitrary, [[studiomdl]] can't check that they are correct when it compiles the model.}}
{{note|Since the values are arbitrary, [[studiomdl]] can't check that they are correct when it compiles the model.}}
Programmers can access the $kevalues block with <code>modelinfo->GetModelKeyValueText(GetModel())</code> and the <code>[[KeyValues]]</code> class.


== Syntax ==
== Syntax ==

Revision as of 09:13, 23 June 2009

The QC command $keyvalues embeds a block of arbitrary keyvalues into the .mdl file.

Note.pngNote:Since the values are arbitrary, studiomdl can't check that they are correct when it compiles the model.

Programmers can access the $kevalues 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.
vehicle_entry
vehicle_exit
vehicle_escape_exit
Animations for players (or NPCs?) entering or exiting a vehicle.

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