How to create custom npc on Mangos

Because i’ve seen several people asking on how to create custom npc on my previous mangos guide, i decided that perhaps it’ll be better if i create a separate guide on how to create custom npc in mangos and in this example we’re going to create a custom vendor npc plus repairer. And so let’s begin the guide

Requirements

- A functional wow private server using Mangos

This is the most important thing, if you haven’t configured your wow server properly, please check how to configure mangos first

- WoW Model Viewerhttp://code.google.com/p/wowmodelviewer/

This is needed in order to get WoW Display ID. And in this case to get the display / model id for specific creature

As a side note, actually you can also get the display ID of creatures you want by looking through UDB database which we’ve installed previously. But because i never play on official server, i know nothing about any cool creatures that can be found inside WoW World so looking through Model Viewer seems to be the best choice for me because i can see how the creature looks :P

And make sure that mangosd.exe process isn’t running before starting this process

Lookup creature display ID

All you have to do is just open WOW Model Viewer and then choose View -> View NPC to see NPC Model with it’s Display ID (Display ID is listed as the second value) and you’ll get the creature display id

Creating new entry for custom NPC

In this example we’re going to create a new custom vendor + repair npc (4224) for mangos using The Lich King Model (28672) with creature id 100001 plus 100000 health called Reaper-X with subname www.reaper-x.com (obviously you’re free to change the npc name to your liking)

Anyway, now we need to open command prompt as usual, then type this

mysql -uroot -p

# switch database to mangos
use mangos

# inserting new rows for creature on mangos, updated on 31 October 2011 because the column name has been changed
INSERT INTO creature_template (entry, modelid_1, name, subname, minhealth, maxhealth, npcflag) VALUES ( 100001, 28672, 'Reaper-X', 'www.reaper-x.com', 100000, 100000, 4224 );

# check whether the previous value has been inserted to database
SELECT entry, name, subname from creature_template where entry = 100001;

# quit mysql

quit

WoW Mangos Create New Creature

Adding the new custom vendor npc in WoW

1. Delete everything inside your WoW cache directory (Your WoW Installation Directory\Cache)

2. Now start mangosd.exe and then open your wow client, and finally log on to your server

3. Choose the best position on where your new custom npc should be placed (the new custom npc will be added to your current character position in WoW, and also facing the same position as your character so make sure to position your character properly)

4. type .npc add 100001

5. And voila! you’re done adding your new custom vendor npc

WoW Mangos Custom NPC

Adding item(s) to your new custom vendor

1. Click on the npc

2. Type .lookup item itemname where itemname should be replaced with whatever item you want your new custom vendor sell (in this example i choose Shadowmourne)

3. Type .npc additem #itemid where itemid should be replaced with previous value displayed on the previous lookup (in this example i type .npc additem 49623 to add Shadowmourne to the npc)

4. You’re done

WoW Mangos Additem to Custom Vendor

Special Note

If you asked me, on where did i get the NPCFlag value from, well the answer is you can see the NPCFlag by looking at the source code of Mangos (unit.h). And to make things easier for you, here’s an example of where i get that 4224 value (Vendor NPC + Repairer)

Mangos NPCFlag

enum NPCFlags

{

UNIT_NPC_FLAG_NONE                  = 0x00000000,

UNIT_NPC_FLAG_GOSSIP                = 0x00000001,       // 100%

UNIT_NPC_FLAG_QUESTGIVER            = 0x00000002,       // guessed, probably ok

UNIT_NPC_FLAG_UNK1                  = 0x00000004,

UNIT_NPC_FLAG_UNK2                  = 0x00000008,

UNIT_NPC_FLAG_TRAINER               = 0x00000010,       // 100%

UNIT_NPC_FLAG_TRAINER_CLASS         = 0x00000020,       // 100%

UNIT_NPC_FLAG_TRAINER_PROFESSION    = 0x00000040,       // 100%

UNIT_NPC_FLAG_VENDOR                = 0x00000080,       // 100%

UNIT_NPC_FLAG_VENDOR_AMMO           = 0x00000100,       // 100%, general goods vendor

UNIT_NPC_FLAG_VENDOR_FOOD           = 0x00000200,       // 100%

UNIT_NPC_FLAG_VENDOR_POISON         = 0x00000400,       // guessed

UNIT_NPC_FLAG_VENDOR_REAGENT        = 0x00000800,       // 100%

UNIT_NPC_FLAG_REPAIR                = 0x00001000,       // 100%

UNIT_NPC_FLAG_FLIGHTMASTER          = 0x00002000,       // 100%

UNIT_NPC_FLAG_SPIRITHEALER          = 0x00004000,       // guessed

UNIT_NPC_FLAG_SPIRITGUIDE           = 0x00008000,       // guessed

UNIT_NPC_FLAG_INNKEEPER             = 0x00010000,       // 100%

UNIT_NPC_FLAG_BANKER                = 0x00020000,       // 100%

UNIT_NPC_FLAG_PETITIONER            = 0x00040000,       // 100% 0xC0000 = guild petitions, 0x40000 = arena team petitions

UNIT_NPC_FLAG_TABARDDESIGNER        = 0x00080000,       // 100%

UNIT_NPC_FLAG_BATTLEMASTER          = 0x00100000,       // 100%

UNIT_NPC_FLAG_AUCTIONEER            = 0x00200000,       // 100%

UNIT_NPC_FLAG_STABLEMASTER          = 0x00400000,       // 100%

UNIT_NPC_FLAG_GUILD_BANKER          = 0x00800000,       // cause client to send 997 opcode

UNIT_NPC_FLAG_SPELLCLICK            = 0x01000000,       // cause client to send 1015 opcode (spell click), dynamic, set at loading and don't must be set in DB

UNIT_NPC_FLAG_GUARD                 = 0x10000000        // custom flag for guards

};

