通关存档下载

存档文件夹位置, 金向银向存档下载, 存档数据结构解析.

存档文件位置

存档文件夹

Windows 2000/XP (或者是设置了兼容模式): 游戏安装目录下的 userdata 文件夹.

Windows Vista/7/8.1/10: C:\ProgramData\PopCap Games\PlantsVsZombies\userdata 文件夹.

Steam 本地: C:\ProgramData\Steam\PlantsVsZombies\userdata 文件夹.

Steam 云同步: <Steam安装目录>\userdata\<Steam用户ID>\3590\remote 文件夹.

Zoo 日文版: C:\ProgramData\Zoo\Plants vs Zombies\userdata 文件夹.

Steam 目录由用户在安装时指定, 一个典型的位置是 “C:\Program Files (x86)\Steam”, 用户 ID 为一串数字.

部分文件夹 (例如 C:\ProgramData) 带有隐藏属性, 可以打开隐藏文件夹显示再进入, 或者直接在地址栏输入路径.

和存档文件夹并列的 “cached” 为音效缓存文件夹.

存档文件分类

用户列表存档

文件名: users.dat

记录所有用户的名称和序号.

用户数据存档

文件名: user<u>.dat

记录序号所对应的用户的数据, 主要包括: 通过的关卡/金钱数量/购买的道具/禅境花园里的植物/解锁的成就.

数字 u 为用户序号, 根据创建顺序递增. 例如新建立的第一位用户数据存档为 user1.dat.

关卡进度存档

文件名: game<u>_<m>.dat

记录序号所对应的用户在完成一轮选卡或者中途退出编号对应模式关卡时的进度. 内容包括战场上的 植物/僵尸/子弹/物品/… 等等各种信息.

数字 u 为用户序号, 数字 m 为游戏设定的某种模式对应的编号. 例如新建立的第一位用户的无尽模式进度存档为 game1_13.dat

各种模式对应的编号可参考 /wiki/.

通关存档下载

蓝奏云下载    密码: userdata

包含针对 原始版/年度版/Steam年度版 的 银向/金向/完美 存档.

银向日葵存档: 刚刚完成冒险模式一周目.

金向日葵存档: 完成除无尽 (VBE, IZE, EL) 之外的全部关卡.

完美存档: 解锁金向, 购买了戴夫商店的绝大部分道具. 年度版完成所有成就.

原版额外提供混乱得到的隐藏场地无尽模式初始存档以及常用新手阵型的后期存档.

存档使用方法

将解压出来的 users.datuser1.dat 复制到上述位置. 没有文件夹则手动新建 (开一次游戏输完用户名就有了), 有相同文件则覆盖替换.

S/L, Save/Load, 存档/读档: 事先保存备份进度, 出问题了再读取还原回来. 这本是一个单机游戏该有的功能, 不过 PvZ 并没有内置, 只能靠手动复制粘贴存档文件来实现.

不同版本的游戏可能会使用同一个存档位置, 要切换版本的话建议先备份并删除以前的存档文件.

如果弹窗提示存档读写失败, 删除所有的存档文件(夹)再开游戏.

游戏进入关卡后会自动删除对应的关卡进度存档, 如果战斗中途遇到崩溃或者死机等意外则该关卡进度会丢失. 对关卡进度存档的操作之前需要先退回主界面(或者关闭游戏), 使其生成文件 game*_*.dat.

如果没法保存游戏进度, 可以逐个检查存档文件并把 “只读” 属性去掉. 当然也可以手动修改或者用修改器设置存档只读, 来实现自动回档的效果. (Steam 版本的云存档功能自带不能删档的 bug.)

文件数据结构

以下内容并不完整, 仅供参考.

用户列表存档

偏移 大小 描述
0x0000 4 文件头 0x0000000E
0x0004 2 用户数量

后跟若干个结构: (每个代表一位用户)

偏移 大小 描述
0x0000 2 用户名长度
0x0002 N 用户名 (ASCII)
0x0002+N 4 用户序号 (内部)
0x0006+N 4 用户序号 (体现在文件名)

用户数据存档

