Skyrim自作Mod: TesvRefidPicker 利用ガイド (v1.1.5版)
nexusmods Skyrimで公開中のSkyrim用のユティリティ TesvRefidPicker - Showing RefID of NPC の利用ガイドです。
TesvRefidPicker 利用ガイド (v1.1.5版)
目次
- 目次
- 1.TesvRefidPickerとは
- 2.導入方法
- 3.プラグインファイルを開く
- 4.コンソールコマンドのコピー
- 5.CSVファイルのエクスポート
- 6.フィルタについて
- 7.列の操作
- 8. 補足事項
- 9. 余興
- 10. 謝辞
- 11. ツールの変更履歴
- 本ガイドの改訂履歴
1.TesvRefidPickerとは
1.1 何ができるのか
このユティリティは、NPCのRefID(Reference ID/参照IDとも言う)を表示するものです。 RefIDとNPCの情報を表形式で一覧表示します。
一覧表はちょっとした表計算ソフトのような操作性となっていて、行をフィルタ・ソートしたり、列の並びを代えたり・列を表示・非表示したりすることができます。
一覧に表示したNPC全員に対するコンソールコマンドをクリップボードにコピーしたり、一覧の内容をCSVファイルに出力することもできます。
RefIDはCreation KitやTES5Editなどのツールで知ることができますが、それらを起動するのが面倒な方や使い方が分からない方もいると思い作成しました。
補足:
- Skyrim Special Editionでの利用について
今のところSkyrim SEには未対応ですが、以下の点に注意すれば一応は利用可能です。- 表示対象NPCについて
ゲーム内で動的に生成されるNPC/生物/特殊オブジェクト(例えば山賊/スパイダー/NPC扱いのクエストオブジェクト)は表示対象外です。- AreYouThere - Actor(NPC) Explorer by bein を使えば、ゲーム内のMCMメニューからNPC(フォロワー)の一覧を表示したり、NPCに対して各種操作を行うことができます。
これを導入すればフォロワーを追加するたびにIDを調査する手間が省けそうです。ぜひお試しを。
ダウンロード(nexusmods):AreYouThere - Actor(NPC) Explorer by bein
1.2 表示できる情報
列名 | 説明 | 列の初期表示 |
---|---|---|
Plugin | 読み込んだプラグイン名 | 表示 |
RefID | 参照ID | 表示 |
Ref Owner | NPC参照情報(ACHR)の定義プラグイン名 | |
Name | NPCの長い名前または短い名前または[EDID] | 表示 |
Ref EDID | NPC参照情報のEDID。ほとんどの場合は空となる | |
BaseID | ベースID | 表示 |
Base Owner | NPC情報(NPC_)の定義プラグイン名 | |
Flags | NPCフラグ(ABCS) | 表示 |
RaceID | 種族ID | |
Race Owner | 種族情報(RACE)の定義プラグイン名 | |
Race Name | 種族名または[種族のEDID] | 表示 |
VoiceID | ボイスタイプID | |
Voice Owner | ボイスタイプ(VTYP)の定義プラグイン名 | |
Voice Name | ボイスタイプの[EDID] | 表示 |
Health Offset | 体力補正値 | |
Magicka Offset | マジカ補正値 | |
Stamina Offset | スタミナ補正値 | |
Level | NPCのレベル。FlagsにPCLevelMultがある場合はレベル倍率 | |
Calc Min Level | 最低レベル | |
Calc Max Level | 最大レベル | |
Speed Multiplier | 移動速度倍率 | |
Calc Health | 体力値 | |
Calc Magicka | マジカ値 | |
Calc Stamina | スタミナ値 | |
Height | 身長 | |
Weight | 体重 | |
World | 初期配置ワールド。ワールド名または[ワールドのEDID] | 表示 |
Cell | 初期配置セル。セル名または[セルのEDID] | 表示 |
X | 配置座標 X | |
Y | 配置座標 Y | |
Z | 配置座標 Z |
1.3 仕様一覧
- 読み込み対象ファイル:.esm/.esp
- ローカライズされた(stringsファイル併用)プラグイン:対応
- BSAファイルに格納されたstringsファイル:対応
- プラグインの言語:Arabic/Baltic/Chinese/Czech/Danish/English/Finnish/French/German/Greek/Hungarian/Italian/Japanese/Norwegian/Polish/Portuguese/Russian/Spanish/Swedish/Turkish
- 対応するSkyrim日本語化方式:旧方式(Lang=English)/新方式(Lang=Japanese)
- ファイルの開き方:ファイルを開くダイアログ/ファイルのドロップ/Skyrimのプラグイン定義から
- 複数ファイルの同時読み込み:可能
- UIの表示言語:英語(デフォルト)/日本語
- 表示対象オブジェクト:NPC
- 表の操作:列幅変更/行ソート(同時1列)/行フィルタ(複数列同時設定可)/列の表示/列の非表示/列の並べ替え/列状態をデフォルトに戻す
- 行フィルタ:すべて表示(フィルタ解除)/空白/空白以外/テキストフィルタ/項目選択/項目部分選択(OR/AND)
- 設定の保存方法:iniファイル(exeと同一フォルダ)
- レジストリ使用:使用しない
2.導入方法
2.1 動作環境
私はWindows XP/8を持っていないので動作検証できていませんが、恐らく.NET Framework 4.0以降がインストールされていれば動作します。
Windows 10でも問題なく動作します。
2.2 インストール方法
- nexusmods Skyrimのダウンロードページから最新版をダウンロードします。
- ZIPファイルを解凍し、TesvRefidPickerフォルダーごと任意のフォルダにコピーします。ただしSkyrimフォルダ、Mod Organizer/NMMのフォルダ、Program Filesフォルダは避けてください。良く分からなければデスクトップ上でも問題ありません。
- 旧バージョンからのアップデート時には、単純にファイルを上書きコピーしてください。
2.4 UIの表示言語の変更
「Options - UI Language - Japanese」メニューをチェックします。
表示言語が日本語に切り替わります。
2.5 プラグインの言語の変更
SkyrimおよびModを日本語化している場合、プラグイン言語の変更が必要です。変更内容はSkyrimの日本語化方式により異なります。
2.6 Mod Organizerの設定
Mod Organizerを使っている場合、次の手順で起動メニューに登録します。
- 「実行ファイルの設定」ツールボタンを押します。実行ファイルの修正ダイアログが表示されます。
- タイトルに「TesvRefidPicker」を、実行ファイルにTesvRefidPicker.exeのフルパスを入力し、「追加」ボタンを押します。
- 「閉じる」ボタンを押し、ダイアログを閉じます。
以降、MOに登録されたModを開く場合は、画面右上の起動メニューからTesvRefidPickerを起動してください。
2.7 アンインストール方法
ユティリティをアンインストールする場合、次のファイルを削除してください。レジストリは使っていませんのでクリーニングの必要はありません(厳密にはWindowsと.NET Frameworkによって少量のレジストリが作られているかもしれませんが、誤差の範囲だと思います)。
- TesvRefidPicker.exe
- TesvRefidPicker.ini
3.プラグインファイルを開く
3.1 まだインストールしていないプラグインを開く
- Modの圧縮ファイルを解凍します
- プラグインファイル(.esmまたは.esp)をメイン画面にドラッグ&ドロップするか、「ファイル - 開く」メニューを選択してファイルを開きます。複数のファイルをまとめて開くこともできます。
注意:この方法で開いた場合、RefIDおよびBaseIDの先頭1バイトはModで定義された値と同一です。ゲーム内の実際のIDとは異なり、このままではコンソールコマンドで使えないことに注意してください。
4.コンソールコマンドのコピー
一覧に表示されたNPC全員に対するコンソールコマンドをクリップボードにコピーできます。
「編集 - コンソールコマンドのコピー」メニューのサブメニューを選択します。
4.1 コピーできるコンソールコマンドの一覧
コンソールコマンド | 説明 |
---|---|
Prid <RefID> | NPCをターゲットするPridコマンド(Pick by Reference ID)です。Pridコマンドの後に任意のコマンドを追加してください。 |
"<RefID>".Moveto.Player | NPCをプレイヤーのところに呼び出すコマンドです。 |
"<RefID>".SetLevel 1000 0 1 0 | NPCのレベルをプレイヤーのレベルと同期させるコマンドです。 |
"<BaseID>" | BaseIDだけをコピーします。このまま実行してもエラーとなります。バッチファイル作成のテンプレートとして使ってください。 |
SetEssential <BaseID> 0 | NPCの不死属性を解除します。 |
SetEssential <BaseID> 1 | NPCの不死属性を設定します。 |
4.2 出力例
"56002306".Moveto Player ; レコーダー "56011D03".Moveto Player ; オムニコ Ver.4.1 "5601FB7B".Moveto Player ; ジーニア
5.CSVファイルのエクスポート
- 「ファイル - CSVファイルのエクスポート」メニューを選択します。
- CSVファイルのエクスポートダイアログが表示されます。出力先ファイルを選択します。
CSVファイルには現在表示されている行が出力されます。表示されているかどうかに関わらずすべての列が出力されます。
5.1 CSVファイルの形式
ファイルのコードページはオプションで選択したプラグインの言語に依存します。
出力例
"Plugin" "RefID" "Ref Owner" "Ref EDID" "Name" "BaseID" "Base Owner" "Flags" "RaceID" "Race Owner" "Race Name" "Health Offset" "Magicka Offset" "Stamina Offset" "Level" "Calc Min Level" "Calc Max Level" "Speed Multiplier" "Calc Health" "Calc Magicka" "Calc Stamina" "Height" "Weight" "World" "Cell" "X" "Y" "Z" "Recorder Follower Base.esp" "60002306" "Recorder Follower Base.esp" "" "レコーダー" "60000D70" "Recorder Follower Base.esp" "Female,Essential,AutoCalcStats,Unique,PCLevelMult,Summonable" "00013746" "Skyrim.esm" "ノルド" "0" "150" "0" "1.00" "0" "0" "100" "50" "200" "50" "1" "100" "" "宿屋「スリーピング・ジャイアント」" "-874.1511" "-131.0032" "0.5329494"
区切り文字のデフォルトはタブです。区切り文字を変更する場合、TesvRefidPicker.iniに次の設定を追加します。
カンマに変更する例
[General] csvSeparator=,
6.フィルタについて
フィルタを使えば、指定した条件にあった行のみを表示することができます。
6.1 フィルタの設定
フィルタを設定するには、列ヘッダの右にある矢印ボタン「▼」をクリックします。
フィルタメニューの操作方法は次のとおりです。
名称 | 説明 |
---|---|
すべて表示 | フィルタを解除します。 |
空白 | 空白のデータを表示します。 |
空白でない | 空白でないデータを表示します。 |
テキストフィルタ | 指定した文字を含むデータを表示します。テキストを入力し、右にある「OK」ボタンを押します。数値型の列では使用できません。 |
チェック一覧 | 一覧でチェックしたデータを表示します。一覧をチェックし、メニュー下にある「OK」ボタンを押します。 |
すべて選択 | データの一覧を全選択/全解除します。 |
部分フィルタ | Flags列でのみ使用できます。チェックすると各フラグが一覧に表示され、チェックしたフラグを含むデータを表示できます。複数のフラグをチェックした場合、結合条件は右のリスト(OR/AND)で切り替えられます。 |
フィルタが設定された列では、矢印ボタンが「▽」になります。
6.2 フィルタの解除
フィルタを解除するには、列を右クリックします。
名称 | 説明 |
---|---|
フィルタを解除する | クリックした列のフィルタを解除します。 |
すべてのフィルタを解除する | すべてのフィルタを解除します。 |
7.列の操作
列の状態は好みに合わせて変更することができます。カスタマイズ結果はiniファイルに保存され、次回起動時に引き継がれます。
用途にあわせてカスタマイズしましょう。
7.1 列幅の変更
列ヘッダの境目をドラッグします。
7.2 列を隠す
隠したい列を右クリックし、「列を表示しない」メニューを選択します。
7.3 隠した列を再表示する
任意の列を右クリックし、「列を再表示する」メニューのサブメニューから再表示したい列を選択します。「(すべて)」を選択すると、隠された列すべてが再表示されます。
7.4 列のソート
列ヘッダをクリックします。クリックする度にソート方向(昇順/降順)が切り替わり、ソート方向がアイコン(△/▽)で表示されます。
8. 補足事項
8.1 「マスタープラグインからレコードを読み込む」オプションについて
読み込んだプラグインの中にNPC定義レコード(NPC_)が存在しない場合、警告メッセージ「NPCのベースレコードがいくつか見つかりませんでした。NPC情報を完全に表示するには、「マスタープラグインからレコードを読み込む」オプションをチェックしてください。」が表示され、列の一部が空白となります。クエストModやNPC/クリーチャー追加Modのように、バニラで定義されたNPCを増やすModで発生します。
この場合、「オプション - マスタープラグインからレコードを読み込む」メニューをチェックします。
もう一度プラグインを開くと、マスタープラグインからNPC定義レコードが読み込まれ、NPC情報が補完されます。
マスタープラグインファイルは次の順序で検索します。
8.2 NPC用のModなのにNPCが表示されない場合
SBF、Bijin NPCsのようなNPC美化ModにはNPC参照情報(ACHR)が含まれていないため、NPCは表示されません(つまり表示すべきRefIDがない)。
NPC定義情報(NPC_)は含まれているので何かしら表示することは技術的に可能ですが、本来の目的から外れる気がしたので本仕様としました。
8.3 問題が発生したら
何か問題が発生したら、問題となったMod名、プラグインファイル名、エラーメッセージ(スタックトレース部分も含む)を報告してください。
nexusmodsのforum、このページのコメント、Twitter(ThinkingSkeever (@ThinkingSkeever) | Twitter)のいずれかにお願いします。
9. 余興
もちろん、このユティリティではバニラのプラグインを開くこともできます。
謎のNPCや誤訳などを探して楽しむのも面白いでしょう。
植木鉢さんもNPCでしたか・・・
このセルはなんぞ・・・
スカイリム筋肉番付
※実際にはゲーム中で再計算されると思うので意味はなさそうですが
スカイリム+DLC - ユニークNPCの種族分布
カジートが少数派って噂はほんまやった・・・
種族 | 数 | 備考 |
---|---|---|
ノルド | 478 | |
インペリアル | 104 | |
ブレトン | 93 | |
ダークエルフ | 87 | |
オーク | 57 | |
レッドガード | 49 | |
古き人の種族 | 47 | 老人のこと |
ハイエルフ | 44 | |
ウッドエルフ | 26 | |
アルゴニアン | 22 | |
カジート | 18 | |
イヌ | 8 | |
スケルトン | 8 | |
ドラゴン種族 | 8 | |
ドレモラ | 5 | |
ドラゴン・プリースト | 4 | |
ハグレイヴン | 3 | |
デスハウンド | 2 | |
フロストバイト・スパイダー | 2 | |
ヤギ | 2 | |
[DLC2RieklingRace] | 1 | リークリングのこと |
ウィッチライト | 1 | |
スキーヴァー | 1 | |
スノー・サーベルキャット | 1 | |
スノートロール | 1 | |
マンモス | 1 | |
ユキグマ | 1 | |
巨人 | 1 | |
馬 | 1 | フロストだけ。シャドウメアはなぜかUniqueでない |
雷の精霊 | 1 |
※このユティリティで出力したCSVをLibre Calcで読み込んで集計した結果です
10. 謝辞
本ガイドでは次のModをサンプルに使わせていただきました(順不同)。この場を借りて御礼申し上げます。
Chaconne Follower by rxkx22
Custom Voice Follower_Rosalie by okame28
Garm the Husky Companion by Wolfgrimdark
Millepon Healer Follower by millepon
Recorder - Standalone Fully Voiced Follower by potasticpanda
Rigmor of Bruma by Rigmor
Segodon Kunoichi Follower by Segodon
The Goddess Diana by triptherift - marmotte
Toccata Follower by rxkx22
(拙作日本語訳)
Recorder - Standalone Fully Voiced Follower - Japanese by potasticpanda and BowmoreLover
Rigmor of Bruma - Japanese Translation by Rigmor and Translated by BowmoreLover
11. ツールの変更履歴
Version 1.1.5 (2016/7/18)
- Dragonborn.esmが読み込めないバグを修正。未クリーニングの場合に発生。XXXXフィールドの処理誤りだった
- Visual Studio 2015でリビルドした
Version 1.1.4 (2016/2/11)
- コンソールコマンドの形式の変更。コメント(NPC名)はコマンドの同一行、コマンドの右になりました (95f890be氏に感謝!)
- スペルミスと不自然な英語の修正 (95f890be氏に感謝!)
- プラグインのロード順が128以上のとき、RefId/BaseIdが空白になる問題の修正
Version 1.1.3 (2016/1/8)
- 列の追加:(Plugins)Index, VoiceID, Voice Owner, Voice Name (要はボイスタイプが表示できるようになった)
Version 1.1.2 (2016/1/6)
- 列の追加:RaceID, Race Owner, Race Name (要は種族名が表示できるようになった)
Version 1.1.1 (2016/1/5)
バグ修正のみです
- ウィンドウリサイズ時、ログウィンドウの高さを固定するようにしました。
- コンソールコマンドメニューの"Prid
"を" "に変更しました。エラーとなる意味のないコマンドだったためです。 - マスタープラグインファイルが見つからなかった場合の動作不具合を修正しました。
Version 1.1 (2016/1/4)
- CSV出力機能。表示中の行が出力対象。ファイルのコードページはプラグインの言語に依存。区切り文字はタブ。
- より多くのNPCパラメータ表示。デフォルトでは非表示列なので必要に応じて再表示してください。追加された列:Magicka Offset, Stamina Offset, Health Offset, Level, Calc Min Level, Calc Max Level, Speed Multiplier, Calculated Health, Calculated Magicka, Calculated Stamina, Height, Weight
- 「コードページをUTF-8で上書き」オプションの追加。旧日本語化方式(sLanguage=English)で日本語化されたプラグインを開くときにはこれをチェックしてください。
- 「Flag」列に表示される値の追加:Summonable, LoopedAudio
Version 1.0 (2016/1/1)
- 初回リリース
本ガイドの改訂履歴
- 2016/01/05 18:10 - 公開開始、v1.1.1対応
- 2016/01/06 01:40 - v1.1.2対応
- 2016/01/08 21:45 - v1.1.3対応
- 2016/02/11 05:40 - v1.1.4対応
- 2016/06/26 12:30 - AreYouThere - Actor(NPC) Explorerに関する情報を追記
- 2016/07/18 21:30 - v1.1.5対応
以上