提交确认
涉及范围
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")) 也没有单次截止条件。
期望结果
第一道料理因材料耗尽变灰后,脚本停止点击当前料理,刷新料理界面并重新筛选未满且可制作的料理;没有可制作目标时正常结束刷熟练度任务。
复现步骤
- 在“一只爱可菲”中启用“刷满料理熟练度”。
- 手动烹饪方式选择“BGI 本体的自动烹饪方法”。
- 材料不足处理选择“跳过此料理”。
- 准备一道熟练度未满、材料只能制作部分次数的料理。
- 运行脚本,等待该料理完成若干次手动烹饪并耗尽材料。
- 观察第一道料理变灰后,脚本仍持续点击“制作”,日志持续出现“自动点击确认”。
- 按三次
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
其他信息
可以考虑以下三层处理,由维护者选择更合适的实现位置:
- 脚本侧根因处理:刷熟练度循环每次调用
AutoCook 前确认当前料理仍可制作;变灰后跳过当前料理,重新进入料理界面并执行原有“未满”筛选。
- 调用侧截止条件:为单次
AutoCook 设置可配置超时,到时通过自定义取消令牌结束任务,再执行 Esc、F 刷新界面并回到外层循环。
- BGI 本体通用加固:连续点击“制作/确认”达到一定次数,期间始终没有烹饪条峰值、按空格或自动烹饪按钮时,结束本次
AutoCook 并返回状态。该项可以作为主仓库的独立改进。
当前外围补丁采用第 2 种方式,并在取消后执行 Esc × 3 → F。下一次触发将继续验证完整恢复流程,稳定后可以整理对应 PR。
提交确认
涉及范围
JS 脚本
BetterGI 版本号
0.62.0
相关脚本名称与版本
一只爱可菲(
AEscoffier_chef)2.4.2运行环境与关键配置
本次在原脚本外层增加了单次
AutoCook120 秒停止观察点。该观察点使用 BGI 提供的自定义取消令牌,只负责停止持续点击并截取日志;原脚本选择料理、点击制作和调用AutoCook的流程保持原样。问题描述
“刷满料理熟练度”模式会选择“未满”筛选结果中的第一道料理,并按料理星级固定调用多次
AutoCook。当前料理连续制作若干次后材料耗尽,筛选列表中的第一道料理变灰;脚本仍继续点击“制作”并停留在当前AutoCook调用中。画面上表现为第一道料理已经变灰,脚本仍反复点击“制作”。日志对应为连续输出“自动点击确认”,期间没有新的烹饪条峰值、按空格或熟练度进度,后续料理也无法继续。
同一运行环境中观察到两次。第二次运行先正常完成“油爆双脆”和“红烧肉圆”,随后处理“串烤牛心”:前几次手动烹饪正常,材料耗尽、第一道料理变灰后进入持续点击状态,直到外围 120 秒观察点取消当前
AutoCook。人工按三次
Esc退出,再按F重新进入料理界面后,料理列表会刷新;原脚本此时重新筛选未满料理即可继续。账号已经没有任何可制作的未满料理时,重新筛选也可以按原有空列表逻辑结束。从当前源码看,
unlock_auto_cooking()在进入固定次数循环前检查一次“材料不足”提示;循环内每次调用auto_cooking_bgi()前没有重新确认当前料理是否仍可制作,dispatcher.runTask(new SoloTask("AutoCook"))也没有单次截止条件。期望结果
第一道料理因材料耗尽变灰后,脚本停止点击当前料理,刷新料理界面并重新筛选未满且可制作的料理;没有可制作目标时正常结束刷熟练度任务。
复现步骤
Esc,再按F重新进入料理界面,列表刷新后可以继续。日志、截图或录屏
第一次观察:
第二次观察:
其他信息
可以考虑以下三层处理,由维护者选择更合适的实现位置:
AutoCook前确认当前料理仍可制作;变灰后跳过当前料理,重新进入料理界面并执行原有“未满”筛选。AutoCook设置可配置超时,到时通过自定义取消令牌结束任务,再执行Esc、F刷新界面并回到外层循环。AutoCook并返回状态。该项可以作为主仓库的独立改进。当前外围补丁采用第 2 种方式,并在取消后执行
Esc × 3 → F。下一次触发将继续验证完整恢复流程,稳定后可以整理对应 PR。