Mod作成の簡易メモ - yu-ituki/Mod_MHWs GitHub Wiki

編集中....

■概要

Mod作成用の簡易手引メモを記載する。

■開発環境

様々な有志の作成したツールを活用して開発していく形になる。
Modを開発する場合、とりあえず下記は全部入れておこう。
数多くてもうちょいなんとかなんねえのかなと思わなくはないが仕様なので仕方ない。
各ツールの使い方は後述。

▼Fluffy Mod Manager

いわゆるMod管理ツール。Mod導入をしていたならば基本的には入っている筈のもの。
詳細は下記。
https://github.com/yu-ituki/Mod_MHWs/wiki/Mod%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86

▼RE Framework

https://www.nexusmods.com/monsterhunterwilds/mods/93?tab=files
RE Engine製のゲーム内にModを導入する下地を作ってくれる。
上記はワイルズ用にセットアップされたものっぽいので、素直にそれを入れておくと良い。
なおFluffyの「Downloads」からでも直に入れられる。

▼ree-pak-rs

https://github.com/eigeen/ree-pak-rs/releases
REEngineのパックファイル形式pakを開いたり抽出したりできるツール。
コマンドラインでも操作でき、かつGUIも付いていて非常に使いやすい。

▼RETool

https://fluffyquack.com/tools/REtool.rar
Modをpak化したり、既存のModのpakを開いたりできる。
Modの勉強をするには他のModを開いて見るのが一番楽。

▼MHWS-Editor

https://www.nexusmods.com/monsterhunterwilds/mods/32?tab=description
ree-pak-rsで抽出したあとのワイルズの各種テーブルデータを自由に編集できるツール。
ちょっと懐かし感じの操作感で若干操作しづらいが、各IDや定数をプルダウンで選択できたりしてとてもすごい。
概ね上記説明ページに全部分かりやすく書いてあって優しい。

▼モンハン本体

https://store.steampowered.com/app/2246340/Monster_Hunter_Wilds
みんなも買ってハンマーを振ろう。


■pakファイルについて

pakとはREEngineで取り扱われる(多分)独自形式のパックファイルのようだ。
この中に様々なデータがパッキングされているため、データを編集する場合は pakを開く -> 編集 -> 上書きModとして配置。 という形になる。
現状ではハッシュチェック等でガードされているのか、オリジナルのpakを上書きしても動かないらしい。
RE Frameworkの「loose file loader」機能を使用し、特定パスのリソースを上書きする、という形で解決しているようだ。


■データの編集手順

データの編集手順を記載する。
ここでは「ショップに並んでいるラインナップに捕獲系のアイテムを追加するMod」の作成を例として取り上げる。

基本的な手順は下記となる。(詳細は後述)

  1. ree-pak-rs でそれっぽいファイルを探してExtract
  2. MHWS-Editor で.user.3ファイル等を編集&セーブ
  3. Modに必要なファイル群を用意して再pak
  4. (Vortexに放り込む場合は)Modの基本情報をpakと同一フォルダに用意し、zip化
  5. Fluffy or Voltexにドラッグ

▼1: ree-pak-rs でそれっぽいファイルを探してExtract

ree-pak-rs を使ってやりたいことに対する該当ファイルを探す。
こちらで見つけた解析情報はこのページに載せている。
Extract(展開、抽出)には下記手順を踏む。

  1. ree-pak-rs.exe を開く image

  2. ゲーム本体フォルダにあるpakファイルを全部選択して一括ドラッグ
    image

  3. 「File Name Table」 で「MHWs_STM_Release.list」 を選択
    image

  4. 「Render Tree」を押す image

  5. 目的のデータを探す image

基本的にはこれでデータを探せる。
pakデータは全部一気に放り込んでRenderTreeしてもそこまで待たされないので、適当に全部放り込んで探すのが楽でおすすめ。
今回のケースではnatives/GameDesign/Facility/ItemShopData.user.3 というデータが該当の物となる。
ちなみにデータがどこにあるかはファイル名と勘とコミュニティ情報だよりになる。
ただ流石というべきか非常に分かりやすく整理されたデータ構成なため、そこまで迷うことは無いと思われる。

▼2: MHWS-Editor で.user.3ファイル等を編集&セーブ

