- You made an item
- You added it to your database
- You logged in and your item has a red question mark icon
OR
- You made a book that teaches a spell.
- You added it to your database.
- You logged in and your book is a wrist, belt, helmet etc.
Why did this happen?
A server keeps Items in 3 locations:
- Client (Item.dbc)
- Server (Item.dbc)
- Database (item_template)
You added the Item to 1 location:
- Database (item_template)
You need to add the item to the remaining 2 locations:
- Client (Item.dbc)
- Server (Item.dbc)
How do I get started?
- We need that item from your Database
- Open your Database Manager (SQL Workshop, HeidiSQL, etc)
- Open up a new query tab.
- Write a query to retrieve your item.
What query should I use?
- Item.dbc has less columns than Item_Template
- we do not require all of the rows from Item_Template
- We need to use a specific query to return the rows we require.
If you're looking for a single item and you know part of it's name:
If you have more than one item, and you know the entry ID range that you're using for your items (80000-100000):SELECT entry, class, subclass, SoundOverrideSubclass, Material, displayid, InventoryType, sheath FROM item_template
WHERE name LIKE '%part_of_name%'
LIMIT 0, 1000
Either method should result in you retrieving the Item(s) you added.SELECT entry, class, subclass, SoundOverrideSubclass, Material, displayid, InventoryType, sheath FROM item_template WHERE entry BETWEEN 80000 AND 100000;
What do I do next?
- Items should be returned.
- press Ctrl+A to select them
- in the bar above them you should see "Export/Import" if you're using SQL Workbench (or if you're using HeidiSQL you can just right click export)
- click on the "export recordset to an external file" this will want to make a .csv file, name it "Item.csv".
- put it on your Desktop.
Retrieve Server Item.dbc (TrinityCore)
- Go to your "Build\bin\RelWithDebInfo\dbc" Folder
- Find Item.dbc
- Create a copy of Item.dbc on your desktop.
You should have:
- Item.csv on Desktop
- Item.dbc on Desktop.
Update Server Item.dbc
- Download "DBCutil"
- Drag "Item.dbc" onto the "DBCUtil.exe", this will make a new file on your desktop called "Item.dbc.csv"
- delete the copy of "Item.dbc".
- Download "Notepad++"
- Open "item.csv" in Notepad++
- Open "item.dbc.csv" in Notepad++
- notice similarities.
- Your items are not in "Item.dbc.csv".
- Copy "item.csv" rows into "item.dbc.csv"
- The last item of the "item.dbc.csv" should end with a comma
- press enter at the end of the document so there is one empty line.
- Save and close "item.dbc.csv".
- you can now safely delete "item.csv"
- Drag "item.dbc.csv" onto "DBCutil.exe" to get an "Item.dbc"
- Make a backup of your old "Item.dbc"
- Replace the old "Item.dbc"
Server Item.dbc modification is complete:
Update Client Item.dbc
- Download "Ladiks MPQ Editor"
- Make new empty MPQ
- In empty MPQ make folder called "DBFilesClient"
- Drag "Item.dbc" into folder.
- Name MPQ something like patch-9.MPQ
Finishing up
- start up your server
- the issue should be fixed.
test that it's fixed:
- if you can right-click equip the item.
Notes for the future:
- You should keep "Item.dbc.csv" in case you need to update it again.
- update the MPQ, don't add new ones.
Not showing correct Icon:
- make sure that you know the difference between an EntryID and a DisplayID.
Method 1:
- Go to WoWhead
- Example: Crystal Vial - Item - World of Warcraft
- "3371" is the entryID.
- To find the DisplayID, go into "item.dbc" file and search for "3371".
- second large number on the same line is your displayID.
Method 2:
- TrinityCore creator
- search for an item and find it's displayID.