共斗活动中偶尔会出现石油存量识别失败 导致任务被挂起
在提问之前...
- [x] 我已经搜索了现有的 issues
- [x] 我在提问题之前至少花费了 5 分钟来思考和准备
- [x] 我已经阅读了 Wiki 中的 常见问题(FAQ)
- [x] 我正在使用最新版的 Alas
描述你的问题
共斗困难连战中偶尔会出现石油存量识别失败 导致任务被挂起
如何复现
1、选择活动“迷彩都市的寻踪者” : 模式:困难;多队出击;石油低于 X 后推迟:1000,队伍未放置在后宅,出击;
2、运行一段时间后偶发石油存量识别失败,现有12108 识别位110
3、由于油量低于1000,任务被挂起
预期行为
正确识别油量,在油量高于下限时正常出击
相关 Logs
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
COALITION
═══════════════════════════════════════════════════════════════════════════════════════════════════════════════════════
─────────────────────────────────────────────── COALITION_20250626_HARD ───────────────────────────────────────────────
2025-06-27 16:19:58.192 | INFO | COALITION_20250626_HARD
2025-06-27 16:19:58.198 | INFO | Count: 0
2025-06-27 16:19:58.203 | INFO | UI get current page
2025-06-27 16:19:58.249 | INFO | [UI] page_research
2025-06-27 16:19:58.256 | INFO | <<< UI GOTO PAGE_CAMPAIGN_MENU >>>
2025-06-27 16:19:58.283 | INFO | Page switch: page_research -> page_main
2025-06-27 16:19:58.288 | INFO | Click (1244, 30) @ GOTO_MAIN
2025-06-27 16:19:58.794 | INFO | Page switch: page_main -> page_campaign_menu
2025-06-27 16:19:58.799 | INFO | Click (1092, 341) @ MAIN_GOTO_CAMPAIGN
2025-06-27 16:19:59.404 | INFO | Page arrive: page_campaign_menu
2025-06-27 16:19:59.411 | INFO | Event available
2025-06-27 16:19:59.417 | INFO | <<< UI GOTO PAGE_COALITION >>>
2025-06-27 16:19:59.428 | INFO | Page switch: page_campaign_menu -> page_coalition
2025-06-27 16:19:59.435 | INFO | Click ( 871, 179) @ CAMPAIGN_MENU_GOTO_EVENT
2025-06-27 16:20:00.273 | INFO | Page arrive: page_coalition
2025-06-27 16:20:00.278 | INFO | CoalitionMode set to battle
2025-06-27 16:20:00.284 | INFO | [CoalitionMode] battle
2025-06-27 16:20:00.316 | INFO | Loading OCR model: ./bin/cnocr_models/cnocr
2025-06-27 16:20:00.463 | INFO | [NEONCITY_PT_OCR 0.174s] 25115
2025-06-27 16:20:00.489 | INFO | Bind task ['General', 'Alas', 'TaskBalancer', 'EventGeneral', 'Coalition']
2025-06-27 16:20:00.503 | INFO | Expect emotion reduce: (6, 0)
2025-06-27 16:20:00.529 | INFO | Bind task ['General', 'Alas', 'TaskBalancer', 'EventGeneral', 'Coalition']
2025-06-27 16:20:00.540 | INFO | Save config ./config\alas.json, Coalition.Emotion.Fleet1Value=93,
Coalition.Emotion.Fleet1Record=datetime.datetime(2025, 6, 27, 16, 20), Coalition.Emotion.Fleet2Value=119,
Coalition.Emotion.Fleet2Record=datetime.datetime(2025, 6, 27, 16, 20)
2025-06-27 16:20:00.567 | INFO | [Emotion fleet_1] 93
2025-06-27 16:20:00.574 | INFO | [Emotion fleet_2] 119
2025-06-27 16:20:00.623 | INFO | Click ( 945, 557) @ NEONCITY_HARD
2025-06-27 16:20:01.088 | INFO | FleetMode set to multi
2025-06-27 16:20:01.092 | INFO | [FleetMode] unknown
2025-06-27 16:20:01.384 | INFO | [FleetMode] multi
2025-06-27 16:20:01.390 | INFO | Click (1073, 544) @ NEONCITY_FLEET_PREPARATION
2025-06-27 16:20:02.065 | INFO | [OCR_OIL 0.052s] 110
2025-06-27 16:20:02.159 | INFO | [OCR_OIL_LIMIT 0.084s] 0
2025-06-27 16:20:02.173 | INFO | <<< TRIGGERED STOP CONDITION: OIL LIMIT >>>
2025-06-27 16:20:02.181 | INFO | Delay task `Coalition` to 2025-06-27 19:36:39 (minute=(120, 240))
2025-06-27 16:20:02.231 | INFO | Bind task ['General', 'Alas', 'TaskBalancer', 'EventGeneral', 'Coalition']
2025-06-27 16:20:02.242 | INFO | Save config ./config\alas.json, Dashboard.Oil.Value=110,
Dashboard.Oil.Record=datetime.datetime(2025, 6, 27, 16, 20, 2), Dashboard.Oil.Limit=0,
Coalition.Scheduler.NextRun=datetime.datetime(2025, 6, 27, 19, 36, 39)
2025-06-27 16:20:02.270 | INFO | <<< SCRIPT END >>>
2025-06-27 16:20:02.277 | INFO |
2025-06-27 16:20:02.282 | INFO | Scheduler: End task `Coalition`
2025-06-27 16:20:02.288 | INFO | [Server] cn
2025-06-27 16:20:02.314 | INFO | Bind task ['General', 'Alas']
2025-06-27 16:20:02.325 | INFO | No task pending
2025-06-27 16:20:02.331 | INFO | [Task] Commission (Enable, 2025-06-27 16:47:27)
2025-06-27 16:20:02.340 | INFO | Bind task ['General', 'Alas', 'Commission']
2025-06-27 16:20:02.366 | INFO | Wait until 2025-06-27 16:47:27 for task `Commission`
2025-06-27 16:20:02.373 | INFO | Goto main page during wait
2025-06-27 16:20:02.618 | INFO | [Package_name] com.bilibili.azurlane
2025-06-27 16:20:02.625 | INFO | App is already running, goto main page
2025-06-27 16:20:02.632 | INFO | <<< UI ENSURE >>>
2025-06-27 16:20:02.638 | INFO | UI get current page
2025-06-27 16:20:02.748 | INFO | Unknown ui page
2025-06-27 16:20:02.767 | INFO | Click (1244, 33) @ GOTO_MAIN
2025-06-27 16:20:02.958 | INFO | Unknown ui page
2025-06-27 16:20:03.121 | INFO | [Package_name] com.bilibili.azurlane
2025-06-27 16:20:03.160 | INFO | [Device Orientation] 1 (HOME key on the right)
2025-06-27 16:20:03.271 | INFO | [UI] page_main
2025-06-27 16:20:03.276 | INFO | Already at page_main
截图
停止后的截图 油量12108
还有别的吗?
No response
同问,”迷彩都市的寻踪者”困难难度必定触发此bug。
测了一天,提交的discussion里面有过程; 现在可以把问题大致梳理出两个主要方面:
①
进入战斗前的最后准备界面、石油与物资栏上存在一个滑动下来的遮罩(不仅是滑下来的,还是盖在上面的,而不是像“出击”页面那样作为背景出现在下方的):
出击界面:
我们可以明显看出这两个界面的区别,第一张图的“石油”数字灰蒙蒙的,它上方有一个滑动下来的遮罩,当截图方式反应过快、在这个遮罩尚未滑动到位(例如滑到一半)时进行截图,有很大概率会导致识别出的石油量缺数位;
当选取一个速度较慢的截图工具(如ADB方式)时,遮罩滑动到位,截图相对正常,数字基本不会识别错误
(向开发者道个歉,截图正不正确我实在是找不到相应的验证方案,只能反复通过更换截图方式去验证) 这方面除了更换截图方法外,我暂时想不出其他办法了,抱歉
250627 2349 追加 或许也可以在战前准备的页面给石油识别的截图一点容错,延后一秒半秒?以便遮罩完全滑下来 (说实话某大厂这事儿干的挺讨厌的,这个遮罩盖在上面太讨厌了,极地风暴那时候有这玩意儿吗,这次怕不是故意恶心人的)
②
更换截图方式后,无论是否更换点击方式(最快的minitouch,或者最慢的uiautomator2),都有概率出现一个较小的附加问题
一次战斗正常进行完成后,由于需要手动点击来退出总结界面(一个a一个s或者两个s,如下图)
可能界面已退出但是最后的几次右下角点击还没结束,恰好把结算窗口卡掉了,但截图工具又截到了窗口(这个不确定,猜测的),alas点击确定按钮时点到了困难图
如果我想进行的是普通图且多队出击,而我此前打困难图用的是单队连战、其余两队都没配置,任务就会跑不起来、调度器黄灯报错(request human takeover)
如果我困难图打的是多队出击,这个时候确实能把困难图跑起来,但这就意味着任务运行错了
这一点上我的小建议是干脆不要点击“确定”按钮,就算出现了结算窗口也点击屏幕最右下角把窗口关掉,稍微停顿个一秒左右再开始下一轮跑图
我这边困难难度油量识别错误的问题已经查明原因。
俾斯麦zwei的机械龙挡住了油量显示,导致ocr 无法识别剩余油量。
更换编队位置后问题解除。
我也遇到了同样的问题,有些小人立绘太大的会遮挡剩余油量识别,建议执行前在首页获取油量进行计算
游戏的UI显示层级有问题,遮挡了石油数字