ちがさねKenshi倉庫

PCゲーム、Kenshiに関するブログです。モッダーなので解析的なデータを多く扱います。

アップデートしたFCSの便利機能を徹底解説【MOD開発講座】

先日、FCS大型アップデートが行われました。

kenshi-jp.hatenablog.com

FCSのアップデートはこれまで数年間にわたってExperimental Branch(実験的最新版)でのみ着々と更新が行われてきた経緯があります。今回のアップデートにより長期間の更新内容が一気に安定版に反映され、現在の安定版のFCSは以前のものと機能的に一線を画す性能を持つに至りました。

今回の記事では安定版FCSに追加されたMOD制作に関する便利機能と、これまでのFCSでも実装されていたものの認知度が低かった便利機能について解説していきます

なお、このシリーズは以下動画のシリーズへのリスペクトから作った講座です
以下の動画を閲覧いただけるとこの記事の内容をよりスムーズにご理解いただけます。

【Kenshi】 ゆっくりKenshi解説 Part2 FCSを使って色々やってみる前編 - ニコニコ

【Kenshi】FCS講座・基本操作編 - ニコニコ

また、こちらの動画の手法に従ってバニラデータの日本語環境化を行うことを強く推奨いたします。この記事では上の動画のように個別のobject typeに関する解説は行いませんが、MOD制作を効率的に行うためのテクニックが盛りだくさんなので、ぜひ最後まで見ていってください。

メニューバーの機能を使いこなそう

これからFCSの基本機能を順番に紹介していきます。まずはウィンドウ上部にあるメニューバーの機能を解説していきます。
アップデートで追加された見慣れないメニューに目が移りますが、基本機能についてのおさらいもかねて左から順に紹介していきます。

開く・保存・設定・一手戻る/一手進む


「設定ボタン」と「一手戻る/一手進む」は今回のアプデで追加されました。
「一手戻る/一手進む」はショートカットが有効で、キーボードでctrl+z(戻る)とctrl+y(進む)の動作を素早く行えます。
「設定ボタン」ではFCSの動作に関する以下の項目を設定変更可能です。

今回のアップデートで追加されたオートセーブ機能は、一定時間ごとに編集中のMODのバックアップが作成され、Kenshiが強制終了しても最後のバックアップまでのデータが保護されるというシステムです。

具体的な仕様として、MODフォルダの中に「MOD名.mod.bak」というファイルが作成され、設定ウィンドウで入力した時間ごとにbakファイルが上書きされていきます。
MODを保存してFCSを終了するとbakファイルは自動で削除されます。「編集を保存しない」オプションでFCSを終了した場合はbakファイルは残ります。
bakファイルが存在するMODをFCSで開くと、最初にバックアップを復元するか確認されます。

この機能で作成可能なバックアップは一つだけです。Kenshi本編のオートセーブのように複数のバックアップを保存することはできません。
バックアップの間隔については、基本は短いほどいいのかなと思います。短くするデメリットは処理が多少重くなる程度だと思います。

また、バックアップファイルとして作成された「MOD名.mod.bak」は拡張子である「.bak」を抜いて「MOD名.mod」を上書きするとそのままMODとして使用可能です。ファイル形式が違うだけでデータの内容は「.mod」のファイルと変わらないということです。
何らかの理由で「.mod」ファイルが破損してしまった場合はこの方法でMODを復元できるかもしれません。

これ以外の設定については、私の環境ではフォントサイズ11、ダークモードという設定にしています。
これに加えて背景画像として、Kenshiのローカルフォルダ内のローディングスクリーン(Kenshi/data/gui/gfxのddsファイル)の中で気に入ったものを適当に選んで、拡張子をPNGに書き換えて設定するとこんな感じになります。


背景とかは正直あってもなくてもいいですが、フォントサイズは大きいと目が疲れないので作業しやすいなと思っています。

Steam Workshopメニュー


Steam workshopメニューはMODをワークショップで公開するときの説明文やサムネイルを設定するための機能です。
このメニューをクリックすると以下のこのようなウィンドウが開きます。

