ユニークキャラが行方不明になったとき

ページ名:ユニークキャラが行方不明になったとき

このページでは居場所がわからなくなったユニークキャラの捜索方法、およびフィールド上から消失してしまったユニークキャラの復元方法について解説する。ここでいう消失とは、殺害していないのにフィールド上から居なくなる、出現しなくなることをいう。
セーブデータのフォルダおよび各種ファイルの場所はKenshiのファイル構成参照。

キャラクターの捜索方法

まずはフィールド上に存在しているかを確かめる方法について。

キャラクターデータが存在するplatoonファイルの特定

グリーンフィンガーを例にした手順

  1. エクスプローラでplatoonフォルダを開く
  2. アドレスバーに"powershell"と入力してEnter
  3. コンソールが開くので、以下のコマンドを入力してEnter
  4. Get-ChildItem . -include *.platoon -Recurse -Force | Select-String "グリーンフィンガー"

マッチすればファイル名とマッチ箇所が出てくる 。出てこない場合はフィールド上に存在しないか、あるいは名前が間違っているということ。
コンソール上でのクリップボードの貼り付けはCtrl+Vではなく右クリックだったりするので注意。

座標と位置

  1. FCSを起動する。
  2. 最初に表示されるMOD一覧は閉じ、画面右上のopen anyをクリック
  3. 目的のキャラクターが含まれるplatoonファイルを開く。
  4. 項目0のどれかにINSTANCE_COLLECTIONがあるから探す。大抵aiの上あたり。
    右クリックしてColumns->Typeをクリックすることで種類を表示できる。
  5. 右のInstancesウインドウの緑の文字列をクリックする
    ex) 536-ウェスタンハイブ_379.platoon-INGAME など
  6. Positionの欄のX.Y.Zがキャラクターの座標
    例えばストーンキャンプはX=47584.Y=724.Z=-85924
    MAPで見てX軸は横方向 Yは高度 Z軸は上下方向
  7. 地図から大体の位置を割り出して、キャラを送って探す


座標の位置に行っても居ない場合

後述する街のオーバーライドによる消失の場合、座標の位置にキャラクターが存在しないことがある。

ワールドステートの確認方法

ワールドステートを確認すれば、ユニークキャラの生死の状態を確認できる。

  1. FCSを開いて、適当なMODあるいは新規にMODを作成して開く。
  2. 探したいキャラクターのString IDを探してメモする。
    例として肉王の場合は「64911-rebirth.mod」
    (注意:以下の画像はFCSのデータを日本語化するMODを開いたときの画像であり、日本語化していなければMeat Lordのような英名である)
  3. FCSのOpen anyからセーブフォルダのquick.saveを開く。
  4. TypeがCAMERAの項目を開く。(右クリックしてColumns->Typeをクリックすることで種類を表示できる。)
  5. usedUniquesXXX(XXXは通し番号)という項目の中から、1.でメモしたString IDと一致するものを探す。
    この画像ではusedUniques1が「64911-rebirth.mod」で一致している。
  6. そのXXXと一致するusedUniquesStateXXXを探す。上の画像の例ではusedUniquesState1であり、その数値は0。
    ワールドステートの数値は、0が死亡、1が生存、2が収監を意味している。
    ワールドステート自体が存在しない場合は、ゲーム内でキャラがまだ生成されていないということ。
  7. 注意点など
    1. この例ではゲームを開始したばかりのセーブを使ったのでワールドステートは2個だけだが、MODを増やすほど、ゲームを長く続けるほど多くなり探しにくくなる。powershellを使ってString IDで検索すれば、一致箇所の前後の文で大体わかる。
    2. ワールドステートの並び順は不定であり、しばらくプレイすると順番が入れ替わったりする。
    3. FCS上の並び順は数値順ではなく0、1、10、100、101、102…のような名前順となっている。

ワールドステートが生存か収監なのにフィールド上に存在しないキャラは消失してしまったと言える。

復元する方法

インポート、ファイル操作によるキャラコピー、ファイル操作によるキャラ再生成の3つの方法がある。
インポートが最も安全な方法なのでこだわりが無ければインポートで復元するのが望ましい。
しかし街や遺跡の攻略状況などがリセットされてしまうので、それが嫌ならファイルを操作して復元をすることになる。
現状では不具合やクラッシュは確認できていないが、未知のエラーが発生する可能性はある。また操作をミスしたらキャラクターや拠点などが消える可能性もあるので、自信がないならしない方がいい。実行前にセーブデータのバックアップをすることを推奨。

インポート

復元したいユニークキャラのワールドステートが生存または未生成なら、「死亡したNPCをインポート」のチェックを付けてインポートする。
死または収監状態であってもチェックを外してインポートすれば再生成される。

ユニークキャラクターを含む部隊をコピーする

あるplatoonをコピー・リネームして別のplatoonに上書きすれば、ゲーム中のキャラクターも上書きされる。 これを利用してユニークキャラを出現させる。

注意点

  • この方法で復元したユニークキャラはおそらく仲間に出来ない。
    AIやダイアログは別のところで管理されているらしく、行動は上書き先の部隊のものとなる(勢力は上書き元部隊のまま)。
    殺害や所持アイテムが目的なら問題ない。
  • 上書き元・上書き先部隊双方の部隊はなるべく近い位置のものを選ぶ。
    位置が離れている場合、キャラが読み込まれなかったり消滅してしまったりする。
  • ワールドステートに関係無く出現させられるが、ワールドステートが死亡の状態になっていると死亡以外の状態に変化しない。それ以外の場合では殺害・投獄・釈放することでワールドステートを各種の状態に変えることができる。

