Making NPC

A Tutorial for Garry's Mod

Hey, you! 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?

Become a Bananite

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!

Posts

  • 1
  • 2
  • 5y
    shcfyd avatar
    shcfyd Offline
    Member Joined 5y
    > **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
  • 5y
    LucasHenkel avatar
    Member Joined 5y
    445 points Ranked 9549th
    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
  • 7y
    asteroidrules avatar
    Member Joined 7y
    7,505 points Ranked 577th
    10 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
    The category thing doesn't change no matter what you type in. It also doesn't work with custom models.
  • 7y
    asteroidrules avatar
    Member Joined 7y
    7,505 points Ranked 577th
    10 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
    What do you save the file as and where do you put it? I'm trying to make a scanner.
  • 7y
    zeppoking avatar
    zeppoking Offline
    Member Joined 7y
    When I spawn my Npc they are invisible
    Bananite
  • 7y
    chrisspyb avatar
    chrisspyb Offline
    Member Joined 8y
    Great tutorial man!
    The cake is a lie- IS A LIE!
  • 7y
    Ghost07 avatar
    Ghost07 Offline
    Member Joined 7y
    ¿Can I open LUA, with wordpad?
    Bananite
  • 8y
    Dot. avatar
    Dot. Offline
    Member Joined 8y
    115 points Ranked 25451st
    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
  • 8y
    Corhunger avatar
    Corhunger Offline
    Member Joined 9y
    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
  • 9y
    juggalo83 avatar
    juggalo83 Offline
    Member Joined 10y
    5,473 points Ranked 821st
    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
    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
  • 1
  • 2

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 10y
241 points Ranked 15407th

Pwnz0r
Creator
Send a Private Message to the submitter

Category

Details

Difficulty Level
Intermediate Difficulty

Attributes

Stats

Posts
19
Views
66,143
Date Added
9y

Scores

80 bScore
8.9 Rating

2 voters

bcp.crwdcntrl.net tracking pixel