大まかな機能はここに書き込んだ通りです。
ただいくつか補足説明があるので箇条書きさせてもらいます。

  • MOD説明文について
    このページでまとめられているHTMLの記法を使って文字を装飾できます。見出しや下線やネタバレ防止の黒塗りなどを使って説明文を読みやすくしましょう。
  • MODの公開設定について
    ここではドロップダウンリストで公開設定を選択できます。
    「Public」が一般公開、
    「Friends only」がsteamのフレンド限定公開、
    「Private」が非公開です。
    なお、いずれかの設定で一度MODを公開した後、steam上のMODページから「限定公開」に設定を切り替えることが可能です。
    限定公開にしたMODはワークショップのランキングや検索に引っ掛からなくなります。
    自作MODのパッチや差分などの用途の限られるMODは、限定公開にして本家MODの説明文にリンクを張っておくのをお勧めします。そうすれば、限定公開にしたMODは自分のプロフィールに表示されなくなり、そこに力作のMODだけをズラッと並べられます。サムネイルも設定していないようなパッチMODでプロフィールが埋め尽くされるのは避けたほうがよいでしょう。
  • サムネイルについて
    画像に書き込んだ通り、1MB以下のサイズのGIF画像をアップロードできます。
    実際に使ってみるとこんな感じです。手間はかかりますがワークショップに並んだ時のインパクトは絶大なので、手間に見合った訴求力を得られます。

  

Global settings


ここでは世界全体の戦闘システムにかかわる数値、医療や空腹度や経験値の倍率、アイテムの重量と価格、天候などの広範なゲームシステムの変更が可能です。
ゲーム開始時詳に選べる「キャラクター死亡率」などの設定をさらに細かく設定できるようなウィンドウだと思ってもらえるといいと思います。

各項目については英語ではありますが説明文がついているので、これを参照してください。
取得経験値変更MOD、部隊の最大人数変更MODなどはこのウィンドウの一つ二つの項目を変更するだけで簡単に真似できます

Artifacts settings

FCS歴の長い方はこのボタンについて「絶対に触るな」という印象を持たれていると思いますが、あの最悪な仕様*1については現在は解消済みなのでご安心ください。

Artifacts settingsはゲーム内のアーティファクトというシステムに関する設定ウィンドウです。アーティファクトとは大陸各地の遺跡や街のお店にランダムにレアアイテムを配置するシステムです。例えばモングレルの武器屋で傑作等級の侍の袴が売っていたりワールドエンドの建材屋で古代の科学書が売っているのは、あの店の売り物としてアイテムが特別に登録されているのではなく、アーティファクトシステムによって自動でアイテムが分配されているからです。アーティファクトシステムでどの街にどんなアイテムが生成されるかをまとめたサイトがこちらです。

アーティファクト個々の土地に出現させる設定についてはTOWNとSQUADに設定項目があり、TOWNからその街に出現する装備アーティファクトと研究素材アーティファクトの上限下限を設定し、SQUADでそれぞれの部隊に平均どのくらいのアーティファクトが生成されるかを決定します。

アーティファクト世界全体の総量を設定するのが、今回紹介するArtifacts settingsウィンドウです。ここに登録したアイテムがTOWNとSQUADの設定項目に従って世界全体に生成されます。新しい防具と武器、義肢を追加するMODではリストにその装備を登録しないとアーティファクトとしては生成されません。武器に関しては例外なので後述します。

「armours」アーティファクトとして生成される熟練等級の防具の種類と個数
「armours hq」生成される傑作等級の防具の種類と個数
「crossbows」生成されるクロスボウの種類と傑作の個数(値0)、熟練の個数(値1)
「items」生成されるアイテムの種類と個数(研究素材以外も設定可能)
「robotics」生成される義肢の種類と傑作の個数(値0)、熟練の個数(値1)
「weapons」生成される武器の等級を指定(※種類の指定は不可能)

アーティファクトとして生成される武器は種類の指定をすることができません。どういうことかというと、指定した等級ごとにFCS内に存在するあらゆる人間用武器がすべて生成されるということです。
バニラではアーティファクトに7等級の武器が設定されており、人間用武器は34本なので合計238本の武器が世界中に生成されます。*2しかし武器追加のMODを入れると、1本追加されるごとにアーティファクトの武器の数が7本増えることになります。
例えば狐さんの武器MODでは71本の武器が追加されるので、アーティファクト武器は497本増加します(勝手に名前出してごめんなさい)アーティファクトは店以外に古代の遺跡にも生成されるので、このような武器MODを入れて武器庫遺跡のチェストがパンパンになったことがある人も多いと思います。
武器追加のMODには少なからずこの問題が付きまといます。問題の解決案は私が思いつく限り3つあるので、以下に掲載しておきます。

おススメ順1、アーティファクト武器の等級を減らす
バニラではアーティファクト武器の等級としてカタン1からエッジ1までの7等級が設定されています。この等級を減らすことでアーティファクト武器の総量を大幅に減らせます。ただ等級を削除するのではなく、「カタン1~3を削除する代わりにエッジ2を追加する」などのバランスをとるのも良いと思います。

