Skip to content

[bug] AAA狗粮批发:重复登录断线后触发复苏点击 #3627

Description

@taozhe6

提交确认

  • 我已搜索现有 Issue,确认没有相同问题
  • 我已阅读相关脚本的 README 或使用说明
  • 我已确认问题来自脚本或脚本仓库;BetterGI 本体问题应提交到主仓库
  • 我已移除日志、截图中的 UID、路径等隐私信息

涉及范围

JS 脚本

BetterGI 版本号

0.64.0

相关脚本名称与版本

AAA 狗粮批发(AAA-Artifacts-Bulk-Supply)2.5.11。

已核对 2.6.1 源码,相关复苏识别与点击逻辑保持相同;2.6.1 尚未实机复现。

运行环境与关键配置

Windows 11,国服,简体中文,1920×1080,执行纳塔额外路线。实机 main.jsrevival.png 已与对应上游快照核对一致。

问题描述

跑图期间,账号重复登录导致游戏断线,AAA 随后触发了复苏点击。游戏回到登录页后,地图追踪仍继续尝试定位、脱困和打开地图。

这次发生在正常传送完成之后:原神记录断开约 0.67 秒后,AAA 记录“识别到复苏按钮,点击复苏”;断开约 3 秒后,原神进入登录页。近六分钟后,BGI 仍提示“打开大地图失败”,紧接着又报告“已到达上次点位,地图追踪功能恢复”,实际画面仍停留在登录入口。

已定位到 AAA 的复苏伴随任务。结合断线时序与模板外观,怀疑它将断线弹窗的“确认”按钮匹配成了“复苏”。日志与源码可以确认脚本执行了复苏点击;点击瞬间的画面、坐标和匹配得分未保存,具体命中的按钮仍待确认。

期望结果

复苏伴随任务只点击真正的角色复苏弹窗。遇到其他弹窗时跳过复苏操作,保留原界面。

本 issue 仅处理复苏误匹配与误点击。重复登录检测、停止和恢复策略独立讨论,不要求 AAA 增加这些功能,也不期望通过自动重登顶回账号来继续采集。

复现步骤

本次故障的触发过程:

  1. 运行 AAA 狗粮批发,进入纳塔额外路线的地图追踪阶段。
  2. 跑图期间,同一账号在另一设备登录,本机连接断开。
  3. AAA 记录“识别到复苏按钮,点击复苏”,游戏随后回到登录页。
  4. 地图追踪继续运行,反复报告定位失败、尝试脱困、打开地图失败。

日志、截图或录屏

以下为 2026-09-06 同一次故障的日志摘录,账号凭据等隐私信息已移除。BGI 与 LocalLog 使用电脑本地时间,原神 output_log 使用北京时间;本次相差 15 小时,本地 08:11 对应北京时间 23:11

传送完成、断开与复苏点击(电脑本地时间):

BGI
[08:11:17.427] 开始传送:"纳塔 / 镜璧山 / 「烟谜主」 - 传送锚点"
[08:11:23.090] 传送完成

原神 LocalLog
NETWORK 2026-09-06 08:11:31 0317[FrameCount:38619] Disconnect token=[已移除] reason=4

BGI
[08:11:31.703] 识别到复苏按钮,点击复苏
[08:11:31.810] 小地图位置定位失败,且当前不是主界面,进入异常处理
[08:11:31.822] 未识别到具体路径,取上次点位
[08:11:32.163] 小地图位置定位失败,且当前不是主界面,进入异常处理

随后进入登录页(北京时间):

[2026-09-06 23:11:31.262] Genshin Beyond Log: BeyondLevelEditModule ClearOnDisconnect ClearCloudData
[2026-09-06 23:11:34.087] Genshin Start Log: LoginMainPageContext SetupView
[2026-09-06 23:11:36.053] Genshin Start Log: MiHoYoSDKManager SDKLogin

后续地图追踪仍在运行(电脑本地时间):

[08:12:09.302] 视角转动到目标角度超时,停止转动
[08:12:09.648] 小地图位置定位失败,且当前不是主界面,进入异常处理
[08:12:09.666] 疑似卡死,尝试脱离...

[08:17:28.248] 打开大地图失败,请检查按键绑定中「打开地图」按键设置是否和原神游戏中一致!
[08:17:28.273] 已到达上次点位,地图追踪功能恢复

断线后的登录页现场:

画面停留在登录入口,左下角仍显示 08:17:28(北京时间 23:17:28)的地图追踪日志。截图记录的是断线后的状态;账号信息已遮挡。

断线后停留在登录页,BGI 仍尝试打开地图并报告追踪恢复

其他信息

相关代码

以下链接固定在 2.6.1 对应提交 6e7cbe851fb87c670ef668ec193d724c982f7fa9

  • errorProcessTask:跑图期间循环匹配 revival.png,该处未限定搜索区域或显式设置匹配阈值,也没有额外的复苏场景或按钮文字校验。
  • findAndClick:匹配成功后等待 50ms,再执行 res.click()。调用方在返回成功后打印“识别到复苏按钮,点击复苏”。
  • revival.png:包含“复苏”文字、浅色按钮底和左侧圆形图标。这里按整张图片的相似度匹配,未额外通过 OCR 核验文字。

修复方向

提高复苏模板的匹配阈值有可能解决这类误匹配,值得作为最小修复优先评估。AAA 的模板含有“复苏”文字像素,提高门槛可能将外观相似的“确认”按钮排除出去。

可以参考社区 锄地一条龙(AutoHoeingOneDragon)的“限定区域+0.95 阈值”组合

这组参数可作为 AAA 的候选参考。两个脚本的模板素材与实际匹配效果需要分别核验:应对照正常复苏和易混淆弹窗,观察误点击是否减少,以及正常复苏是否出现漏识别。0.95 暂作为参考值,本次尚未验证它在 AAA 中能否解决问题。

若限定区域与调整阈值已能稳定区分两类按钮,可采用这一最小修复;若仍有混淆,再补充复苏场景特征或按钮文字校验。

相关讨论

以上作为弹窗处理的相关背景;是否由同一处代码引起,需分别核验。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions