How to Create Custom NPCs


Hello ! Today we will learn how to create an NPC from nothing !

Summary

  • Required tools
  • NPC dressing
  • CreatureDisplayInfo editing
  • CreatureDisplayInfoExtra editing
  • Patch creation
  • DB addition

Looks like it's time to gear up !

- Software like Photoshop or Gimp. Personally I use Photoshop because of this : BLP Plugin
- Wow Model Viewer or something similar
- BLP Converter (useless if you use the Photoshop's plugin)
- My DbcEditor
- MPQ Editor
- Your 3.3.5 client !

Looks like it's time to dress up !

I only mentionned one tool which can dress up our future NPC, so, let's go to Wow Model Viewer !

First, we have to select the race of our NPC, I'll choose... Human male !
You can select this in the menu on the left, in the character part.

Now, here's the interesting part.
c3fe7bb618.jpg

Quick explanation :

The menu in the top right corner defines the look of your npc, face type, hair color...
ATTENTION ! In CreatureDisplayInfoExtra, hair color and hair style are inversed !

Below this menu, it's seems to be obvious, you can set your Npc's stuff.
Below again, Oppa tabard style !  8-)

I let you prepare your NPC, I'll create mine and after, we compare who made the most beautiful :D !

Time's up !

Here's mine :
96ad403812.jpg

Ok I used WoD stuff, I cheated... a bit  ;)

Now, you can screen the whole right menu, that way you will not forget the character's characteristics !
Sometimes you can see two numbers to the right of the object name, they are important, the first is the itemID, the second his DisplayID, keep them two !

Our NPC is created, now we need to extract its texture.
In my WMV version I do this :
9e6505122a.png

Once exported, a single file will interest us : body.tga

Open it with Photoshop or your software, and you'll see this :

0b70d06bf4.jpg

You're free to customize the face, adding scars or whatever !

If you don't use the BLP plugin, save this file as png, and slide it on your BLP Converter.

We have finished the texture !

"But, Hyakki-master ! And weapons ?!"
Creature_equip_template, world database !

Your turn CreatureDisplayInfo !

Open this DBC with the software provided by this tutorial (MyDBCEditor)
You'll see lines. Lines everywhere !

Scroll to the last line, right click and select "Insert line...", your ID MUST be unique ! I'll choose 70010.
Quick explanation 2 :

First column : unique ID
Second column : Model ID that is registered in CreatureModelData.dbc (for a human male it's 49, a human female 50...)
Third column : Dunno, let zero.
Fourth column : ExtraDisplay : We'll see it in CreatureDisplayInfoExtra.dbc, it must be unique too.
Fifth column : Let 1.
Sixth colum : Creature opacity. 255 means your npc is opaque, 0 means... yes it's transparent.
Seventh and Eighth column : "Extra texture", when you npc isn't a character but a creature, these colums set their skin.
The next columm : Contains an ID or 0, the ID corresponds to sound ID in NPCSounds.dbc.
Last column : Let zero.

Here's the look of my NPC column :
16dca6f823.png

You must to put this DBC in your MPQ patch and in serverside.

Next !

Braces yourselves CreatureDisplayInfoExtra is coming !

6544436ac0.png

This is where it all take shape.

Documentation time !

 

 

  • 1 : ID, that one you choosed in the fourth column in CreatureDisplayInfo.
  • 2 : Character's race, 1 for human... IDs are situated in ChrRaces.
  • 3 : Gender. 0 for male (It is also the degree of intelligence of the person who wrote this guide) and 1 for female.
  • 4, 5, 6, 7 & 8 : SkinColor, FaceType, HairStyle, HairColor, BeardStyle. (Don't forget, in WMV, hair style & hair color are inversed)
  • 9 : Head DisplayID (that one you choosed in WMV, if not, set to 0).
  • 10 : Shoulders DisplayID (that one you choosed in WMV, if not, set to 0).
  • 11 : Shirt DisplayId (that one you choosed in WMV, if not, set to 0).
  • 12 : Chest DisplayID (that one you choosed in WMV, if not, set to 0).
  • 13 : Belt DisplayID (that one you choosed in WMV, if not, set to 0).
  • 14 : Legs DisplayID (that one you choosed in WMV, if not, set to 0).
  • 15 : Boots DisplayID (that one you choosed in WMV, if not, set to 0).
  • 16 : Bracers DisplayID (that one you choosed in WMV, if not, set to 0).
  • 17 : Gloves DisplayID (that one you choosed in WMV, if not, set to 0).
  • 18 : Tabard DisplayID (that one you choosed in WMV, if not, set to 0).
  • 19 : Cape DisplayID (that one you choosed in WMV, if not, set to 0).
  • 20 : 0.
  • 21 : Your texture name, in my case, it'll be admerin.blp

Fill your DBC line with your items's DisplayID that you choosed for your NPC. Be careful, sometines the first digit is valid, sometines it's the second.

Here's mine :
2867cced22.png

Save it ! Upload it to your server, put it into your Patch !


But... Where in my patch ?!

I assume you know how to create a MPQ patch. So, open your MPQ with MPQ Editor !

If they don't exist, create two folders at the root of the patch. Call them :
DBFilesClient
Textures

You can put your two DBCs in DBFilesclient

Now, go in Textures, create a folder called BakedNpcTextures and put your .blp in there.

Your patch is ready.

Last step !

Creature_model_info

Serverside part !
In your world Database, find this table and open it !

Quick explanation... Oh no, copy/paste the content of an other line.
EXCEPT ONE THING !

Your ID must be the same as the one in CreatureDisplayInfo, in my case : 70010.
This digit is the DisplayID that you MUST use for your creature.

Once your line is written and your NPC created...

fc5dad09b0.jpg

This tutorial is finished  :D  ! Don't hesitate to show your NPCs here !



Recommended Comments

Nice tutorial, but I got one problem:
I got two .tga files during exporting my model. One with "blablabla_body.tga" and one "blablabla_hair.tga". I renamed the fileending to .png (like you said). I have two blp converter in my wow modding environment (one "BLPconverter6.exe" and one "BLPconverter8.exe"). I tried to put my "blablabla_body.png" file into both blpconverter.exe. But nothing happened, I dont get any .blp files. Nowhere. What am I doing wrong?

Thanks in advance for your time :)

Share this comment


Link to comment
Share on other sites

You have to open your .tga file with Photoshop and then renamed it with Photoshop ;)

