Skip to content

[bug] 一只爱可菲刷熟练度时首道料理变灰后仍持续点击制作 #3529

Description

@taozhe6

提交确认

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

涉及范围

JS 脚本

BetterGI 版本号

0.62.0

相关脚本名称与版本

一只爱可菲(AEscoffier_chef)2.4.2

运行环境与关键配置

  • Windows 11,国服中文界面
  • 游戏大小:1920x1080
  • 素材缩放:1.00
  • DPI 缩放:2
  • 模式:刷满料理熟练度
  • 手动烹饪方式:BGI 本体的自动烹饪方法
  • 材料不足处理:跳过此料理
  • 角色加成:12% 概率双倍

本次在原脚本外层增加了单次 AutoCook 120 秒停止观察点。该观察点使用 BGI 提供的自定义取消令牌,只负责停止持续点击并截取日志;原脚本选择料理、点击制作和调用 AutoCook 的流程保持原样。

问题描述

“刷满料理熟练度”模式会选择“未满”筛选结果中的第一道料理,并按料理星级固定调用多次 AutoCook。当前料理连续制作若干次后材料耗尽,筛选列表中的第一道料理变灰;脚本仍继续点击“制作”并停留在当前 AutoCook 调用中。

画面上表现为第一道料理已经变灰,脚本仍反复点击“制作”。日志对应为连续输出“自动点击确认”,期间没有新的烹饪条峰值、按空格或熟练度进度,后续料理也无法继续。

同一运行环境中观察到两次。第二次运行先正常完成“油爆双脆”和“红烧肉圆”,随后处理“串烤牛心”:前几次手动烹饪正常,材料耗尽、第一道料理变灰后进入持续点击状态,直到外围 120 秒观察点取消当前 AutoCook

人工按三次 Esc 退出,再按 F 重新进入料理界面后,料理列表会刷新;原脚本此时重新筛选未满料理即可继续。账号已经没有任何可制作的未满料理时,重新筛选也可以按原有空列表逻辑结束。

从当前源码看,unlock_auto_cooking() 在进入固定次数循环前检查一次“材料不足”提示;循环内每次调用 auto_cooking_bgi() 前没有重新确认当前料理是否仍可制作,dispatcher.runTask(new SoloTask("AutoCook")) 也没有单次截止条件。

期望结果

第一道料理因材料耗尽变灰后,脚本停止点击当前料理,刷新料理界面并重新筛选未满且可制作的料理;没有可制作目标时正常结束刷熟练度任务。

复现步骤

  1. 在“一只爱可菲”中启用“刷满料理熟练度”。
  2. 手动烹饪方式选择“BGI 本体的自动烹饪方法”。
  3. 材料不足处理选择“跳过此料理”。
  4. 准备一道熟练度未满、材料只能制作部分次数的料理。
  5. 运行脚本,等待该料理完成若干次手动烹饪并耗尽材料。
  6. 观察第一道料理变灰后,脚本仍持续点击“制作”,日志持续出现“自动点击确认”。
  7. 按三次 Esc,再按 F 重新进入料理界面,列表刷新后可以继续。

日志、截图或录屏

第一次观察:

[08:49:31.239] 自动烹饪:“自动点击确认”
[08:49:32.015] 自动烹饪:“自动点击确认”
[08:49:32.807] 自动烹饪:“自动点击确认”
[08:49:33.590] 自动烹饪:“自动点击确认”
[08:49:34.785] 自动烹饪:“自动点击确认”
[08:49:34.792] 单道料理自动烹饪超过 120s,取消当前 AutoCook

第二次观察:

[08:53:50.334] 自动烹饪:“检测到自动烹饪按钮,结束任务”
[08:53:51.428] 检测到自动烹饪已解锁,红烧肉圆 已完成...
[08:53:52.534] 料理熟练度循环...
[08:53:56.281] 当前料理: 串烤牛心
[08:54:01.950] 自动烹饪任务启动
[08:54:14.209] 自动烹饪:“自动点击确认”
... 中间持续重复“自动点击确认”,无烹饪条与熟练度进展 ...
[08:55:56.365] 自动烹饪:“自动点击确认”
[08:56:02.717] 单道料理自动烹饪超过 120s,取消当前 AutoCook

其他信息

可以考虑以下三层处理,由维护者选择更合适的实现位置:

  1. 脚本侧根因处理:刷熟练度循环每次调用 AutoCook 前确认当前料理仍可制作;变灰后跳过当前料理,重新进入料理界面并执行原有“未满”筛选。
  2. 调用侧截止条件:为单次 AutoCook 设置可配置超时,到时通过自定义取消令牌结束任务,再执行 EscF 刷新界面并回到外层循环。
  3. BGI 本体通用加固:连续点击“制作/确认”达到一定次数,期间始终没有烹饪条峰值、按空格或自动烹饪按钮时,结束本次 AutoCook 并返回状态。该项可以作为主仓库的独立改进。

当前外围补丁采用第 2 种方式,并在取消后执行 Esc × 3 → F。下一次触发将继续验证完整恢复流程,稳定后可以整理对应 PR。

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