spys
我在OCum的页面下找到了一篇文章,涉及如何在游戏中途把OCum从2.X版本升级到3.X版本,常见问题里的一些观点与你的基本一致,我简单翻了一下补充在这篇教程下面。
https://www.nexusmods.com/skyrimspecialedition/articles/5541
注意,这篇文章提到的改变模组排序,仅指纯ESP、ESM,至于ESL、ESPFE、ESMFE如何对待,至少原文没有提及。
而且可以改变模组排序并不直接意味着可以“游戏中途删除模组”,如果要在游戏中途删除模组,请至少在模组作者的指导下进行
以本文章中卸载Ocum为例,至少需要:
1.进入一个没有NPC的室内,用MCM里的选项关闭Ocum模组已启用的一些特效。
2.控制台输入StopQuest OCumQuest,并保存。
3.关闭游戏,在模组管理器中卸载Ocum。
4.打开游戏并加载步骤2中保存的存档,忽略读取时缺少OCum的提示,控制台输入coc Riverwood,传送到河木镇,到处跑一阵,进出一些房间,最后保存。
5.用Fallrim Tools ReSaver 等工具清理步骤4中保存得到的存档。
6.然后你就得到了一个完全卸载掉OCum的游戏存档。
如spys提及的,一些dll和ESP互相捆绑,还有涉及ESL的情况不在讨论范围内。
文章简单翻译如下:
1)游戏中途删除模组不是很不好吗?这不会导致坏档吗?
是的,游戏中途删除模组通常都不是什么好主意。如果一位模组作者告诉你游戏中途删除他的模组会导致坏档,你当然应该相信它。
但是,有些模组作者告诉你可以在游戏中途安全地移除他的模组,那你也应该相信他们。OCum就是这种模组。虽然它既有脚本,也有一个.esp插件,如果你遵循了前述教程,完成了清理存档的步骤,你就不会出现任何问题。
2)可是改变排序一般都不是好事,有些人说游戏引擎无法识别排序改变带来的FormID改变之类的,会造成问题。
叹气
我愿意称这种人为模组排序狂热派。这种说法已经成了一种迷信,由一些不太了解天际的游戏引擎是如何工作的人传出来的,在社区遗毒甚广。
首先,天际的游戏引擎比一般人想的要更智能。它可以很好地处理模组排序改变的问题,也能处理好随之带来的ID改变问题。事实上,天际的游戏引擎设计之初就考虑到了模组顺序改变的问题。否则贝塞斯达的DLC会毁了玩家的存档。
一个FormID有8位数,前两位指向了这个FormID所在模组的排序并随之改变,而剩下的六位是恒定的。天际的游戏引擎和SKSE在你打开游戏的时候,会自动根据你的模组排序调整这些FormID的前两位,更新出一套新的ID表。所以无论你如何调整你的排序,就这些FormID而言,永远不会出现任何问题。
脚本也不会受到模组排序改变的影响。脚本一般并不需要参照其他模组中具体的FormID,就算需要,一般也是这两种方式:
1.Through a property filled in the CK/xEdit【通过CK或者xEdit里的property】
2.Through the Game Script/SKSE function GetFormFromFile()【通过游戏原生的脚本系统(papyrus?)或者SKSE来调用GetFormFromFile()这个函数】
在第一种情况里,我们已经知道天际的游戏引擎已经可以处理模组顺序改变造成的FormID变化,所以那些property不会受影响,脚本依旧可以正常工作。
在第二种情况里,由于GetFormFromFile()这个函数本来就会无视代表模组排序的FormID前两位,它会直接在你的模组排序里寻找对应的.esp,然后再自行补齐正确的FormID前两位。所以在这种情况下脚本依旧不会有问题,因为每一次调用GetFormFromFile()的时候都会检索一次你的模组排序。
总而言之,不用担心游戏中途更改模组排序。这不会导致坏档,游戏已经考虑到你会更改模组排序,放轻松。
3)总之一切操作之前都要记得备份,这是个好习惯。