はじめてのMod
Mod のかんたんな説明
そもそも Mod とは
WoT で Mod といえば、WoT クライアントの機能を拡張するモジュールのことをいいます。公式とは別にユーザーによって作られていて、クライアントに後から組み込んで使用するようになっています。
どうやって探すの?
Wargaming のロシアフォーラムやEUフォーラムでたくさんの Mod が紹介されています。それとは別に、いろいろな Mod を紹介しているサイトもあります。
すべての Mod が安全であるとは限らないので、はじめはみんながよく使っている Mod のみを使うようにしましょう。
どうやってインストールするの?
WoT クライアントがインストールされているフォルダの中に res_mods というフォルダがあるので、ダウンロードしてきた Mod を展開してからコピーします。ダウンロードした Mod を展開したフォルダの構成と見比べて間違えないようにコピーしてください。res_mods の下にはクライアントのバージョンと一致するフォルダ(例えば 0.9.10)があるので確認しておくとよいです。 いきなり res_mods の中に展開すると間違えやすいので、別の場所で展開しましょう。
Mod の中には、インストーラが用意されているものもあります。そのときは Mod のインストールドキュメントに従ってください。
干渉するファイル
複数の Mod をインストールしようとすると、ファイルが重複することがあります。そのファイルが CameraNode.pyc や __init__.pyc であれば気にしなくても大丈夫です。
それ以外のファイルで衝突があったら、本当に Mod が干渉しているので、どちらかをあきらめましょう。
Mod のカスタマイズ
Mod の中には設定ファイルで動作をカスタマイズできるものがあります(できないものもあります)。
設定ファイルの書き方は、Mod 毎に決まっているので、すべての Mod に通用する書き方はありません。でも、よく使われている形式というのはあります。中でもよく使われるのは XML と JSON[1] 形式です。
カスタマイズの方法は、デフォルトで用意されている設定ファイルを見て、変更したい部分の値を書き換えます。どこを設定すればよいかは、設定ファイルのコメントを読むか、変数名から想像するか、知ってそうな誰かに教えてもらうか、です。情報がないときは素直にあきらめましょう。無理するのはよくないです。
Mod の設定ファイルのコメントは英語が多いですが、ロシア語も多いです。編集するエディタには気をつけましょう。使用されている文字コードに未対応のエディタだと、編集せずに上書き保存するだけでも動作しなくなるケースがあります。
ちなみにおすすめのエディタは Notepad++ です。あと、WinMarge も用意しておくと、Mod がバージョンアップしたときに設定ファイルの変更箇所を簡単に調べることができて、対応が楽になります。
おすすめツール
どちらも文字コードやフォントの設定を変更して、ロシア語が表示できるようにしておくとよいです(ロシア語が読めなくても)。 日本語フォントでロシア語を表示すると、キリル文字(ロシア語の文字)の表示に全角文字が使われてしまって見づらいので、"Courier New" などのキリル文字を表示可能な欧文フォントを指定することをおすすめします。
Notepad++
エディタです。多くの文字コードに対応し、機能が豊富です。
- https://notepad-plus-plus.org/ (公式サイト)
- https://ja.wikipedia.org/wiki/Notepad%2B%2B (Wikipedia の解説ページ)
フォントは "Courier New" などがお勧めです。 メニューの「設定」-「スタイル設定」のところで設定しておきましょう。
ファイルを開くと下部のステータスバーの右の方にファイルの文字コードが表示されます。 これが UTF-8 とかでなくてファイルが文字化けしているようなら、 メニューの「エンコード」-「文字セット」-「キリル語」-「Windows-1251」を試してみてください。
文字化けしているかどうかよくわからないときは、適当な文をコピーして Google 翻訳とかにかけて意味のある結果が出れば正常に表示されていることが確認できます。
WinMarge
2つのファイルの差分を表示するツールです。
- http://winmerge.org/ (公式サイト)
- http://www.geocities.co.jp/SiliconValley-SanJose/8165/winmerge.html (日本語対応強化と機能拡張)
フォントを "Courier New"、コードページを "1251" に指定しておくのがお勧めです。
フォントはメニューの「表示」-「フォント選択」で、 コードページはメニューの「設定」で出てくるウィンドウのカテゴリ「コードページ」を選択して「カスタムコードページ」で設定します。
Mod の基礎知識
Mod のしくみ
WoT クライアントには、あらかじめユーザが用意した外部ルーチン(Mod のことです)を呼び出す仕組みが用意されており、所定の位置 res_mods\xxx\scripts\client\gui\mods (xxx はクライアントのバージョンです)に置かれた mod_*.pyc (* はワイルドカードです)という名称のルーチンが Mod として WoT クライアント起動時に読み込まれます。
旧形式の Mod
以前(0.9.9 まで)の WoT クライアントには Mod を呼び出す仕組みは用意されていなかったため、 res_mods\xxx\scripts\client に CameraNode.pyc を設置して Mod を読み込ませる方法がとられていました。
Mod を読み込ませる CameraNode.pyc は標準では用意されていないため、Mod に同梱となっており、 場合によっては干渉して不具合の原因となることもありました。
__init__.pyc は Python がフォルダにあるモジュールを見つけるための仕組みで、pyc ファイルのあるフォルダに置かれています(ないこともあります)。 こちらは Mod が独立したフォルダに置かれるようになっていれば問題ありません。
CameraNode.pyc の詳細については User:Chirimen/Mod詳細#CameraNode.pyc も参照してください。
プログラミング言語
Mod の多くは Python や Flash で書かれています。Python はスクリプト言語ですが、配布されている Mod はバイナリコンパイルされた pyc 形式になっているので、ソースを見ることはできません。
Mod の中で Python はクライアントの設定を変更する場面で、Flash はインターフェースを改造する場面でよく使われます。
設定ファイルの書式
Mod の設定ファイルに決まった形式というのはありませんが、よく用いられる書式は XML と JSON[1] です。 どちらも一般的な書式なので、書き方のルールを知っておくと編集時のミスを減らせます。
文字コードも統一されていませんが、よく見かけるのは UTF-8 か Windows-1251 で、どちらもロシア語表記に使われます。 UTF-8 には BOM(バイトオーダーマーク)ありのものとなしのものがあって、対応していないエディタでは元の形式と異なる形式で保存することがあるので使用するエディタには注意しましょう。Windows のメモ帳は不適格です。