こちらはzEdit 254 plugin limit workaround tutorial for KYE TUS Engarde and othersを使う場合の解説になります。現在このModは公開が停止しており、かわりとなるzEdit UPF Plugin Loader Generatorの利用を勧めているようです。
Add_Masters_By_Signature_KYE.pas
パッチ作成時に必要なプラグインを選別してくれるxEdit用スクリプトです。
このスクリプトの問題として、armorパッチとenemyパッチで共通なので、無駄があります。
さらに、プラグインの数が255個を越えてしまうとマージ作業が必要になってしまい、工数が増えます。
armor用とenemy用で2つにわけるとプラグイン数を減らせます。
Add_Masters_By_Signature_KYE_Armor.pas
必要なのはArmorとNPCです。NPCはSPIDで代用できるので、Armorだけでよいことになります。
InitializeメソッドのSignatureListをArmorだけにします。
SignatureList.CommaText := 'ARMO';
Processメソッドは以下のようにします。
for i := 0 to Pred(FileCount) do begin CurrentFile := FileByIndex(i); if (CompareText(GetFileName(CurrentFile), GetFileName(OutputFile)) = 0) then Continue; /* ここから追記する */ if (GetFileName(CurrentFile) = 'know_your_enemy.esp') then begin AddMasterIfMissing(OutputFile, GetFileName(CurrentFile)); Continue; end; /* ここまで追記する */ for j := 0 to Pred(SignatureList.Count) do begin if (GroupBySignature(CurrentFile, SignatureList[j]) <> nil) then begin AddMasterIfMissing(OutputFile, GetFileName(CurrentFile)); Break; end; end; end;
Add_Masters_By_Signature_KYE_Enemy.pas
必要なのはSpell、Perk、NPCです。NPCは細かく調べてたくさんのPerkを割り振るため、SPIDへの移行は面倒なのでしません。
InitializeメソッドのSignatureListをNPC、Spell、Perkだけにします。
SignatureList.CommaText := 'NPC_, SPEL, PERK';
ProcessメソッドはAdd_Masters_By_Signature_KYE_Armor.pasと同様に変更します。
KnowYourEnemyPatcher
zEditのmoduleに変更を加えます。
編集するのはKYE側ではなくてzEdit側なので注意してください。KYE側はインストール前のファイルです。
zEdit/modules/KnowYourArmorPatcher/index.js
registerPatcherのexecuteにあるprocessメソッドからNPCに関する処理をコメントアウトします。
zEdit/modules/KnowYourEnemyPatcher/index.js
特に手を入れる必要はありません。
Spell Perk Item Distributor
Perk配布用の設定ファイルを用意します。
Perk = 0x000B6D0D - know_your_enemy.esp
ちなみにYASH2のPerkもSPIDで配布できます。
Perk = 0x00B513C2 - YASH2.esp
プレイヤーはSPIDの対象外のようです。別途パッチを用意して持たせるようにします。
KYEパッチ作成時の注意
KnowYourArmorPatcherは文字通りArmorにたいするパッチとなりますので、KnowYourEnemyPatcherとレコードが一切被りません。
よって、KnowYourArmorPatcherを動かすときはAdd_Masters_By_Signature_KYE_Armor.pasで作ったespを、KnowYourEnemyPatcherを動かすときはAdd_Masters_By_Signature_KYE_Enemy.pasで作ったespを使います。
KnowYourEnemyPatcherにKnowYourArmorPatcherで作ったパッチは不要です。
検証
SSEEditで目視確認した限りでは、想定通りの内容になっています。
しばらくプレイをしてみましたが、問題なさそうです。
zEdit UPF Plugin Loader Generator
こちらは元からArmor用とEnemy用にわかれています。
ただし、Armor用はARMOとNPC_が対象なのでNPC_を除外すれば同じことができると思います。