MOD基礎講座の第2段、複数のMODを同時運用する時の注意点を中心に、MOD運用で良くある問題を色々と取り上げて行こうと思います。
前回の基礎講座はこちら。
複数のMODを使う時に良くある問題
最初にMODを導入するの事は、知識が無いと中々踏み出せない事だと思います。逆に言うと、この問題をクリアできれば、「MOD導入は簡単である」事が理解でき、色々なMODを入れてみたくなります。 私もそうでしたw
しかし、MODを追加して行くにつれて、動作がおかしくなったり、今まで表示されていた物が表示されなくなったり、最悪の場合はそのセーブデータが起動しなくなったりします。
この部分は、前回の記事を良く読んで頂ければ何となく理解出来ると思うのですが、要は「複数のMODを同時導入した結果、本来使いたい設定ファイル・モデルデータ等が他のMODに上書きされて、正常な設定・データでは無くなってしまった」事が主な原因になってるんです。
すべてがこの原因でって事ではありませんが、大抵の場合はこれが原因になる事が多いです。
では、実例を挙げて説明して行きますね。
チートMODとマップMODの組み合わせ
問題が出そうなので実際のMOD名は出しませんが、チートMOD(経験値や開始時の所持金が増えるMOD)を導入し、さらにマップMODを同時に導入した状況と仮定します。この組み合わせで実際にプレイされた人もいらっしゃると思いますが、多分表面上は普通に動く事が多いと思います。
しかし、実際には色々と裏で問題を抱えてたりします。
チートMODのファイル構成
問題の切り分けをしやすくするため、今回取り上げるチートMODのファイル構成を説明して行きますね。MODによってまちまちですが、経験値や所持金のチートMODは大抵はこの2つのデータだけで運用されております。
フォルダーのトップがdefになっていますが、これは本体ファイルdef.scsに格納されているフォルダでもあり、このチートMODのターゲットがdef.scsに入っている2つのファイルである事が解ると思います。
SSにも説明を書いておりますが、economy_data.siiは主に駐車ボーナスやフリー走行時の取得経験値、ゲーム内の通貨単位の設定、次のレベルに上がる為の必要経験値等が定義されています。
game.siiは新規で開始する際の初期データが格納されています。 このファイルをマイドキュメント内にあるプロファイルにコピーしてセーブデータのひな形として使用されているみたいです。
マップMODのファイル構成
さらにマップMODのファイル構成を見て行きます。 今回は独立MAPで有名なハンガリーマップを例に取り上げてみます。 ハンガリーのdefファイルを展開した物がこちらこんな感じになっております。 SSにも注釈を入れてますが、チートMODと同名のファイルがあります。
つまり、今回取り上げた2つのMODを同時使用する場合、バニラデータ・チートMOD・マップMODの3つに、同じeconomy_data.siiファイルが存在する事になります。
それぞれのeconomy_data.siiの意味を考えると
バニラデータ:今回の場合はハンガリーMAPを入れる為、使用する意味はない。
チートMOD:駐車ボーナスを増やしたいので入れたい。
ハンガリー:ゲームの基礎データとなる為、入れないとまずい。
となります。
実際の運用(MODマネージャでの適応順)
では、今度はこの2つのMODを実際にゲームで適応させる方法を考えてみます。(チートMODは使ってないので、MAN TGX Euro6さんに代役をお願いしましたw)
私の普段のハンガリーマップでのMODマネージャーの為、余分なMODが入ってますがお許しください。
ハンガリーマップのファイルはMODマネージャーの一番下に置くようになると思います。 なぜそうなるの?って人は、ハンガリーに同梱されているReadmeを良く読みましょう。
そうなると、チートMODがその上に置かれる事になると思います。
さて、ここでMODマネージャーの動作の仕組みについて説明をして行きます。
MODマネージャーは、MODを管理するツールです。 その特徴として、「MODをロードする順番を決める事が出来る」ってのがあります。
具体的説明すると、MODマネージャーの一番下にあるファイルから順番に、各MODファイルをロードして行きます。
その中に同名ファイルがあった場合、当然ですがMODマネージャーの上にある方のファイルが上書きして行くため、下にある同名ファイルは使われません。
今回のような「同じファイルを持つMODが複数ある状態」の場合、MODマネージャーのロード順で最終的に適応される(生き残る)ファイルが何になるのかが決まります。
話を戻しますが、上記の場合だとハンガリーの後にチートMODがロードされる形になりますので、最終的に生き残るeconomy_data.siiはチートMODの物になると思います。
何が問題になるのか
結論から先に書きますと、「本来ハンガリーで使われるべきeconomy_data.siiをチートMODのeconomy_data.siiで上書きされた為、ハンガリーの本来の環境とは違った状況で運用されてしまう」といった問題が出てしまうのです。これはハンガリーマップ特有の問題でもあるのですが、ハンガリーマップは独立マップ(バニラのMAPを使わない単独マップ)でして、マップの縮尺が1/3です。 バニラは1/20です。
時速60km/hで走行している場合、バニラの場合は1分で20km走る事になりますが、ハンガリーの場合は1分で3kmの走行距離になります。
そして、通常で配布されているチートMODはバニラ向けですので、縮尺が1/20で考えられてます。 ここまでが前提。
で、economy_data.siiに書かれている内容で問題が出るのが
・フレイトマーケットやルートアドバイザで計算される到着予定時間
(バニラは平均時速60km/h ハンガリーは20km/h)
・トレーラーのダメージでの収入減算(バニラ:1%=-5ユーロ ハンガリー:1%=145ユーロ)
・長距離スキルでの利用可能の運送距離
(バニラ:スキル0で最大250kmまでの輸送距離 ハンガリー:スキル0で最大25kmの輸送距離)
他にももっとありますが、結構目立つ問題がこの辺りになるかと思います。
要は、チートMODでバニラデータ基準のeconomy_data.siiを導入してしまう為、ハンガリーの作者が設定した環境を逸脱した状態で環境を構築してしまった訳です。
但し、この状況でもゲーム自体は普通に動きますよ。 ちょっと細かい設定がおかしいだけですからw
今回は実際に試しても影響の少ない、解りにくい問題が発生する物をあえて選んでみた訳ですが、複数のMODを運用する際のトラブルの良くあるパターンで「MOD同士でファイルを上書きしてしまい、本来の動きにならない」事が上げられる訳です。
回避策はある?
今回の場合で一番いいのは「チートMODを使わない」って選択だと思いますwまぁ、それだとさすがにアレなんで、もうちょっと前向きな回避策を出すとすれば、
1.ハンガリーのdefファイルを解凍して、economy_data.siiを取りだす。
2.そのeconomy_data.siiの中身を編集し、駐車ボーナスの部分を書き換える。
3.ハンガリーのdefファイルに上書き出来るようにフォルダ・ファイルを構成し、それをZIP方式で固めてMOD化する
4.MODマネージャーでハンガリーのファイル群のすぐ上に配置する。
多分この形が一番いいと思います。 ハンガリーのdefファイル自体をいじってしまうと、元に戻すのが非常に面倒ですが、MOD化してしまえば不要になれば外せばOKです。 そうすると本来のハンガリーのeconomy_data.siiが使える訳ですから。
まとめとして
このように、複数のMOD導入した場合、MODマネージャーの優先順位によってファイルが上書きされてしまう事が解ると思います。これによって、本来使われるべきファイル(設定)が消えてしまい、正常に動作しなくなるケースが多いのです。
今回は設定ファイルでの問題を書きましたが、これがモデルデータ同士の競合になってしまうと、最悪の場合はゲームがクラッシュしてしまう事もあります。
ETS2のMOD自体はMODファイルを指定フォルダに入れて、MODマネージャーで適応させるだけの簡単な仕組みになってます。
しかし、そのMOD自体がどんなファイルを上書き・追加するのかは、自分で中身を見てみないと解りません。
また、MODの作者さんはそのMOD単体でのエラーなどはチェックしてると思いますが、複数のMODとの動作確認までは事実上出来ない訳です。
なので、複数のMODを導入する場合、優先順位なども含めて色々と試す必要がある訳です。
さらに言うならば、自分で中身を展開し、MOD同士の競合を回避する為に手直しするケースも必要になると思います。
「なぜ複数のMODを入れたら動かなくなるのか」って疑問を実例を挙げてみましたが、いかがでしたでしょうか。
今回の例に当てはまらないケースも多数ありますが、基本的な考え方は今回の説明を理解出来れば対応出来るかと思います。
今回はこれまで。 質問や解りにくい部分の追加解説等、何かありましたらコメントでご連絡下さいませ。
スポンサーリンク