Left 4 Dead 2

Left 4 Dead 2

273 ratings
Custom Melee Mod (3DS Max or Blender)
By Splinks
The following guide will be showing the process and tools needed to successfully replace a melee's mesh with 3ds Max or Blender.

This tutorial is just the bare basics of model importing for weapons and my personal take of explaining it as simple as I can think of.

For those wanting a quick glance of what to expect please watch the Video Overview for a quick recap of this tutorial in action.

If you're running into issues, feel free to leave a comment on this page
or visit the Discord over at Dead for Mods Discord[discord.gg].

If this tutorial helped you out, please give a shout out to help spread the word. Thank you :)
Video Overview
    The videos above is merely quick screen captures of this tutorial in action; it's meant for those that have a general idea of how to source mod or anyone that needs a quick recap of the process.
    For further details of the actions in the video it would be heavily advisable to read this tutorial before asking questions.
Tools Needed
  • Click installer and have a cupcake
Crowbar (model decompiler and compiler interface)
  • On the steam group page, click the DOWNLOAD Crowbar link at the right
  • Scroll to the bottom of the page and download latest version
  • Maybe read the important info in the group's description and on the download page, to find out about known errors and where to report new errors. :P
L4D2 Authoring Tools
  • Open Steam -
  • Click Library
  • Click the search bar and choose TOOLS
  • Scroll down and install Left 4 Dead 2 Authoring Tools
  • Wait for the download to finish and twiddle your thumbs
  • Follow the instructions on page
  • Or in summary....
  • Copy content > Paste in notepad > make adjustments > save as addoninfo.txt
Notepad++ (OPTIONAL...But Heavily Suggested)
  • Click Notepad++ Installer
  • Click Next > Next > Next > Okay
  • Or in other words. Just install the bloody program ^^
Gimp VTF Plugins
  • Download Attachment on page
  • Open the downloaded ZIP file and follow the README.TXT

3DS Max (v5 > 2012) SMD Plugins
  • Scroll down and download the importer and exporter plugins for your VERSION of 3ds Max
  • Place plugins in the 3ds Max installation>Plugins folder
      Mostly located in
      C:\Program Files\Autodesk\3dsMax...\plugins
      C:\Program Files (x86)\Autodesk\3dsMax...\plugins
  • Have another cupcake
