植物大战僵尸实训记录

Posted 小杨学c

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了植物大战僵尸实训记录相关的知识,希望对你有一定的参考价值。

植物大战僵尸实训路线记录

从楚楚那里拿到这三个网页,首先是进行一个大致的解读。

整个任务分为三个过程:

一.安装软件

(1)植物大战僵尸

这里就没什么解释的必要了。我装在F盘,他的Data文件也可以找到。大家放心下载,傻瓜式安装就可以了。

(2)二进制编辑器

我这个东西我也是我在网上下载的,没有为任何人代言哈。

注意使用时,就是对它进行修改时,比如你十六进制的你就只能输入0-F,你输入其他的字符光标会自动往下跳

二、完成实训指定的要求

1.修改《植物大战僵尸》游戏存档,能跳到5-1关卡

当我没有打开这款游戏时,使用HexEditor2打开C:\\ProgramData\\PopCap Games\\PlantsVsZombies\\userdata目录下的user1.dat
我发现都是00(忘记截图了)

之后我打开了游戏并注册了”yangyang“为我的用户名,再次打开user1.dat,图中画圈的地方发生改变。此时我猜想这个地方的数值应该是代表关卡

接下来我又进行了猜想:
0 1 是 第一关
1 0 是不是十六关?因为十六进制逢F进1

验证猜想,改!

下文中我将称“大关-小关”

可以看到关卡为2-6,既然是2-6,那么可以推理出大关是封10进1

011-1
102-6

接着可以推出2-1就是0B,验证!

没问题那5-1就可以递推出来(十进制就是加10,十六进制就是加A)

关卡修改数值
2-10B
3-115
4-11F
5-129


至此第一项指定任务完成

2.游戏账户充值1024$

emmmm我想了一下如果我需要改金币的话,应该是通关时才又金币,才能观察到数值的变化。之后我改到这么靠前的关卡(怕自己打不过)打金币中…

成功打了300金币,发现了下图数值发生改变
300金币,1E它们两个之间又存在怎样的转换呢?

猜想:猜个屁,改成0A,看看10代表多少钱

10代表100,那1E代表300就不难理解了

改变数值十进制游戏中的金币
01110
0A10100
1420200
1E30300
641001000

那现在有个致命的问题来了。1000有了,20也有了。4从哪里来又该往哪去?
花了很长时间,途中快破防了…

我看了很久,现在已经确定了。通过修改user1.dat改不了个位。

证据一:


图中我修改得试二进制得0000 00001为1,金币为10

证据二:
b站上面的一个up主,也明确说了

  • 加密数值=当前金币*10

原文链接:点击此处

结果

最后经过计算修改成1020,这个问题就过去吧,进行下一个问题

3.解锁【迷你游戏】和【生存模式】选项

看到这个问题,面向百度吧。因为我也不知道这两个关卡的触发方式,咱也不是游戏主播

1.迷你游戏

通过调整编码,把关卡调整到3-2,通过CE把阳光修改9999进行游戏

2.生存模式
通过调整编码,把关卡调整到5-10。CE懂得都懂

三、总结

  1. 在做的过程中,看了其他同学做的。有的同学是通过代码去完成修改文件的,有时间我也需要钻研一下。
  2. 对1024金币的修改,直到老师没给出答复之前,我仍坚持我的答案。
  3. 第三问解锁关卡的操作,还有更简单的方法修改数值。我现在做出来了,知道怎么修改。
  4. 最后,仍感谢老师,楚楚。

以上是关于植物大战僵尸实训记录的主要内容,如果未能解决你的问题,请参考以下文章

pvz2网络延迟补偿

求CE搜索植物大战僵尸金钱方法!、搜索基址时有一个偏移是中间包含了*这个符号在中间,怎么运算,求解

植物大战僵尸

《植物大战僵尸》游戏数据修改

Python植物大战僵尸

植物大战僵尸:分析植物的攻击速度