Making NPC

Hey Bro: We are one of the oldest mod sites on the Interwebs. Sign up and maximize your browsing experience.

  • Subscribe: Get notified of new submissions like this.
  • Say Thanks: Show your appreciation by sending Pwnz0r points.
  • Post: Give Pwnz0r your thoughts on this Tutorial.
  • Vote: Help Pwnz0r win the Monthly Awards.
  • Rate: Give this Tutorial a rating out of 10.
  • Flag: Alert moderators and warn members of a problem with this Tutorial.
  • Watch: Get notified when this Tutorial is updated.
Mascot

Interested?

Join GameBanana

Already a Bananite? Login

I'll teach you how to create your very own custom NPC for Gmod2007. It's not very hard, quite simple, actually.

So I'll start out with a default citizen NPC:

Citizen NPC
------------------
local Category = "Your NPC Category"

local NPC = { Name = "Your NPC",
Class = "npc_citizen",
Model = "models/yourmodelname.mdl",
Health = "100",
KeyValues = { citizentype = 4 },
Category = Category }

list.Set( "NPC", "npc_yourfirstNPC", NPC )

Then I'll go over what each one is:

local NPC = { Name = "Your NPC",

//This is your NPC's name, shown on the spawnmenu. Just replace 'Your NPC" with the name you want.

Class = "npc_citizen",

// This is the class of your NPC ( combine, citizen, vortigaunt, etc.)
You can't make any NPC type. You can only make NPCs with the following classes. This is because the rest of the npcs ( gman, fast zombie, others I didn't mention) do not have preset keyvalues.

npc_combine_s //Combine Soldier
npc_vortigaunt //Vortigaunt ( pretty self explanatory)
npc_alyx //Alyx
npc_strider // Strider
npc_citizen // A basic citizen who can follow you.

Model = "models/yourmodelname.mdl",

// This is the NPC's model directory. Make sure it's right or your NPC will spawn as a big whopping ERROR sign. Oh, and one very important thing:

MAKE SURE YOUR MODEL HAS THE CORRECT ANIMATIONS.

If your model does not have the correct animations they will spawn in a T shape and not move whatsoever. If you want to modify a ragdoll to have animations, you must decompile the model and edit the .qc file's animations( I will soon make a tut of this later).

Health = "100",

//This is already quite self-explanatory, no need to go over this.

KeyValues = { citizentype = 4 },

//This part of the code only applies to citizens. These are the keyvalues of the citizen to show what type of citizen it is ( If I can remember, i think it was Citizen, DownTrodden, Rebel, and medic). Experiment with those to see if I am right.

Category = Category }

//This part validates the NPC so it's in the category.

list.Set( "NPC", "npc_yourfirstNPC", NPC )

// Finally, this will set the NPC into the list and this creates the NPC's in-name game ( not the one in the spawnlist, just the "console" name. just change "Npc_yourfirstnpc" to anything, but make sure npc_ is there at all times.

That's it! Stick it all together and you've got your first NPC done!

Combine NPC ( enemy NPC)
--------------

local NPC = { Name = "Enemy",
Class = "npc_combine_s",
Model = "models/enemy.mdl",
Squadname = "squad",
Numgrenades = "4",
Category = Category }

list.Set( "NPC", "npc_enemy", NPC )

I won't go over the first 2 or the ones I've gone over, but I'll go over the ones you haven't seen:

Squadname = "squad",

//The squad name. If 2 have the same, I think both NPCS will stick together at all times. You can change it to anything you like, or not have it.

Numgrenades = "4",

//The number of grenades the enemy has. Change the number to anything you like.

That should do it. Well, have fun creating NPCS!










