前言
学会使用mod工具,能够让你的游戏(装mod)体验更上一层楼。
本教程涉及各种Mod工具,但主要还是围绕xEdit的使用。部分参考于开源的Lively Dismay教程,因此本教程同样遵循相同的开源协议,这意味着任何人均可对该内容进行添加、修改及重新发布(CC BY-NC-SA 4.0)。
请注意,该教程需要正版游戏本体(实际上不需要,但这都2023了你还没买老滚?),盗版游戏将无法获得支持。
章节目录
这里是目前已经写好的内容。
0 - 1 小节:基础工具的安装与配置、MO启动项设置于工具输出路径
- BGS游戏中的常见文件格式
- 如何为esp移除前置模组 <- 你在这里
计划更新内容
- 如何使用SPID(Spell Perk Item Distributer)为任意容器、NPC分配物品
- esp转esl(espfe/esl-flagged esp)
- 使用zEdit合并多个esp
- Nemesis 与 FNIS 共存的动画引擎解决方案
- 如何找到未汉化的esp及词条
- xEdit基础:Keyword与Condition
- 通过xEdit进行冲突排查与简易补丁制作
- CK教学:制作基础的世界冲突补丁
后续章节还是发在单独的帖子里,我会把链接更新到上面的目录里作为跳转。
------------分割线------------
如何为esp移除前置
事先声明
移除前置通常是用在自己制作的补丁上。只有极少数情况你会去移除一个别人制作的mod的前置(我能想到的目前只有一种情况:LE的服装mod,转SE后可能会需要移除真高跟前置)。如果你不知道自己在干什么,那么我的建议是最好不要乱来。移除前置并不能让你省下下载前置的时间,也不能让你在违反mod作者的前置要求下正常使用该mod。
缺少前置的esp
当一个esp缺少它需要的前置时,在MO右侧的加载列表中,它会被一个红色叹号三角标记。同时右上角的MO警告标识会被点亮,如下图所示。

如果你无视这些警告,直接进入游戏,老滚的引擎将直接无视这个esp,但它的来源mod中包含的模型贴图等文件仍然会被加载(如果是零散文件形式的话)。这样可能会产生一些奇怪的问题,所以在正式开始游戏之前,最好从头到尾浏览一遍你的加载列表,确定没有任何esp处于缺失前置的状态。
另外需要提醒的一点是,当你安装的mod数量非常多时(比如超过500个mod),MO的性能也会受到一定影响,它的警告也可能无法第一时间显示出来,你需要时不时点击工具栏中的刷新按钮来查看是否出现新的警告信息。

准备工作
所需工具如下
- Wrye Bash,用于一键生成虚假前置。虚假前置就是一个空的esp,Wrye Bash 会自动根据缺失前置的esp创建对应名称的空esp,从而骗过xEdit,让它能够允许你将缺失前置的esp加载;
- xEdit,用于移除esp中依赖于前置的内容。
两个工具的安装、配置请见之前的章节,这里不再重复说明。
在开始之前,你应该先把需要移除的前置esp删除或禁用。你可以在MO的左边面板取消勾选或直接删除。这是为了使删除前置的过程更加简单高效。
添加虚假前置
通过MO启动Wrye Bash。
当它打开并出现主界面时,大概率会出现一个弹窗警告,如下图所示。

此警告与MO的提示类似,是在说你的加载列表中存在Form 43格式的esp,直接无视即可。Form 43 并不等于LE专用格式,也不意味着无法在SE使用。如果Mod作者并未对其进行Form格式转换,那么作为普通用户只需要直接使用即可。
关闭这个警告对话框,请将滚动条向下拉,找到你想要移除前置的esp。它会被用红色标记出来。对其右键,选择Create Dummy Masters... / 生成虚假Master...

等几秒之后,Wrye Bash 会自动定位到刚刚生成的对应esp,点击它前面的方框,将其激活后,即可退出Wrye Bash
通过xEdit移除前置
通过MO打开xEdit。
在弹出esp选择窗口之后,先在任意esp上右键,取消全选。然后,你可以在顶部搜索框中输入名字来快速定位到你需要移除前置的esp。单独勾选它即可,它所要求的前置会被xEdit自动激活。
请等待xEdit完成加载。当右边的消息框的最后一行提示 Background Loader: finished 时,才可进行操作。

