Hello,
I made a really quick guide on using this here:
link
I'll post a copy here:
Creating Custom MH4U Quests - A simple? guide v0.1
A image-based guide on how to start creating your own custom DLC quests.
Svan - Creator of tools to encrypt/decrypt files
Kyo_100 of GameFAQs for original guide
Installation
Necessary files:
Item Database (data.db)
SQLite Viewer - Portable app recommended
Hex Workshop
svanheulen's mhef files to encrypt/decrypt ("Download as Zip")
SKFU Proxy
Python 2.7
PyCrypto
Download all of these files, put them into a single folder or manage them however you like.
Follow these steps in order, or if you know what you're doing, do whatever you want.
Installing Python and PyCrypto
Installing Python is straightforward, we're going to use 2.7 - just run the installer. Afterwards, open up a command prompt and type in python - if it works, you will see a dialogue. Type exit() to quit.
If you get a message stating that python is not a recognized command, go to Start -> Control Panel -> System -> Advanced System Settings -> Environment Variables
Under System Variables, you'll see a Variable called PATH or Path, double click the 'Value' portion, and add ;C:\Python27
After the last entry.
So if it was
C:\System32\
It will now be:
C:\System32;C:\Python27
Afterwards, install the PyCrypto package for Python 2.7, doesn't matter if there's asc or not. It should know where your Python folder is.
Installing the rest of the programs
Fairly straightforward, just install them one by one.
Unzip the mhef files, if should be called mhef-master.
Open a command line in mhef-master (You can shift+right click and select "Open Command Prompt in this Folder")
Copy+paste or type in the following command:
Set up your puu.sh account properly.
Downloading your first DLC quest from Capcom servers
For this example, we'll be using the DLC quest Protector of Peace as our initial subject. It is a G1 rank quest - Kill a Tetsucabra and a Frenzied Tetsucabra
1. Open a command line in mhef-master\tools.
2. Enter this command:
Code:
python download_n3ds.py m60239.mib m60239.mib
You'll now see a m60239.mib file in your folder.
3. Copy this file to the mhef-master\examples\n3ds folder, open another command line here.
4. To decrypt this file into something editable, use this command:
Code:
python dlc.py d m60239.mib m60239_d.mib
5. Now, open up SQLite browser, and open up Data.db. Go to Browse Data and select the items table.
To find a specific ID of an item, type the EXACT name into the filter. Use Kiranico if you don't know the exact name.
6. Open up the m60239_d.mib with Hex Workshop, you'll see something like this:
So for now, we'll cover how to edit supply box.
Start a search for Hex Values (CTRL + F)
We know from playing the game that this quest's initial supply box has 15 Freeze S.
The item ID in DEC(imal) for Freeze S is 105. We need to convert this to HEX in order to edit our quest.
To do this, use a
Dec to Hex webpage, or a notepad++ plugin that converts this stuff automatically.
We see that 105 becomes 69.
These supply box values are in 4 bytes, which means if it ends up being something like 69 we'll add a 0 in front of it. So it becomes 00 69.
However, the way these bytes are in the file are reversed per 2 bytes, so it actually becomes
69 00.
Now, in the supply box there's 15 of these, we convert 15 to hex, to get F. This is also in 4 bytes, so it would be 00 0F. Similarily, inversing this gives us
0F 00.
So if we put this all together, we'll get
69000F00
Searching for this string will bring us to a specific location.
Now, let's say we want to replace this reward with something like a Fatalis Flameshell.
Fatalis Flameshell ID: 1590
->HEX-> 0636 ->INVERSE-> 36 06
So to edit, just click in front of 69 00 and replace with 36 06.
If you want to change that 15 to 99, convert 99 to hex -> 00 63
Invert, 63 00. Replace 0F 00 with 63 00.
You just edited your supply box from 15 Freeze S to 99 Fatalis Flameshells!
So now we have to save our file, then encrypt it back so we can download it onto our 3DS. So let's go to the next step.
7. To encrypt this file into something usable on the 3DS, use this command:
Code:
python dlc.py e m60239_d.mib m60239.mib
This will replace the old m60239.mib with your new one.
8. We want to upload this file to puu.sh for use. Open up the puu.sh window:
Change it so that you upload a file when you double-click (my preference), but you can just upload via right click. Upload your m60239.mib file.
Puu.sh will automatically copy the link once you do.
9. Now make a file called rules.httprls and put this in there:
Code:
http://goshawk.capcom.co.jp/3ds/mh4g_eu_/m60239.mib
http://puu.sh/iQVUX/c120b9257f.mib << your puu.sh link that was copied
http://goshawk.capcom.co.jp/3ds/mh4g_us_/m60239.mib
http://puu.sh/iQVUX/c120b9257f.mib << your puu.sh link that was copied
Make sure you save it as 'all' and not as a .txt
10. Run SKFUpr0xy.exe
Import rules into HTTP(s). It should detect automatically your proxy IP. Setup your 3DS to connect through this proxy,
there's plenty of guides on that already. Press Start.
11. Go on MH4U and download the quest, it will be called Protector of Peace or something similar (can't remember exactly). If you already have it, check it again and redownload + save.
12. Go to a G-Rank hall, go to event quests, and run it. You should see 99 shells instead of the Freeze S.
Editing Monster data/other stuffs
Coming soon...?
Some questions/answers
Question said:
Hey, when I try to decrypt the quest, it tell me that there's no module named mhef.n3ds. I've been told that it's because I haven't installed Pycrypto but I definitely ran the exe and it recognized my version of python. Any idea what I'm supposed to do?
Make sure you do this step:
Copy+paste or type in the following command:
python setup.py install
Question said:
Hi, can I ask how to download a specific DLC like you did? I mean, how do you know the id of the dlc so you can download it to edit it
You can do this by decrypting this file:
http://goshawk.capcom.co.jp/3ds/mh4g_us_/DLC_EventQuestInfo_eng.txt
And matching id's with names.
Here's a decrypted one already:
not formatted as well as possible sry