Been away for a while from WoW because the game got boring - but then I thought if this game is so boring; why won't I make it fun myselfso I started model editing again.
What I wanted to do is adding new; custom instances to the game while leaving the original instances intact. So I found a method and wanted to share it here; and will try to make this guide as noob-friendly as possible. In this guide I will show you how I created a new instance "The Secret Cow Level" that is based on the Culling of Stratholme
1. Tools
First you'll need some tools
- MyWarcraftStudio or another MPQ extractor/editor
- DBC to CSV convertor
- Microsoft Excel (to edit the CSV files)
- Taliis
- A private server
These are just examples of tools you could use and are used in this guide - of course you can pick any similair tool
Optional:
- Something to mass-rename file names; could save you a lot of time if you are going to copy larger maps
2. Let's get started
Start MyWarcraftStudio and find the map files. It depends on what map you need in what MPQ archive you'll need to look. In my case; the map files for CoS are located in lichking.MPQ.
In the MPQ archive you can find the map files in world/maps. In the maps folder there are many more folders with the name of instances. Inside each of these folders is a .wdt, .wdl and many .adt files; and we are going to need all of them. The easiest way to extract those is select the folder of the instance you need; right click on it and choose extract folder (see picture).
Next we'll need some .dbc files. The .dbc files are located in another MPQ archive; this archive is located in the enUS / enGB folder (depending on whatever you have installed US or EU client). Choose the patch-enXX-Y.MPQ file (where XX is US or GB etc. and Y is the highest number you can find). Go to the DBFilesClient folder in the MPQ archieve and extract AreaTable.dbc and Map.dbc (if they aren't there open the patch archieve with the second highest number and so on).
3. Creating the New Map
Now we have everything we need to create the new map. The first thing we are going to do renaming the map files. Go the folder where you extracted the map files and give this folder a new name - could be whatever you like just don't use spaces - I named the folder "CowLevel"; remember this name. Now open this folder and rename all the files inside; you need to replace the name of the original instance with the name of the folder. So in my case:
StratholmeCOTXXXXX --> CowLevelXXXX
![]()
4. Renaming the New Map
The map is now copied but we still need to make the game reconize your new map and of course we also need to give it a new name. Renaming the maps requires dbc & adt editing and loads of time.
Go to the place where you placed the .dbc files and convert them to .csv.
Open map.dbc.csv with excel and search for the original instance. Copy this entire row and paste it at the bottom of the document. In the first collumn put an unique number (one that hasn't been used before in the same collumn); in the second collumn put the name you gave to the map files - in my case that would be CowLevel. In the 6th collumn put how you would like to call your zone: The Secret Cow Level. No need to change anything else (collumn BF is the loading screen but won't change it in this guide)
Now open AreaTable.dbc. Again copy the original instance and paste it at the bottom. The first collumn is the ID; choose an unique number and remember this number (as we need it for the adt files). In the 2nd collumn choose the same as you used in the previous file (3 in my case). The next thing you need to change is the name (collumn L); name it whatever you like. Now convert the csvs you just edited back to dbc.
Now comes the .adt editing part and because you need to edit each and every one of them seperately this going to consume loads of time. Open
Taliis and go to the map folder of your new map - and open the first adt (CowLevel_27_27.adt in my case). Now go to Edit --> Replacement Tools --> SetAreaIDs. A new window should pop up and replace the text in the right [AreaID(0-xx)] with the ID you used in the first collumn in AreaTable.dbc, 4912 in my case. This way you can also create subzones. Now save the adt file, close it and open the next file. Repeat this progress untill you have edit every adt file.
5. Almost There
It took a while but now we are almost done. It's time to put the altered map files and dbc files into the MPQs using MyWarcraftStudio.
Make sure the map file is has the path world/maps/<zonename> and the dbc files DBFilesClient/
Also; if you want to use your new map in a private server you need to make the server reconize the new map (at least for ArcEmu; don't know if it's need and how to exactly do it for other servers). Open your server world db (using Navicat or whatever) and open the world table. Open the worldmap_info table; and enter information as you desire, the most important is that you use the mapID used in AreaTable.dbc in the first collumn. Then place ad.exe in your WoW folder to extract the new map file and place it in your servers map folder (you can't just copy the original map because the mapID is changed).
Now you are finally done and can enjoy your new instance
3. The Result
In the picture in the link below you can compare MapID's. Also, can add npc's, bosses, change terrain etc in one instance while leaving the original intact
http://img717.imageshack.us/img717/2277/pic6o.jpg
Edit: Found out how to rename the map (need to edit .adt files; consumes some time though) will be working on improving this guide