AzurLaneAutoScript icon indicating copy to clipboard operation
AzurLaneAutoScript copied to clipboard

Alas图片识别反复选择舰队最后报错的问题,(也可能是黄鸡的交换舰队功能有问题?(存疑))。

Open Rainbowcatm opened this issue 1 year ago • 4 comments

在提问之前...

  • [X] 我已经搜索了现有的 issues
  • [X] 我在提问题之前至少花费了 5 分钟来思考和准备
  • [X] 我已经阅读了 Wiki 中的 常见问题(FAQ)
  • [X] 我正在使用最新版的 Alas

描述你的问题

image 1.根据对现有issue的查找发现有类似的莫名选择编队卡死bug问题,经过排查发现了选择舰队异常出现的现象,如上图。当舰队一和舰队二均被选中完后,按照正常逻辑Alas会点击红框区域的‘第X舰队’框体,确保舰队已经选中之后直接开始这时窗体会消失,但异常情况会出现Feet2,一直想要选择第一舰队的情况(但是黄鸡在选中舰队后点选中的舰队并不会交换第一队和第二队使用的舰队)。推测可能是配置中设置了第一队是2号舰队,第二队是1号舰队导致的(所以建议老老实实一对1号,二队2号)。 Alas日志如下,红框部分是bug日志: image 配置: image

检查代码逻辑: image image 发现前文会对舰队进行一次默认性填充,后文会对舰队及其索引进行选择,到此找到原因,等待修正。

如何复现

  1. 前往 '活动图',如图取消自动 image
  2. 设置舰队序号 image
  3. 开始运行,即出现问题。但一些情况下可能会不出现。

预期行为

No response

相关 Logs

原始文件: log.txt

截图

原始截图: 2024-05-25_01-29-27-313220

还有别的吗?

Rainbowcatm avatar May 24 '24 17:05 Rainbowcatm

两个舰队都选择完后,在Feet2的choose tips点击第一舰队是不会交换的,Alas认为没有达成目标,就会一直点击第一舰队尝试交换造成卡死。黄鸡压根没有做两个舰队都选择,之后选择另一支已经选择的舰队交换Feet1和Feet2的功能。如图我在选中‘第一舰队’作为Feet1,‘第四舰队’作为Feet2,这时我在Feet2后的选择舰队选择‘第一舰队’,Feet1和Feet2并不会发生交换。 image

Rainbowcatm avatar May 24 '24 17:05 Rainbowcatm

上传完整log和(原始)截图

Air111 avatar May 24 '24 18:05 Air111

@Air111 已经修改issue,其实就是初始化逻辑先初始化选择Feet1为‘第一舰队’,Feet2为‘第二舰队’,然后又根据配置尝试将Feet2改为‘第一舰队’出现错误。建议修复方案加一个小限制:配置时Feet2选择的Index必须大于Feet1即可规避该bug。 image

Rainbowcatm avatar May 25 '24 04:05 Rainbowcatm

image1 = rgb2gray(crop(image, FLEET_2_IN_USE.area, copy=True))
print(np.std(image1.flatten(), ddof=1))
# 26.637438494597124 < 27

@LmeSzinc FLEET_IN_USE_STD可能需要调一下,但我不敢动(

Air111 avatar May 25 '24 06:05 Air111