おススメ順2、追加した武器を製造者(WEAPON_MANUFACTURER)に登録しない
武器の製造者の設定にあたるWEAPON_MANUFACTURERアイテムには、その等級で出現する武器種が設定されています。製造者の設定から漏れている武器はその製造者の等級で店で売られたり遺跡に出現しなくなります。例外としてキャラの武器として設定されている場合のみ出現します。
例えばフライングブル(クラル戦士団のボス)の持つ「ブルホーンアックス」はすべての製造者の設定から漏れています。そして適当なお店の売り物リスト(vender)にブルホーンアックスを追加しても店頭には出現しません。仮にカタンスクラップマスターにブルホーンアックスを設定した場合は、カタン1~3の等級で店頭に出現するようになりますし、アーティファクトとしても生成されるようになります。
ブルホーンアックスのようなユニーク品にのみ使える技ですが、こうやってどの製造者にも設定しないでおくことでアーティファクト武器の総量を少なくすることができます。
なお、プレイヤーが自作する武器用のWEAPON_MANUFACTURERには登録しても問題ないので、武器の自作ができなくなるといったような影響はありません。

おススメ順3、専用の製造者と等級を作る
2の項目にも若干つながってくる話ですが、アーティファクト専用の製造者を追加して生成させたい武器だけを設定していって、その製造者の等級をアーティファクトに設定するという手段があります。製造者と等級の名前はバニラのものと同じにしてしまえば違和感もありません。
この手段は確実にアーティファクト武器の総量を減らせる反面、他のMODで追加される武器に関しては、パッチを作ってアーティファクト用製造者に武器を設定しないと出現しないという問題があります。地味な競合対策が必要で面倒です。

Regions(機能なし)


記事を作成中の時点での安定版FCSのメニューバーに存在している何の機能もないメニューです。
すぐにでも削除されると思いますが、一応紹介しておきます。
Lo-FiのコミュニティモデレーターであるShidan氏曰く、「Kenshi2用のFCSから誤って機能の一部をインポートしてしまったのではないか」とのことです。*3

Cleanup

※警告:現在の安定版のCleanup機能には重大なバグがあります。
cleanupを行ったMODでは一部の開始条件でゲームを始められなくなったり、プレイヤー派閥のAIがバグったりします。(原因は後述)

cleanup機能を使う場合は、使う前でも後でもいいのでこちらのMODの内容をマージしてください(このツールは作者によりパブリックリソースとして公開されています。)
又は、「Remove invalid references」のオプションをオフにしてcleanup機能を使うことでデータを保護できます。
※追記:バグは修正されました。

Cleanup機能はMODデータを軽量化させるための機能です。
編集中のMODデータ内に存在する不要なデータを一括削除してくれます。

例えば、バニラデータのアイテムを見ていると説明文にこのような表記がされた設定項目が存在していることがあります。


「This value is no longer used by the game」はそのバージョンのFCSで何の効果もない設定項目に自動で表記される説明文です。この表記がついた設定項目にはどんな数値・文字を入れたとしてもゲームには何も変化がありません。この設定項目が存在することで、ごくわずかながらファイルサイズが増加しているとも言えます。

バニラデータのアイテム中に無効な設定項目が混じっているのはLo-Fiの問題なので私たちにはどうにもできない話ですが、私たちがMODを作る時にこの設定項目があるアイテムを複製すると、複製先にも同じ設定項目が作成されてしまいます。
これを削除してくれるのがCleanup機能です。

試しにサムライの兜を複製し、その後Cleanup機能を使ってみました。
下画像の左ウィンドウがバニラの侍の兜で右が複製です。
赤枠で囲った5行の設定項目の部分はすべて無効な設定項目だったのですが、それが複製データではすべて削除されています。

なお、cleanup機能にはいくつかオプションがあり、機能の実行時に以下のようなウィンドウが出ます。


注意しておくべきオプションは、上から4番目の"Remove invalid references"です。

このオプションはFCSの設定ファイルである"fcs.def"の定義に反して設定された値、アイテムを削除する機能です。"fcs.def"ではどの設定項目にどんな値、どんな種類のアイテムを設定できるのかが定義されています。
通常の場合は"fcs.def"の定義に反する設定はKenshiのシステムに読み込まれず、その設定の変更点はゲームに反映されません。

しかし、非常に古いバージョンのFCSで作成され現在まで使用されているアイテムの中には、"fcs.def"の定義に反する設定が入力されているものの正常に動作している設定があります。
例えば、ゲームの開始条件のアイテム(NEW_GAME_STARTOFF)には初期キャラを部隊アイテムで設定する項目がありますが、カニバルハンター」「聖剣」「隊長の息子」スタートでは部隊アイテムではなくキャラクターアイテムが設定されています。(初期のFCSでは開始キャラをキャラクターアイテムで設定していた名残と思われる)
cleanup機能を"Remove invalid references"オプションをオンにして実行すると、これらのキャラクターアイテムは削除されてしまいます。そしてこの3つの開始条件は無効になり、ゲーム内で選択できなくなります。
この章の最初で話したプレイヤー派閥のAI関連のバグも発生の原因は同じです。
追記:このバグは修正されました。

