Skip to content

Custom Quest Editing

Fexty edited this page Jul 17, 2022 · 3 revisions

Custom Quests

Table of Contents

Introduction

This page details the process of creating and installing Monster Hunter Rise (Sunbreak) Custom Quests.

There are 2 primary tools to create custom quests:

  • Quest Loader
  • Quest Editor

The editor is only needed if you want to create your own quests. The loader simply loads installed quests.

Quest Loader

The Quest Loader is an REFramework plugin in the form of a DLL. It loads custom quests and displays them in the according quest category.

Custom Quest File Format

The Quest Loader uses a fully custom file format to store quests. This decision was made due to the fact that MHR stores all of its quests in a single file. Or, to be exact, there are 3 relevant files.

  • NormalQuestData
  • NormalQuestDataForEnemy
  • HyakuryuQuestData

NormalQuestData contains general quest info like quest rank, map, quest timer, reward money, etc.

NormalQuestDataForEnemy contains monster data. This includes stats for each monster in the quest, as well as stats for small monsters. It also contains info on spawn location.

Finally, HyakuryuQuestData contains all Rampage quest data. So information like which monsters appear on which wave and which boss monsters are in the quest.

The format used for custom quests combines these 3 files into one, and allows you to have one file per quest.

Custom quest files are essentially just plain-text JSON files. This means that, even without an editor, editing them is very easy. Additionally, the custom quest files also contain info about Quest Name, description, client, and target. This information is normally stored separately in .msg.17 files. However having to edit these every time you want to change your quest name would be annoying so I decided to add it into the quest file itself.

Usage Guide

The only prerequisite for the quest loader is REFramework. You can get it on Nexusmods or on its dedicated GitHub page. Installing the quest loader is simple. It is a single DLL that goes into reframework/plugins/.

The quest files themselves need to go into reframework/quests/. Each quest is a single .json file. I would recommend a file naming convention akin to MHW with something like questData_000000.json or q000000.json where you replace the 0s with your quest ID.

However that is only a recommendation, as the loader does not care what the files are actually called. The quest ID is stored within the quest file itself. You are free to call them by quest name or whatever you wish. So SusQuest.json is a valid file name as well and will load normally.

Also note that the Quest ID is in no way limited to 6 digits. The maximum Quest ID is 2147483647. Quest IDs can probably also go into the negatives up to -2147483648.

Exporting Quests

If you wish to edit already existing quests, you can do so by exporting a quest. The Quest Loader has an interface for exporting quests to JSON. After launching your game, open the Quest Loader menu and enter the quest ID you wish to export, then click "Export Quest". Alternatively simply click the "Export All Quests" button. All exported quests will land in reframework/exported_quests/.

Overwriting existing quests is as simple as setting the ID of your quest to the one of the quest you want to replace. The Quest Loader will recognize this and overwrite the existing quest.

Multiplayer

Multiplayer is supported by default, however all players need to have

  • The quest loader,
  • The custom quest.

Otherwise people without it will crash, or desync and get disconnected.

DO NOT POST CUSTOM QUESTS IN PUBLIC LOBBIES! YOU WILL CRASH OTHER PEOPLE!

Quest Editor

While the Quest File format is quite simple and easy to edit, there are a lot of numbers which don't immediately make sense when looking at them. As such, there is also an editor for the quest files.

Requirements

Usage Guide

The quest editor is pretty straight forward. Simply download one of the releases and launch the RiseQuestEditor.exe.

Once opened, you can open any JSON quest file and make whatever changes you want. Finally just Save or Save As.

Multilanguage Quests

The quest format can provide quest info for all 13 languages the game supportsb but you don't have to add quest info for all languages. Instead, you can define info for a set amount of languages, and then set the Fallback Language to one of these languages.

For any language that the game does not find any quest info for, it will pick that fallback language instead.

Clone this wiki locally
  翻译: