How do people upload normal npcs?

Well anybody can go and use model manipulator for anything that uses the HL2 skeleton, but is there some way where people do that and then upload the files? I mean I see it all the time where some guy decides to go and model manipulate a stormtrooper into a combine.

They put work in it. It 's not a 1 min thing
You need to “hex” the model and make a lua file for it to be an npc

How so? I can only seem to be able to hex weapons and ragdolls, and I’m new to coding lua.

I think I know what you mean. You’re talking about a NPC that uses in-built bases like npc_citizen and combine_s.

Here’s how you do it.

  1. Find a model that works with the Valve skeleton. To figure this out, use the model manipulator.

  2. Go into the directory C:\Program Files\Steam\SteamApps*yoursteamname*\garrysmod\garrysmod\addons

3.Create a new folder and name it whatever you want.

  1. Place the “models” and “materials” folders from the model you want to use.

  2. Make a new folder in the main folder entitled “lua” (without quotes)

  3. In that put a folder called autorun

  4. In that make a new file name npc_whatever the npc name is

  5. Open it in Notepad or Notepad++.

  6. Now, the next step is simple. Copy the code pasted below and replace the variables as needed:

local Category = "Shit"                                                //This is the category it will appear in in the menu. Name it what you want

local NPC = {	Name = "Citizen",                                       //The name of the npc goes here. name it what you want
				Class = "npc_citizen",                    //This decides whether it is friendly or not. If it is an npc_citizen, it is friendly and uses citizen sounds. Make it npc_combine_s for a hostile npc
				Model = "models/citizen01.mdl",      //Put the directory and name of the model it will use here
				Health = "80",                               //This is its health. I'm pretty sure it doesn't work
				KeyValues = { citizentype = 4 },      //Don't fuck with this
				Category = Category }                   //Don't fuck with this

list.Set( "NPC", "npc_citizen", NPC )                              //Name this "npc_whatever" and replace the "whatever" with anything you want, but make spaces underscores

  1. Now save it as a .lua exstension

11.Now go to the main directory of your mod and create a new text file called “Info” without the quotes.

  1. Place this is in it:

	"name"			"Shitty Npc"       //The name of the mod
	"version"		"1"                            //It's version
	"up_date"		"7-17-10"                    //When it was released
	"author_name"		"Sgt. Dickassbuttfuck"     //Your name
	"author_email"		""                                //Your email
	"author_url"		""                                       //Your shitty blog
	"info"			"My assy npc!"                     //A description
        "override"	        "0"

  1. PROFIT!!! Okay, I’m not going out with that. Now you’re done and it should work!

  2. And remove those “//description whatevers” from the final script.