Blender Source Tools (plugin for SMD and DMX import/export)
  • Install Blender 2.66 or later.
  • On the Blender Source Tools steam group page, click the Download the Blender Source Tools link at the right. Do NOT unzip this file.
  • In Blender:
    • Select File > User Preferences... menu item
    • Click the Addons button in the bar at the top
    • Click the Install From File... button at the bottom
    • Find and select the downloaded zip file
    • Click the Install From File... button near the upper right
    • Click the User button in the Categories at the left (to filter the list to user-made addons
    • Tick the check-box for Import-Export: Blender Source Tools. Wait a moment for activation to complete.
    • Click Save User Settings button at the bottom
Getting Started
So before we all jump into the exciting world of L4D2 modding we will all need some resources to get things rolling.

First ingredient will be a starter kit.

The Starter Kits can be found within
L4D2 Authoring Tools > Example Content
or inside the following folder
*\Steam\SteamApps\common\Left 4 Dead 2\sdk_content
After opening the Zip file, navigate to: Starter Kits > Melee
Now select a folder of the melee weapon of your choice and copy it to the desktop.

Now on to the second step, the decompiling of the Reference SMD files

  • Head on to your L4D2 directory
    Steam\SteamApps\common\Left 4 Dead 2\
  • Open the folder called
    Steam\SteamApps\common\Left 4 Dead 2\left4dead2
  • Locate pak01_dir.vpk and open it with GCFScape
  • Now navigate inside GCFScape to the folder
    Models > weapons > melee
  • Copy the V_ and W_ files of the weapon you chose in the starter kits.
      So for me I will be needing:
      • v_machete.dx90.vtx
      • v_machete.mdl
      • v_machete.vvd
      • w_machete.dx90.vtx
      • w_machete.mdl
      • w_machete.phy
      • w_machete.vvd
  • Paste the files into the starter kit's models\weapons\melee Folder you have on the desktop.
  • Now with this extracted content in your grasp, drag the MDL files (one at a time) to Crowbar.
  • From here name the sub-folder whatever you like
      I suggest naming the folders
        • VIEW for the v_.MDL
        • WORLD for the w_.MDL
  • Then click the Decompile MDL File button
  • Open the VIEW and WORLD folders
  • Copy the _Reference.SMD to the Compiling Files Folder
  • Delete VIEW and WORLD folders and files used to create them.
    You should be left with only the Compiling Files Folder.
  • Your "Compiling Files" folder should look something like the image to the right.

And lastly, let's top it off with a touch of modifications to the Addoninfo.TXT file
    To obtain this file please go back to the TOOLS NEEDED step of this tutorial and try again. If you're here already prepared, have a cupcake and feel good about your focusing abilities.

You will need to have the Addoninfo.txt in the base of the starter kit folder. So for me I will have this
"AddonInfo" { AddonTitle "MOD's NAME" AddonVersion "1.0" AddonDescription "A mod that does something" AddonAuthor "YOUR NAME or USERNAME" AddonAuthorSteamID "YOUR STEAM USERNAME" AddonURL0 "MOD'S WEBSITE OR AUTHOR'S PROFILE" AddonSteamAppID 550 AddonContent_BackgroundMovie 0 AddonContent_BossInfected 0 AddonContent_Campaign 0 AddonContent_CommonInfected 0 AddonContent_Map 0 AddonContent_Music 0 AddonContent_Prefab 0 AddonContent_Prop 0 AddonContent_Script 0 AddonContent_Skin 0 AddonContent_Sound 0 AddonContent_Spray 0 AddonContent_Survivor 0 AddonContent_Weapon 0 AddonContent_WeaponModel 0 }

Because I'm doing a custom melee model for the machete I will be adding a 1 to AddonContent_WeaponModel.
The result of the Addoninfo.txt should look like what's below

"AddonInfo" { AddonTitle "Machete Mod" AddonVersion "1.0" AddonDescription "A mod that replaces the machete model" AddonAuthor "Splinks" AddonAuthorSteamID "Splinks" AddonURL0 "http://steamcommunity.com/id/splinks" AddonSteamAppID 550 AddonContent_WeaponModel 1 }
Obtaining a Custom Model
At this point you can use a custom-made model or grab one from a web page in corners of the internet somewhere. I assume you have familiarized yourself with the basic concepts of 3D modeling, so for the sake of this tutorial we’re not going to cross that bridge.

Where you get the model doesn’t really matter ultimately as long as you have permission and not making profit on others' work…basically any format your 3D program can import is just dandy.

Here's a few of my favorite 3D Resources.

This is a decent one just because it has a lot of models already in friendly formats.

Full of old-school game models and a few slightly newer ones. Also organizes models from what game and platform they came from for easy navigation.

    Another good resource, but requires that you actually own Garry’s Mod and log in through Steam to prove it.
    You will need to decompile the models the same way you extract the models from L4D2
XNALara Community[xnalara.home-forum.com]
    This Community is full of models and has a great set of folks that has made more rips then a fat man in skinny jeans. Also they have a lot of custom content made by dedicated fans as well.

To find models just Google "xnalara models"
or visit two of the following sites

These models must be extracted with a specific program:
    XNALARA: Link[www.tombraiderforums.com]
    XNALARA XPS: Link[xnalara.home-forum.com]

So for now, I’ll just go with the first site to keep things simple. Looking around, I see some nifty weapons from Injustice: A God Among Us; they all have OBJ files and have very nice normal and specularity maps. All that equals WIN.

If you wish to follow along with me, here's the link to Hawk Girl's Mace I'll be using for this tutorial.

World Model
We begin with opening 3DS Max.

After everything is loaded direct your attention to the top-left of the program's window and click the 3ds max icon.
Click Import > Import

  • Locate the content of the custom model.
    For me it's Hawkgirl's Mace.

  • Sense I'm working with an OBJ file I need to make sure a few things are checked
    • "Import as Single Mesh"
    • "Smoothing Groups"

  • After importing check to see if the model needs any adjustments or have any flaws that need attending to.

Now let's import the weapon we wish to replace.

I shall start by doing the World Model of the weapon first sense it'll be the least overwhelming

For those that either forgotten or blanked out it's the (W_ *.smd)

Sense we're not going to be needing to see the prettiness of the machete's texture I have chosen to uncheck "Prompt for missing Textures"

As you can see from the screen-cap not all models are the same size so press R to scale that Mofo to the size of the machete.

With that done brings us to the ol' switch-a-roo. In 3DSMax this procedure is done with the Skin Wrap feature.

Be sure line that sexy scaled beast of a Mace to match up with the handle of the machete.

This is located in the Modifier List drop down menu

Now listen carefully young Jedi these steps are important and tend to be the most common step people mess up or stop while thinking their program has froze.

  • 1st Click the Add button
  • 2nd place your cursor on the Mactete's mesh and click it
  • 3rd WAIT AND BE PATIENT!!! Your cursor will be in a loading animation. Depending on the complexity of your mesh the time for this may vary.
  • 4th after the loading is done Check "Weight All Points" and press "Convert to Skin"

    • Mechete's Mesh
    • Skin Wrap Tab

Pretty much self-explanatory

YA! We get to make a model ready for compiling

Do this by Exporting the project to the location of the W_ model you originally imported.

For me it'll be
Desktop\Machete\models\weapons\melee\Compiling Files\w_machete_reference.smd

You'll have a nifty couple of popup windows.
Just hit yes to the replacing of the original file.
Now on the HL2 SMD Exporter you will need to make sure the "Reference" option is checked before exporting

View Model

It time to test that memory of yours.

Oɴᴛᴏ ᴛᴏ ᴛʜᴇ Vɪᴇᴡ ᴍᴏᴅᴇʟ!!!

Like the world model start by importing the Reference.smd for the view model.

  • Line the Mace to the machete
  • perform a skin wrap

Nᴏᴡ ғᴏʀ sᴏᴍᴇ ʀᴇᴀsᴏɴ ɪғ ʏᴏᴜ ʜᴀᴠᴇ ᴀ ᴍᴏᴅᴇʟ ᴛʜᴀᴛ ɪs ʀᴇǫᴜɪʀɪɴɢ ᴍᴜʟᴛɪᴘʟᴇ ʙᴏɴᴇs ɪᴛ ᴡᴏᴜʟᴅ ʙᴇ ᴀᴅᴠɪsᴇᴅ ᴛᴏ ᴄʜᴇᴄᴋ ᴛʜᴇ Sᴋɪɴ Tᴀʙ ᴏғ ᴛʜᴇ ᴏʀɪɢɪɴᴀʟ ᴍᴇsʜ ᴛᴏ sᴛᴜᴅʏ ᴡʜᴀᴛ ʙᴏɴᴇs ᴀʀᴇ ᴜsᴇᴅ ᴛᴏ ᴡᴇɪɢʜᴛ ᴡʜᴀᴛ ᴘᴀʀᴛs ᴏғ ᴛʜᴇ ᴍᴏᴅᴇʟ.

"This is helpful for gun rigs and survivor models"

In this case it seems that the whole mesh is weighted to ValveBiped.weapon_bone

Let's check to see if the Mace has adopted the new weights proper.

Everything seems to be in order and behaving properly, but lets say it wasn't.

In comes the Good trusty Weight Tool.
You'll need to select the bone first then highlight the desired vertices you wish for that bone to control

For the purpose of this tutorial we need all the vertices need to be set to 1 on the ValveBiped.weapon_bone.

And here we are back at full circle replacing the reference model we started out using for all of this. Ah yes the memories we have made. ■ Importing Mace ■ Importing Reference.smd ■ Lining and scaling up the Mace's Mesh to the Reference Mesh ■ Adding a Skin Wrap to the Mace ■ Adding weights from Reference to Mace ■ Converting it to a Skin ■ Deleting the Skin Wrap and reference ■ And finally saving the project and exporting the mace over the Reference.smd [/b]
good times, good times. :)

