2024/07/10更新:
https://pan.baidu.com/s/1r_8WcWsEotC7dS2vQc5MUQ?pwd=1672
内容一览
常用软件
PvZ Tools —— “Pt”。英原修改器,功能强大,几乎人人都有,没啥可说的。
PvZ内存记录 —— 可以读各种内存,连续读取时推荐配合Pt放慢游戏速度(杂项→帧间隔)。
随机数修改器 —— “Rnd”。注意小喷和阳光是相反的,即小喷横移其实是阳光横移,纵移同理。对于非匀速前进的僵尸(巨人扶梯等),随机数锁出的极值不一定是最慢/最快的,可能有若干px的偏差。若用此工具,请养成频繁重开游戏的好习惯,否则拿着一个锁过随机数的PvZ做各种“惊天大发现”是很悲剧的。
ShowMe —— 实时显示内存数据。PvZ内存记录的可视化版,但功能没有那么齐全。
高级暂停 —— “TSV”,手测精确场景时使用。
拦截计算器 —— “interception_calculator”,神器。打开程序后输入问号,可查阅详细说明。常用功能包括:输入波长&用冰时机求巨人坐标范围、求全伤巨人/不伤巨人的落点、给定落点求拦截允差。还可以计算核武拦截、最早冰杀小鬼时机、寻找拦截允差最大的落点、给定小鬼x求巨人x范围等。非常建议整明白。
终极修改器 —— “WPF”,主要用于实时修改内存。
键控教程
如果想知道某阵某操作时机,但作者并未直接公开脚本,一般推荐直接询问。
复用计算器(需启用宏)
神器*2。这个有多好用就不必多说了吧,提前算明白所有炮的时机,相比之下等AvZ报错才知道差多少CD简直弱爆了(((
使用说明:见此。
此计算器需要用宏,请使用Excel(而非WPS)并启用宏。
万能表
神器*3,本次更新最大杀器。功能有丶多,我们一个个说。
【原速极慢】【原速极快】
“常数表”。用最新科技PE测出的所有僵尸从出生到进家任意时刻的坐标极值。由于采用枚举所有速度随机数的方法,这些数据是完全精确的,唯一和原生游戏可能存在的区别是浮点误差,如果你不知道这是什么的话,只需要知道:①浮点误差一般在0.001px量级,实际影响甚微;②是难以消除的,故不多作纠结。
【僵尸时间表】
“大黄表”。对原先版本中并没有什么卵用的数据作了大规模精简,补充了部分数据,并重新验算了整张表的所有数据。
旧版本的大黄表有两个通病,一是不标版本,二是从不解释所有数据的时间基准是什么,所以总是导致实战里要疯狂-1。因此,这里需要先补点背景说明。
首先,同一帧内的宏观结算顺序为:植物→僵尸→子弹→玩家操作。本帧录入的操作,下一帧才结算。
若进一步细化“僵尸”部分,则有:
增已存在时间 → 减状态倒计时 → 减冰冻倒计时 → 减减速倒计时 → 更新状态(撑杆跳跃、海豚跳跃、巨人举锤等等) → 更新啃食(含舞王触碰,原速僵尸需满足已存在时间为4的倍数,减速僵尸需为8的倍数) → 更新蹦极状态 → 更新跳跳状态 → 更新坐标
请注意:【更新坐标】是在最后的,这意味着本帧的所有结算,实际使用的都是上一帧的坐标。举个最简单的例子,冰车碾7炮大家都知道是1110,但查表可知,最快冰车的坐标在t=1109时整数部分就已到达550。
除有特殊说明,本版本皆以实际时机为准,即:表定冰车碾7炮时机为1110,则此1110为实际判定时机。由于同一帧内僵尸早于炮结算,炮最晚需于1109生效以保无虞(若用樱桃等卡片,则可1110生效)。
上述规则不包括打星号的部分:
一个合理的解决方案是:人为地重新定义“举锤”发生于实际判定的前1cs。这样,“举锤“到落锤就的确是134了,与种垫到被砸的134相匹配。对于表定时机,如“巨人最早445砸9普通”,实际于445铲除9列也的确可以避免举锤,而无需再作换算。
一言以蔽之,对于打星号的时机(包含撑杆起跳、海豚起跳、跳跳起跳、巨人举锤),在表定时机的同一cs进行操作是有效的,因为实际判定在下一cs。
此外,还有一部分列出的是操作时机(如“全垫”、“铲除”):
对于这些,直接在AvZ中使用表定时机即可。
左下表的“上波最短”,指的是欲使用精确土豆,且上波无热过渡操作时,可确保无伤的上波最短波长。若有热过渡,则无此限制。
最后还是要重申:僵尸时间表里列出的都是极值,在许多情况下是具有误导性的。如不追求无伤,则仅应在条件充裕时采用硬波长,否则须将软波长也纳入考虑范围。
【落点计算器】
万能表首发功能。给定时间,即可求此时刻僵尸坐标极值,以及全收这些僵尸的落点范围。亦支持手动指定僵尸坐标范围,以及屋顶场合的计算(需提供炮尾列)。
注意所谓“坐标范围”均受可伤域的限制,比如普僵x=764才进入可伤域,x=-100起进家,因而只有-99~764范围内的x是有效的。即使手动指定可伤域外的x,也会被修正回域内。
【时机计算器】(需启用宏)
万能表首发功能*2。给定爆炸位置(支持炮、核),即可求能收的僵尸坐标范围,以及能够全收的时间区间,亦支持屋顶计算 (需提供炮尾列)。
和落点计算器类似,所有坐标范围均受可伤域的限制。
【慢速计算器】【快速计算器】
这两个是老朋友了,用于分段计算坐标极值。
以巨人为例,由于每次投掷/砸垫后相位都会重置,无法直接使用落点计算器,而是需要对每次相位重置分段计算。←如果看不懂这些在说什么,请戳《砸率通论》。
“最快扶梯”和“最快小丑”额外提供了一个“上一cs坐标”,这是因为啃食、爆炸在判定时都是基于上一cs的坐标的,计算时以此为准。
【热过渡】
左半边是基础功能,输入热过渡时机,输出坐标、落点范围(和落点计算器类似)。
右半边是附加功能(需启用宏),用于计算最早炸虚热过渡时机。逻辑很简单,就是以枚举找到首个既能热过渡又不伤巨人的时机。
【无冰分离】
以前的无冰分离表实在太复杂了…… 其实无冰分离基本是个单时机问题,早于t则不能分离,晚于t则可以分离(有时会有反复,如:t时可分离,t+1时不可以,t+2时又可以了……但影响不大)。
于是就有了这个总结“最早无冰分离”时机的表,落点均为当前cs不伤巨人的最右落点,不知道的话可以用落点计算器,拦截计算器,或巨人快速计算器求,总之办法非常多。
其它工具
Seml —— 以大批量模拟的方式,求精确砸率、炮伤、刷新意外率、全收跳跳落点范围。
时空数据——
简化版: https://www.pvz1.com/timespace/
完整版: https://wiki.pvz1.com/doku.php?id=%E6%8A%80%E6%9C%AF:%E7%B2%BE%E7%A1%AE%E6%95%B0%E6%8D%AE
仍在活跃维护的时空数据总结,欲学习判定体系者必读。
矿车计算器( https://forum.pvz1.com/postid/7495/ )——主要功能(热过渡计算)已由万能表覆盖,但里面还有计算投篮分离和出土矿工等附加功能。未收录进万能表的主要原因是使用频率不高。
反馈bug
可以预见的是,本次新添加的功能(尽管已进行小范围内测)是比较有可能出问题的。如果使用时遇到问题或bug,请在原专栏下评论反馈。