また、Luciusさんが公開しているカスタマイズされた"fcs.def"のようなツールを使用している場合は、"Remove invalid references"オプションをオンにすると"fcs.def"を書き換えて設定した値・アイテムの設定が全てリセットされてしまいます。この危険はかなり大きいです。

そもそも"fcs.def"の定義に反する設定というのは"fcs.def"を書き換えて意図的に入力しない限り起こりえないと思います。FCSの次のアップデートが来るまで"Remove invalid references"のオプションは使わないほうがいいと思います。

一通りDisった後ではありますが、Cleanup機能自体はとても便利な機能です。この機能で削除可能な不要データにはいろいろな種類があります。特に効果が大きいのはダイアログとAI関連でしょう。
FCSにはダイアログアイテムを削除しても、そのダイアログ内の一つ一つのセリフとその分岐条件、イベント(友好度がx上昇など)データが削除されない仕様があります。(具体的にはDIALOGUE_LINEとDIALOGUE_ACTIONが削除されない。)
Cleanup機能を使用するとどのダイアログからもリファレンスを受けていないセリフ・分岐条件・イベント内容等のデータが削除されます。ダイアログ関連に手を加えるオーバーホールMODではかなりの不要データが溜まるはずなので、その分軽量化の効果も大きくなるでしょう。

Changes

ChangesはそのMODの変更項目を一覧で確認する機能です。


変更が加えられたバニラのアイテムは青色
新規作成されたアイテムは緑色
バニラから削除されたアイテムは灰色で表記されています。
青色のアイテムにはバニラからの変更点も記載されています。

また、ウィンドウ下部には検索欄がありアイテムの名称などの条件で絞り込みが可能です。高度な検索機能についてはこのページの「検索機能を使いこなそう」の章をご確認ください。

Assets

ローカルフォルダのファイルのパスが設定されているアイテムを一覧で確認できる機能です。

パスが変更されたバニラのアイテムは緑色
パスは登録されているがどのアイテムともリファレンスを持っていないアイテムは赤色で表記されています。
新規作成され、何かしらのファイルにパスを持つアイテムは色分けされないので注意してください。

ウィンドウ下部の検索欄ではパスの末尾に含まれるファイルの拡張子で絞り込みが可能です。例えば「.dds」でテクスチャ関連の設定を絞り込んだりできます。

Notes


NotesはFCS上にto doリスト(やることリスト)を作成する機能です。
今後行う予定のタスクに関するアイテムを一つ選び、そのアイテムに注釈を加えるように説明をつけられます。
タスクには重要度と進行度が設定可能で、並び替えや絞り込み機能がついています。


to doリストの掲載内容はTodosNotesに分類され、リストへの追加方法によって自動で振り分けがなされます。


リストへの追加方法は、タスクを行う必要のあるアイテムを選択し、コンテキストメニュー(右クリックメニュー)から「Add Note item」又は「Add Todo item」をクリックするだけです。どちらを選択したかによって、そのタスクの分類がTodosとNotesに分かれます。

NotesとTodosは単に名前が違うというだけではなく、リストに追加した後の挙動が全くと言っていいほど異なります

Notesに分類されたタスクの挙動
・追加されたタスクは、どのMODを編集しているときもリストに表示される。
・タスクに説明文がない場合、FCSを閉じたときか編集するMODを切り替えたときにタスクが自動削除される。
・リストのタスクを右クリックし「Assign to」からMODを指定することで、そのMODの編集中だけリストに表示される。

 

Todosに分類されたタスクの挙動
・タスクを追加した後に自動でリストが開くが、その時「Assign to」でいずれかのMODを指定しないとリストを閉じたときにタスクが自動削除される。
・そのため、複数のMODに跨るタスクについてはTodosを作成できない。
・タスクに説明文がない場合、FCSを閉じたときか編集するMODを切り替えたときにタスクが自動削除される。

まとめると、
全てのMODにかかわるタスクで、重要なアイテムにまつわる注意分・役立つ情報を掲載したいならNotesが適切

個別のMODにかかわるタスクで、編集箇所が膨大だったり、うっかり消えてもいい情報を掲載したかったりするならTodosが適切
ということになりそうです。

また、todoリストの内容はMODフォルダではなく、Kenshi/dataフォルダ直下の"__TODO__(windowsのユーザー名).txt"に保存されます。自分の本名がファイル名になっている場合もあると思うのでビックリすると思います。(自分はそうでした)