手順

  1. キャラクターデータが存在するplatoonファイルの特定の手順に従い、目的のユニークキャラが健在なセーブデータから、そのキャラが含まれるplatoonファイルを探す。
  2. ユニークキャラを出現させたいセーブデータのplatoonファイルから、上書き先として適当なものを探す。
  3. 1.のplatoonファイルをコピーして2.のplatoonファイル名にリネームし、上書きする。
  4. ゲームを起動し、上書きされた部隊が目的のユニークキャラを含む部隊に置き換わっていれば成功。

ユニークキャラが住む街のzoneファイルを消去し、再生成を行わせる

zoneファイルとはフィールド上の建物や落ちているアイテムを記録しているファイルのこと。これを削除するとそこに記録されていた街が住人を含め再生成される。ただし、ユニークキャラが生成されるのはワールドステートが存在しない場合のみなのであらかじめ削除しておく必要がある。

注意点

  • 既に生成された住人は消えず、新しい住人が重複して生成される。そのため住人の行動がおかしくなる可能性がある。
  • そのzoneに含まれるプレイヤーの建築物は消滅する。
  • ロード時にzoneファイルが見つからないという警告が出る。そのzone内の街が再生成されれば、以降警告は消える。

手順

  1. ユニークキャラのワールドステートの消去
    1. ワールドステートの確認の5.までの手順に従い、対象ユニークキャラのString IDが記載されている項目を探す。
    2. そのString IDを実在しない適当な値に書き換え保存する。
      これをすると次にセーブしたときには無効なワールドステートは消滅する。
      こんなことをしてバグらないかと思うかもしれないが、無効なString IDの存在というのはユニークキャラを追加するMODを外したときにも発生するものなのでおそらく問題ない。
  2. ユニークキャラが住んでいる街のzoneファイルの削除
    1. ある街が含まれるzoneファイルを確認する方法に従い、対象ユニークキャラが住んでいる街のzoneファイルを特定する。
    2. そのzoneファイルを削除する。
  3. ゲームを起動してユニークキャラが住んでいる街に行き、そのキャラが生成されていれば成功。

消失する原因について

敵が昏睡状態している状態で離れる

ユニークかどうかに関わらず、NPCを昏睡状態にしたまま読み込み範囲外まで離れると消失することがある。店員が居なくなる現象もこれが原因と思われる。
おそらくは倒した敵がいつまでも残らないようにするための処理と思われるが、昏睡および消失しただけではワールドステートは死亡にならない。つまり生きた判定のまま消失する。

ユニークキャラが参加するレイド

セタやヴァルテナの参加するホーリーネーションのレイドなど。
詳細な原因は不明だが、このようなレイドのあとユニークキャラが見つからなくなったという事例が報告されている。
ユニークキャラが敗走して読み込み範囲外に出ていった場合、そのキャラの本来の居住地に再生成されるのがおそらく正しい動作だが、その街がまだ読み込まれていないとかオーバーライドされているといった場合にはどうなるかわからない。近くの街に撤退していきそこで棒立ちになったりすることもある。後述するようにユニークキャラが街で生成されるのはワールドステートが存在していない時だけなので、レイドでの登場以外で生成されなくなる可能性がある。

住んでいる、収監されている街の状態が変化する

街の支配勢力が入れ替わったり半壊や飢餓状態になるときというのは、内部的には別の街に切り替わっている。
この時必ずではないが、その街に居るユニークキャラが消失することがある。都市連合を攻めている時にロンゲンやテングが居なくなる現象の原因。
収監した街がオーバーライドされた場合、生きた状態でその街に出現したり、あるいは消失したりするなど様々

インポート

初期状態で収監されているキャラはインポートすると消失する可能性がある。
詳しくはバグや不具合を参照。

用語

platoonファイル

ゲーム中のキャラクターデータが記録されているファイル。
セーブフォルダのplatoonフォルダ内に、1部隊につき1つのファイルとして保存されている。

ワールドステート

ワールドステートとは、ユニークキャラクターの生死状態のこと。
セーブフォルダのquick.saveに記録され、0~2の数値で表される。0が死亡、1が生存、2が収監を意味している。
ワールドステート自体が存在しない場合は、ゲーム内でキャラがまだ生成されていないということ。
街のオーバーライドの多くはこれによって判断される。

zoneファイル

フィールド上の建物や落ちているアイテムを記録しているファイル。
フィールド全体を64x64のグリッド上に区切った領域の1マスごとに1つのファイルが生成される。
ファイル名はzone.X.Y.zone(XとYには数字が入る)という形式になっていて、マップ左上を0とした横・縦方向の位置を示している。

ある街が含まれるzoneファイルを確認する方法

  1. セーブフォルダ中のquick.saveをFCSで開く
  2. Town state (確認したい街の名前)という名前の項目を開く
  3. misc項目にzzX0、zzX1、zzY0、zzY1といった項目と数値が並んでいる(個数は不定)。
    これらの数値を、zone.(zzX0の数値).(zzY0の数値).zoneといった具合に添え字ごとのセットでファイル名に置き換えたものが対象のファイルとなる。
    プレイヤーの拠点も同様の方法で調べることができる。

下の画像の例の場合、リバースの建物が含まれるzoneのXYの組は(22, 19), (21, 19), (21,20), (20, 19), (22, 20)の5つとなる。


このページの累積ビュー数: 4669
今日: 4
昨日: 50

コメント

返信元返信をやめる

※ 悪質なユーザーの書き込みは制限します。

最新を表示する
名無し ID:ZmJjNWZmM

外部サイトだけどキャラの位置確認にはここがオススメ。
https://kenshi-test.seesaa.net/article/473208536.html

返信
2022-05-06 09:49:01

名無し ID:OGRkNWQxN

このページの一部は5chの書き込みおよび添付画像を元にさせていただきました。

返信
2022-03-31 22:07:42