As you can see from the above code we’re using this value to create our custom vendor + repair npc

UNIT_NPC_FLAG_VENDOR = 0x00000080

UNIT_NPC_FLAG_REPAIR = 0x00001000

According to the above value, if we count that two value we get 1080 as the result, and you might be wondering on where does the 4224 came from? the answer is, because the value displayed as hexadecimal, we need to convert it to decimal first and 1080 (80+1000) hexadecimal equal to 4224 decimal

That’s it hopefully this simple guide can help you on creating your new custom npc in mangos :)

Leave a comment

Comments

  1. Mangosnoob101 Oct 9, 2012 at 4:08 AM

    Uhh how do I add a custom currency?

  2. farid Jul 4, 2011 at 8:33 PM

    i just wanna to know how can i go to mangos database

  3. Carole Hickman Dec 29, 2010 at 8:31 PM

    [...] created my own private Mangos server and one GM character using tutorials on reaper-x.com page (How to create custom npc on Mangos – Reaper-X). 3 more things that I want to do are: – 1. – Create custom areas, starting zones, etc. I’m [...]

  4. sell this domain at sedo Oct 22, 2010 at 7:29 PM

    Interesting fact. thanks for the info!

  5. Shunsuke Jul 24, 2010 at 11:59 AM

    Thanks for all the guides to starting a private server! I have a question about this one, though. Is it possible to make the custom npc a trainer and how would you add the training to the npc?

  6. Ollie Jun 28, 2010 at 10:45 PM

    Many many thanks for your detailed guides. I’m having a lot of fun being GM. I just got 1 small problem and i cant find an solution for it. I created an custom vendor-npc, placed it in the world somewhere, and add some items to the vendor-npc. Followed your guide step by step, and till this point all is ok. But i cant browse the vendors goods, cant repair at it.. cant do nothing? What did i miss or did do wrong?
    +1

  7. RadiKAAL Jun 26, 2010 at 3:38 AM

    Many many thanks for your detailed guides.
    I’m having a lot of fun being GM.
    I just got 1 small problem and i cant find an solution for it.
    I created an custom vendor-npc, placed it in the world somewhere, and add some items to the vendor-npc. Followed your guide step by step, and till this point all is ok.
    But i cant browse the vendors goods, cant repair at it.. cant do nothing? What did i miss or did do wrong?

  8. wow gold Jun 22, 2010 at 2:55 AM

    Thanks for the guide it really helps a lot, its been a while since I search how can I make NPC thanks to you and your mangos guide you make my dreams come true, I have now my private server!

  9. krissmus Jun 1, 2010 at 10:41 AM

    well i personaly prefer quice to make custom npcs, couse it is simple and takes no time

  10. Aekom May 17, 2010 at 3:44 AM

    Seriously dude, you never cease to amaze.

    • Kyle Tuite May 18, 2010 at 1:48 AM

      I completely agree. Reaper, you are the master of WoW private servers (MaNGOS at least).

      Maybe if you know anything about the programming language you could develop for them or open up your development branch!

    • Reaper-XReaper-X May 18, 2010 at 5:30 PM

      Thank you very much Aekom and Kyle, and sorry for late reply because yesterday i’ve been having migraine and neck pain (not even paracetamol can’t reduce the pain and so i had to go to a doctor and he said i need to take EEG Test which is already done today)

      But unfortunately i don’t have that much knowledge to create a fork (if that’s what you mean) Kyle lol

Trackbacks/Pingbacks

  1. [Mangos] Random Questions.. plz..
  2. How to create a WoW Private Server using Mangos - Reaper-X

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>