中身はシンプルな構造なので、他人とtodoリストを共有したり、CSV形式にして何かしらのツールで処理することも難しくないと思います。
ちなみにこのテキストファイルをMODフォルダに入れても、todoリストをMODユーザーと共有することはできませんでした。

ちなみに"__TODO__(windowsのユーザー名).txt"は改名可能で、ユーザー名部分を書き換えた複数のファイルをFCSに読み込ませることも可能です。


この場合は以下のように、"__TODO__(windowsのユーザー名).txt"となっているファイルの内容だけが緑色で表記され、その内容だけ編集が可能になります。

Errors


MOD起動時に出てくるエラーログの一覧を再度表示します。

ちなみにですが今回のアップデートから、Luciusさんのこちらのガイドのような方法でFCSの設定ファイルである"fcs.def"を書き換えて、アイテムの設定に本来あり得ない値・アイテムを設定すると、起動時に毎回エラーが出るようになりました。
エラーが出ても特に問題はないので無視してOKです。
エラーログは「以後表示しない」のような設定ができないのが面倒なところです。

Merge Mod

Merge Modは主に編集中のMODとは異なるMODからアイテムを持ってくる用途で使われます。しかし実際はMODファイルに限らず、キャラの整形データにかかわるBOD2ファイル、セーブデータに関するZONEファイル、PLATOONファイルからアイテムを持ってくることも可能です。

Merge ModとOpen Anyの活用は私の最も得意とする分野で、この機能でできることは本稿ではとても紹介しきれません。なのでまた後日、専用の記事を作ってそこで解説したいと思います。

Export Mod file


FCSで現在読み込み中のMODリストを、Kenshi本体のMODリストへインポートします。
編集中のMODと全く同じ環境でKenshiがプレイできるようになりますが、ローカル化していないフォントMOD等の読み込みが自動で解除されて不便なのでこの機能を使ったことはありません。
この機能を頻繁に使いたいならMODマネージャーの導入は必須ですね。

Find and replace


Find and replaceはアイテムの説明文、ダイアログのセリフなどのテキスト形式の設定項目の内容を対象にして、特定の文字を別の文字へ置換する機能です。
コンテキストメニュー(右クリックメニュー)からも同じ機能が使えます。
MODで追加した固有名詞を後から変更したくなった時などに便利です。

試しにバグマスターという文字をムシキングという文字へ置換してみます。


するとバグマスターに関するダイアログと彼の手配書の内容などがすべて書き換わりました。


愉快なことになってますね。
書き換えを実行しなくても、特定の単語に関するダイアログを絞り込むような使い方のできそうです。


ちなみに上画像のようにアイテムの説明文・セリフの内容は置換可能ですが、アイテム名は置換不可能です。この部分の置換は手作業で行う必要があります。

なお、Game worldウィンドウからアイテムを選択してfind and replaceを行うと、選択したアイテムだけを対象に置換ができます。何も選択していない場合はMOD上の全てのアイテムが対象です。

また、置換前の文字の検索には正規表現が利用可能です。私は正規表現の知識が全くないんですが、プログラミングに詳しい方は使ってみてください。

Spell check


spell checkはダイアログにスペルミスがないかを確認するための機能です。
日本語には対応していないため、MODの英語化パッチを作る時限定で使えます。(そもそも日本語にスペルミスっていう概念はあるんですかね??)

ダイアログを選択してspell checkキーを押すとこのような画面が出てきます。
画面の情報が多いので勝手に色分けします。


操作方法を説明する前にまずはspell check機能の概要から説明します。
今回のアップデートでKenshiフォルダの直下に"Dictionary.txt"と、”Dictionary_custom.txt”というファイルが追加されています。
"Dictionary.txt"の中身はこんな感じで、spell check機能で使用する辞書の役割を果たしています。


spell check機能とは、対象となるダイアログのセリフに含まれる単語を一つ一つ検査し、その単語が辞書に記載されていない場合スペルミスが発生していないかプレイヤーに確認をとるという機能です。


今回はビープ君のダイアログを弄って意図的にスペルミスした単語を入れました。
辞書には改造前の単語(changing)は掲載されていましたが、改造後の単語(chanzing)は掲載されていなかったのでspell checkに引っ掛かりました。

このようなスペルミスを見つけたら「New word」の欄に正しいスペルで単語を記入し、ウィンドウ右側のReplaceボタンを押します。
ウィンドウ右側のボタンの説明は以下の通りです。