Comments

  • shcfyd avatar
    shcfyd Offline
    Member Joined 4 years ago
    Report post
    4 years ago:
    > **Posted by LucasHenkel**

    > When I try to make a zombie npc but with a different model it always has the same thing, everything works but it doesn't use the model I inserted. Can someone help?

    As the tutorial says, you are limited to npc_combine_s, npc_citizen, vortiguant and so on. Zombie, metropolice and some others can not have their model swapped via lua. I think you will need to compile a new Zombie model in order to ``make`` a custom npc_zombie
    Bananite
  • LucasHenkel avatar
    Member Joined 5 years ago
    Report post
    4 years ago:
    When I try to make a zombie npc but with a different model it always has the same thing, everything works but it doesn't use the model I inserted. Can someone help?
    LucasGodzilla
  • asteroidrules avatar
    Member Joined 6 years ago
    7,480 points Ranked 549th
    9 medals 1 rare
    • Returned 1000 times Medal icon
    • Reached 1,000 Points Medal icon
    • Reached 2,500 Points Medal icon
    • One month a member Medal icon
    • 6 months a member Medal icon
    • 1 year a member Medal icon
    Report post
    6 years ago:
    The category thing doesn't change no matter what you type in. It also doesn't work with custom models.
  • asteroidrules avatar
    Member Joined 6 years ago
    7,480 points Ranked 549th
    9 medals 1 rare
    • Returned 1000 times Medal icon
    • Reached 1,000 Points Medal icon
    • Reached 2,500 Points Medal icon
    • One month a member Medal icon
    • 6 months a member Medal icon
    • 1 year a member Medal icon
    Report post
    6 years ago:
    What do you save the file as and where do you put it? I'm trying to make a scanner.
  • zeppoking avatar
    zeppoking Offline
    Member Joined 6 years ago
    Report post
    6 years ago:
    When I spawn my Npc they are invisible
    Bananite
  • chrisspyb avatar
    chrisspyb Offline
    Member Joined 7 years ago
    Report post
    6 years ago:
    Great tutorial man!
    The cake is a lie- IS A LIE!
  • Ghost07 avatar
    Ghost07 Offline
    Member Joined 6 years ago
    Report post
    6 years ago:
    ¿Can I open LUA, with wordpad?
    Bananite
  • Dot. avatar
    Dot. Offline
    Member Joined 8 years ago
    115 points Ranked 22820th
    Report post
    7 years ago:
    This is all great info that could be useful if you added a few more things for the average n00bs as myself:

    o Where are we putting all this? Do we create a file? If so what do we name it? Also, where are we putting this file?

    o Do we structure the file just like you have it? Are there no brackets () , {}, [] ?
    28RL.NET avatar
    Mantra
    28RL.NET
  • Corhunger avatar
    Corhunger Offline
    Member Joined 8 years ago
    Report post
    7 years ago:
    Is there any kleiner npc that fights? If not can i just take his normal model and throw it on a citizen/rebel? and where do i put all that text, in lua as a txt file?
    Bananite
  • juggalo83 avatar
    juggalo83 Offline
    Member Joined 10 years ago
    5,473 points Ranked 757th
    9 medals 1 rare
    • 6 years a member Medal icon
    • Reached 1,000 Points Medal icon
    • Reached 2,500 Points Medal icon
    • One month a member Medal icon
    • 6 months a member Medal icon
    • 1 year a member Medal icon
    Report post
    8 years ago:
    Posted by zaks88

    Posted by juggalo83

    Good work on this but im still having trouble finding them ingame


    Make sure you put the lua file in lua/autorun and if it still doesnt work make sure u have no spaces in the name , instead of spaces use _


    no i figured it out, it was a case of the misspelling of a word that was giving me a problem but its fixed now

    9/10

    donate points to the poor avatar
    Mantra
    donate points to the poor

Share

Shareable Image:
Share banner
HTML embed code:
BB embed code:
Markdown embed code:

More embeddable images

Bookmark and Share

Credits

Key Authors
Pwnz0r
Unknown

Submitter

Pwnz0r avatar
Pwnz0r Offline
Member Joined 9 years ago
241 points Ranked 13703rd

Pwnz0r
Creator
Send a Private Message to the submitter

Category

Details

Genre
Coding/Scripting
Difficulty Level
Intermediate Difficulty

Stats

Posts
19
Views
61,653
Date Added
9 years ago
Mar 4 2008 @ 10:56pm UTC

Rating

8.9
Ratings
2

Ratings Breakdown

CriterionAvg.VotesRange
Overall 8.9 2 8.8 to 9