Closed minchieh-fay closed 6 months ago
我知道为什么会卡死在baotu->mission上面了
当我把左下角聊天频道禁用后
只留下了个人信息 也就是刚打完的藏宝任务 "获得一张藏宝图"
和 resources/richang/baotu_mission.png 中的文字一样(除了颜色)
因为以模糊度0.8查找的 他就一直认为存在宝图任务 然后就死循环了
解决方法:
这个方法是以出现领取任务对话框开始(waitUtilFindPic(r'resources/fuben/select.png') 是等待到对话框出现,也就是没领取任务的前提下点击店小二出现的对话框),在1分30秒内没有进入战斗为结束条件的。baotu_mission那个图会在领取任务后点击任务栏任务追踪用到一次(如果找不到就会读取配置文件的位置)。结尾处的递归为了防止网络卡了情况但调用得确实不对,我会增加判断是否已经领取过宝图任务,是的话就跳过领取任务步骤。
我递归加了参数, 防止递归时进入waitUtilFindPic 但是出现左下角聊天出现绿色的 "宝图"字样 就会再次进入递归 因为误认为baotu_mission.png , 不会卡死在waitUtilFindPic上 而是一直在自旋
我没有用方法1去改代码 而是方开了 我的系统聊天 等有人全世界喊话几句 冲掉前面的"宝图"字样 他自己就正常走下去了
我递归加了参数, 防止递归时进入waitUtilFindPic 但是出现左下角聊天出现绿色的 "宝图"字样 就会再次进入递归 因为误认为baotu_mission.png , 不会卡死在waitUtilFindPic上 而是一直在自旋
我没有用方法1去改代码 而是方开了 我的系统聊天 等有人全世界喊话几句 冲掉前面的"宝图"字样 他自己就正常走下去了
是不是说的10张宝图做完了没有结束,错误地进入递归了的错
对的 他扫描到 左下角界面的 "宝图" == baotu_mission.png 误判 -> 进入递归
假如像我 我不喜欢订阅系统消息, 聊天框一直是 个人信息: "您获得了一张藏宝图...." 然后就一直卡死了
我自己这边已经OK了:
def mission(self, count = 0):
if count == 0 :
waitUtilFindPic(r'resources/fuben/select.png')
if count > 3:
return
......
if ms is not None:
self.mission(count+1)
最多让他递归3次
我自己这边已经OK了:
def mission(self, count = 0): if count == 0 : waitUtilFindPic(r'resources/fuben/select.png') if count > 3: return ...... if ms is not None: self.mission(count+1)
最多让他递归3次
我改成从右半边获取baotu_mission 了
OK 那就彻底解决了 我没去理解你的坐标数据 简单写死最多循环3次 用10个角色串行测试了一晚上 全部成功做完了 没有卡死的情况 所以应该就这里的问题
Description: In the mhxy_baotu.py file of the project, there is a Baotu class containing a mission function. This function utilizes recursion, but it seems to encounter a deadlock when it reaches the statement waitUtilFindPic(r'resources/fuben/select.png').
Issue: The mission function within the Baotu class appears to have a deadlock problem during recursion. It gets stuck at the line where it waits for the select.png image to be found.
Expected Behavior: The mission function should be able to recursively execute without encountering deadlock or getting stuck at any point.
Steps to Reproduce:
Execute the mission function of the Baotu class in mhxy_baotu.py. Observe the execution behavior, especially when it reaches the waitUtilFindPic(r'resources/fuben/select.png') statement.