Add to dictionaryの説明文に書かれたカスタム辞書とは、先ほど一瞬だけ話した”Dictionary_custom.txt”です。この辞書はプレイヤーが自由にカスタマイズできる辞書です。カスタム辞書に登録された単語はspell checkに引っ掛からなくなるので、MODで追加した造語などはここに登録するとよいでしょう。

Open any


主にセーブデータを解析するために用いられる機能です。
この機能の詳細についてはMerge Mod機能と同様に後日改めて紹介します。

コンテキストメニュー(右クリックメニュー)を使いこなそう

コンテキストメニューとはGame Worldウィンドウに表示されたアイテムを右クリックすることで出てくるメニューです。


「アイテムを開く」「複製する」といった基本的なものから、「Set Field」「Replace Reference」といった高度なものまでさまざまな操作を行えます。
今回はこの高度な操作について解説していきます。

Set Firld

Set Fieldは複数のアイテムの設定を一括で変更する機能です。
以前のFCSにも似た機能がありましたが、今回のアプデでさらにパワーアップしました。


アイテムの設定には「値を入力する設定」と「アイテムを入力する設定」の二つがありますが、どちらもSet Field機能で一括変更が可能です。

値の設定にSet Field機能を使うとき
元の値をすべて固定値に置き換えるか、元の値に一定の値を加算乗除するかを選べます。

アイテムの設定にSet Field機能を使うとき
元のアイテムをすべて新しいアイテムに置き換えるか、元のアイテムを削除するかを選べます。
Set Fieldウィンドウの入力欄右の「...」ボタンを押すと入力可能なアイテムの一覧が表示され、そこからアイテムを選択できます。もちろん複数選択も可能です。
また、入力後のアイテムのString IDの右にはValueが表示されます。


このValueは書き換えることが可能です。
ただし、Valueに対して加算乗除を行うような処理は今のところ不可能なので覚えておいてください。

その他
ローカルファイルのパスを設定する項目でSet Fieldを使うときは「…」ボタンでエクスプローラーが開きます。

Replace Reference

Replace Referenceは、そのアイテムが受けているすべてのリファレンスをほかのアイテムに置き換える機能です。

FCSの基礎知識として、リファレンスとは他のアイテムからの参照のことです。部隊AのメンバーとしてキャラクターBが設定されているとき、キャラクターBは部隊Aへのリファレンスを持っています。
リファレンスを調べると「そのアイテムが他のどんなアイテムの設定で使われているのか」を知ることができます。アイテムのリファレンスはコンテキストメニューの「List Reference」で一覧表示できます。

Replace Reference機能は選択したアイテムの全てのリファレンスを同タイプの別のアイテムに置き換えます。よって最初に選択したアイテムはゲーム内に登場しなくなります。


今回はビープを選択してReplace Referenceキーを押しました。この後アグヌを選択すると、アグヌが虐待の塔にもモングレルにも出てくるようになり、ビープはゲームに登場しなくなります。

この機能の主な用途としては
・バニラのアイテムとMODで追加したアイテムを置換する
・誤って二つ作ってしまったアイテムのリファレンスを統合する
といった使い方が考えられます。

Columns


Columnsを使うとGame Worldウィンドウのアイテムを任意の設定でソートすることが可能になります。
ソートする項目は「Add」から追加可能です。
例えばキャラクターアイテムのセクションに「Combat stas」でソートをかけると、すべてのキャラを強い順に並び変えてランキングを作れます。


MOD制作に関係なく普通に便利な機能です。

アイテムを設定する設定項目(キャラクターの武器等)をソートするときは「items」のオプションを選択してください。


アイテムを設定する設定項目をValueの値でソートしたい場合は、ソートする設定の選択欄を手動で入力する必要があります。
例えばキャラクターアイテムのセクションをWeaponsのValue(武器の本数)でソートしたい場合は"Weapons.v0"と入力してください。v0がValue0を意味します。


すると、このようにキャラクターの武器と武器の本数を一覧で表示できるようになりました。FCS上の設定値と実際の出現本数は異なる場合があります)

検索機能を使いこなそう

Game Worldウィンドウの下部にはアイテムを検索するための検索欄があります。


検索欄はアイテムの名称を検索することができますが、それ以外にも様々な条件でアイテムの検索をかけることが可能です。

基本的な検索機能

基本的な機能として、検索欄ではアイテムの名称とString IDの検索ができます。
String IDで検索ができることにはメリットがあり、例えば私は制作するすべてのMODの先頭に「CL」という文字をつけるようにしています(Chigasane Luanaの略)


String IDには「番号-MOD名.mod」という命名規則があるので、MOD名の先頭にこのような特殊な文字列を入れると、どんなMODを編集しているときでも「-CL」と検索すれば、自分のMODで追加されたアイテムだけを絞り込めます。

