Mod作成の簡易メモ - yu-ituki/Mod_MHWs GitHub Wiki
編集中....
Mod作成用の簡易手引メモを記載する。
様々な有志の作成したツールを活用して開発していく形になる。
Modを開発する場合、とりあえず下記は全部入れておこう。
数多くてもうちょいなんとかなんねえのかなと思わなくはないが仕様なので仕方ない。
各ツールの使い方は後述。
いわゆるMod管理ツール。Mod導入をしていたならば基本的には入っている筈のもの。
詳細は下記。
https://github.com/yu-ituki/Mod_MHWs/wiki/Mod%E5%B0%8E%E5%85%A5%E6%89%8B%E9%A0%86
https://www.nexusmods.com/monsterhunterwilds/mods/93?tab=files
RE Engine製のゲーム内にModを導入する下地を作ってくれる。
上記はワイルズ用にセットアップされたものっぽいので、素直にそれを入れておくと良い。
なおFluffyの「Downloads」からでも直に入れられる。
https://github.com/eigeen/ree-pak-rs/releases
REEngineのパックファイル形式pakを開いたり抽出したりできるツール。
コマンドラインでも操作でき、かつGUIも付いていて非常に使いやすい。
https://fluffyquack.com/tools/REtool.rar
Modをpak化したり、既存のModのpakを開いたりできる。
Modの勉強をするには他のModを開いて見るのが一番楽。
https://www.nexusmods.com/monsterhunterwilds/mods/32?tab=description
ree-pak-rsで抽出したあとのワイルズの各種テーブルデータを自由に編集できるツール。
ちょっと懐かし感じの操作感で若干操作しづらいが、各IDや定数をプルダウンで選択できたりしてとてもすごい。
概ね上記説明ページに全部分かりやすく書いてあって優しい。
https://store.steampowered.com/app/2246340/Monster_Hunter_Wilds
みんなも買ってハンマーを振ろう。
pakとはREEngineで取り扱われる(多分)独自形式のパックファイルのようだ。
この中に様々なデータがパッキングされているため、データを編集する場合は pakを開く -> 編集 -> 上書きModとして配置。 という形になる。
現状ではハッシュチェック等でガードされているのか、オリジナルのpakを上書きしても動かないらしい。
RE Frameworkの「loose file loader」機能を使用し、特定パスのリソースを上書きする、という形で解決しているようだ。
データの編集手順を記載する。
ここでは「ショップに並んでいるラインナップに捕獲系のアイテムを追加するMod」の作成を例として取り上げる。
基本的な手順は下記となる。(詳細は後述)
- ree-pak-rs でそれっぽいファイルを探してExtract
- MHWS-Editor で.user.3ファイル等を編集&セーブ
- Modに必要なファイル群を用意して再pak
- (Vortexに放り込む場合は)Modの基本情報をpakと同一フォルダに用意し、zip化
- Fluffy or Voltexにドラッグ
ree-pak-rs を使ってやりたいことに対する該当ファイルを探す。
こちらで見つけた解析情報はこのページに載せている。
Extract(展開、抽出)には下記手順を踏む。
-
ree-pak-rs.exe を開く
-
ゲーム本体フォルダにあるpakファイルを全部選択して一括ドラッグ
-
「File Name Table」 で「MHWs_STM_Release.list」 を選択
-
「Render Tree」を押す
-
目的のデータを探す
基本的にはこれでデータを探せる。
pakデータは全部一気に放り込んでRenderTreeしてもそこまで待たされないので、適当に全部放り込んで探すのが楽でおすすめ。
今回のケースではnatives/GameDesign/Facility/ItemShopData.user.3 というデータが該当の物となる。
ちなみにデータがどこにあるかはファイル名と勘とコミュニティ情報だよりになる。
ただ流石というべきか非常に分かりやすく整理されたデータ構成なため、そこまで迷うことは無いと思われる。
MHWS-Editor を開き、.user.3ファイルをドラッグ&ドロップする。
開くと環境によってはwin11でこういう「怖いの開くの駄目よウィンドウ」が出てくることが、無視して良い。
「詳細情報」を押すと実行できる。
開くとこんな感じの古めかしいウィンドウが開く。
右上のここで日本語に変えることができる。
今回のケースのショップテーブルでは多分だが、
index値、商品ラインナップのID値、ストーリーがどこまで進んだら開放されるかフラグ、売れるか、などが設定できるっぽい。
カラム名でおおよそそんな感じやろなあという予測。
Ctrl + I で一行追加されるので、各カラムに任意の値を入れていく。
MHWS_EditorではIDやフラグなどはなんとドロップダウンメニューで選択できるようになっている。すごい。
カラム入力後は「OK Enter」を押して決定。
その後は Ctrl + S か、ウィンドウ上部の「Save(Ctrl+S)」ボタンを押すことで編集が反映できる。
1でExtractしたファイルをフォルダ構成ごと使用する。
Extractしたフォルダのトップディレクトリと同列のパスに、下記を配置する。
- 3-1. MANIFEST.TXTファイル
- 3-2. modinfo.ini
- 3-3. Fluffy上のサムネ画像
その後、REtoolのCreate-PAK-2024.bat にフォルダごと放り込むとpakが生成される。
(フォルダごとバッチファイルにドラッグでpakが出力される。簡単)
以下各ファイルの説明となる。
まず__MANIFESTフォルダを作り、その中にMANIFEST.TXTのみを配置する。
MANIFEST.TXTファイルの中には「このMOD(pak)にはどんなファイルが含まれるか」の全パスが記載されている。
pakファイルはこれを元にパッキング、アンパッキングする、のだと思う。
下記は例として出しているMODのMANIFEST.TXTの中身である。
modinfo.iniという名前のファイルを用意し、MODの情報を記載する。
これはFluffy上やVoltexにて表示される各種情報である。
modinfo.ini は下記書式となる。
name=<Modの名前>
version=<Modのバージョン>
description=<Modの説明文>
author=<作者名>
screenshot=<Fluffy上のサムネ画像ファイル名>
NameAsBundle=<複数Mod種類がバンドルされている際の名前(後述)>
題材の例では、下記のような形となる。
今回は複数Modがバンドルされているわけではないため、NameAsBundleは空となる。
以下、各項目の説明。
(name,version,description,authorは上記そのままなので説明は省略する)
-
screennshot 同フォルダに添付している画像ファイル。
Fluffy上で表示されるサムネ画像となる。
あまり表示サイズに指定はない?(未確認)
とりあえず某Modでは1080x607のpngになっていた。 -
NameAsBundle Fluffy上で複数の子Modを1Modにツリー上に並べ、選択できるようにするオプション。
例えばお金取得x倍のModがあったとして、バンドルではx3, x5, x10 というような選択をユーザーに促す際などで使用する。
pakファイルと同列フォルダに再度▼3のmodinfo.iniとサムネ画像を配置し、zip化する。
ちなみにほぼ未検証だがpakだけドラッグしても動くと思う。
ただその際は「アーカイブファイル(zipとか)じゃないけど大丈夫?」といった旨の警告ウィンドウが表示されるため注意。
Vortexの場合はこのへんにzipやpakをドラッグする。
すると項目が追加されるので、それを有効化する。
Vortexで有効化した後にFluffy上でも有効化する。
下記のトグルで右側が白になったら有効化された状態となる。
つまりVortexとFluffyの2つで二重に有効化する必要がある。馬鹿じゃないの。
なお、直Fluffyにドラッグしても良い。
nexus等にアップしたりnexus等を通したりせず、個人ないしは小規模で使用したり、開発中であればFluffy直ドラッグのほうが良い。
その場合はFluffy上で有効化するだけで使用できる。