Thinking Skeever

Skyrim/The Witcher 3 Modについてのあれこれ。FoModの作り方、Mod導入時のトラブル事例などのニッチな話を書いていきます。a.k.a. BowmoreLover@nexusmods

FOModの作り方(チュートリアル01)

2種類の体型を持つフォロワーModを例にFOModを作ってみます。

  • UNP体型とCBBE体型の2種類があるものとします。

Modファイル FOModTutor01.zip の構成

FOModTutor01\
    10 CBBE\
        cbbe-esp.txt
        meshes\
            cbbe-mesh.txt
        textures\
            cbbe-texture.txt
    10 UNP\
        unp-esp.txt
        meshes\
            unp-mesh.txt
        textures\
            unp-texture.txt
    FOMod\
        info.xml
        ModuleConfig.xml
        Images\
            CBBE.jpg
            UNP.jpg
  • txtファイルはダミーです。実施にはesp,dds,nifなどのファイルが入ります。
  • FOModを開発するときはダミーファイルを使うとインストールが速くなり手返しがよくなります。
  • jpgファイルはインストール画面に表示するサンプル画像です。画面サイズに合わせて表示されるので任意のサイズでよいですが、350x250ピクセルくらいあれば充分だと思います。
  • CBBEフォルダ、UNPフォルダの先頭に"10"という数字がついています。これはフォルダの並びを整理する意味合いのほかに、BAINインストーラでの利便性のため、伝統的に(Oblivion Modのころから)付けられているものです。これについては別の機会に説明します。

info.xmlの作成

<?xml version="1.0" encoding="UTF-16"?>
<fomod>
    <Name>FOMod Tutorial 01</Name>
    <Author>ThinkingSkeever</Author>
    <Version>0.0</Version>
    <Website>http://thinkingskeever.hatenablog.com/</Website>
    <Description>
    <p>This is FOMod Tutorial.</p>
    </Description>
</fomod>
  • Mod名、作者名、バージョン、URL、Modの説明を記述します。Mod管理ツールはこの情報に従ってModを認識・管理します。
  • ご自分のModに合わせて変更してお使いください。

ModuleConfig.xmlの作成

<?xml version="1.0" encoding="UTF-16"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://qconsulting.ca/fo3/ModConfig5.0.xsd">
    <moduleName>FOMod Tutorial 01</moduleName>
    <installSteps order="Explicit">
        <installStep name="">
            <optionalFileGroups order="Explicit">
                <group name="体型を選択します" type="SelectExactlyOne">
                    <plugins order="Explicit">
                        <plugin name="UNP">
                            <description>
                                UNP体型です。&#xD;
どちらかといえばスリムな体型です。
                            </description>
                            <image path="FOMod\Images\UNP.jpg"/>
                            <files>
                                <folder source="10 UNP" destination="" priority="0"/>
                            </files>
                            <typeDescriptor>
                                <type name="Optional"/>
                            </typeDescriptor>
                        </plugin>
                        <plugin name="CBBE">
                            <description>
                                CBBE体型です。&#xD;
むちむちして肉感的な体型です。
                            </description>
                            <image path="FOMod\Images\CBBE.jpg"/>
                            <files>
                                <folder source="10 CBBE" destination="" priority="0"/>
                            </files>
                            <typeDescriptor>
                                <type name="Optional"/>
                            </typeDescriptor>
                        </plugin>
                    </plugins>
                </group>
            </optionalFileGroups>
        </installStep>
    </installSteps>
</config>

インストール方法

  • FOModTutor01フォルダごとZIPファイルなどに圧縮してMod管理ツールでインストールします。

動作確認のポイント

  • 選択肢を変えることで説明文とイメージが変化することを確認します。
  • インストールオプションを変えて、対応するダミーファイルがインストールされることを確認します。

解説

  • type="SelectExactlyOne"

 選択肢の中から1つだけを選択させます。
 他の指定については別の記事で説明します。

  • <plugin>

 選択肢です。name属性で表示テキストを指定します。

  • <description>

 マウスカーソルを乗せたときに表示するテキストを指定します。
 <description>の書き方についてはFOModの作り方(NMMとMOの差異について) - Thinking Skeeverを参照してください。

  • <image>

 マウスカーソルを乗せたときに表示するイメージをZIPファイル内の相対パスで指定します。
 イメージがない場合、<image path=""/>のように空のパス名を指定します。

  • <files>

 選択されたときにコピーするファイルを指定します。
 内側に<folder>または<files>を列挙します。
 コピーするファイルがない場合、<files></files>のように中身を空にします。

  • <folder>

 コピーするフォルダを指定します。
 souceにはコピー元のフォルダ名をZIPファイル内の相対パスで指定します。
 destinationにはコピー先のフォルダ名をDataフォルダ内の相対パスで指定します。

  • <files>

 コピーするファイルを指定します。
 この例では使っていませんが、<folder>と同じ場所に指定します。
 souceとdestinationの指定方法は<folder>と同様です。
 コピー元と先とでファイル名が違う場合リネームされます。

<file source="10 UNP\unp-esp.txt" destination="unp-esp.txt" priority="0"/>
  • order="Explicit"

 タグ内の項目の表示順序を指定します。

"Explicit" 定義した順
"Ascending" 名前の昇順
"Descending" 名前の降順

 特に理由がない場合"Explicit"を指定します。

  • <type name="Optional"/>

 その項目の指定が必須なのか、任意なのかを指定します。
 "Required"にすると常に選択され変更できなくなります。

以上

Copyright (C) 2015-2020 ThinkingSkeever, All Rights Reserved.
ブログの記事内に記載されているメーカー名、製品名称等は、日本及びその他の国における各企業の商標または登録商標です。
リンクはご自由に。記事の転載はご遠慮ください。記事を引用する場合はトラックバックするか元のURLを明記してください。