さらに、Game Worldウィンドウのすべてのタイプのアイテムを閲覧できるeverythingセクションで「-CL」と検索をして、コンテキストメニューのColmnsからString IDのソートをかけることで、MODで追加したすべてのアイテムを追加順に並べ替えることもできます。

MOD名の先頭に固有の文字をつければMODの並び順の管理をやりやすくなるのでメリットは大きいです。ただし、新しく固有の文字を付けるときは他人の文字と被らないように注意しましょう。(私の知る限りCLシリーズ以外にCMシリーズ、CBTシリーズがあります。)

設定された値について検索

アイテムの設定項目の値について、演算子で検索ができます。
例としてキャラクターアイテムのセクションで、uniqueの設定項目の値が「true」という文字と完全一致するアイテムを絞り込みました。これでユニークキャラを検索できます。(結果の一部のみを表示させています)


使用できる演算子と、その役割を紹介します。

=,検索欄の入力値と完全一致するアイテムを検索
<,>,<=,>=,検索欄の入力値より大きい・小さいアイテムを検索

!,演算子の先頭に付けると本来の逆の条件で検索します
演算子は半角で入力してください。

私は大なりと小なりの演算子をよく使います。以上以下の検索がしたい場合は大なりイコールと小なりイコールを使いましょう。


例えばcombat statsが大なりイコール90以上のキャラを検索することで、戦闘スキルが高いキャラだけを絞り込んだりできます。

設定されたアイテムについて検索

値ではなくアイテムを入力する設定項目でも検索が使えます。
このような場合は主に「=」と「:」を使います。

=,検索欄の入力値と完全一致するアイテムを検索
:,検索欄の入力値を含むアイテムを検索
演算子は半角で入力してください。

「=」と「:」の使い分けとして、例えば"Weapons : 刀"という検索をかけた場合は刀という文字が含まれる武器(ニンジャ刀、斬馬刀など)を持っているすべてのキャラが検索されます。


これに対し"Weapons : 刀"という検索をかけた場合は、名称が「刀」と完全一致する武器を持っているキャラだけが検索されます。

アイテムのValueを検索

アイテムのvalueについても検索可能です。
例えばWeaponsのValue(武器の本数)が2本で、二刀流的な装備をしているキャラを検索したい場合は以下のようにします。


FCS上の設定値と実際の出現本数は異なる場合があります
※v0がvalue0を意味します

アイテムの登録数を検索

アイテムの登録数も検索可能です。
アイテムを設定する設定項目で「<」か「>」の演算子を使うことで、アイテムの登録数を計算できます。
例えば装備する武器のバリエーションが10本以上のキャラを検索したい場合は以下のようにします。

設定されたテキストについて検索

ダイアログや装備品の説明文のテキストを対象にして、特定のフレーズが入ったセリフを検索可能です。

ダイアログに含まれる特定のフレーズを検索

ダイアログに含まれるフレーズを検索する場合は、Game Worldウィンドウの_linesセクション、またはeverythingセクションで"text : (任意の言葉)"で検索してください


※Columnsでtext0を追加すると検索結果が見やすいです。
今回はキャットロンという単語が含まれるセリフをすべて検索してみました。
Kenshiの考察のための情報収集等の用途で使うのにも便利です。

説明文に含まれる特定のフレーズを検索

装備品や本、消耗品などの説明文に含まれるフレーズを検索する場合は、そのアイテムに対応したセクションで、"description : (任意の言葉)"で検索してください。


※Columnsでdescriptionを追加すると検索結果が見やすいです。
今回はフェニックスという単語が含まれるセリフをすべて検索してみました。
やはりKenshiの考察系の情報収集に使いやすいです。

AND検索

;,セミコロン)を挟んで複数の検索語を入力することでAND検索が可能です。
残念ながら、OR検索の機能は実装されていません。

AND検索の使用例として、例えば「メイトウ持ちのキャラで懸賞金もかかってるのにステータスが低め」のキャラを探しているとします。
ここでは"weapon level : クロス ; bounty amount > 1 ; combat stats <= 50"と入力して、「メイトウを持っていて1キャット以上の懸賞金がかかっているけど戦闘系ステータス50以下のキャラ」を検索します。


するとこのように6体のキャラクターが出てきました。

ここまで紹介した演算子の役割とAND検索のやり方をマスターすれば、普通にKenshiをプレイしていて何か気になったことがあってもサクッと検索ができるのでとても便利です。
また、これらの検索方法はアイテムを設定するときの選択欄でも使えます。


複数のアイテムを設定する必要がある時に、そのアイテムの共通点で検索をかけてまとめて選択するという使い方ができます。

