介绍
僵尸毁灭工程这个游戏,人物死亡惩罚较大,且没有较好的回档功能。
但是,已知存档在服务器或者主机上,并且地图与人物的存档是分开的。
所以,只要我们经常备份人物存档,这样等我们死亡时,就只需要将人物存档覆盖即可,世界、车辆及物品都不会变化。
但是,之前死亡的人不会消失,会带着你的物资变成僵尸游荡,故会复制物品,请注意。
人物存档路径:C:\Users\用户名\Zomboid\Saves\Multiplayer\servertest\players.db
注意,这是开服务器的人物存档,单机玩请自己找找。并且同一个服务器所有人都在这里面,当你回档的时候所有人都跟着回了。
为什么用脚本
因为我平时存档的次数不多,今天中午测试一下自动拾取mod,自己提着偃月刀就冲出房车杀僵尸,结果被开饭了。
再回档已是昨天的档,损失较大。
所以我就做了一个可以自动存档的脚本,这样我就不怕了。
程序正在备份
备份好的文件夹
脚本介绍
环境
python环境,无需安装其他的包
为什么不打包成可执行文件,因为python打包你懂的,太大了,几K的脚本打包完100多M,不知道的以为我塞病毒了。
如何运行
每次玩游戏前运行就好了,默认是十分钟自动存档一次。也就是600秒,可以修改。
关闭直接关软件就行
注意,运行前请确保你的服务器配置名叫servertest,不然请自行修改。
代码请查收
import os
import shutil
import time
def backup():
➞path = os.path.expanduser('~')+"\\Zomboid\\Saves\\Multiplayer"
➞path_player = path+"\\人物备份"
➞
➞#新建备份文件夹
➞if not os.path.exists(path_player):
➞➞os.makedirs(path_player)
➞➞print("--- new folder... ---")
➞➞print("--- OK ---")
➞else:
➞➞print("--- 人物备份 文件夹已经存在 ---")
➞
➞#获取人物文件时间,记得改下面的servertest
➞timeStamp = os.path.getmtime(path+'\\servertest\\players.db')
➞timeArray = time.localtime(timeStamp)
➞otherStyleTime = time.strftime("%Y-%m-%d %H-%M-%S", timeArray)
➞#player.db的文件夹
➞path_backup = path_player + "\\" + otherStyleTime
➞
➞#存档
➞if not os.path.exists(path_backup):
➞➞os.makedirs(path_backup)
➞➞print(f"--- 新的存档已复制 {otherStyleTime} ---")
➞➞print("--- OK ---")
➞➞shutil.copy2(path+'\\servertest\\players.db', path_backup+'\\players.db')
➞else:
➞➞print("--- 存档未更新! ---")
while 1:
➞backup()
➞#修改时间的话改下面的600,单位秒
➞time.sleep(600)
注意,代码不能直接复制!需要将➞替换为缩进,也就是键盘上的tab。不知道为啥复制到小黑盒上就没有缩进了。
算了,还是上传一份哈
点击这里直接下载python脚本
免责声明
下载完请务必记得查看代码合法性,里面没有任何联网以及破坏功能,并且和上文发的一模一样,担心的话请不要下载哦。