This is a repo for my MHFZ custom quests.
- Download both the quests and the questlists file.
- Import the questlists to your questlists in pgAdmin. (Read below on how to do that)
- Keep the questlists file inside the questlists folder inside your server bin folder.
- Extract the quests inside your quests folder, they have unique ID and will not overwrite any of the official quests.
- Just play and have fun!
Road's Ancestral Challenger is a musou-type quest that I made which you can face the Fatalis (Road's White Fatalis) outside the Hunter Road, the rewards are its materials!
Freezing Hell is another musou-type quest that I made to face Teo Tesukatora and Toa Tesukatora together, it's a quick and lethal quest though!
Old Demon's Memories is an HR100+ quest that I alongside my old friend Matahashi tried to make to recreate an old quest that was available in the Korean servers back them, I forgot to add the "Top Wing" as a reward, but this is the only way to get the worth Premium HR armours, but the quest is very tough and restricted!
-
Paste Malck quests into Erupe>Bin>Questlists (All files the ones that begin like list_ and quest_
-
Open pgAdmin4, navigate through databases>erupe>schemas>tables
-
Right click questlists table and select Scripts > (any scripts because you will paste mine, but if you are scared use INSERT)
-
Copy and paste this query and change parameters ill mark as bold
INSERT INTO public.questlists (ind, questlist) VALUES ('0', pg_read_binary_file('YourPathToErupe\Erupe\bin\questlists\quest_0_0.bin'));
INSERT INTO public.questlists (ind, questlist) VALUES ('42', pg_read_binary_file('YourPathToErupe\Erupe\bin\questlists\quest_42_2A.bin'));
INSERT INTO public.questlists (ind, questlist) VALUES ('84', pg_read_binary_file('YourPathToErupe\Erupe\bin\questlists\quest_84_54.bin'));
INSERT INTO public.questlists (ind, questlist) VALUES ('126', pg_read_binary_file('YourPathToErupe\Erupe\bin\questlists\quest_126_7E.bin'));
INSERT INTO public.questlists (ind, questlist) VALUES ('168', pg_read_binary_file('YourPathToErupe\Erupe\bin\questlists\quest_168_A8.bin'));
path is your full path to Erupe\Bin folder (copy it from windows exporer top bar. And yes you absolutely must use \ and not / .
Example path will look like this: C:\Erupe\bin\questlists\quest_0_0.bin
-
Click Run/Execute (little play button in top right) or press F5.
-
Press right on questlist>view data>all rows. Make sure you have 5 entries and second column has [binary data] type not [null]
Since I know that many of you want to have your own custom quests and even that beauty looking info in the quest counter, so I'm sharing my notes and hope it helps those who are interested in this. Just be warned that I couldn't spend much time here to find everything so there are a few missing things, if you happen to know and want to share it, you're free to share it as an issue or whatever. Be warned that this is basically a copy/paste of my notes, this is not exactly a step-by-step or whatever kind of tutorial, just sharing some info here. Also you can even add more quests to those files, I just didn't take the time to look for that so for now I don't know how to add more, but I assume that the limit is 42 per file, which means that the only one that is not "full" is the quest_168_A8.bin file. Also for some reason you cannot use more than 5 questlists files at the same time in the database, maybe it could be possible with a proper code?
What do you need? Just a hex editor to do that.
All tests were made using the “quest_0_0.bin” which is a questlist for events.
Following the above file here’s what I got:
Everything selected are the quest information, above it you can see that there are text and it belongs to the previous quest, below the selected zone there is the text for this quest. Keep that in mind.
Just at the start of the quest info there is this value which is related to the amount of players and the PVP modes.
04 = 4 players
Just at the right of the players amount there is the value for the quest tab 1C 01 = G Event Tab.
27 01 = G Exotic Tab
12 01 = LR/HR Event Tab
This isolated value is the “mark” on the quest.
00 = None
01 = Recommended
02 = New
Don’t touch this value, it seems to be unique for each quest, this disables all other quests.
This is the value that changes the objectives 0A for Main/SubA/SubB or 4A for Master.
This is the value for the star lvl, it’s from 01~08. I thing that the 00 before it is also related to it…
This is the value for the quest fee, as usual those values are inverted “BC 02 00 00” hex 00 00 02 BC = dec 700.
Followed by the above quest fee there is the quest main reward value, as usual those values are inverted “A4 06 00 00” hex 00 00 06 A4 = dec 1700.
Finally found the value for the map icon, I’ll need to note one by one that I test… 0C is Dondruma.
This is the special condition value, I suspect that the 00 before that belongs to that… I would need to search for other quests with conditions and note their values, probably inverted as always, this value is for “成功回数制限”, 00 for no restrictions. Changing the 00 before it result in crashing… don’t mess with it! Going above C3 will result in a crash!
No Restriction = 00
This is also related to the restrictions, these values are like a special restriction like required subscription.
Normal? = 02 12
Premium? = 03 13
This is the time, counted by frames hex 90 5F 01 = 90000 fps = 50min
This is the first quest of the GR event list, Silver Rathalos.
This is the line and the quest ID “27 FC” inverted to hex FC 27 = dec 64551 which means a custom ID for a quest file, changing this to load that quest file. This is quite interesting, if I change it for quests that apparently are listed in one of the used files (questlists or mhfinf) it will also carries over all the configuration, but not at all for all cases.
A few bytes to the right of the quest ID you can find this value which is the monster’s icon, need to check the monster’s ID to make the game look for that icon.
This value is related to the monster Icon… Leave it as 01 to use the monster Icon…
This is the GR restriction, the first 2 bytes is the needed GR lvl to join, again this value is inverted “20 03” hex 03 20 = dec 800. The following 00 00 is the highest GR lvl to join, values inverted.
The following orange follows the same pattern for hosting player.
These values are for the equipment restrictions…
Following the above, the first 2 bytes are for the “legs/boots”.
The next 6 bytes are for the 3 decos in the boots, remember that each deco is 2 bytes.
The weapon is the next, here I can change the rarity too, 0B 00 = Rare 11 weapon or below. I can use this value to force a specific weapon to be used, it seems that each value that is not a weapon’s ID turns to be a rarity number… I’m not feeling like I’ll try search anymore.
The following 6 bytes are just the same as the other pieces, but it’s for the 3 weapons decos. Atcually messing with the first 2 bytes I can change the allowed weapons but there are a lot of values to test…
After the weapon the next one is for the head piece.
Then again the next 6 bytes for the decos.
Now for the chest piece.
Now the decos for the chest.
Values for the arm.
The decos for the arm.
Values for the waist piece.
And the decos.
This single value is the “mode” 0C = Unlimited (UL), if you add this the quest will become GR.
04 = Hardcore (HC)
06 = Forced HC
0B = Forced GHC
This is the main GRP value showed ingame, it’s also inverted “84 03 00 00” to hex 00 00 03 84 = dec 900. Somehow it supports a HUGE amount of points… The following values in orange follows the same pattern as they are for SubA and SubB.
After the GRP values we have the reward mats showed ingame. Each material is 2 bytes, so “A9 3D” is one mat and it’s inverted so hex 3D A9 = dec 15785 (霧爆凝華) and the others follow the same pattern, max of 3 mats per quest is showed.
These values seems to be the pointers… for the text at least… I need to work more on these.
Related to the pointers above I found something interesting, those values are for the text below, to use it properly there is only the start pointer, in this case the value 99 refers to the orange 00 value a few lines below it, add a +1 hex value will move it to right and then below, the original value was A5 which points to the start of the black space I left (the 00 between the 20 values in orange). A bit confusing but that’s what I found. Use the below for comparison.