TpF2のMODの仕組み

TransportFever2 の MOD は、ユーザが用意したファイルでオリジナルのファイルを置き換えることによって、ゲーム内での動作の変更やモデルの追加を実現します。このページでは、TransportFever2 のファイルの構成を説明し、MOD がどのようにファイルを置き換えるかを説明します。

1. TransportFever2 のファイル構成

TransportFever2 では、モデルデータやテクスチャ、設定など、ゲーム内で読み込まれるデータは リソースフォルダ (res フォルダ) と呼ばれるフォルダの下にファイルとして格納されています。リソースフォルダは、標準的なインストール方法では C:\Program Files (x86)\Steam\steamapps\common\Transport Fever 2\res に存在します。

res フォルダは、データの種類によって、さらに細かくフォルダ分けされています。代表的なものでは、次のようなフォルダがあります。

TransportFever2 では、音声・画像・メッシュデータを除くすべてのファイルがテキストファイル(Lua スクリプト)になっており、メモ帳などのテキストエディタで開くことができます。

2. MOD のファイル構成

TransportFever2 の MOD は、単一のフォルダとして構成されます。このフォルダをそのまま所定のパスに配置すると、ゲーム内から MOD として参照できるようになります。ここでは、このフォルダのことを MOD フォルダ と呼ぶことにします。

MOD フォルダの構成はとても単純です。MOD フォルダの下には、MOD の名前や説明文を記載した設定ファイル(mod.lua ファイル)と、本体のリソースフォルダと同じ構造を持った res フォルダが配置されます。このほかに MOD 選択画面で表示されるサムネイルなども置くことができますが、最低限この mod.lua ファイルと res フォルダがあれば MOD として機能します。

ゲーム内で MOD が有効化されると、この res フォルダの中に配置されたファイルが、本体のリソースフォルダの中にある同じパスのファイルと置き換えられてロードされます。たとえば、MOD の res フォルダに config/game.lua ファイルが存在すれば、本体のリソースフォルダにある config/game.lua の代わりに、この MOD の config/game.lua ファイルがロードされることになります。

したがって、本体の動作を変更したりモデルを追加したりする場合は、この res フォルダに本体と同じように設定ファイルやモデルファイルを配置すればよいことになります。

3. MOD フォルダにファイルを配置するときの注意

TransportFever2 の MOD は「同じパスのファイルを置き換える」というシンプルな方法で実現しているため、次のような注意が必要です。

他の MOD とファイルパスが重ならないようにする。 MOD はゲーム内で指定した順に読み込まれて適用されるため、ファイルパスが重なっていると、先にロードした MOD のファイルが後からロードした MOD のファイルで置き換えられ、先の MOD がエラーを起こすことがあります。res フォルダの中にファイルを格納するときには、すべてのファイルを MOD 名のついたフォルダの下に入れるなどして、ファイルパスが重ならないようにする必要があります。

設定ファイルを変更する MOD では、設定ファイル自体をコピーして配置するのではなく、設定を更新するスクリプトファイルを作成する。これも前項と同じ理由ですが、同じ設定ファイルが格納された MOD が複数あると、それぞれ違う項目を設定するものであっても、ファイルごと上書きされるために先にロードした MOD の変更内容が無効になります。このように、他の MOD からも参照される設定ファイルの内容を変更したい場合は、ロード時に呼び出されるコールバックスクリプトで設定を変更する必要があります。

4. MOD フォルダの配置先

ゲーム内から MOD として参照できるようになる MOD フォルダの配置先はいくつかあります。目的によって使い分けてください。(フォルダパスの名前は はやめぐり の「用語」も参照)

MOD フォルダを上記のどの場所に配置する場合でも、MOD フォルダの名前は「(ユーザ名)_(MOD名)_(バージョン番号)」にしておく必要があります。

上記のほか、Steam Workshop からインストールした場合は、Steam 上で設定したフォルダに MOD がインストールされます。

最終更新