アイテムの移植



他のMODからアイテムを移植する

作業をはじめるまえに自分のMODのファイルを用意する。新しく作る必要があるなら
\Mount&Blade\Modules\
にある"Native"というフォルダをコピーして好きな名前をつけること。次にModule.iniというファイルを開き、
scan_module_textures = 0 を
scan_module_textures = 1
と編集する。これは新しいMODのテクスチャフォルダを参照させるためです。

さて、新しく追加したいアイテムのデータを調べてみましょう。追加する元のMODのResourceフォルダを見てください。中に拡張子がBRFというファイルがあるでしょうか?BRFファイルはメッシュデータとテクスチャやマテリアルの設定のためのデータがあります。それからTexturesフォルダの中にはDDSという拡張子の画像データがあるでしょうか?もし、自分の必要なデータがどれか分からない時、少し乱暴ですが、すべてのResourceフォルダとTexturesフォルダの中身を、新しいMODにコピーするといいでしょう。
もし必要なデータのみを移植したいならそれらを取り出す作業があります。BRF Editというツールをダウンロードしてください。
http://members.iinet.net.au/~dstent/mnb/BRFEdit0-8-95.exe
DDSファイルをExprolerでサムネイル表示させるには(DDS Thumbnail Viewer)
http://developer.nvidia.com/object/dds_thumbnail_viewer.html
次にBRFEditを起動して、Files>SettingからMount&Bladeへのパスを設定します。そしてあなたのMOD(Module)を選びます。
File>Openから移植したいBRFを開きます。注意して欲しいのですが、先ほど述べたように、BRFのデータにはMeshとMaterialとTextureがあり、それらがすべてセットになったデータもあれば、それぞれ別のファイルになっている場合もあります。どれかMeshのデータを探して開いてください。非常にデータがたくさんあり、自分の欲しいメッシュの名前が分かっている場合、(秀丸等で)Grep検索すると早いでしょう。必要なメッシュが見つかったらNameとMaterialの名前をメモしてください。NameとMatrialの下にMeshとMaterialのタブがあるのが分かるでしょうか?MaterialのタブをクリックしてDiffuseのところの名前をメモしてください。これはDDSファイルになります。メモし終わったら、File>Newを押してあたらしいBRFファイルを作ります。(もし元のファイルをいじってしまって、セーブしますかときかれた場合は、セーブしないでください)。Importというボタンを押してください。必要なBRFファイルを選び、必要なMeshのデータを選んでください。他に移植したいMeshがあれば作業を繰り返します。Saveして分かりやすい名前をつけます。(たとえばnewitems.brf)
次にMaterialも同様に必要なデータを探して新しいBRFファイルを作ります(たとえばnewmaterials.brf)
次にtextureも同様に必要なデータを探して新しいBRFファイルを作ります(たとえばnewtextures.brf)
BRFファイルはあなたの新しいMODのResourceフォルダに保存してください。
必要なDDSファイルはあなたの新しいMODのTexturesフォルダにコピーしてください。

もう一度あなたの新しいMODのフォルダのModule.iniを開きます。ファイルの最後に以下を追加します。例:
load_mod_resource = newtextures
load_mod_resource = newmaterials
load_mod_resource = newitems
Texture>Material>Meshの順番で読み込まないとエラーが出るので注意してください。
次にmodule_items.pyを開きます。あたらしいItemの挿入する位置は適当にすると不具合が起こります。既存のアイテムを上書きするか、一番最後に挿入するようにしましょう。
["new_item", "Dragon slayer", [("newitem",0)], itp_type_polearm|itp_merchandise・・・・・]
カンマで区切られた3番目のデータがメッシュの名前です。先ほどメモしたメッシュの名前を入れます。名前は同じものがあるとエラーになるので注意してください。
最後のitp_merchandiseは店で扱うかどうかを決めます。店で扱う時は2日ごとに在庫が変わるのでゲーム中で最低2日待ってください。より確実に反映させるには新しくゲームを開始する必要があるかもしれません。
(銃器を追加してもNativeでは店に並ぶことはありません。Modules_trigger.psの#Weapon_sellerの項にitp_type_musketを追加する必要があります)
build_module.batを実行してコンパイルします。あなたのMODを起動して実際に反映しているか確認してください。(もしくはMount&Blade実行中にCtrl+MでModuleの再読み込みをします)