Many of the things listed below may be outdated, the steps for preparing the model are mostly the same.
Here are the steps you should follow to get started.
Crowbar seems to work for most people and all of the older tools no longer work after the SteamPipe update.
https://steamcommunity.com/groups/CrowbarTool
(I put my decompiled models in my documents "decompiled models/<nameofmodelhere>" so I can go back to it later)
Step 1.5
Can't decompile the model? Open the .mdl in notepad and change "IDST0" into "IDST,"
2. Get Notepad++
http://notepad-plus.sourceforge.net/uk/site.htm
It's a lot better than the default notepad that's packaged with windows. Plus it gives you numbered lines to help you identify errors easier when they arise.
Step 3. Edit the model .qc
You might want to change the model path so you don't overwrite any other models.
So just edit this line to where the model will go
$modelname "<modelpathhere>.mdl"
ex. $modelname "$modelname "player/barney.mdl"
(the models subpath is added automatically)
and change the "$includemodel" to what you want it to be.
Here's a list of your anim choices
Then remove these lines.
Then remove the flex at the end of the flex data just above the $lod stuff and one of the parentheses at the end of the line
Download and install GUI studio mdl,
http://www.wunderboy.org/apps/guistudiomdl2.php
by now you should be able to just compile it, go to the target directory, retrieve your model, and be able to fully use it.
Open the Source SDK modelviewer to test your model.
When you've tested all of the anims in modelviewer, you may then proceed to add your custom playermodel / NPC to Garry's Mod.
Make a lua file in "garrysmod/garrysmod/lua/autorun" and name it the whatever you want (you might want to name it whatever the model is named and add "_player" to the end)
Open the lua file and add these lines for a playermodel.
Open the lua file and add these lines.