有任何上古卷轴的问题,请直接到MOD社区发帖求助

TES4Edit/TES5Edit 插件清理简明教程

话说,我个人静下心下来研究的第一篇英文教程,其实是 TES4Edit Cleaning Guide 。看过的人都知道内容很长,而且还不容易理解。因为该教程更多的是给mod制作者看的,我等小白是完全无法体会个中奥秘的。 :( 不过,最终我还是死活把它啃掉了。因为 Wrye Bash 用多了,对mod的结构认识也就多了,再者用 TES4Edit 打开插件一看,很多东西也就懂了。

最近偶然发现,很多人(即使是modder)其实还不会自己清理插件。

所以,现在抛开 TES4Edit Cleaning Guide,按照个人理解与使用经验,我自己写下《TES4Edit清理简单教程》。

2012.10 更新:因为TES5Edit的出现,同时TES4Edit与TES5Edit的清理原理与操作基本一直,本文章于 2012.10 再次更新,以满足 Skyrim 的使用,也就是说这里面的教程对 TES5Edit 也是适用的。

2013.03 更新:新增了一个清理 Skyrim 官方插件 Update.esm 的视频教程。


为了方便介绍,后边一律用 xEdit 代替,也就是说,xEdit = TES5Edit/TES4Edit/FO3Edit/FNVEdit
英文原版教程链接:
TES4Edit Cleaning Guide
TES5Edit Cleaning Guide – TES5Edit
TES5Edit Mod Cleaning Tutorial

文章中提到的术语

Master:插件的主文件!是插件的基础。更简单的理解:插件修改/调用的所有东西都来自于Master。(更详细的介绍可以参考ESP、ESM、MASTER 详解
Dirty Edit:或者说“不必要的数据”。更简单的理解:多余的数据(或者说重复的数据)。在 xEdit 中查看,你会发现 Dirty Edit 的部分与插件 Master 中的数据是一模一样的!
Wild Edit:或者说“出乎意料的数据”。更简单的理解:作者本意并非如此,可是插件/游戏中却出现了。

为什么要清理

还记得Mod的唯一性原则?Dirty Edit 的存在会保留 Master 中数据的原样,导致其他mod无法正常工作(我不知道这么说大家能不能明白,但是你可以参考Mod的唯一性原则文章中关于 DroNahrah 的那个例子)。
而 Wild Edit 会导致游戏异常,比如原本是想在帝都的某个容器添加1000金币,但最终却变成在帝都的所有容器都添加1000金币。
另一个严重的问题是, Dirty/Wild Edit 会导致退出游戏时跳出。
为了更稳定、兼容性更好的游戏,我们建议对插件进行清理。

为什么会出现脏东西?

Dirty Edit 的来源可以归结为两个原因。

原因之一:官方编辑工具 CS/CK 本身的bug。通常的,如果你修改的场景(CELL)越多,CS/CK 产生的 Dirty Edit 会越多。于是,当你的mod越来越大,你的插件里面 Dirty Edit 也会越来越多。这就是为什么有人建议:如果不是非不得已请尽量不要使用 CS/CK 编辑插件,而应该改用 xEdit 。

另一个原因:mod制作者本身的问题。mod制作者经常会修改某个东西,事后又会把所做的修改恢复到原版的形式,而 CS/CK 不是智能的,你把你所做的修改恢复到原版时,CS/CK 并不会帮你删掉该数据(这句话不明白的你可以跳过:事实上,有些人为了兼容性会故意这么做,所以 CS/CK 也不应该自动删除这些设置)。于是问题来了,一个东西被修改然后又恢复到原样,等同于创建了一份副本到mod里。该副本与 Master 里的东西一模一样!很明显,这个就是 Dirty Edit 了。关于因mod制作者引起的 Dirty Edit,这个也是不可避免的,首先mod制作者本人应该有良好的modding习惯,同时,他在编辑的时候还得非常细心(使用过 CS/CK 的人都知道,窗口中的东西是很多的,不小心你都可能修改到你不想修改的东西)。

而 Wild Edit 的来源通常是mod制作者经验不足造成的。有意或者无意做了某项修改,但是因为处理不当,导致修改过分了。

怎么清理?

通常的,我们可以这么认为

  • Dirty Edit 即 不必要的数据,需要 xEdit 自动清理
  • Wild Edit 即 出乎意料的数据,需要 玩家手动清理

挑明的说,

  • Dirty Edit,任何人都可以借助 xEdit 清理
  • Wild Edit,普通玩家需要在其他人的指示下才能清理

下面我们先从 Wild Edit 说起:

清理 Wild Edit

Wild Edit 这东西, xEdit 是不会自动帮你删除的。但有些情况你可以在 xEdit 中看出来,因为这类数据通常都是黄色高亮。
其实,我们平常使用的插件很少有这个情况,所以你可以不理这个。

清理 Dirty Edit

这边,我们还需要再介绍另一个概念:
因为 xEdit 功能比较强大,所以通常我们说的 Dirty Edit 还可以分成两部分:
(1)ITM(Identical to Master),也就是上面介绍的 Dirty Edit;
(2)UDR(Undelete and Disable References),具体来说就是:恢复不小心删除的数据,然后再让该数据不可用(避免变为ITM)。
因为删除原版 Oblivion.esm/Skyrim.esm 中存在的东西会导致退出游戏时跳出,所以处理 UDR 也是十分必要的。

什么mod可以清理

英文原版教程 TES4Edit Cleaning Guide 有一部分是在讨论什么插件可以清理,什么插件不可以清理。但即使他介绍得再多,普通玩家还是无法正确判断的。

不过,值得高兴的事,现在的 BOSS 已经有相关信息提示了,他会提示你:插件 XX 存在 Dirty Edit,你应该清理,也会出现 千万不要清理插件 XX 。

所以,这边也不多介绍“什么mod可以清理”,我们一律看BOSS的提示:
如果他说不要清理,那你就千万别清理。
如果他没说什么,那么你就试着清理看看!
如果他说需要清理,那么你得注意自己清理的ITM与UDR结果是否跟他的一样!

清理mod的准备工作

清理插件的难点在于判断“什么mod可以清理”以及“我应该加载什么插件”。第一个问题在上面我们依靠 BOSS 就能解决了。

剩下的便是判断“我应该加载什么插件”。教程 TES4Edit Cleaning Guide 里面介绍的很全面但是难懂。这边,简单点说……

首先,插件本身的时 Master 肯定要加载的,这是第一点。

接下来你需要根据mod的作用加载其他的插件,这是整篇教程的难点……用 Vorians 举过的例子(来自于 Oblivion ,但 Skyrim 同理):

Baddy patch for Entius Gorge 的 Master 里面有 Baddy.esp ,所以你需要加载 Baddy.esp(TES4Edit 会自动帮你加载)。而 xulEntiusGorge.esp 虽然不是 Baddy patch for Entius Gorge 的 Master,但是从mod的名字以及说明中,我们可以看出 Baddy patch for Entius Gorge 是 xulEntiusGorge.esp 与 Baddy.esp 的补丁,那么在清理 Baddy patch for Entius Gorge 时,你既要加载 Baddy.esp,也不能忘了 xulEntiusGorge.esp 。

这只是一个例子,告诉你除了加载 Master,你还需要加载其他的插件。

不过,就实际情况以及个人经验而言,BOSS 提到的可以清理的插件你只需要加载 Master 就行了~~~另外一个避免此类问题的办法就是:遇到插件为 A与B的补丁 这种情况时,你就别清理插件了。

开始清理
范例一

这边我们以 Marg Lena V5.esp 为例。
(1)下载最新版的 TES5Edit: 城通网盘(安装之前请先安装 DirectX End-User Runtime:联网版|离线版
(2)把压缩包里的所有文件解压到任意路径,建议解压到游戏路径,即 Oblivion.exe 或者 TESV.exe 附近。
(3)打开 TES5Edit.exe (Oblivion 用户只要把 TES5Edit.exe 重命名为 TES4Edit.exe 再打开即可),右键选择 Select None (1),勾选 Marg Lena V5.esp(2) 后点击 OK 确认加载(3)。
加载 Marg Lena V5.esp
(4)当看到 Background Loader: finished 时(1),右键 Marg Lena V5.esp (2),选择 Apply Filter (3)

注意:新版本(3.0.23及更新版本)可以直接选择 Apply Filter for Cleaning 然后跳过第(5)步。
插件加载完成
(5)在 Filter… 窗口中,仅勾选 Conflicts status inherited by parent (2),然后点击 Filter (3)
Apply Filter
(6)耐心等待 Filter 完成
等待 Filter
(7)Filter 完成后,右键 Marg Lena V5.esp(1) 后选择 Remove “Identical to Master” records (2)
清除 ITM
(8)弹出警告窗口。请等待3s后再点击绿色的按钮 Yes I’m absolutely sure
确认操作
(9)等待 xEdit 清理,完成后你可以在右边的日志里看到相应的清理信息。
ITM 清理日志
(10)用同样的方法,右键 Marg Lena V5.esp(1) 后选择 Undelete and Disable References (2)
清除 UDR
(11)再次等待 xEdit 清理,完成后你可以在右边的日志里看到相应的清理信息。
UDR 清理日志
(12)到这边 Marg Lena V5.esp 算是通过 xEdit 自动清理完成了。
点击窗口右上角的关闭按钮(1),在弹出的 Save changed files 窗口列表中勾选 Marg Lena V5.esp (2),然后点击 OK 确认保存修改(3)。
保存插件并退出
(13)恭喜,到这边, xEdit 已经完成自动判断并清除了 Marg Lena V5.esp 的 Dirty Edit 了~~
因为 Marg Lena V5.esp 是汉化mod,所以我个人还建议对照内核汉化删除不必要的修改。不过这已经不是单纯的 xEdit 自动清理,而应该放着给作者或者经验丰富的人来处理。显然不是本篇文章讲述的范围(此文只是入门)。

范例二

总结

MOD的清理其实不算是难事。我的意思是你要懂得利用资源:

  1. 借助 BOSS Log 明确什么插件应该清除、什么插件不可以清除;
  2. 借助 TES4Edit Cleaning Guide 底部的mod列表或者 Skyrim Dirty Plugins List明确什么插件应该清除、什么插件不可以清除;
  3. 如果我上面漏了讲的话:务必一次只能清理一个插件!(不然一开始为什么要Select None?不是多此一举)
  4. 清理的时候也不要加载其他不相关的插件!(如果这点不重要,我们有必要重点考虑需要加载什么插件吗?同样的,这也是第3点存在的原因。)
  5. 明确一点:UDR 是绝对可以删除的,而 ITM 的清除则需慎重;
  6. 如果不知道能否清除、不知道需要加载什么插件,就直接问作者;

如果上面几点你注意了,那么清理插件通常不会出问题。

最后,再告诉你一个小技巧,在 Wrye Bash 中,右键插件,选择 Mod清理 >> 扫描 Dirty Edit (或者 Mod清理 >> 扫描 UDR )可以帮助你快速的判断该插件是否存在 ITM 与 UDR。

因为谈到了 Wrye Bash ,所以顺便说下:Bashed Patch 是绝对不可以清理的。

icedream

About icedream

其实我知道的东西很少,只是翻译了一些东西,悲催的是翻译过后很快就忘了。

,

16 Responses to TES4Edit/TES5Edit 插件清理简明教程

  1. Rnzi 2013 年 1 月 11 日 at 上午 9:42 #

    请问上古卷轴5的MO用户该如何使用TES5Edit清理插件?

    • icedream 2013 年 1 月 11 日 at 上午 9:59 #

      @Rnzi: 这个也是TES5Edit的教程

  2. Leontiushl 2013 年 2 月 2 日 at 下午 11:42 #

    如果要还原的话又该怎么做呢,Data里多了个TES5Edit Backups文件夹,具体怎么操作呢~~~

    • icedream 2013 年 2 月 3 日 at 下午 2:08 #

      @Leontiushl: 那个文件夹里面有原文件啊,只有修改下后缀名。比如 原插件名称.esp.2012.01.31 ,你只需要把.esp后面那串删掉就得到备份的插件了。

  3. piro 2013 年 3 月 1 日 at 上午 9:18 #

    啊…….好险………..一次清了4个,还好在保存之前看了下总结……….= =

  4. 路过学习 2013 年 5 月 11 日 at 上午 11:02 #

    学习了清理教程 但是用TES5Edit 用的是汉化版的 因为对专业术语的名词不太懂 反而汉化版的对着教程不知道怎么用了 能不能更新一下汉化版的教程

    • icedream 2013 年 5 月 11 日 at 上午 11:08 #

      对照图片/视频啊,我晚点再更新下。

  5. 路过学习 2013 年 5 月 11 日 at 上午 11:13 #

    BOSS 提示 游戏的主文件 需清理这个要清理么 升级文件 黎明守卫 龙裔 炉火这几个ESM……还是清理了 有问题的MOD和插件就OK了?

    • icedream 2013 年 5 月 11 日 at 上午 11:27 #

      上面内容已讲到

  6. piro 2013 年 6 月 23 日 at 下午 10:14 #

    请问…….做完 Apply Filter for Cleaning这一步后底色和字的颜色变红了是什么意思………?

  7. 玩儿 2013 年 7 月 30 日 at 下午 10:26 #

    请问怎么用TES4edit找到mod里面NPC的代码 然后传送到NPC身边去

    • icedream 2013 年 7 月 30 日 at 下午 11:16 #

      打开Edit
      找到NPC
      左半边窗口点击NPC对应的记录
      右半边窗口看FormID。
      传送用moveto。

  8. hxl 2013 年 9 月 19 日 at 下午 8:18 #

    每清理一个都要点一下APPLY Filter吗???

  9. @ice 2013 年 9 月 30 日 at 下午 2:14 #

    冰大,我又来问了,嘿嘿,不好意思啊,有几个问题

    1;我完全用TES5自动清理的,即先处理ITM在处理UDR,会不会删除一些有用的东西,您说的删除ITM需谨慎,是指自动清理的时候还是手动清理的时候?自动清理有风险吗

    2;自动清理的时候可能影响到内核汉化吗??

    3;一些BOSS没提示清理的插件,清理的时候也显示有2,3个清理记录,会出问题吗?顺便问一句清理完了提示Bash标签建议: {{BASH: Delev, Relev}}什么意思??

    • icedream 2013 年 9 月 30 日 at 下午 7:52 #

      1、都一样有风险
      2、怎么说?先说下你的理解
      3、BOSS没提示的不建议你们清理,但记住BOSS提示不能清理的一定不能清理。Bash标签一直都在的,那个是bashed patch时需要用到的,不用管他。

      • @ice 2013 年 10 月 7 日 at 上午 1:33 #

        恩,好的,那没提示的就先不清理了,我的理解就是一些MOD内核汉化以后,有些词汇可能汉化了但是游戏中用不到,大大是不是指这样的有无用的内核汉化的MOD自动清理的时候要谨慎啊,难道会把一些无用的汉化部分识别为dirty Edit清理掉导致MOD不可用了吗?