再帰的参照検索(条件を満たすアイテムにリファレンスを持つアイテムを検索)

この機能はかなり複雑な機能なので、先に使用例を紹介いたします。


上の画像ではホッブズが出現する可能性のあるすべての街」が検索されています。
検索欄には"bar squads.choosefrom list : ホッブズ"と記載されています。
この検索結果のうちの一つを適当に開いてみましょう。


このTOWNデータの中の"bar squads"という設定項目に"Recruits list"というSQUADアイテム(部隊のデータ)が設定されています。ここにホッブズが入っているのでさらに"Recruits list"を開きます。

すると"choosefrom list"の設定項目にホッブズが見つかりました。

ここまでのデータの親子関係のようなものを図示するとこうなります。


この図のホッブズのデータにたどり着くまでの経路を親から順に辿っていくと、"bar squads.choosefrom list : ホッブズ"という検索語が完成します。

この検索語の構成に関しては、Squadセクションにおいてホッブズの所属部隊(Recruits list)を検索できる"choosefrom list : ホッブズ"と、
Townセクションにおいてbar squadsにRecruits listが設定されたアイテムを検索できる"bar squads : Recruits list"という二つの検索語が合体しているという考え方もできます。

今回は二段の親子関係の再帰的参照検索の例をお見せしましたが、
"bar squads.choosefrom list.clothing : 袖なしロングコート"というような検索語を用いてホッブズを含む袖なしロングコートを装備するキャラについて三段階の再帰的参照検索を行うことも可能です。やろうと思えば四段階でも五段階でもできます。

正規表現

正規表現を用いることでさらに高度な検索も可能とされています。
私は正規表現を修めていませんが、プログラミングに詳しい方はぜひ活用してみてください。このページも役に立つかもしれません)
こういう時に便利な正規表現のフレーズとかを知ってる人がいたら教えていただけると嬉しいです。

その他のテクニック(随時追加予定)

カラーコードでテキストを装飾

ダイアログや装備品の説明文のテキストには"#000000"といったカラーコードを挿入することで、そこより後のテキストの色を変えることができます。
実際の使用例として、私が先日公開した「レジェンダリー武器防具追加MOD」では説明文をこんな感じに装飾しました。


武器についた特殊効果の名前部分を赤色にして、効果説明の文はUIで使われている色と同じ色を使うことで溶け込ませました。

この説明文を作るためにFCS上で入力したテキストがこちらです。

#000000この武器には#ff0000『血塗れ』#000000のレジェンダリが付与されており、以下の追加効果が適用されている。
#afa68b-出血  #a8b774+0.2x
#afa68b-防具貫通  #a8b774+20%

なんと7回もカラーコードが挿入されていました。我ながらよくこんな面倒なテキストを作ったものです。

そして、カラーコードはテキスト形式の入力欄ならほぼ何にでも挿入できます。アイテムの名称の先頭につけることも可能です。
つまり、キャラ名、勢力名、装備名、等級名、都市名、果ては地域名まで、何にでも色を付けることが可能です。
ユニーク要素等の名前を変えることで特別感を出したり、他と見分けやすくすることができます。

ただし、先ほど例として見せたMODのようにテキストをUIに溶け込ませる場合は、UI変更MODと併用すると見え方が全く変わってしまうので注意してください。このような場合は大手のUI系MODに対応したパッチを配布しておくのがいいでしょう。


※Dark UIと併用したせいで説明文の字が読みにくくなった例

最後に

この記事の内容は以上です。
記事の感想とご意見はいつでも大募集です。
「xxの部分の説明が分かりにくい」「説明が間違っている」等、
どんな内容でも構いません。

今後作成予定のMOD開発講座としては
講座二本目、FCSの設定ファイルをカスタムする方法
講座三本目、Open AnyとMerge Mod機能の活用方法
についての講座を予定しています。
こちらもよろしくお願いいたします。

 

サムネイル置き場


このサムネめちゃくちゃかっこよくないですか??

*1:かつてのArtifacts settingsは新規のアーティファクト設定アイテムを作成するというボタンでした。アーティファクト設定アイテムはString-IDの若い設定だけが反映されるという仕様があり、バニラのARTIFACTSアイテムのIDが44877-rebirth.modという大きい値になっていたため、たいていの場合新規作成されたアイテムのほうが優先される状態でした。つまりボタンを押すとバニラのアーティファクト設定がすべて無効になるという致命的欠陥を抱えた機能でした。まさしく初心者殺しの地雷でした。

*2:正確には224本。理由は放浪者の板剣とブルホーンアックスのアーティファクトは出現しないから。詳しくは本文の続きで説明しています。

*3:Shidan氏のコメント