MHWS-Editor を開き、.user.3ファイルをドラッグ&ドロップする。
開くと環境によってはwin11でこういう「怖いの開くの駄目よウィンドウ」が出てくることが、無視して良い。
「詳細情報」を押すと実行できる。
image

image

開くとこんな感じの古めかしいウィンドウが開く。
image

右上のここで日本語に変えることができる。
image image

今回のケースのショップテーブルでは多分だが、
index値、商品ラインナップのID値、ストーリーがどこまで進んだら開放されるかフラグ、売れるか、などが設定できるっぽい。
カラム名でおおよそそんな感じやろなあという予測。

Ctrl + I で一行追加されるので、各カラムに任意の値を入れていく。
MHWS_EditorではIDやフラグなどはなんとドロップダウンメニューで選択できるようになっている。すごい。
image

カラム入力後は「OK Enter」を押して決定。
その後は Ctrl + S か、ウィンドウ上部の「Save(Ctrl+S)」ボタンを押すことで編集が反映できる。

▼3: Modに必要なファイル群を用意して再pak

1でExtractしたファイルをフォルダ構成ごと使用する。
Extractしたフォルダのトップディレクトリと同列のパスに、下記を配置する。

  • 3-1. MANIFEST.TXTファイル
  • 3-2. modinfo.ini
  • 3-3. Fluffy上のサムネ画像 image

その後、REtoolのCreate-PAK-2024.bat にフォルダごと放り込むとpakが生成される。
(フォルダごとバッチファイルにドラッグでpakが出力される。簡単)
image

以下各ファイルの説明となる。

◯3-1. MANIFEST.TXT

まず__MANIFESTフォルダを作り、その中にMANIFEST.TXTのみを配置する。
image
image

MANIFEST.TXTファイルの中には「このMOD(pak)にはどんなファイルが含まれるか」の全パスが記載されている。
pakファイルはこれを元にパッキング、アンパッキングする、のだと思う。
下記は例として出しているMODのMANIFEST.TXTの中身である。
image

◯3-2. modinfo.ini

modinfo.iniという名前のファイルを用意し、MODの情報を記載する。
これはFluffy上やVoltexにて表示される各種情報である。
modinfo.ini は下記書式となる。

name=<Modの名前>
version=<Modのバージョン>
description=<Modの説明文>
author=<作者名>
screenshot=<Fluffy上のサムネ画像ファイル名>
NameAsBundle=<複数Mod種類がバンドルされている際の名前(後述)>

題材の例では、下記のような形となる。
今回は複数Modがバンドルされているわけではないため、NameAsBundleは空となる。
image

以下、各項目の説明。
(name,version,description,authorは上記そのままなので説明は省略する)

  • screennshot 同フォルダに添付している画像ファイル。
    Fluffy上で表示されるサムネ画像となる。
    あまり表示サイズに指定はない?(未確認)
    とりあえず某Modでは1080x607のpngになっていた。

  • NameAsBundle Fluffy上で複数の子Modを1Modにツリー上に並べ、選択できるようにするオプション。
    例えばお金取得x倍のModがあったとして、バンドルではx3, x5, x10 というような選択をユーザーに促す際などで使用する。

▼4: (Vortexに放り込む場合は)Modの基本情報をpakと同一フォルダに用意し、zip化

pakファイルと同列フォルダに再度▼3のmodinfo.iniとサムネ画像を配置し、zip化する。
ちなみにほぼ未検証だがpakだけドラッグしても動くと思う。
ただその際は「アーカイブファイル(zipとか)じゃないけど大丈夫?」といった旨の警告ウィンドウが表示されるため注意。
{EB91F421-BA97-4891-8795-E9936440E1CA}

▼5: Fluffy or Voltexにドラッグ

Vortexの場合はこのへんにzipやpakをドラッグする。
image

すると項目が追加されるので、それを有効化する。
image

Vortexで有効化した後にFluffy上でも有効化する。
下記のトグルで右側が白になったら有効化された状態となる。
つまりVortexとFluffyの2つで二重に有効化する必要がある。馬鹿じゃないの。
image

なお、直Fluffyにドラッグしても良い。
nexus等にアップしたりnexus等を通したりせず、個人ないしは小規模で使用したり、開発中であればFluffy直ドラッグのほうが良い。
その場合はFluffy上で有効化するだけで使用できる。

⚠️ **GitHub.com Fallback** ⚠️