第10页:第三章 第2节-保护存档
展开第三章 第2节 如何保护你的存档
在Skyrim这个游戏中,起码有60%的CTD是由存档的原因造成的,原因有两个:
一是因为玩家不断的增加和删除MOD,造成存档中有错误字节的残留,并且这些错误的字节仍然会被载入游戏,引起CTD。
二是B社的存档机制。
B社的存档机制并没有自检功能,当一个MOD删除后,该存档在读入游戏后,B社并不会对其进行存在性筛选。所以会导致这些数据仍然会在游戏中起作用。
由其是带有脚本的MOD,特别是一些任务型和调整型的模组,影响更为巨大。
这是因为任务类,调整类的模组的脚本通常会使用全局性变量记录游戏进度,而这些变量是一定会写入存档的。
--------这种记录叫作“主动记录”
另外有些魔法,动作类如FINS,虽然没有使用全局性变量,但是根椐游戏的自身设定,你学会一个魔法,这个魔法也会在存档中记录。这是MOD因为游戏记录玩家所学会的魔法列表而引起的记录。
--------这种记录叫作“被动记录”
最后,一些纯的物品类,装备类(不带任何脚本的东西),如一瓶药,一把刀。这些东西虽然也会由于游戏在记录世界物品总表和玩家物品列表时进行记录,但是这种记录是可以通过游戏的刷新机制而进行刷新的。
--------我将其称之为“次要被动记录”
上个图:
上面的图就是猴子的存档,我竟然在上面找到了我一个月前删除的幽灵海域(剧情MOD)和ANK宫殿等等MOD的脚本变量记录~~~~~有些我都删除了两三个月了~~~~~。
更坑爹的是,虽然MOD已经删除掉了,记录中的MOD加载顺序的FormID却还是原来的。
(这个存档机制设定太坑了,他喵的B社,找不到的记录你能不能学学别的游戏,把垃圾记录存档成Unknow_XXXX!)
如果我以后安装一个MOD,恰好这个MOD也用了全局变量,并且更恰好的是作者在写脚本的时候把这个变量命名为和游戏存档中那个残留的一样的名字……乐子就大了。
别说这事不可能,按照程序员写程序的习惯,变量名字通常都是简写:如:QF_temp_var,我起码在三个不同的MOD中见过这么命名的。
只要我装了这种MOD,等待我的必是无穷无尽的各种错误。
这种错误还他喵的没法查!因为上古的存档动不动就几M,十几M。这么大的文本,那得有多少个字符。更坑的是还加了密,我得先把它转码然后才能看……这怎么查……
我们想像一下,当我们遇到CTD,然后不断的在排序,筛选,排查中找CTD的原因,折腾了半天,结果真正的原因在这儿,你会不会哭。
遇到存档和MOD冲突的这种情况,要么你不玩那个MOD,要么你重新开档玩,没第二条路。
我试过把存档里那些能看得懂的残余MOD存档给删除,结果连游戏都进不去,折腾了两天,果断弃坑。等着别的大神把上古的存档编码完全破解,并且开发一个清理工具。反正这活我干不来。
既然无法解决,那么我们只能预防,用我们良好的游戏习惯来防止上述情况的发生:
1. 关于“Clean Save---获得干净存档的方法”的一点补充!
原贴地址:点击进入
感谢Foxbrain的总结,感谢ldfxf的整理。
摘录:
“卸载一个MOD的正确方法:-----建议从未这样做过的人立即做一次,无论你目前的游戏是否有问题
將身上攜帶的該MOD的物品丟掉
控制台输入coc loretest或coc qasmoke——两者效果等同(确保鼠标没有选中任何代码)
建立新存檔(请绝对不要覆蓋舊存檔)
退出游戏将旧存档删除
卸载该MOD
进入游戏
等待14天(一种说法是保险起见,最好等31天)
再次建立一個新存档
此时被卸载的MOD对游戏的影响已经彻底清除,这时的新存档就是干净的(clean save)——许多MOD在更新和安装前都要求使用clean save,一般作者在安装说明时都会指出。
之后可以输入任意NPC的代码用player.moveto XXXXX移动出去”
请大家一定要移步去这个帖子看一看,很多MOD在安装前都需要使用Clean Save(干净的存档),也有很多人推荐这个方法。这个方法确实是有效的,起码对60%的MOD有效。
猴子的补充说明:这里有一个小小的误区——很多人认为做了这一步,存档就干净了。
首先,我要强调,这个方法是有效的!
其次,做了这一步就能得到干净的存档这种认识是错误的,这个方法只能保证你得到的存档是相对干净的!(请注意干净和相对干净的区别)
这个方法能对我上面说的“次要被动记录”和大部分“被动记录”的MOD有效。对于大部分“主动记录”的数据来说,是无能为力的。(忘记什么是被动记录的跳回本节开头再看看)
例如:著名的调整型MOD,ASIS的作者就明确说明,装了就别删,宁可把所有参数设置为0。
如下图:
ASIS的链接:点击进入
同样的还有怪物战争之类的MOD。这一类的MOD只要你删除了,哪怕你用这个方法做十次,你也得不到干净的存档。
建议:照Clean Save的方法去做,相对干净总比不干净好!
2. 一个不现实的保持存档干净的方法。
N网有些人做出过如下建议:保持绝对干净的存档的方法为——先把你要玩的MOD一次性装好,然后开始玩,在玩的过程中保持不对MOD进行任何的如增加,删除,升级之类的改动!然后一直玩到世界的终结。
虽然这些货在最后有一句“Just a joke!”
但是这确实是保持存档绝对干净的唯一方法!
按照B社的存档机制设计,就是让你们要么新开档,要么一套MOD玩到吐!
这当然不太现实,估计没人会这样去做!
3. 猴子的做法(有点烦琐,怕麻烦的请跳过,然后听天由命吧):
大原则:
MOD宁增忽删,实在要删除,一定用Clean Save的方法删除。
带脚本的MOD除非不得已,装了就不要删除。
任务型,调整型尤其要重视,的在新开档前不要去删除,删除的话最好回到你当初安装这个MOD之前的存档。
我的具体做法:
1. 安装MOD时请先确认这个MOD是不是带脚本。
我通常的做法是先解压下回来的MOD,看看它是不是带有Scripts这个文件夹,如果是,我会把它做记录:
如下图:
然后再进行安装。并且没什么必要的话,安装这种MOD后,我一般不会去删除它。
2. 对于一些没有脚本的纯物品类MOD,删除时,先把所有这个MOD带的物品全扔了,一件不留,然后按Clean Save的方法去做。
3. 对于一些增加的魔法之类的MOD,先用移除魔法命令player.removespell FormID( 移除代号为FormID的魔法)把它从魔法列表中移除,例如拍照姿势类,龙战士,死亡之舞,都会在安装后让你学会一个魔法,这些我一般会去掉它。然后再用Clean Save的方法移除MOD。(另外那个什么增加魔法150个之类的MOD,你看着办,因为确实太多,移除起来很累。)
4. 对于非游戏自带的房子,我从来不在里面存放物品。这个很重要。存档中还有个LIST是专门记录玩家存放在非刷新箱子里的物品的。
尽量不要在这种房子中存档!四代时有个特殊的BUG,只要在游戏中不存在的地方存档,那么这个档十有八九会损坏,我担心五代还有这BUG。就算没这BUG,有些Modder做出的房子并不完善,也有坏档的可能。我就遇到过。
5. 对于一些改变整个游戏的运行机制的MOD,如ASIS,真实的天际等等,装了就不要删除!一定要删除,请回到你装这个MOD前的存档重新玩,这样做总比你重新开档玩好得多。要不一定会跳得你想哭!
最后我们来总结一下:
保持存档的稳定性有以下几个好处:
1.60%的CTD是由于存档造成的,存档的稳定也意味着你遇上CTD的机率相对较小。
2.干净的存档,在你遇上CTD时,可以减少排查的范围,减少工作量。
3.存档只要一损坏,就是永久性的,起码在目前没有办法解决,Wrye Bash什么的也没办法,所以良好的安装和使用MOD的习惯非常重要!
更多相关内容请关注:上古卷轴5:天际专区
责任编辑:Agent