尽管植吧发展这么长时间,技术等方面已经臻于完善,但由于吧内的研究主要以英文原版为主,对于年度版等其他版本的研究还有进步的空间。我在吧里找了好长时间,竟然没有找到适用于年度版的键控工具,于是脑子一抽决定自己做一个,然后就有了这款PvZ Controller by CPP(简称PCC)。需要注意的是PCC仅能用于Steam上购买的植僵年度版,在Origin购买的则无法使用(Origin上的植僵版本号是1.2.0.1073,Steam的植僵版本号是1.2.0.1096,游戏内容上并无差别,但是内存地址有所差异,导致键控工具不能通用)。
注意,尽管PCC是面向不会编程的小白设计的,但最好还是有一点C++基础,至少循环啊条件语句啊函数啊这些基本知识得了解一些。如果你是完完全全不懂的话,个人建议还是上网找一些C++语言的教程,大概学个一周两周的就能把PCC用好了。
文章目录
指南目录
- 植僵键控工具PCC食用指南——准备&安装篇(本篇)
- 植僵键控工具PCC食用指南——使用篇
前言
什么是键控
尽管能找到这里的人应该都知道键控是什么,但我还是想简单地介绍一下。
简单来讲,可以将其理解为“TAS”。
以下是详细说明:在打炮阵(特别是多炮和超多炮)的过程中,我们有时会有一些力不从心的感觉,那就是明明有一些理论上可以实现的操作,却由于手速的限制无法打出来。比如“在下一波僵尸刷新前950毫秒同时发射两对炮,然后在1080毫秒后再发射一对炮”这个操作,是完全符合植僵的规则、合理合法的操作,但在实践的时候肯定会是满脸问号:我咋知道下波僵尸啥时候刷新?950毫秒,我怎么卡这么准?同时发射四门炮,你咋不让我上天呢?
诚然,使用暂停来运阵的话是可以达到“帧操”的程度,实现同时发射四门炮的操作,但这样一来会非常疲惫,二来观赏性会变得非常差,三来也无法解决如何卡准每一波刷新前950毫秒(或者其他时间,这里只是举个例子)的问题。面对这样的难题,吧里的大佬们走出了两条路:一条是对该阵的节奏进行改变,尽量避免上述这种操作,使之变得更适合人来打,但就算这样也需要打阵的人对该阵的节奏非常熟悉,基本了解每一波的波长,并且对手速有一定的要求,简单来说就是非大佬不可为;另一条路就是通过编写脚本来控制电脑帮你操作,这就是键控。不是人无法完成的操作吗?好,那就不让人来操作,让电脑来帮我操作就行,以电脑的能力同时发个四门炮应该不算太难吧。
需要先声明的是键控并不属于作弊或者开挂,键控工具也不属于修改器或者游戏补丁之类的,它只是帮忙将人无法实现的操作实现而已。至于为什么叫“键控”,这是有一些历史原因的。叫“键控”可不是因为“键盘控制”的缩写,而是因为在吧里键控最初是利用“按键精灵”这个软件来实现的,所以叫键控(这也太容易引人误解了吧hhh)。
PCC简介
PvZ Controller by CPP,简称PCC,是一个适用于Steam植僵年度版的键控工具,采用模拟鼠标点击的方式实现,技术力较低,大概相当于吧里五年前的技术水平(谁叫我只是一只没学几年编程的菜鸡呢QAQ)。
PCC的优点如下:
- 可以用于年度版(其实是只能用于年度版)
- 较为简单易用(只是“较为”而已吧)
- 因为使用C++编写,所以速度会更快更流畅一些
- 支持多线程功能
- 支持自动补冰功能(V1.0.2版本更新,由多线程功能实现)
- 有较为完善的配套教程(这根本不是工具的优点吧啊喂)
PCC的缺点如下:
因为用的是模拟鼠标的方式,所以在使用时不能切屏、挪动窗口、乱动鼠标等等,当然后台运行什么的就更不可能了······
(注:在V1.0.1版本更新实现后台点击后此问题已解决,可以切屏、乱动鼠标、后台运行,但还是不能挪动窗口和乱点鼠标)- 因为用的是模拟鼠标的方式,所以在实际使用时可能会出现些许误差(影响不大)
因为代码实现上的一些问题,所有操作都会显得稍微慢了那么一些,比如要同时发射四门炮,结果发现四门炮是逐一发射的(不过相差的时间肯定不会太大啦,要不然我肯定就不会发出来了)
(注:V1.0.1版本更新后此问题已解决)- 不能用来连续冲关,不过或许以后会对连续冲关进行适配也说不定
- ············
说白了本工具其实并不算特别优秀,如果是技术党,想要追求更高的精度和更多的功能,还是建议转到英文原版上用AVZ。
个人感觉PCC现在已经是年度版下最优秀的键控工具之一了,不过还是不如AVZ→_→
另外有个有意思的点,本工具是用C++来实现的,而C++又叫CPP,本工具的简称是PCC,正好是CPP反过来hhh
准备工作之安装MinGW
如果是正在学C++的童鞋,那么你的电脑上可能已经安装了MinGW。如果真的是这样,那么请你先检查安装的MinGW是64位还是32位,PCC要求MinGW必须是32位,如果已经安装了64位的MinGW,很遗憾用不了,可以跟着教程走一遍来安装一个32位的MinGW。如果事后想要切回64位的话只要把安装32位时所添加的环境变量删除就行,需要用的时候可以再添加回来。
如果之前没有接触过相关的知识,也不用害怕,只要跟着这篇攻略一步步走,肯定能好好地把MinGW安装上。另外,为了避免一些意外情况,也推荐大家去网上另外找一些攻略对照着看,比如这篇:《MinGW-w64 C/C++编译器下载和安装的方法步骤(入门教程)》。
注:由于MinGW已停止维护,本文中的MinGW指的都是MinGW-W64的32位版。
下载与安装
首先打开MinGW的下载网站:https://github.com/niXman/mingw-builds-binaries/releases,打开后的样子如下图所示:
(注:由于一些奇妙的原因,GitHub在国内的访问速度偏慢,甚至有不小的可能连不上,遇到这种情况换几次时间试试就好)
找到旁边标了Latest的Release(上图中已用红线圈出),向下拉,找到Assets,然后展开(如下图所示)。在这一堆压缩包中,只要是名字里带有“i686”的都可以选,这样一来可以选择的压缩包就缩小到了四个,这四个哪个都可以。如果想要进一步缩小范围的话,我推荐选择名字里带有“dwarf”的,这样就剩两个可选的了,这两个选哪个都行(当然选另外两个也没影响)。选定要下载的压缩包后,直接点击就可下载了。
注:不管你的电脑是64位还是32位,都一定要选名字里带“i686”的,切记切记!
下载完成后,可以将压缩包中的文件夹“mingw32”解压至任意位置(路径中最好不要包含中文或特殊字符,最好也不要解压到桌面上),这里假设我们将其解压到了路径“D:\Softwares”下。解压的结果如下图所示(我下载的是第一个压缩包作为示例),从图中可以看出解压的路径。
至此,MinGW的安装已经初步完成。
修改环境变量
首先单击左下角的Windows图标来打开“开始”菜单,接着在左侧的菜单栏中找到“设置”并打开。在设置中选择“系统”,接着在左侧选择“关于”,在右侧向下一直拉到“相关设置”,选择“高级系统设置”,如下图所示。
在弹出的窗口中依次选择“高级”→“环境变量”。
接着在打开的窗口中找到“Path”(注意是用户变量中的。为何么是用户变量?一来这样不会影响到其他用户,二来用户变量的优先级大于系统变量,之前就算安装过64位的MinGW现在也能覆盖掉,当然之前安装的时候就用的用户变量的话当我没说),然后点击编辑,如果没有“Path”可以点击新建来创建一个。
在弹出的窗口左侧选择“新建”,接着输入你刚才解压压缩包的路径(比如我刚才将压缩包解压到“D:\Softwares”下,就输入“D:\Softwares\mingw32”),回车后点击确定来退出窗口。
最后重启电脑,一定要重启,不要忘了!
验证安装是否成功
重启完毕后按快捷键Win+R(同时按下Windows键和R键)打开“运行”,输入“cmd”后回车,在打开的黑色窗口中输入
gcc.exe --version
回车后观察出现的内容与下面图片中的内容是不是差不多。如果差不多的话,那么恭喜你MinGW安装成功了!
准备工作之获取修改器
为什么要用到修改器呢?因为我们打阵时要用到修改器的一键布阵、修改轮数、自动收集和修改出怪功能,而这些都是PCC所不具备的。至于用什么修改器,这个就因人而异了,只要是具备上述功能的都可以。我正在用的是PvZ Toolkit,个人认为非常好用。
PvZ Toolkit下载与安装
PvZ Toolkit下载地址:https://pvz.tools/toolkit/#%E4%B8%8B%E8%BD%BD%E5%9C%B0%E5%9D%80。下载完成后将其解压至任意位置,这样就完成安装了。解压完成后找到绿色图标的“PvZ_Toolkit_v1.19.0.exe”(也有可能是“PvZ_Toolkit_v1.19.0”,视电脑设置而定。另外版本号也有可能不同,这些都是无伤大雅的事情),右键点击,在弹出的菜单中点击“以管理员身份运行”,如下图。
如果接下来弹出了一个看上去和下图差不多的窗口,那就代表PvZ Toolkit运行成功了。
PvZ Toolkit使用方法简介
PvZ Toolkit的功能丰富,第一次用的时候会非常令人摸不着头脑,接下来我就简单介绍一些在打阵的时候可能会用到的一些功能(红的是肯定会用到的功能,蓝的是可能会用到的)。建议搭配官方介绍食用:植僵辅助工具 – 植僵工具箱。
①可以修改局内的阳光数量,点击“阳光”就可以将阳光数修改为左边框里的数字
②自收,开启自收后就可以自动收集掉落的阳光、金币等,一键解放双手
③顾名思义,点击后就可以直接过关,在无尽中就是直接进入下一轮
④仅可用于无尽,可将当前轮数直接修改为左边框中的数字
⑤删除所有小推车,一般在打阵前都会先把小推车全删掉(因为一个用到了小推车的阵肯定不能无尽)
⑥点击后会在指定的位置放置一个梯子,一般在布阵的时候会用到
⑦我也忘了具体效果都有啥,反正要布阵的时候选上就对了
⑧可以自由选择自己想要布的阵,选择后会将下方缓冲区的阵型代码替换为所选择的阵的代码(注意是替换缓冲区中的阵型代码,不是真的布了阵)。这里面的阵是修改器作者手动收录的,对于一些新阵可能会出现没有收录的情况
⑨根据缓冲区中的阵型代码在游戏中进行布阵(注意是根据缓冲区中的阵型代码进行布阵,不是根据⑧中的选择布阵)
⑩“获取代码”可以读取当前游戏中植物的分布情况(包括梯子和模仿者等),并生成阵型代码写入缓冲区中;“复制导出”可以读取当前缓冲区中的阵型代码,并复制到剪贴板里;“粘贴导入”可以读取当前剪贴板里的阵型代码(前提是里面有阵型代码),并将其写入至缓冲区。这三个功能一般在想打的阵PvZ Toolkit没有收录的时候会用到,只要在游戏里先把阵手动布一遍,然后用“获取代码”获取该阵的阵型代码,再“复制导出”并把阵型代码保存起来,要用的时候先复制阵型代码然后“粘贴导入”,最后“布置阵型”就可以了
⑪可以通过这个界面来修改该轮的出怪,勾选哪些僵尸种类就只会出哪些僵尸,一般来说打炮阵的话都是这么出怪的。右键右下角的出怪按钮可以更改出怪模式,自然出怪是按照植僵游戏内正常打关的刷怪模式来出怪,极限出怪是在每一波刷新时一窝蜂把所有怪全出了,模拟出怪不知道有啥用。选好要出现的僵尸种类和刷怪模式后,点击出怪按钮就可以修改本轮(注意只有本轮)的出怪了
【可选】准备工作之获取代码编辑器
如果你下载PCC不是只为了看我做的那几个垃圾示例的话,就肯定要编写自己的键控脚本。俗话说得好,“工欲善其事,必先利其器”,拿记事本来编代码这事听上去没啥问题,可实际操作起来就会后悔自己为什么没有提前准备降压药了。
至于编辑器的选择方面,个人用得比较多也比较推荐的是Visual Studio Code。如果选择VSC的话,装完编辑器之后最好再装一个C++的扩展,大家可以自行去网上搜索教程,相信安装个编辑器这点小事还是难不倒大家的233
其他选择的话,在学校里信息老师应该会比较推荐Dev-C++或者Code::Blocks吧(这两个严格上来讲应该不能算单纯的代码编辑器了,不过话说回来有哪个代码编辑器是单纯的呢),反正个人感觉在编辑键控脚本这件事上没有VSC好用。而且用VSC还有一个好处,就是哪天觉得PCC不好用了可以直接转到AVZ(
准备工作之下载PCC
下载与安装
经过了前面那么多的准备,终于要进入正题了哈哈!首先我们要把PCC的压缩包下载下来(因为GitHub下载有点慢,就加了两个网盘的下载地址)。
PCC最新版本V1.1下载地址
GitHub:https://github.com/cleverpigeb/PvZ-Controller-by-CPP/releases/download/V1.1/PvZ_Controller_by_CPP_V1.1.zip
蓝奏云网盘:https://cleverpig.lanzout.com/iAGzJ093qjoh(密码:ers2)
百度云网盘:https://pan.baidu.com/s/1_M9-acHsz-9hjegCIlcIMw(提取码:8a3r)
下载完成后你应该会得到一个叫“PvZ_Controller_by_CPP_V1.0.zip”或者“PvZ_Controller_by_CPP_V1.0”的压缩包(版本号可能会有变化,无影响),解压至任意路径下,这样我们就成功安装了PCC!
文件作用说明
接下来我就说明一下解压出来的文件都有些什么用。
- 文件夹dependences:包含了一些依赖项,在生成键控程序时如果出错的话会用到
- 文件夹examples:包含了辣鸡作者写的一些辣鸡示例脚本,拿来就可以直接用的那种
- 文件夹includes:存放头文件的地方,如果不是明确知道自己在干什么的情况下最好不要在这里乱搞
- 文件夹lib:存放库的地方,同上
- LICENSE:软件的开源协议,我也不太懂这些就随便搞了个GPL
- PvZ_Controller_by_CPP_DLL.dll:动态链接库,不要乱动就是了
- README.txt:入手指引,用PCC之前先读一遍这个!切记!
- 点我生成键控程序.bat:在你编写好键控脚本之后,运行这个就可以一键生成可以运行的键控程序
- 更新日志.txt:存储了一路以来都更新了些什么,好奇的话可以随便看看
- 键控脚本模板.cc:为编程小白们准备的键控脚本模板,在此基础上根据自己的需求稍微改改就可以变成自己的脚本了
注意事项
为了避免出现各种各样的问题,在使用PCC时需要注意遵守以下事项:
- 本工具仅适用于Steam上的植僵年度英文版,不管是英文原版、汉化一二代、年度汉化版还是Origin上的年度英文版都无法使用
- 使用前请先将游戏窗口化,游戏全屏时是无法使用本键控工具的
- 最好把3D加速打开,不开的话卡顿可能会影响键控的效果(如果无法打开3D加速,可以试试lcx大佬的解锁补丁:植物僵尸相关下载 – lcx的几个解锁补丁)
- 安装MinGW时请务必严格按照教程一步步来,尤其是修改环境变量的步骤
- 本工具不提供修改阳光、修改轮数、修改出怪方式、一键布阵等功能,请使用修改器自行修改(上文有推荐修改器)
- 运行键控脚本后就不要再拖动窗口或者乱点鼠标了
- 不能用来连续冲关!不能用来连续冲关!不能用来连续冲关!
- 遇到问题时请先对照教程检查是否是自己哪步操作出错了,如果实在检查不出错误来可以在博客或者贴吧的贴子下面评论,保证会回复(最好能附上图片或者视频)
本篇后记
嗨呀,准备篇终于完了,想来能挺到这里的也算是比较热爱键控或者对电脑有一定了解的大佬吧,毕竟上面有一些操作还是挺难的,当然如果你想要找我交流上面的内容我也是随时欢迎的!接下来,就请各位移步使用篇吧,想想还有点激动呢w