Garry's Mod Wiki

util.GetModelInfo

  table util.GetModelInfo( string mdl )

Description

Returns a table containing the info about the model.

This function will silently fail if used on models with following strings in them:
  • _shared
  • _anims
  • _gestures
  • _anim
  • _postures
  • _gst
  • _pst
  • _shd
  • _ss
  • _anm
  • _include

Arguments

1 string mdl
Model path

Returns

1 table
The model info as a table with the following keys:
  • number SkinCount - Identical to Entity:SkinCount.
  • string KeyValues - Valve key-value formatted info about the model's physics (Constraint Info, etc). This is limited to 4096 characters.
  • string ModelKeyValues - Valve key-value formatted info about the model ($keyvalues command in the .qc of the model), if present
  • number MeshCount - Number of meshes the model has
  • number BoneCount - Number of bones the model has
  • number Flags - Model flags
  • boolean StaticProp - Whether the model is meant to be a static prop (a specific flag)

Example

Example usage of the function. We use util.KeyValuesToTablePreserveOrder in order to preserve multiple keys with the same name.

local ModelInfo = util.GetModelInfo("models/combine_gate_vehicle.mdl" ) print( ModelInfo.SkinCount ) // The skin count PrintTable( util.KeyValuesToTablePreserveOrder( ModelInfo.KeyValues ) ) // Physics data
Output:
1: Key = solid Value: 1: Key = index Value = 0 2: Key = name Value = Vehicle_Gate.Gate2_L 3: Key = mass Value = 1 4: Key = surfaceprop Value = metal 5: Key = damping Value = 0 6: Key = rotdamping Value = 0 7: Key = inertia Value = 1 8: Key = volume Value = 68522.9296875 ... 6: Key = editparams Value: 1: Key = rootname Value = 2: Key = totalmass Value = 1