HomeRendersDownloadsHL2 ModdingLinksContactAbout



Home > HL2 Modding > QC Glossary

QC File Glossary


Here you can see all .qc file commands. Need more information on what qc files are? Check out the tutorial section.
Dashed underlinesThat's right, dashed underlines just like this. mean a pop-up note is attached to the word, hover your mouse over it to read it.

Regarding Outlines of Use; brackets and their grey contents should not be used as shown. They should be replaced with appropriate values that can be seen from the 'Possible Values' sections. (Should the 'values' also be in grey, then just do as the 'values' instruct.) Quotation marks and file extensions (.smd, etc.) aren't required on all commands, but they help to keep the .qc file tidy, which in-turn helps prevent any possible mistakes.



QC files are merely .txt files that have had their file extension renamed to become a .qc file. These QC files consist of many "commands", which define almost everything about a model, such as; its folder structure and name, its physics properties, whether it has animations, and much, much more. Do not worry about placing capital letters in command names, as they are not case-sensitive. Brackets (and the like) however, are very sensitive, so be careful with those.

This is what a common QC used on a "prop" model will look like:
  • Example
      $cd "C:\Documents and Settings\Marc\Desktop\Compiling Related\Raptor"
      
      $modelname "katharsmodels\raptor\raptor.mdl"
      
      $cdmaterials "katharsmodels\raptor\"
      
      $scale 22
      
      $upaxis "z"
      
      $surfaceprop "metal"
      
      $body "studio" "raptor_ref.smd"
      
      $sequence idle "raptor_ref" fps 30.00
      
      $collisionmodel "raptor_phy.smd" {
      
      	$concave
      	$mass 1800
      }

  • This is what a common QC used on a "ragdoll" model will look like:
  • Example
      $cd "C:\Documents and Settings\Marc\Desktop\Jeff Wayne Tripod"
      
      $modelname "katharsmodels\jeffwayne_tripod\jeffwayne_tripod.mdl"
      
      $scale 32
      
      $body "studio" "tripod_ref.smd"
      
      $surfaceprop "metal"
      
      $cdmaterials "katharsmodels\jeffwayne_tripod\"
      
      $upaxis "z"
      
      $sequence idle "tripod_ref" fps 30.00
      
      $collisionjoints "tripod_phy.smd" {
      
      	$concave
      	$mass 10000000
      
      	$inertia 30.00
      	$damping 0.0
      	$drag 0.01
      	$rotdamping 0.0
      	$rootbone "root"
      
      	$jointcollide "root" "r_knee"
      	$jointcollide "root" "l_knee"
      	$jointcollide "root" "b_knee"
      
      	$jointcollide "root" "r_ankle"
      	$jointcollide "root" "l_ankle"
      	$jointcollide "root" "b_ankle"
      
      	$jointcollide "root" "r_arm3"
      	$jointcollide "root" "l_arm3"
      	$jointcollide "root" "b_arm3"
      
      	$jointcollide "r_arm3" "b_arm3"
      	$jointcollide "r_arm3" "l_arm3"
      	$jointcollide "l_arm3" "b_arm3"
      
      	$jointcollide "l_knee" "r_knee"
      	$jointcollide "l_knee" "b_knee"
      	$jointcollide "r_knee" "b_knee"
      
      	$jointcollide "l_ankle" "r_ankle"
      	$jointcollide "l_ankle" "b_ankle"
      	$jointcollide "r_ankle" "b_ankle"
      
      	$jointcollide "r_knee" "l_ankle"
      	$jointcollide "r_knee" "b_ankle"
      
      	$jointcollide "l_knee" "r_ankle"
      	$jointcollide "l_knee" "b_ankle"
      
      	$jointcollide "b_knee" "r_ankle"
      	$jointcollide "b_knee" "l_ankle"
      
      	$jointconstrain "l_arm1" x limit -48.00 58.00 0.00
      	$jointconstrain "l_arm1" y limit 0.00 0.00 0.00
      	$jointconstrain "l_arm1" z limit -35.00 70.00 0.00
      
      	$jointconstrain "l_arm2" x limit -10.00 10.00 0.00
      	$jointconstrain "l_arm2" y limit -18.00 85.00 0.00
      	$jointconstrain "l_arm2" z limit -35.00 77.00 0.00
      
      	$jointconstrain "l_arm3" x limit -50.00 65.00 0.00
      	$jointconstrain "l_arm3" y limit 0.00 0.00 0.00
      	$jointconstrain "l_arm3" z limit -65.00 70.00 0.00
      
      	$jointconstrain "r_arm1" x limit -48.00 58.00 0.00
      	$jointconstrain "r_arm1" y limit 0.00 0.00 0.00
      	$jointconstrain "r_arm1" z limit -35.00 70.00 0.00
      
      	$jointconstrain "r_arm2" x limit -10.00 10.00 0.00
      	$jointconstrain "r_arm2" y limit -18.00 85.00 0.00
      	$jointconstrain "r_arm2" z limit -35.00 77.00 0.00
      
      	$jointconstrain "r_arm3" x limit -50.00 65.00 0.00
      	$jointconstrain "r_arm3" y limit 0.00 0.00 0.00
      	$jointconstrain "r_arm3" z limit -65.00 70.00 0.00
      
      	$jointconstrain "b_arm1" x limit -30.00 30.00 0.00
      	$jointconstrain "b_arm1" y limit 0.00 0.00 0.00
      	$jointconstrain "b_arm1" z limit -40.00 40.00 0.00
      
      	$jointconstrain "b_arm2" x limit -60.00 60.00 0.00
      	$jointconstrain "b_arm2" y limit 0.00 0.00 0.00
      	$jointconstrain "b_arm2" z limit -60.00 60.00 0.00
      
      	$jointconstrain "b_arm3" x limit -20.00 20.00 0.00
      	$jointconstrain "b_arm3" y limit 0.00 0.00 0.00
      	$jointconstrain "b_arm3" z limit -20.00 20.00 0.00
      
      	$jointconstrain "l_thigh" x limit 0.00 0.00 0.00
      	$jointconstrain "l_thigh" y limit -25.00 25.00 0.00
      	$jointconstrain "l_thigh" z limit -39.00 46.00 0.00
      
      	$jointconstrain "l_knee" x limit 0.00 0.00 0.00
      	$jointconstrain "l_knee" y limit 0.00 0.00 0.00
      	$jointconstrain "l_knee" z limit -20.00 77.00 0.00
      
      	$jointconstrain "l_ankle" x limit -52.00 70.00 0.00
      	$jointconstrain "l_ankle" y limit 0.00 0.00 0.00
      	$jointconstrain "l_ankle" z limit -44.00 70.00 0.00
      
      	$jointconstrain "r_thigh" x limit 0.00 0.00 0.00
      	$jointconstrain "r_thigh" y limit -25.00 25.00 0.00
      	$jointconstrain "r_thigh" z limit -46.00 39.00 0.00
      
      	$jointconstrain "r_knee" x limit 0.00 0.00 0.00
      	$jointconstrain "r_knee" y limit 0.00 0.00 0.00
      	$jointconstrain "r_knee" z limit -77.00 20.00 0.00
      
      	$jointconstrain "r_ankle" x limit -52.00 70.00 0.00
      	$jointconstrain "r_ankle" y limit 0.00 0.00 0.00
      	$jointconstrain "r_ankle" z limit -44.00 70.00 0.00
      
      	$jointconstrain "b_thigh" x limit -46.00 39.00 0.00
      	$jointconstrain "b_thigh" y limit -25.00 25.00 0.00
      	$jointconstrain "b_thigh" z limit 0.00 0.00 0.00
      
      	$jointconstrain "b_knee" x limit -20.00 77.00 0.00
      	$jointconstrain "b_knee" y limit 0.00 0.00 0.00
      	$jointconstrain "b_knee" z limit 0.00 0.00 0.00
      
      	$jointconstrain "b_ankle" x limit -52.00 70.00 0.00
      	$jointconstrain "b_ankle" y limit 0.00 0.00 0.00
      	$jointconstrain "b_ankle" z limit -44.00 70.00 0.00
      
      	$jointconstrain "heatray" x limit -8.00 44.00 0.00
      	$jointconstrain "heatray" y limit -30.00 30.00 0.00
      	$jointconstrain "heatray" z limit 0.00 0.00 0.00
      }



  • QC Commands

    HL2 - Standard:
  • $alwayscollapse
        About:

        Outline of Use:
        $alwayscollapse "(joint-name)"

        Possible Values:

        Examples of Use:
  • $ambientboost
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $animation
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $animblocksize
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $append
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $attachment
        About:

        Outline of Use #1:
        $attachment "(name)" "(joint-parent)" (x-position) (y-position) (z-position) rotate "(x)" "(y)" "(z)"

        Outline of Use #2:
        $attachment "(name)" "(joint-parent)" (x-position) (y-position) (z-position) absolute

        Possible Values:
        nameThis is where you define the name of the attachment. The name is important as you commonly refer to it. For example, attachment points can be referred to, when making cables with the '$keyvalues > cables' command. = attachment's name
        joint-parent = a joint name
        x-position = real numberA real number is any number. It can be negative, a decimal, or both. So your 'value' should be something like these: -6, 1.2, 0, -3, 4032.405 etc.
        y-position = real numberA real number is any number. It can be negative, a decimal, or both. So your 'value' should be something like these: -6, 1.2, 0, -3, 4032.405 etc.
        z-position = real numberA real number is any number. It can be negative, a decimal, or both. So your 'value' should be something like these: -6, 1.2, 0, -3, 4032.405 etc.
        x = -180 to 180
        y = -180 to 180
        z = -180 to 180

        Examples of Use:
      • Example #1
          $cd "C:\Documents and Settings\Marc\Desktop\Gordon Freeman"
          $modelname "player/gordon_classic.mdl"
          $model "gordon" "gordon_freeman_ref.smd" {
          
            flexfile "NULL.vta"
            flex "NULL"  frame 10
             flexcontroller "phoneme" "NULL" "range" 0 1
          
            flexfile "right_lid_raiser.vta"
            flex "right_lid_raiser"  frame 10
             flexcontroller "eyelid" "right_lid_raiser" "range" 0 1
          
            flexfile "left_lid_raiser.vta"
            flex "left_lid_raiser"  frame 10
             flexcontroller "eyelid" "left_lid_raiser" "range" 0 1
          
            flexfile "right_lid_tightener.vta"
            flex "right_lid_tightener"  frame 10
             flexcontroller "eyelid" "right_lid_tightener" "range" 0 1
          
            flexfile "left_lid_tightener.vta"
            flex "left_lid_tightener"  frame 10
             flexcontroller "eyelid" "left_lid_tightener" "range" 0 1
          
            flexfile "right_lid_droop.vta"
            flex "right_lid_droop"  frame 10
             flexcontroller "eyelid" "right_lid_droop" "range" 0 1
          
            flexfile "left_lid_droop.vta"
            flex "left_lid_droop"  frame 10
             flexcontroller "eyelid" "left_lid_droop" "range" 0 1
          
          	eyeball righteye "ValveBiped.Bip01_Head1" -1.17 -2.15 67.47 "eyeball_r" 1.00 4 "grn_pupil_r" 0.73
          	eyeball lefteye "ValveBiped.Bip01_Head1" 1.18 -2.15 67.47 "eyeball_l" 1.00 -4 "grn_pupil_l" 0.73
               mouth 0 "mouth"  ValveBiped.Bip01_Head1 0.000 1.000 0.000
          
           %right_lid_raiser = right_lid_raiser
           %left_lid_raiser = left_lid_raiser
           %right_lid_tightener = right_lid_tightener
           %left_lid_tightener = left_lid_tightener
           %right_lid_droop = right_lid_droop
           %left_lid_droop = left_lid_droop
          }
          
          $cdmaterials "katharsmodels/gordon_freeman/"
          
          $hboxset "default"
          $hbox 1 "ValveBiped.Bip01_Head1" -1.250  -6.500  -3.190  8.250  3.500  3.310
          $hbox 4 "ValveBiped.Bip01_L_UpperArm" 0.000  -2.750  -2.750  12.510  1.750  2.250
          $hbox 4 "ValveBiped.Bip01_L_Forearm" 0.000  -2.190  -2.380  13.000  1.810  1.620
          $hbox 4 "ValveBiped.Bip01_L_Hand" 0.060  -2.000  -1.500  4.060  1.000  2.500
          $hbox 5 "ValveBiped.Bip01_R_UpperArm" 0.000  -3.000  -2.250  12.390  2.000  2.750
          $hbox 5 "ValveBiped.Bip01_R_Forearm" -0.500  -2.200  -1.550  12.500  1.800  2.450
          $hbox 5 "ValveBiped.Bip01_R_Hand" 0.060  -2.000  -2.500  4.060  1.000  1.500
          $hbox 6 "ValveBiped.Bip01_L_Thigh" 0.000  -3.750  -3.250  17.850  3.750  3.250
          $hbox 6 "ValveBiped.Bip01_L_Calf" 0.000  -3.510  -3.280  15.640  3.490  2.720
          $hbox 6 "ValveBiped.Bip01_L_Foot" -1.070  -2.000  -2.840  5.040  5.000  2.160
          $hbox 7 "ValveBiped.Bip01_R_Thigh" 0.000  -3.750  -3.250  17.850  3.750  3.250
          $hbox 7 "ValveBiped.Bip01_R_Calf" 0.000  -3.510  -2.820  15.640  3.490  3.180
          $hbox 7 "ValveBiped.Bip01_R_Foot" -1.060  -2.010  -2.280  5.050  4.990  2.720
          $hbox 3 "ValveBiped.Bip01_Pelvis" -7.500  -5.500  -6.000  7.500  8.500  5.000
          $hbox 2 "ValveBiped.Bip01_Spine2" -2.500  -2.500  -7.000  14.500  7.500  7.000
          
          $attachment "eyes" "ValveBiped.Bip01_Head1" 0.00 -2.25 67.47 absolute
          $attachment "mouth" "ValveBiped.Bip01_Head1" 1.00 -5.70 -0.00 rotate 0.00 -80.00 -90.00
          $attachment "chest" "ValveBiped.Bip01_Spine2" 5.00 4.00 -0.00 rotate 0.00 90.00 90.00
          $attachment "cameraeye" "ValveBiped.Bip01_Head1" 4.39 -4.02 -1.23 rotate 90.00 -80.17 0.00
          $attachment "forward" "ValveBiped.Bip01_Head1" 0.0 0.0 0.0 rotate 0 -80 -90
          $attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
          $attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" -0.00 0.00 -0.00 rotate -90.00 -90.00 0.00
          $attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" -0.00 0.00 -0.00 rotate -90.00 -90.00 0.00
          
          $includemodel "m_anm.mdl"
          $includemodel "m_gst.mdl"
          $includemodel "m_pst.mdl"
          $includemodel "m_shd.mdl"
          $includemodel "m_ss.mdl"
          $includemodel "humans/male_shared.mdl"
          
          $surfaceprop "flesh"
          $eyeposition 0.000 0.000 70.000
          
          $sequence ragdoll "gordon_freeman_ref" ACT_DIERAGDOLL 1 fps 30.00
          $ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
          $ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
          $ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
          $ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
          
          $collisionjoints "gordon_freeman_phys" {
          
          	$mass 90.0
          	$inertia 10.00
          	$damping 0.01
          	$rotdamping 1.50
          	$rootbone "ValveBiped.bip01_pelvis"
          	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"
          
          	$jointconstrain "ValveBiped.bip01_spine2" x limit -0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_spine2" y limit -7.00 7.00 0.00
          	$jointconstrain "ValveBiped.bip01_spine2" z limit -10.00 20.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_r_upperarm" x limit -39.00 39.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_upperarm" y limit -79.00 95.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_upperarm" z limit -93.00 23.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_l_upperarm" x limit -30.00 30.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_upperarm" y limit -95.00 84.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_upperarm" z limit -86.00 26.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_l_forearm" x limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_forearm" y limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_forearm" z limit -149.00 4.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_l_hand" x limit -37.00 37.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_hand" y limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_hand" z limit -57.00 59.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_r_forearm" x limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_forearm" y limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_forearm" z limit -149.00 4.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_r_hand" x limit -60.00 60.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_hand" y limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_hand" z limit -57.00 70.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_r_thigh" x limit -12.00 12.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_thigh" y limit -8.00 75.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_thigh" z limit -97.00 32.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_r_calf" x limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_calf" y limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_calf" z limit -12.00 126.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_head1" x limit -20.00 20.00 0.00
          	$jointconstrain "ValveBiped.bip01_head1" y limit -25.00 25.00 0.00
          	$jointconstrain "ValveBiped.bip01_head1" z limit -13.00 30.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_l_thigh" x limit -12.00 12.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_thigh" y limit -73.00 6.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_thigh" z limit -93.00 30.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_l_calf" x limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_calf" y limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_calf" z limit -8.00 126.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_l_foot" x limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_foot" y limit -19.00 19.00 0.00
          	$jointconstrain "ValveBiped.bip01_l_foot" z limit -15.00 35.00 0.00
          
          	$jointconstrain "ValveBiped.bip01_r_foot" x limit 0.00 0.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_foot" y limit -25.00 6.00 0.00
          	$jointconstrain "ValveBiped.bip01_r_foot" z limit -15.00 35.00 0.00
          	$animatedfriction 1.000 400.000 0.500 0.300 0.000
          }
  • $autocenter
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $body
        About:
        I won't go into too much detail, but if you want to know more, check out the tutorial section. There's several SMD types which make up a model. All of which do different things. There's a 'reference' smd, which is what you will see in-game. There's the 'collision/phys' smd which is what you 'feel' in-game (reacts to the environment) and then there's 'skeletal/animation' smds, which tell the model what pose to be in. This $body command tells the model what 'reference' smd to use.

        $body is merely a simple version of the '$model' command. $body makes the model load a tiny bit faster, and should be used when not using any of the sub-commands of '$model'. Such as, flexes (blendshapes, morph targets), eyeballs, eyelids, etc.

        All model details are generally inside one SMD and loaded from one $body/$model command. However, if you're working on a pre-existing model and, let's say, you wanted to add some glasses to it, then usually the pre-existing flexes will also bend the glasses with them. To solve this, leave the original smd being loaded by the $model command and then make a copy of that SMD, import it into your modelling application, place the glasses where you'd like them to be, delete the rest of the mesh but keep the skeleton and then bind the glasses to the head joint and export. You can then add a $body command loading the glasses smd. What this essentially doing is saying; okay, I've got a body-mesh, with facial expressions, it then adds the other '$body/$model' commands to it. So it will now find the glasses smd, notice they are the same skeleton, sort of 'morph' them into one skeleton and thus the glasses are on the face. But as only the '$model' command holds the flex information, the glasses will not be affected.

        Outline of Use:
        $body "(name)" "(reference-model.smd)"

        Possible Values:
        nameI am unsure what this 'name' refers to, but cannot be that important as I haven't ran into anything related to it yet. Default name for this tends to be 'studio'. = name
        reference-model.smdSet this to the name of the .smd file you wish to load.

        The .smd file extension isn't actually required. The compilers can run just fine without it, but it makes the .qc file easier to read, and without organisation, problems tend to occur.
        = an SMD name

        Examples of Use:
      • Example #1
          $cd "C:\Documents and Settings\Marc\Desktop\Mod Models\Crates\Wooden Crate 1"
          $modelname "filler_props/wooden_crate_1.mdl"
          $scale 2.12
          $body "crate" "wooden_crate_1_ref.smd"
          $surfaceprop "wood_crate"
          $cdmaterials "models/filler_props/wooden_crate_1/"
          $sequence idle "wooden_crate_1_ref" fps 1.00
          
          $collisionmodel "wooden_crate_1_phys.smd" {
          	$concave
          	$mass 60
          }
      • Example #2
          $cd "C:\Documents and Settings\Marc\Desktop\decompile"
          $modelname "Police.mdl"
          $model "police" "Police_reference.smd" {
          
            flexfile "NULL.vta"
            flex "NULL"  frame 10
             flexcontroller "phoneme" "NULL" "range" 0 1
          
            flexfile "right_lid_raiser.vta"
            flex "right_lid_raiser"  frame 10
             flexcontroller "eyelid" "right_lid_raiser" "range" 0 1
          
            flexfile "left_lid_raiser.vta"
            flex "left_lid_raiser"  frame 10
             flexcontroller "eyelid" "left_lid_raiser" "range" 0 1
          
            flexfile "right_lid_tightener.vta"
            flex "right_lid_tightener"  frame 10
             flexcontroller "eyelid" "right_lid_tightener" "range" 0 1
          
            flexfile "left_lid_tightener.vta"
            flex "left_lid_tightener"  frame 10
             flexcontroller "eyelid" "left_lid_tightener" "range" 0 1
          
            flexfile "right_lid_droop.vta"
            flex "right_lid_droop"  frame 10
             flexcontroller "eyelid" "right_lid_droop" "range" 0 1
          
            flexfile "left_lid_droop.vta"
            flex "left_lid_droop"  frame 10
             flexcontroller "eyelid" "left_lid_droop" "range" 0 1
          
           	eyeball righteye "ValveBiped.Bip01_Head1" -1.17 -2.15 67.47 "eyeball_r" 1.00 4 "grn_pupil_r" 0.73
          	eyeball lefteye "ValveBiped.Bip01_Head1" 1.18 -2.15 67.47 "eyeball_l" 1.00 -4 "grn_pupil_l" 0.73
               mouth 0 "mouth"  ValveBiped.Bip01_Head1 0.000 1.000 0.000
          
           %right_lid_raiser = right_lid_raiser
           %left_lid_raiser = left_lid_raiser
           %right_lid_tightener = right_lid_tightener
           %left_lid_tightener = left_lid_tightener
           %right_lid_droop = right_lid_droop
           %left_lid_droop = left_lid_droop
          }
          
          $body "glasses" "glasses_ref.smd"
          
          $cdmaterials "models\Police\"
          $cdmaterials "models\manhack\"
          $hboxset "default"
          $hbox 1 "ValveBiped.Bip01_Head1" -3.500  -7.710  -3.850  7.500  5.710  3.960
          $hbox 4 "ValveBiped.Bip01_L_UpperArm" 0.000  -3.370  -3.700  12.510  3.400  2.410
          $hbox 4 "ValveBiped.Bip01_L_Forearm" -0.900  -3.490  -3.170  9.490  3.100  2.410
          $hbox 4 "ValveBiped.Bip01_L_Hand" -1.110  -1.890  -2.380  5.720  1.460  2.340
          $hbox 5 "ValveBiped.Bip01_R_UpperArm" 0.000  -3.370  -2.370  12.390  3.410  3.800
          $hbox 5 "ValveBiped.Bip01_R_Forearm" -0.990  -3.500  -2.370  9.330  3.100  3.270
          $hbox 5 "ValveBiped.Bip01_R_Hand" -1.190  -1.860  -2.330  5.310  1.940  2.610
          $hbox 6 "ValveBiped.Bip01_L_Thigh" 0.000  -6.000  -3.550  17.850  4.000  4.450
          $hbox 6 "ValveBiped.Bip01_L_Calf" 0.000  -3.510  -3.280  15.640  3.490  2.720
          $hbox 6 "ValveBiped.Bip01_L_Foot" -1.070  -2.000  -2.840  5.040  5.000  2.160
          $hbox 6 "ValveBiped.Bip01_L_Toe0" -0.500  -3.000  -2.190  2.500  0.000  2.460
          $hbox 7 "ValveBiped.Bip01_R_Thigh" 0.000  -6.000  -4.550  17.850  4.000  3.400
          $hbox 7 "ValveBiped.Bip01_R_Calf" 0.000  -3.510  -2.820  15.640  3.490  3.180
          $hbox 7 "ValveBiped.Bip01_R_Foot" -1.060  -2.010  -2.280  5.050  4.990  2.720
          $hbox 7 "ValveBiped.Bip01_R_Toe0" -0.500  -3.000  -2.600  2.500  0.000  2.100
          $hbox 3 "ValveBiped.Bip01_Pelvis" -7.500  -6.000  -6.000  7.500  6.000  6.000
          $hbox 2 "ValveBiped.Bip01_Spine2" -6.500  -2.500  -7.000  10.500  7.500  7.000
          
          $attachment "eyes" "ValveBiped.Bip01_Head1" 3.34 -5.28 -0.00 rotate 0.00 -80.10 -90.00
          $attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
          $attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" -0.00 -0.00 0.00 rotate -90.00 -90.00 0.00
          $attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" -0.00 0.00 0.00 rotate -90.00 -90.00 0.00
          $includemodel "Police_animations.mdl"
          $includemodel "Police_ss.mdl"
          $surfaceprop "flesh"
          $eyeposition 0.000 0.000 72.000
          $illumposition -1.866 0.053 36.320
          $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
          $ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
          $ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
          $ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
          $ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
          $collisionjoints "phymodel.smd" {
          
          	$mass 90.0
          	$inertia 2.00
          	$damping 0.01
          	$rotdamping 0.40
          	$rootbone "valvebiped.bip01_pelvis"
          	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"
          
          	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.20
          	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.20
          	$jointconstrain "valvebiped.bip01_spine2" z limit -25.00 50.00 0.20
          
          	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -50.00 57.00 0.20
          	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -19.00 102.00 0.20
          	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -93.00 30.00 0.20
          
          	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -50.00 57.00 0.20
          	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -102.00 19.00 0.20
          	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -93.00 30.00 0.20
          
          	$jointmassbias "valvebiped.bip01_l_forearm" 2.00
          	$jointconstrain "valvebiped.bip01_l_forearm" x limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_l_forearm" y limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_l_forearm" z limit -120.00 4.00 0.20
          
          	$jointmassbias "valvebiped.bip01_l_hand" 4.00
          	$jointconstrain "valvebiped.bip01_l_hand" x limit -60.00 60.00 0.20
          	$jointconstrain "valvebiped.bip01_l_hand" y limit -30.00 30.00 0.20
          	$jointconstrain "valvebiped.bip01_l_hand" z limit -57.00 70.00 0.20
          
          	$jointmassbias "valvebiped.bip01_r_forearm" 2.00
          	$jointconstrain "valvebiped.bip01_r_forearm" x limit 0.00 0.00 0.20
          	$jointconstrain "valvebiped.bip01_r_forearm" y limit 0.00 0.00 0.20
          	$jointconstrain "valvebiped.bip01_r_forearm" z limit -120.00 4.00 0.20
          
          	$jointmassbias "valvebiped.bip01_r_hand" 4.00
          	$jointconstrain "valvebiped.bip01_r_hand" x limit -60.00 60.00 0.20
          	$jointconstrain "valvebiped.bip01_r_hand" y limit -30.00 30.00 0.20
          	$jointconstrain "valvebiped.bip01_r_hand" z limit -57.00 70.00 0.20
          
          	$jointmassbias "valvebiped.bip01_head1" 2.00
          	$jointconstrain "valvebiped.bip01_head1" x limit -20.00 20.00 0.20
          	$jointconstrain "valvebiped.bip01_head1" y limit -25.00 25.00 0.20
          	$jointconstrain "valvebiped.bip01_head1" z limit -13.00 30.00 0.20
          	$animatedfriction 1.000 1000.000 0.800 0.500 0.000
          }
  • $bodygroup
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $bonemerge
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $bonesaveframe
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $calctransitions
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $cbox
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $cd
  • $cdmaterials
        About:
        This command is used to define where your compiled model will look for its textures - the .vmt files. Which in-turn, will result in finding your .vtf files. This command can be declared several times, but if multiple vmts are found that the model wishes to use, then the '$cdmaterials' command that is closest to the top of the QC will take priority.

        Outline of Use:
        $cdmaterials "(location-of-VMTs)"

        Possible Values:
        location-of-VMTs = path/directory of VMTs

        Examples of Use:
      • Example #1
          $cd "C:\Documents and Settings\Marc\Desktop\Mod Models\Train\train_cab"
          $upaxis "y"
          $modelname "train_props/train_cab.mdl"
          $body "train_cab" "train_cab_ref.smd"
          $surfaceprop "metal"
          $cdmaterials "models/train_props/"
          $cdmaterials "models/train_props2/"
          $sequence idle "train_cab_ref" fps 30.00
          
          $collisionmodel "train_cab_phys.smd" {
          	$concave
          	$mass 15000
          }
  • $cliptotextures
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $cmdlist
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $collapsebones
        About:
        Collapses/removes all bones in the model.

        Outline of Use:
        $collapsebones

        Possible Values:

        Examples of Use:
  • $collapsebonesaggressive
        About:
        Collapses/removes all bones in the model.

        Outline of Use:
        $collapsebones

        Possible Values:

        Examples of Use:
  • $collisionjoints
        About:

        Incompatible With:
        "$collisionmodel".

        Outline of Use:
        $collisionjoints "(collision-smd)" { "(sub-command)" "(sub-command's-value)" }

        Possible Values:
        reference-smd = an SMD name
        sub-command = See "Sub Commands"
        sub-command's-value = See "Sub Commands"

        Sub Commands:
      • $animatedfriction
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $automass
            About:
            I'm not a huge fan of this one, as I prefer the flexibility and precision of the $mass command. I don't know much about it, but from what I can tell it works out the volume of your collision model, then adds/subtracts from this value depending on the $surfaceprop/prop_data base type specified.

            Outline of Use:
            $automass

            Possible Values:
            N/A (no values are used)

            Examples of Use:
      • $concave
            About:
            This command should be specified if you have made a custom collision model and you want it to be 'concave', rather than convex. (A default convex bounding box would be "made" by the compiler, even if a concave collision was used unless this command is declared.)

            If you are unsure of the differences between concave and convex, then see here for an example. (Just imagine the 'hole' in 3D.)

            Outline of Use:
            $concave

            Possible Values:
            N/A (no values are used)

            Examples of Use:
      • $controller
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $damping
            About:
            As the word 'damping' suggests, this command affects how the model will react when hitting something. (among other things, probably) For example, a simple mechanical object would likely have a value of around 0 because its surface wouldn't be very bouncy/soft. Whereas something soft and organic like a human or animal, would have a higher value (usually around 1.5), as they wouldn't instantly 'stop' as they hit something, but rather 'squish', then bounce back a bit.

            Outline of Use:
            $damping "(value)"

            Possible Values:
            value = 0 to infinite (untested)

            Examples of Use:
      • $definemacro
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $drag
            About:
            Scales the air restistance of the model. 1 is default. Any higher values will be like trying to pull a parachute filled with air.

            Outline of Use:
            $drag "(value)"

            Possible Values:
            value = 0 to infinite (untested)

            Examples of Use:
      • $inertia
            About:

            Outline of Use:
            $inertia "(value)"

            Possible Values:
            value = 0 to infinite (untested)

            Examples of Use:
      • $jointcollide
      • $jointconstrain
            About:

            Outline of Use:
            $jointconstrain "(joint-name)" (axisSpecify the axis you wish to edit. Possible values: x, y and z.) limit (negative-limit) (positive-limit) (friction-value)

            Possible Values:
            joint-name = (a joint nameThe joint needs to be located in your collision .smd, and must have a mesh at least partially binded to it.)
            axis = x, y, z
            negative-limit = -180 to 0
            positive-limit = 0 to 180
            fraction-limit = 0 to infinite (untested)

            Examples of Use:
          • Example #1
              $cd "C:\Documents and Settings\Marc\Desktop\decompile"
              $modelname "Humans\Group01\male_09.mdl"
              $model "male_09" "male_09_reference.smd"
              $cdmaterials "models\Humans\Male\Group01\"
              $attachment "eyes" "ValveBiped.Bip01_Head1" 3.79 -3.78 0.01 rotate 0.00 -80.10 -90.00
              $attachment "mouth" "ValveBiped.Bip01_Head1" 1.00 -5.70 -0.00 rotate 0.00 -80.00 -90.00
              $attachment "anim_attachment_RH" "ValveBiped.Anim_Attachment_RH" -0.00 -0.00 -0.00 rotate -90.00 -90.00 0.00
              $attachment "anim_attachment_LH" "ValveBiped.Anim_Attachment_LH" -0.00 0.00 -0.00 rotate -90.00 -90.00 0.00
              $attachment "anim_attachment_head" "ValveBiped.Bip01_Head1" -0.00 0.00 -0.00 rotate -90.00 -90.00 0.00
              $includemodel "humans/male_shared.mdl"
              $includemodel "humans/male_ss.mdl"
              $includemodel "humans/male_gestures.mdl"
              $includemodel "humans/male_postures.mdl"
              $surfaceprop "flesh"
              $eyeposition 0.000 0.000 70.000
              $illumposition 0.637 0.000 36.119
              $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
              $ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
              $ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
              $ikchain rfoot ValveBiped.Bip01_R_Foot knee  0.707 -0.707 0.000
              $ikchain lfoot ValveBiped.Bip01_L_Foot knee  0.707 -0.707 0.000
              $collisionjoints "phymodel.smd" {
              
              	$mass 90.0
              	$inertia 10.00
              	$damping 0.01
              	$rotdamping 1.50
              	$rootbone "valvebiped.bip01_pelvis"
              	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"
              
              	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.00
              	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.00
              	$jointconstrain "valvebiped.bip01_spine2" z limit -25.00 50.00 0.00
              
              	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -39.00 39.00 0.00
              	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -79.00 95.00 0.00
              	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -93.00 23.00 0.00
              
              	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -30.00 30.00 0.00
              	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -95.00 84.00 0.00
              	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -86.00 26.00 0.00
              
              	$jointconstrain "valvebiped.bip01_l_forearm" x limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_l_forearm" y limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_l_forearm" z limit -149.00 4.00 0.00
              
              	$jointconstrain "valvebiped.bip01_l_hand" x limit -37.00 37.00 0.00
              	$jointconstrain "valvebiped.bip01_l_hand" y limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_l_hand" z limit -57.00 59.00 0.00
              
              	$jointconstrain "valvebiped.bip01_r_forearm" x limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_r_forearm" y limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_r_forearm" z limit -149.00 4.00 0.00
              
              	$jointconstrain "valvebiped.bip01_r_hand" x limit -60.00 60.00 0.00
              	$jointconstrain "valvebiped.bip01_r_hand" y limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_r_hand" z limit -57.00 70.00 0.00
              
              	$jointconstrain "valvebiped.bip01_r_thigh" x limit -12.00 12.00 0.00
              	$jointconstrain "valvebiped.bip01_r_thigh" y limit -8.00 75.00 0.00
              	$jointconstrain "valvebiped.bip01_r_thigh" z limit -97.00 32.00 0.00
              
              	$jointconstrain "valvebiped.bip01_r_calf" x limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_r_calf" y limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_r_calf" z limit -12.00 126.00 0.00
              
              	$jointconstrain "valvebiped.bip01_head1" x limit -20.00 20.00 0.00
              	$jointconstrain "valvebiped.bip01_head1" y limit -25.00 25.00 0.00
              	$jointconstrain "valvebiped.bip01_head1" z limit -13.00 30.00 0.00
              
              	$jointconstrain "valvebiped.bip01_l_thigh" x limit -12.00 12.00 0.00
              	$jointconstrain "valvebiped.bip01_l_thigh" y limit -73.00 6.00 0.00
              	$jointconstrain "valvebiped.bip01_l_thigh" z limit -93.00 30.00 0.00
              
              	$jointconstrain "valvebiped.bip01_l_calf" x limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_l_calf" y limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_l_calf" z limit -8.00 126.00 0.00
              
              	$jointconstrain "valvebiped.bip01_l_foot" x limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_l_foot" y limit -19.00 19.00 0.00
              	$jointconstrain "valvebiped.bip01_l_foot" z limit -15.00 35.00 0.00
              
              	$jointconstrain "valvebiped.bip01_r_foot" x limit 0.00 0.00 0.00
              	$jointconstrain "valvebiped.bip01_r_foot" y limit -25.00 6.00 0.00
              	$jointconstrain "valvebiped.bip01_r_foot" z limit -15.00 35.00 0.00
              	$animatedfriction 1.000 400.000 0.500 0.300 0.000
              }
      • $jointcontents
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $jointdamping
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $jointinertia
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $jointmassbias
      • $jointmerge
            About:
            While the command's name implies that it merges joints, it doesn't. It infact merges the collision meshes (objects) that are binded to the specified joints. Joint 2's collision mesh is merged and binded with Joint 1. Remember though, ragdolls can only have one 'convex' collision mesh per joint, this is not a work around for that.

            Outline of Use:
            $jointmerge "(joint1)" "(joint2)"

            Possible Values:
            joint-1 = a joint name
            joint-2 = a joint name

            Examples of Use:
      • $jointrotdamping
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $jointskip
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $mass
      • $masscenter
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $noselfcollisions
            About:
            Prevents any of the model's collision model parts colliding with each other. Mainly used to prevent the ragdoll spasming & for performance issues.

            Outline of Use:
            $noselfcollisions

            Possible Values:
            N/A (no values are used)

            Examples of Use:
      • $poseparameter
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $proceduralbones
            About:

            Outline of Use:

            Possible Values:

            Examples of Use:
      • $rootbone
            About:

            Outline of Use:
            $rootbone "(joint-name)"

            Possible Values:
            N/A (no values are used)

            Examples of Use:
      • $rotdamping
            About:
            Short for Rotational Damping. As the word 'damping' suggests, this command affects how joints will react when hitting their '$jointconstrain' limits. (among other things, probably) For example, a simple mechanical object would likely have a value of 0 because its joints would have no dampeners. Whereas something soft and organic like a human or animal, would have a higher value (usually around 1.5), as their joints wouldn't instantly 'stop' as they reach their limits, but rather bounce back a bit.

            Outline of Use:
            $rotdamping "(value)"

            Possible Values:
            value = 0 to infinite (untested)

            Examples of Use:

      • Examples of Use:
  • $collisionmodel
  • $collisiontext
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
      • Example #1
          $cd "C:\Documents and Settings\Marc\Desktop\Combine_strider"
          $modelname "Combine_Strider.mdl"
          $model "studio" "Strider_Reference.smd"
          $lod 50
           {
            replacemodel "Strider_Reference" "lod1_Strider_Reference"
          }
          $lod 75
           {
            replacemodel "Strider_Reference" "lod2_Strider_Reference"
          }
          $lod 100
           {
            replacemodel "Strider_Reference" "lod3_Strider_Reference"
          }
          $lod 140
           {
            replacemodel "Strider_Reference" "lod4_Strider_Reference"
          }
          $shadowlod
          {
            replacemodel "Strider_Reference" "lod5_Strider_Reference"
          }
          
          $poseparameter move_yaw -180.00 180.00 360.00
          $poseparameter body_height 0.00 500.00
          $poseparameter yaw -37.82 45.34
          $poseparameter pitch -30.30 49.80
          $poseparameter minigunYaw -90.00 90.00
          $poseparameter minigunPitch -45.00 45.00
          
          $cdmaterials "models\combine_strider\"
          
          $hboxset "default"
          $hbox 1 "Combine_Strider.Body_Bone" -32.500  -22.500  -35.000  32.500  22.500  35.000
          $hbox 7 "Combine_Strider.Leg_Right_Bone" -20.000  -7.500  -7.500  190.000  7.500  7.500
          $hbox 7 "Combine_Strider.Leg_Right_Bone1" -10.000  -1.000  -1.000  310.000  11.000  11.000
          $hbox 4 "Combine_Strider.Leg_Hind_Bone" -15.000  -5.500  -7.500  205.000  9.500  7.500
          $hbox 4 "Combine_Strider.Leg_Hind_Bone1" -5.000  1.000  -6.000  315.000  13.000  6.000
          $hbox 6 "Combine_Strider.Leg_Left_Bone" -20.000  -7.500  -7.500  190.000  7.500  7.500
          $hbox 6 "Combine_Strider.Leg_Left_Bone1" -10.000  -1.000  -11.000  310.000  11.000  1.000
          $hbox 1 "Combine_Strider.Neck_Bone" -2.500  -13.000  -22.500  52.500  17.000  12.500
          $hbox 1 "Combine_Strider.Gun_Bone1" -19.430  -13.500  -10.500  30.570  11.500  14.500
          $hbox 2 "Combine_Strider.Gun_Bone2" -10.000  -45.000  -7.170  80.000  -15.000  2.830
          $hbox 7 "Combine_Strider.Shoulder_Bone_Right" 0.000  -10.000  -10.000  30.000  10.000  10.000
          $hbox 6 "Combine_Strider.Shoulder_Bone_Left" 0.000  -10.000  -10.000  30.000  10.000  10.000
          
          $attachment "left foot" "Combine_Strider.Foot_Left" -0.00 0.00 0.00 rotate 0.00 -0.00 -0.00
          $attachment "right foot" "Combine_Strider.Foot_Right" 0.00 -0.00 -0.00 rotate 0.00 0.00 0.00
          $attachment "back foot" "Combine_Strider.Foot_Hind" 0.00 0.00 0.00 rotate 0.00 0.00 0.00
          $attachment "kneeL" "Combine_Strider.Leg_Left_Bone1" -0.00 -0.00 0.00 rotate -0.00 -0.00 -0.00
          $attachment "kneeR" "Combine_Strider.Leg_Right_Bone1" 0.00 0.00 0.00 rotate -0.00 0.00 -0.00
          $attachment "kneeB" "Combine_Strider.Leg_Hind_Bone1" -0.00 -0.00 -0.00 rotate -0.00 -0.00 0.00
          $attachment "left skewer" "Combine_Strider.Leg_Left_Bone1" 240.00 5.00 -5.00 rotate -0.00 -0.00 -0.00
          $attachment "right skewer" "Combine_Strider.Leg_Right_Bone1" 240.00 5.00 5.00 rotate -0.00 0.00 -0.00
          $attachment "BigGun" "Combine_Strider.Gun_Bone2" 80.96 -45.09 -1.37 rotate -0.00 -22.50 -90.00
          $attachment "MiniGun" "Combine_Strider.Head_Bone" 2.00 -0.00 36.00 rotate -90.00 -90.00 0.00
          $attachment "MiniGunBase" "Combine_Strider.Head_Bone" -0.00 -0.00 0.00 rotate -90.00 -90.00 0.00
          $attachment "vehicle_driver_eyes" "Combine_Strider.Body_Bone" 0.00 50.00 -50.00 rotate -90.00 -90.00 0.00
          $attachment "vehicle_driver_exit" "Combine_Strider.Body_Bone" 0.00 50.00 -50.00 rotate -90.00 -90.00 0.00
          
          $surfaceprop "strider"
          $eyeposition 0.000 0.000 1.000
          $illumposition -13.592 -1.436 -233.946
          $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
          $ikchain leftfoot Combine_Strider.Foot_Left knee  0.940 0.340 0.000
          $ikchain rightfoot Combine_Strider.Foot_Right knee  0.940 0.340 0.000
          $ikchain backfoot Combine_Strider.Foot_Hind knee  0.940 -0.340 0.000
          $collisionjoints "phymodel.smd" {
          
          	$mass 2000.0
          	$inertia 1.00
          	$damping 0.00
          	$rotdamping 0.00
          	$rootbone "combine_strider.body_bone"
          
          	$jointconstrain "combine_strider.gun_bone1" x limit -35.00 35.00 0.20
          	$jointconstrain "combine_strider.gun_bone1" y limit -41.00 26.00 0.20
          	$jointconstrain "combine_strider.gun_bone1" z limit -44.00 44.00 0.20
          
          	$jointconstrain "combine_strider.neck_bone" x limit -30.00 30.00 0.20
          	$jointconstrain "combine_strider.neck_bone" y limit -41.00 37.00 0.20
          	$jointconstrain "combine_strider.neck_bone" z limit -35.00 35.00 0.20
          
          	$jointconstrain "combine_strider.head_bone" x limit -28.00 68.00 0.20
          	$jointconstrain "combine_strider.head_bone" y limit -50.00 50.00 0.20
          	$jointconstrain "combine_strider.head_bone" z limit -17.00 17.00 0.20
          
          	$jointconstrain "combine_strider.shoulder_bone_left" x limit 0.00 0.00 0.20
          	$jointconstrain "combine_strider.shoulder_bone_left" y limit -53.00 53.00 0.20
          	$jointconstrain "combine_strider.shoulder_bone_left" z limit -46.00 73.00 0.20
          
          	$jointconstrain "combine_strider.leg_left_bone" x limit -55.00 55.00 0.20
          	$jointconstrain "combine_strider.leg_left_bone" y limit -102.00 102.00 0.20
          	$jointconstrain "combine_strider.leg_left_bone" z limit -86.00 86.00 0.20
          
          	$jointconstrain "combine_strider.gun_bone2" x limit -21.00 21.00 0.20
          	$jointconstrain "combine_strider.gun_bone2" y limit -37.00 57.00 0.20
          	$jointconstrain "combine_strider.gun_bone2" z limit -32.00 32.00 0.20
          
          	$jointconstrain "combine_strider.leg_hind_bone" x limit -30.00 30.00 0.20
          	$jointconstrain "combine_strider.leg_hind_bone" y limit -48.00 48.00 0.20
          	$jointconstrain "combine_strider.leg_hind_bone" z limit -102.00 75.00 0.20
          
          	$jointrotdamping "combine_strider.leg_hind_bone1" 1.00
          	$jointconstrain "combine_strider.leg_hind_bone1" x limit 0.00 0.00 2.00
          	$jointconstrain "combine_strider.leg_hind_bone1" y limit 0.00 0.00 2.00
          	$jointconstrain "combine_strider.leg_hind_bone1" z limit -32.00 138.00 0.20
          
          	$jointconstrain "combine_strider.shoulder_bone_right" x limit 0.00 0.00 0.20
          	$jointconstrain "combine_strider.shoulder_bone_right" y limit -53.00 53.00 0.20
          	$jointconstrain "combine_strider.shoulder_bone_right" z limit -73.00 46.00 0.20
          
          	$jointconstrain "combine_strider.leg_right_bone" x limit -55.00 55.00 0.20
          	$jointconstrain "combine_strider.leg_right_bone" y limit -102.00 102.00 0.20
          	$jointconstrain "combine_strider.leg_right_bone" z limit -86.00 86.00 0.20
          
          	$jointrotdamping "combine_strider.leg_right_bone1" 1.00
          	$jointconstrain "combine_strider.leg_right_bone1" x limit 0.00 0.00 0.00
          	$jointconstrain "combine_strider.leg_right_bone1" y limit 0.00 0.00 2.00
          	$jointconstrain "combine_strider.leg_right_bone1" z limit -144.00 28.00 2.00
          
          	$jointrotdamping "combine_strider.leg_left_bone1" 1.00
          	$jointconstrain "combine_strider.leg_left_bone1" x limit 0.00 0.00 0.00
          	$jointconstrain "combine_strider.leg_left_bone1" y limit 0.00 0.00 2.00
          	$jointconstrain "combine_strider.leg_left_bone1" z limit -140.00 28.00 2.00
          }
          
          $collisiontext {
          	break { "model" "gibs/strider_gib1" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "model" "gibs/strider_gib2" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "model" "gibs/strider_gib3" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "model" "gibs/strider_gib4" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "model" "gibs/strider_gib5" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "model" "gibs/strider_gib6" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "model" "gibs/strider_gib7" "health" "0" "fadetime" "0" "placementbone" "combine_strider.body_bone"}
          	break { "ragdoll" "gibs/strider_head" "health" "0" "fadetime" "0"}
          	break { "ragdoll" "gibs/strider_weapon" "health" "0" "fadetime" "0"}
          	break { "ragdoll" "gibs/strider_left_leg" "health" "0" "fadetime" "0"}
          	break { "ragdoll" "gibs/strider_right_leg" "health" "0" "fadetime" "0"}
          	break { "ragdoll" "gibs/strider_back_leg" "health" "0" "fadetime" "0"}
          }
  • $constantdirectionallight
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $contents
        About:

        Outline of Use:
        $contents "(content-types)"

        Possible Values:
        content-types = grate, ladder, monster, notsolid, solid

        Examples of Use:
  • $continue
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $controller
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $declaresequence
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $declareanimation
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $defaultweightlist
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $definebone
  • $externaltextures
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $eyeposition
        About:
        Used to 'define/create' a joint in the model that otherwise wasn't located in one of the SMDs. It isn't possible to bind any part of the mesh to any joints created by this command.

        Outline of Use:
        $eyeposition (x-position) (y-position) (z-position)

        Possible Values:
        x-position = real numberA real number is any number. It can be negative, a decimal, or both. So your 'value' should be something like these: -6, 1.2, 0, -3, 4032.405 etc.
        y-position = real numberA real number is any number. It can be negative, a decimal, or both. So your 'value' should be something like these: -6, 1.2, 0, -3, 4032.405 etc.
        z-position = real numberA real number is any number. It can be negative, a decimal, or both. So your 'value' should be something like these: -6, 1.2, 0, -3, 4032.405 etc.

        Examples of Use:
      • Example #1
          $cd "C:\Documents and Settings\Marc\Desktop\decompile"
          $modelname "Humans\Group01\male_09.mdl"
          $model "male_09" "male_09_reference.smd" {
          
             flexfile "right_lid_raiser.vta"
            flex "right_lid_raiser"  frame 10
             flexcontroller "eyelid" "right_lid_raiser" "range" 0 1
          
            flexfile "left_lid_raiser.vta"
            flex "left_lid_raiser"  frame 10
             flexcontroller "eyelid" "left_lid_raiser" "range" 0 1
          
               eyeball righteye ValveBiped.Bip01_Head1 -1.298 -3.605 67.682 eyeball_r 1.000  4.000 grn_pupil_r 0.660
               eyeball lefteye ValveBiped.Bip01_Head1 1.287 -3.605 67.663 eyeball_l 1.000  -4.000 grn_pupil_l 0.660
          
          	%right_lid_raiser = right_lid_raiser
          	%left_lid_raiser = left_lid_raiser
          }
          $cdmaterials "models\Humans\Male\Group01\"
          $cdmaterials "models\Humans\Male\"
          $attachment "eyes" "ValveBiped.Bip01_Head1" 3.79 -3.78 0.01 rotate 0.00 -80.10 -90.00
          $includemodel "humans/male_shared.mdl"
          $includemodel "humans/male_ss.mdl"
          $includemodel "humans/male_gestures.mdl"
          $includemodel "humans/male_postures.mdl"
          $surfaceprop "flesh"
          $eyeposition 0.000 0.000 70.000
          $sequence ragdoll "ragdoll" ACT_DIERAGDOLL 1 fps 30.00
          $ikchain rhand ValveBiped.Bip01_R_Hand knee  0.707 0.707 0.000
          $ikchain lhand ValveBiped.Bip01_L_Hand knee  0.707 0.707 0.000
          $collisionjoints "phymodel.smd" {
          
          	$mass 90.0
          	$inertia 10.00
          	$damping 0.01
          	$rotdamping 1.50
          	$rootbone "valvebiped.bip01_pelvis"
          	$jointmerge "ValveBiped.Bip01_Pelvis" "ValveBiped.Bip01_Spine1"
          
          	$jointconstrain "valvebiped.bip01_spine2" x limit -48.00 48.00 0.00
          	$jointconstrain "valvebiped.bip01_spine2" y limit -25.00 25.00 0.00
          	$jointconstrain "valvebiped.bip01_spine2" z limit -25.00 50.00 0.00
          
          	$jointconstrain "valvebiped.bip01_r_upperarm" x limit -39.00 39.00 0.00
          	$jointconstrain "valvebiped.bip01_r_upperarm" y limit -79.00 95.00 0.00
          	$jointconstrain "valvebiped.bip01_r_upperarm" z limit -93.00 23.00 0.00
          
          	$jointconstrain "valvebiped.bip01_l_upperarm" x limit -30.00 30.00 0.00
          	$jointconstrain "valvebiped.bip01_l_upperarm" y limit -95.00 84.00 0.00
          	$jointconstrain "valvebiped.bip01_l_upperarm" z limit -86.00 26.00 0.00
          
          	$jointconstrain "valvebiped.bip01_l_forearm" x limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_l_forearm" y limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_l_forearm" z limit -149.00 4.00 0.00
          
          	$jointconstrain "valvebiped.bip01_l_hand" x limit -37.00 37.00 0.00
          	$jointconstrain "valvebiped.bip01_l_hand" y limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_l_hand" z limit -57.00 59.00 0.00
          
          	$jointconstrain "valvebiped.bip01_r_forearm" x limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_r_forearm" y limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_r_forearm" z limit -149.00 4.00 0.00
          
          	$jointconstrain "valvebiped.bip01_r_hand" x limit -60.00 60.00 0.00
          	$jointconstrain "valvebiped.bip01_r_hand" y limit 0.00 0.00 0.00
          	$jointconstrain "valvebiped.bip01_r_hand" z limit -57.00 70.00 0.00
          
          	$jointconstrain "valvebiped.bip01_r_thigh" x limit -12.00 12.00 0.00
          	$jointconstrain "valvebiped.bip01_r_thigh" y limit -8.00 75.00 0.00
          	$jointconstrain "valvebiped.bip01_r_thigh" z limit -97.00 32.00 0.00
          
          	$jointconstrain "valvebiped.bip01_head1" x limit -20.00 20.00 0.00
          	$jointconstrain "valvebiped.bip01_head1" y limit -25.00 25.00 0.00
          	$jointconstrain "valvebiped.bip01_head1" z limit -13.00 30.00 0.00
          
          	$jointconstrain "valvebiped.bip01_l_thigh" x limit -12.00 12.00 0.00
          	$jointconstrain "valvebiped.bip01_l_thigh" y limit -73.00 6.00 0.00
          	$jointconstrain "valvebiped.bip01_l_thigh" z limit -93.00 30.00 0.00
          
          	$animatedfriction 1.000 400.000 0.500 0.300 0.000
          }
  • $fakevta
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $forcephonemecrossfade
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $forcerealign
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $gamma
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $hbox
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $hboxset
        About:

        Outline of Use:
        $hboxset "(value)"

        Possible Values:
        value = default, dod, cstrike

        Examples of Use:
  • $hgroup
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $heirarchy
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $hierarchy
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $ikautoplaylock
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $ikchain
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $illumposition
  • $include
        About:
        Used to specify and include .QCI files. QCI files are basically snippets of .QC code that can be included for easy use - good for mass compiling of similar models, such as including common animations, flex information, physics related code, etc. (see ".../sourcesdk_content/")

        Outline of Use:
        $include "(filepath/filename.qci)"

        Possible Values:

        Examples of Use:
      • Example #1
          $cd "C:\Documents and Settings\Marc\Desktop\Mod Models\Train\train_cab"
          $modelname sdk\Humans\male_06_sdk.mdl
          $cdmaterials sdk\models\Humans\Male
          
          $eyeposition 0 0 70
          $attachment "eyes" "ValveBiped.Bip01_Head1" 0.043 -4.2197 67.5554 absolute
          $attachment "mouth" "ValveBiped.Bip01_Head1" 1.00 -6.30 0.00 rotate 0 -80 -90
          
          
          $model male_06 "male_06_reference.smd"{
          	eyeball righteye "ValveBiped.Bip01_Head1" -1.2711 -4.2197 67.5593 "eyeball_r" 1 4 "pupil_r" 0.63
          	eyeball lefteye "ValveBiped.Bip01_Head1" 1.3572 -4.2197 67.5514 "eyeball_l" 1 -4 "pupil_l" 0.63
          
          	eyelid  upper_right "male_06_expressions" lowerer 1 -0.2621 neutral 0 0.1287 raiser 2 0.2467 split 0.1 eyeball righteye
          	eyelid  lower_right "male_06_expressions" lowerer 3 -0.3409 neutral 0 -0.2156 raiser 4 -0.0736 split 0.1 eyeball righteye
          	eyelid  upper_left "male_06_expressions" lowerer 1 -0.2621 neutral 0 0.1287 raiser 2 0.2467 split -0.1 eyeball lefteye
          	eyelid  lower_left "male_06_expressions" lowerer 3 -0.3409 neutral 0 -0.2156 raiser 4 -0.0736 split -0.1 eyeball lefteye
          
          	mouth 0 "mouth" "ValveBiped.Bip01_Head1" 0 1 0     // mouth illumination
          
          	flexfile "male_06_expressions" {
          		$include "../standardflex_xsi.qci"
          	}
          
          	$include "../facerules_xsi.qci"
          	$include "../bodyrules_xsi.qci"
          
          }
          //end eye/face data	
          
          $include "../standardhierarchy.qci"
          $alwayscollapse "male_06"
          $alwayscollapse "XSISceneRoot"
          
          $proceduralbones "../male.vrd"
          
          $pushd "../male_animations_sdk"
          $include "../male_animations_sdk/male_shared_XSI_sdk.qci"
          $include "../male_animations_sdk/body_poses_lean.qci"
          $include "../male_animations_sdk/WeaponAnims_shared_sdk.qci"
          $popd
          
          $lod 10 
          {
          	replacemodel "Male_06_reference" "Male_06_LOD_1" 
          }
          $lod 20 
          {
          	replacemodel "Male_06_reference" "Male_06_LOD_2"
          	$include "../removehands.qci"
          	
          }
          $lod 35 
          {
          	replacemodel "Male_06_reference" "Male_06_LOD_3"
          	$include "../lowesthumanskeleton.qci"
          	$include "../lowesthumannohelpers.qci"
          	nofacial
          }
          $lod 50 
          {
          	replacemodel "Male_06_reference" "Male_06_LOD_4"
          	$include "../lowesthumanskeleton.qci"
          	$include "../lowesthumannohelpers.qci"
          	nofacial
          }
          $lod 90 
          {
          	replacemodel "Male_06_reference" "Male_06_LOD_5"
          	$include "../lowesthumanskeleton.qci"
          	$include "../lowesthumannohelpers.qci"
          	nofacial
          }
          $shadowlod
          {
          	replacemodel "Male_06_reference" "Male_06_LOD_shadow" 
          	$include "../lowesthumanskeleton.qci"
          	$include "../lowesthumannohelpers.qci"
          	nofacial
          }
          
          $include "hitbox.qci"
          $include "ragdoll.qci"
          
  • $includemodel
        About:

        Outline of Use:
        $includemodel "(filename)"

        Possible Values:

        Examples of Use:
  • $insertbone
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $jointcontents
        About:

        Outline of Use:

        Possible Values:

        Examples of Use:
  • $jointsurfaceprop
        About:

        Outline of Use:

        Possible Values:
      • Stone:
        baserock
        boulder
        brick
        concrete
        concrete_block
        gravel
        rock
        
        Metals:
        chain
        chainlink
        metal
        metal_box
        metalgrate
        metalpanel
        metalvent
        slipperymetal
        solidmetal
        
        Liquids/Frozen:
        ice
        slime
        snow
        water
        wade
        
        Organic/Flesh:
        alienflesh
        armorflesh
        bloodyflesh
        flesh
        strider
        
        Terrain:
        antlionsand
        dirt
        grass
        gravel
        mud
        mudslipperyslime
        quicksand
        slime
        slipperyslime
        
        Wooden:
        wood
        wood_box
        wood_crate
        wood_furniture
        wood_lowdensity
        wood_plank
        wood_panel
        wood_solid
        	
        Others:
        computer
        default
        glass
        ladder
        porcelain
        tile
        watermelon

      • Examples of Use:
  • $keyvalues