Hello, I will be making a detailed, step by step process of how to make a WC3 Mod. Please refrain from asking questions, as I might answer them later.
So here it goes:
Step #1: Planning
Never make a mod without a clear and distinct plan of what will be in it, or the theme of the mod. If you can't seem to come up with a suggestion, just ask the friendly people here and they will gladly provide a multitude of ideas.
1. Make a map. If you are going to be editing land borders and countries make a map before you make your mod. I use
mapchart.net to make my maps for planning. These will help you later when you want to know what country gets what.
2. Gather your resources. Make sure to have any apps you might need to help you with your editing. I use the following 3 apps on android. Hex Editor Free, Total Commander and Apk Editor (preferably pro). On PC you might need WinZip or a hex editor:
lmgtfy.com/?q=Pc+hex+editors.
3. Plan your stats. Each troop level has a different range, cost and attack stat. Make a plan for what you want these to be. Make sure to do the same with generals, but also gather the images you will need.
Other useful resources:
Hex Converter (This will be used later):
www.binaryhexconverter.com/hex-to-decimal-converterImage Resizer (To edit general heads and logos):
resizeimage.netThe Unlocked WC3 apk (NESSECARY):
european-war-4.boards.net/thread/4055/unlocked-wc3-apkStep 2 will be editing stats files. I will be publishing that VERY soon! Hope you all enjoy!
~Long live the Empire
Step 2:
1. Open Total Commander and find your unlocked wc3 apk. Click on it, and select the option "Open as ZIP".
2a. Editing the troops: In the apk, go to the assets folder. Once inside there, go to the json folder. Inside the json folder there are a few .json files. For this step we will be editing the file "armysettings.json". To open this file press and hold it, then select "Unpack+Edit". There should be a number of troops that look like this:
{
"AirborneId": 0,
"AOEin1": 0,
"AOEin2": 0,
"Army": 1,
"CD": 0,
"CostMoney": 80,
"CostOil": 0,
"CostSteel": 0,
"Defence": 0,
"Feature": [
1
],
"HP": 65,
"Id": 100001,
"Level": 0,
"MaxAttack": 24,
"MaxRange": 1,
"MinAttack": 8,
"MinRange": 1,
"Mobility": 6,
"MoveOil": 0,
"Name": "Infantry",
"OName": "步兵0级",
"Shield": 0,
"Type": 1,
"UpgradeId": 100002
},
This part is pretty self explanatory, but I will define a few variables. The features are the types of attack a troop has. So 1 would be the standard attack. To make infantry do fighter plane damage (It does not change the animation) you would change it to 19. MinRange is the minimum range a troop can attack from, if I were to set this to 2, it could not attack something next to it. Each troop has a level, so to change all 5 levels of a troop's attack, you MUST EDIT ALL 5 LEVELS.
1b. Unlocking all the conquest years: Once you are done with armysettings, click the back button twice, save it, and re-pack it back to the archive. The, in the json folder again, go to conquersettings.json. I'm sorry I cant post a picture, or this page would reload and I'd lose all my progress. But in the conquersettings you should see the following things. 1939.9, 1943.1 (Not in order they are spaced out), 1950.1, etc. Change all the YEARS to 1939. Do not change the number after the decimal. Then save the file, double click back, and re-pack it into the archive.
3. In order to see if you did this right, go into ApkEditor. Select your Apk and click FULL edit. Then click build at the top righthand corner. If you did it right, once the apk is built and you install it, the game will run like normal. However, if you made a mistake, the game will crash. If this happens, try to see what you did wrong, and if you cant find out, replace the corrupted file.
Step 3: Hex Editing: The Basics
1. Open Total Commander and go into the assets file. Scroll Down to the conquest .btl files.
a. The conquest files are like this:
1001= 1939
1002= 1943
1003= 1950
1004= 1960
1005= 1975 (Aliens)
2. Land Borders
There are 52ish countries in the game and each has a specific country code based on their number. (This code is for BORDER EDITING NOT ALLIANCE CHANGING) such as 01, 02, 03. To find these, just check out the country codes ThaSnaily made in the modding resources thread.
Note: Because each new conquest adds countries (Like PRC and Aliens) the country codes CHANGE in seperate conquests! Like 1939 codes are not the same as 1943 codes.
2. In Total Commander, find the conquest file you like, press and hold and click "Unpack + Open With" Open with Hex editor free. When you first open a file with hex editor free you will notice there are 6 columns. To change that, use 2 fingers in a zoom in/out motion to set it to 4 columns.
3. On PC set your columns to 116 and you should see a world map made up of the y's and commas. On android, in 4 columns the hex map goes left to right, starting at the top with the UK.
4. To edit an area of land (Say make Germany own the UK) scroll down in the hex file until you see a whole bunch of lines that look like this: "ffffffffffff000000ff". That is a hex byte of England. So change every 00 you see (In that block PLEASE REVIEW HARDTECH'S GUIDES FOR THE HEX BLOCK) to an 06, Germany's code.
5. When done CLICK THE CLIPBOARD AT THE TOP TO SAVE, because if you dont do that, it wont auto save. Then, click back twice and re-pack it to the archive!
Step 4: Changing attacks
So a few people have asked about this, because my mods all have this feature, putting missiles on subs.
1. In armysettings.json find the level of submarine you want to add missiles to. (THIS WILL NOT CHANGE THE ANIMATION, ONLY THE DAMAGE AND RANGE!)
2. Find the section where it says:
"Feature": [
10
],
10 is the sub attack. To make it launch an SRB missiles change that to 21 or whatever attack. SAME CASE WITH NUCLEAR WEAPONS! But don't do that, the game gets unbalanced.
3. Save and follow the steps above!
Step 6: Adding generals
1. Go into assets/json
2. Click to edit commandersettings.json
3. First you'll want to copy the data of a general similar of the one you want to make.
4. Paste it at the bottom and change the nessecary items like name and ID. MAKE SURE THE ID IS CHANGED!!
5. After photo add head_yourgeneralname.
6. Save and exit that. Get a photo of your general, resize it to 150 x 150 and then name it head_yourgeneral name EXACTLY LIKE YOU DID IN THE COMMANDERSETTINGS!
7. Go to stringtable_cn (if you are using @communist's apk then it will be named stringtable_en) and add your general ID to the commanders in there.
8. In the assets file there is a file called smallheads.png, you can add your photo there and then find the coordinates, I personally don't do that.
9. Save it all and follow the steps above.
~Long live the Empire!