在左侧找到需要移除前置的esp,对其右键,选择Check for Errors,几秒钟后,右侧的消息框中会列出全部带有错误的词条。这些错误就是由前置的缺失引起的。因为这些词条中使用到了前置esp里的内容,但我们现在用来载入的虚假前置是空的,xEdit无法找到这些内容,因此会产生报错。我们正是利用这点,来快速查找需要移除的部分。
移除产生报错的内容。这步就会比较繁琐,你需要对xEdit报错的每一个词条进行移除操作。这里我会以两个词条作为示例——这是一个我修改过的一个NPC词条:

NA_AMW_Jala "加拉" [NPC:0806B866]
NA_AMW_Jala:这是该词条的Editor ID,你可以理解为游戏引擎用来标记这个词条的昵称,游戏中所有物品通常都具有独特且不重复的Editor ID(当然部分词条可以没有),相当于是身份证姓名一样的存在;
"加拉":这是该词条在游戏内的显示名称,由于经过汉化它显示的就是中文。显示名称除了在游戏中进行显示之外不具有其他用途;
[NPC:0806B866]:中括号内的一串数字+字母组合就是该词条的FormID,这串ID是以16进制表示的八位数字码,也是游戏内所有物品都具备的,它相当于身份证号码,也是一对一的定位关系
这里我们将利用到FormID(绿色的那串)来快速定位到该词条。复制xEdit提供的这个八位数字码,并粘贴至左上角的搜索框中,点击回车确认。之后搜索框将会变绿,并且xEdit自动选中该词条。

注意:如果你得到的八位数字码是以FF开头,这代表该词条的来源为一个espfe或esl。此时你的搜索方法需要进行改变。首先确定该词条的来源esp,在xEdit中它的名称左侧会给出一个[FE xxx] 的编码,xxx是当前的加载顺序编号,将方括号中这五位数替换掉FF开头的数字码开头的五位数,才能正常查找到所需的词条。
定位到词条之后,分为两种情况。在我的这个例子中,整个词条都被以斜体显示,并且没有颜色对其进行标记。这代表该词条在当前的整个加载顺序中是第一次出现,换句话说,这整个词条都依赖于它缺失的前置。对于这种情况,只需要将整个词条删除即可。
另一种情况参见上图的COCOMage_hairsmp1词条,它被以绿色文字和黄绿色底色标记显示,这个颜色标记的含义是:该词条来源于前置esp,并且已经被完全覆盖,没有相互冲突的内容。
选中该词条后,在右侧面板中的任意位置右键,并选择Hide no conflict and empty rows,让xEdit只显示有更改的部分
可以看到,这里存在一个由esp添加的,依赖于缺失前置的内容。
对于这种情况,需要选中该报错内容,右键“remove”进行移除。
- 其他的报错词条,请按照上述方法依次移除。操作完毕之后再执行一次Check for Errors,检查是否有遗漏的部分。
当xEdit没有检查到错误时,代表着所有依赖于缺失前置的内容已经全部移除掉了。这时你就对esp右键,选择Clean Masters,来移除所有多余的前置。

- 最后,按Ctrl + S 进行保存即可。记得到Wrye Bash Output 文件夹中,删除掉之前创建的虚假前置。
总结
整个移除前置的流程看下来可能会让你觉得非常麻烦,但是实际上操作过几次之后,其实也并不是什么难事。再次强调:移除前置基本上只会用在你自己制作的补丁上,对于其他作者制作的mod,你最好按照他们的要求安装对应的前置。
关于xEdit的颜色标记所代表的含义,你可以在下图所示的位置进行查看。在xEdit窗口的右上角,点击Legend按钮。

将弹出一个独立的窗口,列举出每种颜色代表的意思,其中横轴是文字颜色,纵轴是底色。

红色通常代表着多个esp间的内容存在冲突,绿色通常代表着完全覆盖。
但词条被标红并不代表着存在问题,很多时候冲突才是我们想要的结果(例如多个NPC美化之间存在的冲突,这属于正常现象,谁覆盖谁取决于你想要哪个美化的修改生效),所以不必对颜色标记过于敏感,把他当作参考即可。