First of all, I will be using Navicat to do this tutorial. Its really all not that hard, just pay attention and stick with me and it will be fine.
If you would like to use a free, legal, non-cracked version of Navicat 8 click Here but scroll down halfway.
Also, I know there are programs out there, which are good AFTER you get to know your database extremely well. In fact I use programs for half of my work, but this tutorial is for those new or even old to private servers. If you don't understand a bug with your NPC or whatever you made with a program, you can't understand how to fix it in Navicat.
Here we go.
Ok first open up Navicat.
Now go to your WORLD database if you have one, but for most people its just called ASCENT.
Open up your creature_names table.
In the first column, its labled "entry", this is entry number of your NPC which is used to spawn the NPC.
In the second column, its labled "name" this is the name of the NPC. (Of course)
In the third column, its labled subname. For this, simply put the subname. See the example in a minute for an example.
SKIP the fourth column labled "info_str", as it is irrealavant.
In column five, you must put the flags of your NPC. THIS IS THE MOST IMPORTANT PART OF THE NPC CREATION PROCESS. Look at these flags that you will use.
NPC FLAGS LIST
1... Guide-Always lable your NPC with this.
2... Quest Giver
16... Class Trainer
1634... Profession Trainer
32768... Spirit Healer
524288... Tabard Vendor
1048576... Battle Master
2097152... Auction House
8388608... Guild Bank
(there are more but im too lazy to add em)
You add all the ones you want together.
Example: Vendor/Repairer/Banker is
128+4096+131072= 135296 (135296 is what i put in the database)
Next column you truly need is "male_displayid". Put the display id (look of the npc) in here. To find the display id of a NPC already in the game do .npc info and it will list the display id somewhere near the top.
Skip female display id b/c females suck (get it!! )
You really don't need any of the others unless you really want them. This is a basic tutorial, if you need more info on the other columns, feel free to PM me.
Click the check mark if you can in the bottom left-hand corner. Now close out of this table.
Go to your creature_proto.
This is pretty much self-explainitory, just in the first column make sure you put the id of the NPC you just entered in the creature_names category.
Also in the ones with min and max columns, make sure that the values you put in in the second column are EQUAL or GREATER than the first columns value.
Example minhealth=500 maxhealth=800
Remember to click the check mark to save your work.
Now, if this is a vendor, open up the column labled "vendors"
In the first column, put the NPC ID, the one you used in both of the previous entries in those tables.
In the second column, put the ID of the Item you wish to select.
TIP- Go to wowhead.com and search for an item.
I looked up the monkey ring and got this: Monkey Ring - Item - World of Warcraft The number after the equal sign is the id number for that item.
In the third column, put the amount you want to be available.
Keep in mind this doesn't set a price for the item, which is just fine for this tutorial. To learn how to make it have a price, just PM me anytime.
Ok, now you just created an NPC for a WoW Private Server.
Hope this guide helped you and good luck.
Credits go to wareagle!