sMythicalBird / ZenlessZoneZero-Auto

绝区零 | ZenlessZoneZero | 零号空洞 | 自动战斗 | 自动化 | 图片分类 | OCR识别
https://fairy.autoscript.site/zh/
GNU General Public License v3.0
1.23k stars 89 forks source link

添加条件任务:最大战斗次数,并且修复结算界面第一次点击会失效的bug #184

Closed zidianzhimeng closed 3 months ago

lazydog28 commented 3 months ago

提交的代码还是有点问题,被@task.conditional装饰的函数会被注册到task实例属性_conditionalActions列表中,在task运行时会根据装饰器参数中condition回调函数进行判断是否需要调用,不需要主动调用max_fight_times函数,也不能调用。

utils/task.py不应该做任何修改

应该在 handle/__init__.py文件中导入conditional.py文件即可

另外结算界面的完成按钮,如果第一次没有点击成功,下一次循环还是会点击,强制等待一秒实在是没有必要

https://github.com/sMythicalBird/ZenlessZoneZero-Auto/blob/4462af7437edb18ebe01a9fcc158bcf2c6ff6d7e/utils/task.py#L292-L313

https://github.com/sMythicalBird/ZenlessZoneZero-Auto/blob/4462af7437edb18ebe01a9fcc158bcf2c6ff6d7e/utils/task.py#L340-L345