AzurLaneAutoScript
AzurLaneAutoScript copied to clipboard
DroidCast_raw抽风导致alas错过战斗加载界面并报错Image to detect is not in_map
在提问之前...
- [X] 我已经搜索了现有的 issues
- [X] 我在提问题之前至少花费了 5 分钟来思考和准备
- [X] 我已经阅读了 Wiki 中的 常见问题(FAQ)
- [ ] 我正在使用最新版的 Alas
描述你的问题
出现问题时我的alas版本如下:(lme半夜提交的几个新commit还没来得及更新)
有两个问题
1,DroidCast_raw(下称dcr)经常随机抽风,连接超时,这将导致截图中断约5秒。
2,alas检测是否进入战斗的方法是检测战斗加载界面,如果alas错过了加载界面,就会以为还在关卡地图界面,且移动超时,然后尝试重新扫图,但游戏实际上已经进入战斗,于是报错Image to detect is not in_map
然后这两个问题打出了个combo:dcr正好在加载时抽风,导致alas稳定错过加载界面并报错,perfect!很符合这次活动的主题。
另外,dcr在其它时候抽风也会降低运行效率,以及即使dcr不抽风,第2个问题也可能单独出现。
如何复现
- 使用dcr截图
- 关闭自律寻敌运行任何打主线或活动图的任务
- 其中刷委托的出击次数最多,最容易出问题
- 等待问题出现
预期行为
有一个办法可以规避dcr抽风的问题:运行一个备用截图方案,如果dcr响应时间超过设定的截图间隔,则使用备用截图方案以免截图中断。 也有一个办法可以规避错过加载界面的问题:如果移动超时后重新扫图时报错Image to detect is not in_map,则检查是否在战斗中或战斗结算界面。
相关 Logs
No response
截图
这是我第一次发现这两个问题同时出现时的日志和截图:1714331608842.zip 然后我让alas继续加班,我写issue,然后这两个问题就在我写这个issue时又同时出现了一次:1714333020413.zip
还有别的吗?
我用过两个模拟器,分别是逍遥模拟器国内版和蓝叠模拟器4国际版(非Hyper-V),都有dcr抽风的问题,所以我不建议轻易甩锅给模拟器。 我没试过不带_raw后缀的DroidCast,所以不知道这跟_raw后缀有没有关系。 我感觉关闭阵容锁定可以降低错过加载界面的概率,但我没有证据。 为什么不完全换成另一个截图方案,而要把其它方案作为备用方案?因为dcr最快。 另外既然提到了备用方案,再说句题外话,我观察到在逍遥模拟器里,minitouch只会在几个特定界面出现无法点击的情况,所以可以在这几个界面使用备用点击方案(uiautomator2),其它界面使用minitouch,这样更快。
我觉得可以考虑加入检查是否在战斗中
我用过两个模拟器,分别是逍遥模拟器国内版和蓝叠模拟器4国际版(非Hyper-V),都有dcr抽风的问题,所以我不建议轻易甩锅给模拟器。
@LmeSzinc 请问哪些模拟器没有dcr抽风的问题?我正好要换模拟器。
可以试试mumu12,不过mumu12我感觉在一些低配置电脑上反而没有雷电流畅。 如果你的电脑配置比较低,可以考虑用雷电,但是雷电本身也有兼容性问题,截图方案只能用maatouch。
在上次ALAS更新后,我也出现了相同问题。我使用的是夜神模拟器,该问题是在刷活动图的时候出现的,但我并不确定是不是截图方案的问题。错误日志如下 1714610030306.zip 1714615293499.zip
我的mumu12也出现这种情况,活动图打出combo直接进入下一场战斗而alas还停在上一场,导致卡住
254e942