偏移 大小 描述
0x0000 4 文件头 0x0000000C
0x0004 4 冒险模式当前关卡 [1, 50]
0x0008 4 金钱数量 (显示数量要 x10)
0x000C 4 冒险模式已完成次数
0x0010 4x5 五个生存模式完成旗帜数 (最高 5)
0x0024 4x5 五个生存困难模式完成旗帜数 (最高 10)
0x0038 4x5 五个生存无尽模式完成旗帜数
0x004C 4x20 二十个迷你小游戏奖杯 (0/1)
0x009C 4x13 十三个隐藏小游戏奖杯 (0/1)
0x00D0 4 隐藏小游戏松鼠奖杯 (0/1)
0x00D4 4 智慧树高度
0x00D8 4x9 九个砸罐子模式奖杯 (0/1)
0x00FC 4 砸罐子无尽轮数
0x0100 4x9 九个我是僵尸模式奖杯 (0/1)
0x0124 4 我是僵尸无尽轮数
0x0128 4 隐藏小游戏销售奖杯 (0/1)
0x012C 4 隐藏小游戏介绍奖杯 (0/1)
0x0130 112 (未知)
0x01A0 4x8 已购买八张紫卡 (0/1)
0x01C0 4 已购买模仿者 (0/1)
0x01C4 4 (未知)
0x01C8 4x3 三盆金盏花上次购买距离 20000101 的天数 (0)
0x01D4 4 已购买金水壶 (0/1)
0x01D8 4 花肥数量 +1000 (0)
0x01DC 4 杀虫剂数量 +1000 (0)
0x01E0 4 已购买音乐盒 (0/1)
0x01E4 4 已购买手套 (0/1)
0x01E8 4 已购买蘑菇园 (0/1)
0x01EC 4 已购买手推车 (0/1)
0x01F0 4 蜗牛醒来的时间戳, 持续三分钟 (0)
0x01F4 4 卡槽升级次数 (0~4)
0x01F8 4 已购买池塘清洁车 (0/1)
0x01FC 4 已购买屋顶清洁车 (0/1)
0x0200 4 剩余钉耙数量
0x0204 4 已购买水族馆 (0/1)
0x0208 4 巧克力数量 +1000 (0)
0x020C 4 已购买智慧树 (0/1)
0x0210 4 树肥数量 +1000 (0)
0x0214 4 已购买坚果包扎术 (0/1)
0x0218 220 (未知)
0x02F4 4 蜗牛吃巧克力的时间戳, 持续一小时 (0)
0x02F8 4 蜗牛横坐标
0x02FC 4 蜗牛纵坐标
0x0300 4 解锁小游戏模式 (0/1)
0x0304 4 解锁解谜模式 (0/1)
0x0308 4 迷你游戏开启提示标记 (0/1)
0x030C 4 解谜模式砸罐子开启提示标记 (0/1)
0x0310 4 解谜模式我是僵尸开启提示标记 (0/1)
0x0314 4 生存模式开启提示标记 (0/1)
0x0318 4 隐藏小游戏开启提示标记 (0/1)
0x031C 4 冒险模式完成提示标记 (0/1)
0x0320 4 拥有墨西哥卷 (0/1)
0x0324 4 蜗牛是否睡着 (0/1)
0x0328 8 (未知)
0x0330 4 禅境花园植物数量

若花园植物数量不为零则后跟若干个结构: (0x58)

偏移 大小 描述
0x00 4 植物类型
0x04 4 花园位置
0x08 4 所在列数
0x0C 4 所在行数
0x10 4 左右方向
0x14 4 (未知)
0x18 4 上次浇水的时间戳 (0)
0x1C 4 (未知)
0x20 4 颜色
0x24 4 施肥次数
0x28 4 浇水次数
0x2C 4 需要的浇水次数
0x30 4 满足方式 (3.杀虫 4.听音乐)
0x34 4 (未知)
0x38 4 上次满足的时间戳 (0)
0x3C 4 (未知)
0x40 4 上次施肥的时间戳 (0)
0x44 4 (未知)
0x48 4 上次使用巧克力的时间戳 (0)
0x4C 4 (未知)
0x50 4 (未知)
0x54 4 (未知)

若为年度版则后跟: (Steam 版成就数量为 21 个)

偏移 大小 描述
0x00 2x20 二十个成就完成 (0/1)
0x28 1 同意使用僵尸大头贴 (0/1)
0x29 4 大头贴数量

若大头贴数量不为零则后跟若干个结构: (0x48)

偏移 大小 描述
0x00 4 0xFFFFFFFF
0x04 4 皮肤颜色
0x08 4 衣服类型
0x0C 4 衣服颜色
0x10 4 眼部类型
0x14 4 眼部颜色
0x18 4 配件类型
0x1C 4 配件颜色
0x20 4 胡子类型
0x24 4 胡子颜色
0x28 4 头发类型
0x2C 4 头发颜色
0x30 4 眼镜类型
0x34 4 眼镜颜色
0x38 4 帽子类型
0x3C 4 帽子颜色
0x40 4 背景类型
0x44 4 背景颜色

年度版继续后跟:

偏移 大小 描述
0x00 20 (未知)
0x14 1 已经创建过大头贴 (0/1)

关卡进度存档

(略)

参考资料

【呜咕】存档问题

植物大战僵尸全解密—存档篇

User file format

[绝对原创]植物大战僵尸 - 全属性修改方法

电脑1.0版的关卡存档文件的部分结构

关于北美/free版的存档构造。