So before we begin, just a fair warning if you plan on asking questions.
    I started teaching myself blender during the making of this tutorial,
    so please direct questions to the following Steam Group.
World Model

This is the way we Import the smd
Import the smd, Import the smd
This is the way we Import the smd
So early in the process

I shall start by doing the World Model of the weapon first sense it'll be the least overwhelming

For those that either forgotten or blanked out it's the (W_ *.smd)

  • Locate the content of the custom model.
    For me it's Hawkgirl's Mace.

  • After importing check to see if the model needs any adjustments or have any flaws that need attending to.

  • As you can see from the screencap not all models are the same size and/or rotational direction so scale and rotate that Mofo to the size of the machete.

With that done brings us to
the ol' switch-a-roo.

  • To start this process open up the "Hawkgirl_A_Mace" and "w_machete.dmx"

  • Click and select "Hawkgirl_A_Mace" tab.

Navigate to the bottom right part of the window and click the following icon.

The icon will now become the following.

  • Continue by Adding a modifier.
    As you can see from the screencap to the right the "w_machete.dmx" has an Armature modifier.

    Which means the Hawk Girl's Mace will need the same treatment.

  • Now finish it all off by Checking "Vertex Groups" and adding the Machete Skeleton
  • [/list]

    Left click the original mesh (Machete)
    Follow that by holding Shift and Left Click the Mace

    It's important to select the original (source) mesh 1st and the custom (target) mesh 2nd

    Now my pupil navigate to the bottom of the window and change
    Object Mode > Weight Paint

    To the left to the left
    Everybody click Transfer Weight that's over on the Left

    Everything you need in the box to the left

    Your Mace should now have the same Modifiers and Vertex groups of the machete

    Well Machete your job is done here.
    This is where we say our good byes

    *deletes Machete's Mesh*

    Okay Computer basics 101 folks

    Drag the mace onto the Machete Skeleton tab. On the popup window choose OBJECT[/b]

    And here we are. It's time to export the fruit of our labor.

    First click the following icon

    You can choose either of the Export formats, but I tend to stick with SMD due to compatibility with 3DS Max.

    This file will need to be exported into the "Compiling Files" folder on your machete project folder

    Finally just hit Export Button

    Please Note:
    • You will need to open up the "Compiling Files" Folder and rename your exported file to
    View Model

    Hope you don't mind abit of déjà vu.
    Oɴ ᴛʜᴀᴛ ɴᴏᴛᴇ ʟᴇᴛ's ᴛᴇsᴛ ᴛʜᴀᴛ ᴍᴇᴍᴏʀʏ ᴏғ ʏᴏᴜʀs.

    • Start off by Importing Hawk Girl's Mace.

    • Import the View model the same way you did for the World Model.

    • Scale and Rotate the mace to the proper proportion and direction of the machete

    • Line up the mace to the machete.
    All you really need to make sure that lines up is the handles..sense that's where the survivors' hands will be and could partitionally clip into the Mace's Mesh

    Continue by selecting the Mace's mesh.

    • Aᴅᴅ ᴀɴ Aʀᴍᴀᴛᴜʀᴇ Mᴏᴅɪғɪᴇʀ.
    • Sᴇʟᴇᴄᴛ :
      ғᴏʀ ᴛʜᴇ Oʙᴊᴇᴄᴛ: ᴏᴘᴛɪᴏɴ.
    • Mᴀᴋᴇ sᴜʀᴇ "ᴠᴇʀᴛᴇx ɢʀᴏᴜᴘs" ɪs ᴄʜᴇᴄᴋᴇᴅ

    Onwards to creating the Vertex Groups.

    • Select the machete first
    • Shift+Left Select the Mace
    • Change "Object Mode" to "Weight Paint"
    • Click on "Transfer Weights" on the Tools Tab

    Nᴏᴡ ғᴏʀ sᴏᴍᴇ ʀᴇᴀsᴏɴ ɪғ ʏᴏᴜ ʜᴀᴠᴇ ᴀ ᴍᴏᴅᴇʟ ᴛʜᴀᴛ ɪs ʀᴇǫᴜɪʀɪɴɢ ᴍᴜʟᴛɪᴘʟᴇ ʙᴏɴᴇs ɪᴛ ᴡᴏᴜʟᴅ ʙᴇ ᴀᴅᴠɪsᴇᴅ ᴛᴏ ᴄʜᴇᴄᴋ ᴛʜᴇ "Vᴇʀᴛᴇx Gʀᴏᴜᴘs" ᴏғ ᴛʜᴇ ᴏʀɪɢɪɴᴀʟ ᴍᴇsʜ ᴛᴏ sᴛᴜᴅʏ ᴡʜᴀᴛ ʙᴏɴᴇs ᴀʀᴇ ᴜsᴇᴅ ᴛᴏ ᴡᴇɪɢʜᴛ ᴡʜᴀᴛ ᴘᴀʀᴛs ᴏғ ᴛʜᴇ ᴍᴏᴅᴇʟ.

    "This is helpful for gun rigs and survivor models"

    In this case it seems that the whole mesh is weighted to ValveBiped.weapon_bone

    Let's check to see if the Mace has adopted the new weights proper.

    Everything seems to be in order and behaving properly, but lets say it wasn't.

    In comes the Painting Weight tools.
    You'll need to be in the "Weight Paint" option and then select the bone.
    You will then be able to paint on the weights by left clicking....Just google it :)

    For the purpose of this tutorial we need all the mesh to be highlighted RED on the ValveBiped.weapon_bone.

    After everything checks through feel free to delete the Machete's Mesh.

    Originally posted by Splinks...in the Blender "World Model" Steps:

    First click the following icon

    You can choose either of the Export formats, but I tend to stick with SMD due to compatibility with 3DS Max.

    This file will need to be exported into the "Compiling Files" folder on your machete project folder

    Finally just hit Export Button

    Please Note:
    • You will need to open up the "Compiling Files" Folder and rename your exported file to

    .QC Adjustments
    World Model .QC
      $modelname weapons\melee\w_machete.mdl $cdmaterials models\weapons\melee\ $body w_machete "dmx\w_machete.dmx" $surfaceprop "default" $root "ValveBiped.weapon_bone" $attachment "null" "ValveBiped.weapon_bone" 0 0 0 rotate 0 0 0 $attachment "attach_blade" "ValveBiped.weapon_bone" 0 20 0 rotate 0 0 0 $bonemerge "ValveBiped.weapon_bone" $sequence machete "dmx\w_machete.dmx" frames 0 0 numframes 10 //$physskin 2 //$physmaxpenetration 1 $collisionmodel "dmx\w_machete_phy.dmx" { // Mass in kilograms $Mass 20 $concave $rotdamping 3 }

    From here you'll need to replace the following with the paths of the W_reference.smd
    $body w_machete
    $body is used to add a reference mesh to a model. Without at least one $body the model will be invisible (exception: models with facial animation use $model instead).

    So in simpler terms. This will be the model you'll be seeing in game.
    $sequence machete
    Most commonly static props have 1 sequence named "$sequence Idle", so FYI for future use.

    All models must have at least one $sequence.
    If you don't actually want any movement, it's easiest to re-use your reference SMD.
    This command is to tell the game what the boundaries are of the model.
    Some people tend to call this the Hitbox model for characters models.
    For this tutorial we can do a few shortcuts and simply use the reference model as the collision mesh. But later down the road it tends to be more professional and better on the rendering of the game engine to have a low-res model in place of the collision model.

    For those that aren't following, the results should be something like this
    $body w_machete "dmx\w_machete.dmx"
    $body w_machete "w_machete_reference.smd"
    $sequence machete "dmx\w_machete.dmx"
    $sequence machete "w_machete_reference.smd"
    $collisionmodel "dmx\w_machete_phy.dmx"
    $collisionmodel "w_machete_reference.smd"

    View Model .QC
      $modelname weapons\melee\v_machete.mdl $cdmaterials models\weapons\melee\ $include "Bones_Scripts\definebones.qci" $include "Bones_Scripts\bonemerge.qci" $body "Body" "dmx\Machete_ref.dmx" $surfaceprop "default" $origin 0 1 58 $attachment attach_blade "ValveBiped.weapon_bone" 0 20 0 rotate 0 0 0 RIGID // --------- Unique Animation sequences ------- $pushd "dmx\animation" $sequence deploy "deploy.dmx" ACT_VM_DRAW 1 $animation a_pose_neutral "look_poses" frame 1 1 $animation a_pose_trans_neutral "look_poses" frame 1 1 subtract a_pose_neutral 0 $animation a_pose_trans_up "look_poses" frame 2 2 subtract a_pose_neutral 0 $animation a_pose_trans_down "look_poses" frame 0 0 subtract a_pose_neutral 0 $sequence vaims { a_pose_trans_down a_pose_trans_neutral a_pose_trans_up blend ver_aims 1 -1 delta hidden } $animation a_run "run.dmx" fps 30 $animation a_idle "machete_idle.dmx" $sequence idle { a_run a_idle a_run blendwidth 3 blend move_x -1 1 addlayer vaims loop ACT_VM_IDLE 1 } //----- VIEWMODEL ANIMATIONS ------------------------------------- $sequence attack_ne_sw "attack_ne_sw.dmx" fps 40 ACT_VM_PRIMARYATTACK 1 { event AE_CL_CREATE_PARTICLE_EFFECT 7 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence attack_ne_sw_layer "attack_ne_sw.dmx" fps 40 ACT_VM_SHOOT_LAYER 1 { event AE_CL_CREATE_PARTICLE_EFFECT 7 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence attack_e_w "attack_e_w.dmx" fps 40 ACT_VM_HITLEFT 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence attack_e_w_layer "attack_e_w.dmx" fps 40 ACT_VM_HITLEFT_LAYER 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence attack_w_e "attack_w_e.dmx" snap fps 35 ACT_VM_HITRIGHT 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence attack_w_e_layer "attack_w_e.dmx" snap fps 35 ACT_VM_HITRIGHT_LAYER 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence strong_swing "attack_n_s_strong.dmx" ACT_VM_SWINGHARD 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence strong_swing_layer "attack_n_s_strong.dmx" ACT_VM_SWINGHARD_LAYER 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence secondary_attack "secondary_attack_r_hand.dmx" ACT_VM_SECONDARYATTACK 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" } $sequence secondary_attack_layer "secondary_attack_r_hand.dmx" ACT_VM_SECONDARYATTACK_LAYER 1 { event AE_CL_CREATE_PARTICLE_EFFECT 4 "weapon_melee_blur_machete follow_attachment attach_blur" }

    So ya..."that's a ♥♥♥♥♥♥♥♥ of code for a begginer" you may be thinking.
    However at this current point all we're worried about is replacing the Reference.

    $body "Body" "dmx\Machete_ref.dmx"
    $body "Body" "v_machete_reference.smd"
    You see it wasn't all that bad.
    Just remember a v_model is just a reference with alot of animation information in it.

    Texture Paths
    Now currently the texture paths for this machete mod are at it's default location
    $cdmaterials models\weapons\melee\

    This means a series of folders will need to be made in the Machete project folder on your desktop in this structure "Materials/models/weapons/melee"

    $cdmaterials defines the folders in which the game will search for the model's materials (subfolders are not searched). Each path is relative to <game>\materials\.

    Now you are welcome to alter this path to your choosing but to avoid confusion I will leave it at it's default.

    Drag each QC onto Crowbar

    (only drag one at a time)

    First off click the following button

    ^--not this one, but rather the one in the program

    Proceed by choosing Left 4 Dead 2 as the game
    Next adjust the l4d2 directories to find gameinfo.txt and studiomdl.exe

    For me I have my game on my D:\ DRIVE.

    This step is pretty straight forward

    If all the moons and stars align, you should be granted with the holy message

    Completed "NAME_OF_QC_HERE.qc"

    Navigate to the following folder
    \Steam\SteamApps\common\Left 4 Dead 2\left4dead2\models\Weapons\melee

    You should be seeing a series of files with the name of the weapon you're replacing.

    Simply move these files into the project folder. If your attention span is firing you should be noticing the folder structure you grabbed these files from is a lot like the folder you will be putting these files into.
    Open base texture in VTFedit

    A quick note.
    The standard and usually the best Format to have is DXT5
    It supports transparency and has a lower file size with hardly any distortion

    If you model has no transparency(Alpha) on the base model feel to use the DXT1 Format

    Save in Materials/models/melee under same name of it's original file.

    So in my case I will be naming my TGA image into a VTF with the exact name

    Open Normal map in gimp ....I hope I'm not needed to explain this step

    Drag specularity map in a layer over normal map

    In most case Specularity maps are grey-scaled version of the base texture with spots highlighted to tell the game how much brightness and shiny each part of the texture need to be when light hits it. the whiter the brighter

    Export as vtf (NOT SAVE....just EXPORT)

    And sense we're making a texture with multiple layers you'll need this to be set on DXT5

    You will need to have the bump option on.

    Set "Use Layer as Alpha Channel:" to the specularity map.

    Everything else is optional, but usually my favorite setup is what's on the image to the left

    If you exported everything right and reopen the vtf in GIMP you should see a setup with a normal texture with a mask layer over it.

    • Open base texture back up in vtfedit

    • In the menu bar Click "Create VMT File"

    • In the Textures tab you should have the base texture set.

    • Click the "..." on the Bump Map 1 and find the bump map texture

    • Now click on in the Options Tab

    • Change Shader to "VertexlitGeneric"
      If this isn't selected chances are you will have an invisible texture ingame
    Well Here we are with all materials at hand and ready to test.

    You could just copy the materials and models folders to the "Left 4 Dead 2/left4dead" folder, but luckily for us we have the power of the mighty VPK file format.

    To do this you will need to get a hold of the VPK.exe within
    *\Steam\SteamApps\common\Left 4 Dead 2\bin

    I suggest making a shortcut to this program on your desktop.

    Now comes the magic.....Are you ready Mr Krabs!?!?!
    drag the the project folder onto the vpk.exe

    HOT SHIITAKE!!!! We Have the power He-man

    Place that bad boy into the following folder
    *\Steam\SteamApps\common\Left 4 Dead 2\left4dead2\addons
    Clean Up
    So here we are at last my pupil. My how we have grown and got through this all.
    All that seems to be now is tidying up and sending you off. *manly tears*

    So allow me to give you a few Protips.

    Rename project folder something like "Machete - Hawkgirl's Mace"
      This is just for easy organizing and helps if you ever need to make another VPk and feel to lazy to rename every Vpk after it's creation"

    Delete or Move "Compiling Files" Folder
      This is just to help save all that precious cloud space and nobody likes to download files they don't need.
    < >
    HomieSexual Oct 5 @ 2:01pm 
    This might need some updating, the W.Machete doesn't have a reference in it, crowbar has changed in the UI. It might just be me.
    󠀠 Oct 17, 2020 @ 9:22am 
    Tested, works on blender 2.90, if you have trouble transfering weights, follow this video, worked really well for me https://www.youtube.com/watch?v=bR_Vke__voU
    Taro Sep 28, 2020 @ 5:00am 
    alright, I re-decompiled the original machete model, I imported it again on blender, imported the replacement model, scaled it, aligned it and gave it the proper weight it's supposed to have in ValveBiped.weapon_bone: and for some strange reason (I was importing a model from gmod so maybe it's that?) it already had an armature modifier based on the skeleton so I skipped that step.
    attached it to machete_ref_skeleton as a parent, exported it this time around as a DMX, edited the .qc to point to it and compiled it... and now it works perfectly fine!!! thanks for the guide :lunar2019piginablanket:
    Taro Sep 27, 2020 @ 6:50pm 
    so I followed the blender steps on the guide, edited the .qc files and compiled it: the weapon and its textures seem fine in the world itself but when I'm holding it it's apparently invisible. swinging it around makes it appear on the screen near the top sometimes, which means it's floating on the air above my head...?
    [Epic Man Dougal] Dec 1, 2018 @ 4:23pm 
    Aces, great guide and insight, don't change man.
    FarLogicDreamer Feb 10, 2018 @ 7:13pm 
    Sorry i'm late to the party, BUT THIS IS THE BEST GUIDE I'VE EVER SEEN! You mastered the making of weapons, I can see you being very successful in life, even with your great humor! KEEP THIS UP, YOUR DOING GREAT! :steamhappy:

    From a man down under: Warhound2204
    ChaoSquid (quickliem böi) Oct 28, 2017 @ 12:48am 
    Does this guide still work? I was going along with it, but when I got to the .QC Adjustments part, there were some things that were completely different.
    Jay! (she/her) Jul 22, 2017 @ 7:44am 
    @Bourbon Thats probably because you loaded the w_reference SMD file and not the DMX.

    I'm having a weird issue with the modifier part on the W model in Blender. Instead of (in my case) w_bat.dmx_skeleton there's a bunch of random characters. I didnt really think much of that, but then I realized that there are no vertex groups, and whenever I hit apply on the armature modifier anyways it doesnt do anything. I've been stuck on this for around 20-30 minutes now and I'm starting to lose hope, please help.
    ZeqMacaw Jan 22, 2017 @ 9:38am 
    Tools change, so do not expect the names used in this guide to be exactly what you see. The guide shows what Splinks saw at the exact time and with the exact tool versions he used. You will have to figure out if you have the correct mesh (you probably do) and the right attachment (not sure, but probably fine if it's the only one).
    Bourbon Jan 22, 2017 @ 1:29am 
    It shows "w_machete_reference_skeleton", not "w_machete.dmx_skeleton" for me, and my Vectrex on the Cube side (I'm using my own Blender model) doesn't display "valvebiped.weapon_bone" at all, only "ValveBiped.w_machete"

    Please help me here, as I've followed all the steps thus far, to my knowledge. My Blender model appears Red, and not Blue, as shown in your "like twins" picture, by the way, I left it on Weight Paint.