【AvZ插件】批量测试工具 AvZ Testing
源码(长期更新):
https://github.com/Rottenham/avz-testing
百度网盘压缩包(20220609版本):
链接:https://pan.baidu.com/s/1k4kfgZBsVpGw1TLikdp3BQ
提取码:1437
功能介绍:
基于新版AvZ跳帧功能,进行不更新游戏画面的快速批量化测试;
复合了包括无视阳光、自由种植、僵尸不进家等测试需要的修改器功能;
定义ZombieData类,可以传入自定义判断函数与处理函数,每帧对所有僵尸进行检测,若满足判断函数,则执行处理函数。可以用来测试巨人砸率;
定义ZombieData类的子类JackData,封装了一些常用功能,专门用于测试小丑炸率;
提供将特定植物设为永动攻击状态的功能,更符合一些场景的测试需要;
支持僵尸未消灭前暂停刷怪、将所有波次统一为普通波或旗帜波、平均分配僵尸行数等其它便捷功能。
依赖项:
推荐配合AvZ Logger使用,可以将输出结果保存至txt,且支持即测即存。压缩包内已配有AvZ Logger头文件;
基于AvZ 220213版本开发,不确保对其它AvZ版本的兼容性。
使用方法:
将 avz_testing.h 与 avz_logger.h 置于 AvZ/inc 目录后,编写脚本并运行即可。
需在Script()函数前添加“using namespace cresc;”
运行完毕后,会跳出弹窗,展示统计信息。
每次测试前,请重新注入 AvZ 脚本,否则可能会遇到问题。若上一次测试正常结束,会自动取消多次注入(见代码)。
使用示例:
七八九列曾炸率测试.cpp —— 测试该构型的小丑炸率。已提取整合大部分有修改需求的参数,稍作修改便可测试其它构型的炸率;
PE靠天无炮炸率测试.cpp —— 测试完整阵型的炸率(以PE靠天无为例);
FE18守全减速PD砸率测试.cpp —— 测试FE18守全特定波次的砸率。
示例里默认使用 AvZ Logger 记录相关数据。输出文件将优先被保存至桌面的 AZL_output 文件夹下。
若打开该文件夹失败,程序会试图在 C:\Software\AsmVsZombies 目录下创建 AZL_output 文件夹。
你可以自行指定输出文件夹的位置,如:
cresc::Logger Log("C:/MyFolder");
若使用反斜杠,请使用双反斜杠,如:
cresc::Logger Log("C:\\MyFolder");
考虑到测试样本量大的情况,示例程序默认将统计结果分10次输出,即便中途退出也能尽可能保留数据。
常见问题:
脚本编译通过,但进入关卡时卡顿或闪退
先尝试重新编译脚本并注入。若仍有问题,一般是存档出现损坏,重制存档文件即可。
测试运行期间游戏无响应
跳帧测试期间,游戏无响应属正常现象,但每2f结束时选卡界面会正常显示。
若长时间无响应,请使用 PVZ Tools 或 无炮辅助 等能够显示刷新倒计时的工具,检查是否卡在某一波次。一般这种问题的原因是测试脚本编写有问题。
鸣谢:
感谢AvZ键控框架作者yuchenxi0_0与vector-wlc;感谢PVZ Tools修改器作者lmintlcx;感谢炸率测试插件作者Reisen。