欢迎光临散文网 会员登陆 & 注册

【AvZ插件】批量测试工具 AvZ Testing

2022-06-03 19:33 作者:Crescebdo  | 我要投稿

源码(长期更新):

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。

【AvZ插件】批量测试工具 AvZ Testing的评论 (共 条)

分享到微博请遵守国家法律