Share this comment


Link to comment
Share on other sites

ive done every single step but my npc shows up all green with no texture, why is this?

 

-if it helps when I drag "characterx.blp" into textures\bakednpctextures it simply disappears, creating a new file named "textures" in the root folder

Share this comment


Link to comment
Share on other sites
Just now, DrownedGrace said:

ive done every single step but my npc shows up all green with no texture, why is this?

 

-if it helps when I drag "characterx.blp" into textures\bakednpctextures it simply disappears, creating a new file named "textures" in the root folder

 

barryerror.png

Share this comment


Link to comment
Share on other sites

Hi there, what other considerations, should I take to make Worgen and Pandaren, npcs with this?  

Share this comment


Link to comment
Share on other sites

For those of you with invalid textures, ie: the texture is all green or very messy. It is because you converted it into a bad .blp file format. 

Pls refer to this page it is very good: https://wowdev.wiki/BLP

It says on there it should be this: Palettized, 0-bit alpha (P0) - Example: character skins, clothing.

Good blp converters let you choose the correct file format to convert to, alternatively if you do not got a good one, I guess you can try to change the file format of the png - sometimes I have had this work in the past with some simple converters, but I am far from certain this will help you without much trial and error.

 

Share this comment


Link to comment
Share on other sites
On 7/31/2016 at 1:25 PM, UltraNic said:

Nice tutorial, but I got one problem:
I got two .tga files during exporting my model. One with "blablabla_body.tga" and one "blablabla_hair.tga". I renamed the fileending to .png (like you said). I have two blp converter in my wow modding environment (one "BLPconverter6.exe" and one "BLPconverter8.exe"). I tried to put my "blablabla_body.png" file into both blpconverter.exe. But nothing happened, I dont get any .blp files. Nowhere. What am I doing wrong?

Thanks in advance for your time :)

Most blp converters work from .png to .blp and vice versa, so i recommend you try exporting it as a .png file instead and try with that. 

Share this comment


Link to comment
Share on other sites

Sorry for the spam of comments. I think it is a very good guide, but there are a few alternatives you can do underway:

The first one being that you can convert the dbc to a csv file and then use a text editor. This is more save and fast than the DBC editor in my opinion, but you do need a "help" line:

ID,Race,Gender,Skin,Face,HairStyle,HairColor,Beard,Head,Shoulder,Shirt,Chest,Belt,Legs,Feet,Wrist,Gloves,Tabard,Cape,0,Texture,
texture should be like this forexample "textureName-312.blp"

This way you can just mark forexample shoulder, and type in the should displayid. :)

Also the second thing that you can do is, to export the file as X3D.. 
This gives you a .png file instead. 

  • Like 1

Share this comment


Link to comment
Share on other sites

Thank you very much, i succeeded!

As Awesomesauce  said, export the model as X3D instead of milkshape.

And use the correct BLPConverter to avoid weird texture or black texture when you move further. 

I used this BLP converter: https://www.wowinterface.com/downloads/info14110-BLPConverter.html

Remeber add \R flag after the target in the property page of the BLPconverter.exe shortcut to generate right BLP.

Share this comment


Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now