Garry's Mod Wiki

Revision Difference

util.GetModelInfo#512330

<function name="GetModelInfo" parent="util" type="libraryfunc">⤶ <description>⤶ Returns a table containing the info about the model. It seems to be not working serverside, but still exists serverside.⤶ ⤶ <note>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</note>⤶ </description>⤶ <realm>Shared</realm>⤶ <args>⤶ <arg name="mdl" type="string">Model path</arg>⤶ </args>⤶ <rets>⤶ <ret name="" type="table">The model info as a table with the following keys:⤶ * <page>number</page> SkinCount - Identical to <page>Entity:SkinCount.</page>⤶ * <page>string</page> KeyValues - Valve key-value formatted info about the model's physics (Constraint Info, etc). This is limited to 4096 characters.⤶ * <page>string</page> ModelKeyValues - Valve key-value formatted info about the model ($keyvalues command in the .qc of the model), if present</ret>⤶ </rets>⤶ </function>⤶ ⤶ <example>⤶ <description>Example usage of the function. We use <page>util.KeyValuesToTablePreserveOrder</page> in order to preserve multiple keys with the same name.</description>⤶ <code>⤶ local ModelInfo = util.GetModelInfo("models/combine_gate_vehicle.mdl" )⤶ print( ModelInfo.SkinCount ) // The skin count⤶ PrintTable( util.KeyValuesToTablePreserveOrder( ModelInfo.KeyValues ) ) // Physics data⤶ </code>⤶ <outputfixedwidth>Fixed width</outputfixedwidth>⤶ <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⤶ </output>⤶ ⤶ </example>