Decided to write this quickly because I was in the process of doing it anyway, and didn't see an updated guide posted elsewhere:
What is a currency?
- A currency is an item like Honor Points, ICC upgradable rings, Badge of Justice, Frozen Orb or Primordial Saronite.
- A currency ID or (ItemExtendedCost) can be optionally used when adding items to vendors which will allow that vendor to sell an item for that currency.
- You are defining not only the currency, but the quantity of that currency that is required when you make an ItemExtendedCost.
- Following this you can make your own custom currency, which could be used to purchase your own custom items from your own custom vendors.
How to Start?
- Make a normal junk item that will become your currency.
- Make sure it has an entryID (I'm using 80000 )
- make sure it has a displayID. (I'm using 32878 )
- fix things like the red question mark issue (How to fix Custom Item Red Question Mark 3.3.5).
- Add it to your Database.
- Login to the game.
From Junk to Currency:
- Download "DBCUtil"
- Go to your Server .dbc files.
- Copy "ItemExtendedCost.dbc" to desktop.
- Drag ItemExtendedCost.dbc onto DBCUtil.exe to convert to ItemExtendedCost.dbc.csv
- Download "Notepad++"
- Open ItemExtendedCost.dbc.csv file with Notepad++
Lines in this file generally look like this:
80000,0,0,0x0,80006,0,0,0x0,0,1,0,0x0,0,0,0,,
The only column values you need to care about are: 1, 5 and 10.
- 1 is the entryID of the ItemExtendedCost (just make this 80000 )
- 5 is the entryID of your junk item being used as currency (That we just made)
- 10 is the quantity of that item that will be required. (In this case 1)
- Add this line to your file remembering to keep both commas.
- make sure the file ends with an empty line.
- Save the file and close it.
- Drag ItemExtendedCost.dbc.csv back onto DBCUtil.exe to convert to ItemExtendedCost.dbc
- Backup your original ItemExtendedCost.dbc.
Client and Server update:
- Replace the original ItemExtendedCost.dbc file in your Server/dbc folder with your new one.
You will also need to patch your clientside files with the new ItemExtendedCost.dbc:
- Download "Ladiks MPQ Editor"
- Make a new empty MPQ.
- Make sure the MPQ compatibility is set to 3.3.5.
- Make an empty folder called "DBFilesClient" inside the MPQ.
- add the ItemExtendedCost.dbc file to the MPQ.
Creating the Vendor:
- Add the entryID for your item that you want to sell.
- Provide the Vendor with the ItemExtendedCost entryID (80000)
What it looks like:
Currency in Bags:
Currency used by Vendor:
Completed purchase:
Questions:
Q: All of my items cost 1 [Currency]! How do I make some items cost 10 [Currency] or 100 [Currency]?
A: When you make a ItemExtendedCost ID you are defining both the entry ID of the Currency item to be used, and also the amount of that item required. To make some items cost 1 point and others cost 10 you require multiple ItemExtendedCost rows, increasing the amount variable (Column 10)