Skip to content

fix(AutoEssence): fix infinite click loop on ChooseScaling1 when claiming rewards#1044

Merged
isHarryh merged 1 commit intoMaaEnd:mainfrom
architect9331:fix/auto-essence-choose-scaling-infinite-loop
Mar 6, 2026
Merged

fix(AutoEssence): fix infinite click loop on ChooseScaling1 when claiming rewards#1044
isHarryh merged 1 commit intoMaaEnd:mainfrom
architect9331:fix/auto-essence-choose-scaling-infinite-loop

Conversation

@architect9331
Copy link
Contributor

@architect9331 architect9331 commented Mar 6, 2026

问题

修复 #1042

AutoEssenceChooseScaling 节点的 next 列表中,AutoEssenceChooseScaling1 使用了 [JumpBack] 前缀。由于点击单倍领取按钮后,游戏 UI 不会发生足够的变化,模板 EssenceScaling1.png 仍然以 ~0.997 的高置信度持续匹配,导致 [JumpBack] 机制不断回跳重新点击同一按钮,形成无限循环,永远无法到达 AutoEssenceConfirmObtain

修复方案

AutoEssenceChooseScaling1[JumpBack] 节点改为普通节点,并为其添加独立的 next 列表来衔接后续流程:

AutoEssenceChooseScaling(父节点):

  • [JumpBack]AutoEssenceChooseScaling1AutoEssenceChooseScaling1(移除 JumpBack)
  • Override 检查移至 ChooseScaling1 的 next 中
  • 保留 AutoEssenceConfirmObtain 作为兜底

AutoEssenceChooseScaling1

  • 添加 post_delay: 1000(点击后等待 UI 刷新)
  • 添加 next 列表:[JumpBack]ChooseOverrideOff[JumpBack]ChooseOverrideOnAutoEssenceConfirmObtain

这样每轮评估只点击一次缩放按钮,然后自然进入 Override 检查和确认领取流程,不依赖 max_hit,每轮循环都能正常执行。

测试

已在本地 v1.18.1 环境下验证,配置 max_hit: 10 循环刷取时不再卡死。

Summary by Sourcery

调整 AutoEssence 的倍率选择流程,以防止在选择单倍倍率奖励时发生无限重试。

Bug 修复:

  • 解决一个由 AutoEssenceChooseScaling1 节点引起的无限循环问题,该节点会反复点击单倍倍率按钮,而不是继续推进到奖励确认步骤。

增强内容:

  • 优化 AutoEssence 流程,将 AutoEssenceChooseScaling1 拆分为一个普通节点,并赋予其独立的跳转序列,以确保在覆盖检查和奖励确认过程中的稳定推进。
Original summary in English

Summary by Sourcery

Adjust AutoEssence scaling selection flow to prevent infinite retries when choosing single scaling rewards.

Bug Fixes:

  • Resolve an infinite loop caused by the AutoEssenceChooseScaling1 node repeatedly re-clicking the single scaling button instead of progressing to reward confirmation.

Enhancements:

  • Refine the AutoEssence pipeline by separating AutoEssenceChooseScaling1 into a normal node with its own transition sequence to ensure stable progression through override checks and reward confirmation.

AutoEssenceChooseScaling1 使用 [JumpBack] 时,由于点击缩放按钮后
模板仍然高置信度匹配(~0.997),导致无限循环点击同一按钮,
永远无法到达 AutoEssenceConfirmObtain。

将 ChooseScaling1 从 [JumpBack] 节点改为普通节点,并为其添加
独立的 next 列表(Override 检查 + ConfirmObtain),使每轮评估
只点击一次缩放按钮后自然衔接后续流程。

Closes MaaEnd#1042

Made-with: Cursor
Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我在这里给出了一些高层面的反馈:

  • 新增的 AutoEssenceChooseScaling1 上的 post_delay: 1000 可能会在不同设备和性能状况下表现不稳定;建议将这个固定延迟替换为显式的“等待某条件满足”(例如:等待缩放按钮/模板消失,或等待另一个 UI 元素出现),这样在 UI 过渡更慢或更快的情况下流程都能保持稳定。
给 AI Agent 的提示词
请根据本次代码评审中的评论进行修改:

## 总体评论
- 新增的 `AutoEssenceChooseScaling1` 上的 `post_delay: 1000` 可能会在不同设备和性能状况下表现不稳定;建议将这个固定延迟替换为显式的“等待某条件满足”(例如:等待缩放按钮/模板消失,或等待另一个 UI 元素出现),这样在 UI 过渡更慢或更快的情况下流程都能保持稳定。

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎分享 ✨
帮我变得更有用!请在每条评论上点 👍 或 👎,我会根据你的反馈改进后续的评审。
Original comment in English

Hey - I've left some high level feedback:

  • The new post_delay: 1000 on AutoEssenceChooseScaling1 may be brittle across devices and performance; consider replacing the fixed delay with an explicit wait-on-condition (e.g., wait for the scaling button/template to disappear or another UI element to appear) so the flow is robust under slower or faster UI transitions.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The new `post_delay: 1000` on `AutoEssenceChooseScaling1` may be brittle across devices and performance; consider replacing the fixed delay with an explicit wait-on-condition (e.g., wait for the scaling button/template to disappear or another UI element to appear) so the flow is robust under slower or faster UI transitions.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@architect9331 architect9331 changed the title fix(AutoEssence): 淇棰嗗彇濂栧姳鏃?ChooseScaling1 鏃犻檺鐐瑰嚮瀵艰嚧鍗℃ fix(AutoEssence): fix infinite click loop on ChooseScaling1 when claiming rewards Mar 6, 2026
@isHarryh isHarryh merged commit 1302d11 into MaaEnd:main Mar 6, 2026
17 checks passed
MistEO pushed a commit that referenced this pull request Mar 9, 2026
…ming rewards (#1044)

## 问题

修复 #1042

`AutoEssenceChooseScaling` 节点的 `next` 列表中,`AutoEssenceChooseScaling1`
使用了 `[JumpBack]` 前缀。由于点击单倍领取按钮后,游戏 UI 不会发生足够的变化,模板 `EssenceScaling1.png`
仍然以 ~0.997 的高置信度持续匹配,导致 `[JumpBack]` 机制不断回跳重新点击同一按钮,形成无限循环,永远无法到达
`AutoEssenceConfirmObtain`。

## 修复方案

将 `AutoEssenceChooseScaling1` 从 `[JumpBack]` 节点改为**普通节点**,并为其添加独立的
`next` 列表来衔接后续流程:

**`AutoEssenceChooseScaling`(父节点):**
- `[JumpBack]AutoEssenceChooseScaling1` → `AutoEssenceChooseScaling1`(移除
JumpBack)
- Override 检查移至 ChooseScaling1 的 next 中
- 保留 `AutoEssenceConfirmObtain` 作为兜底

**`AutoEssenceChooseScaling1`:**
- 添加 `post_delay: 1000`(点击后等待 UI 刷新)
- 添加 `next` 列表:`[JumpBack]ChooseOverrideOff` →
`[JumpBack]ChooseOverrideOn` → `AutoEssenceConfirmObtain`

这样每轮评估只点击一次缩放按钮,然后自然进入 Override 检查和确认领取流程,不依赖 `max_hit`,每轮循环都能正常执行。

## 测试

已在本地 v1.18.1 环境下验证,配置 `max_hit: 10` 循环刷取时不再卡死。

## Summary by Sourcery

调整 AutoEssence 的倍率选择流程,以防止在选择单倍倍率奖励时发生无限重试。

Bug 修复:
- 解决一个由 `AutoEssenceChooseScaling1`
节点引起的无限循环问题,该节点会反复点击单倍倍率按钮,而不是继续推进到奖励确认步骤。

增强内容:
- 优化 AutoEssence 流程,将 `AutoEssenceChooseScaling1`
拆分为一个普通节点,并赋予其独立的跳转序列,以确保在覆盖检查和奖励确认过程中的稳定推进。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Adjust AutoEssence scaling selection flow to prevent infinite retries
when choosing single scaling rewards.

Bug Fixes:
- Resolve an infinite loop caused by the AutoEssenceChooseScaling1 node
repeatedly re-clicking the single scaling button instead of progressing
to reward confirmation.

Enhancements:
- Refine the AutoEssence pipeline by separating
AutoEssenceChooseScaling1 into a normal node with its own transition
sequence to ensure stable progression through override checks and reward
confirmation.

</details>

Co-authored-by: lenovo <2465096773@qq.com>
MistEO pushed a commit that referenced this pull request Mar 9, 2026
…ming rewards (#1044)

## 问题

修复 #1042

`AutoEssenceChooseScaling` 节点的 `next` 列表中,`AutoEssenceChooseScaling1`
使用了 `[JumpBack]` 前缀。由于点击单倍领取按钮后,游戏 UI 不会发生足够的变化,模板 `EssenceScaling1.png`
仍然以 ~0.997 的高置信度持续匹配,导致 `[JumpBack]` 机制不断回跳重新点击同一按钮,形成无限循环,永远无法到达
`AutoEssenceConfirmObtain`。

## 修复方案

将 `AutoEssenceChooseScaling1` 从 `[JumpBack]` 节点改为**普通节点**,并为其添加独立的
`next` 列表来衔接后续流程:

**`AutoEssenceChooseScaling`(父节点):**
- `[JumpBack]AutoEssenceChooseScaling1` → `AutoEssenceChooseScaling1`(移除
JumpBack)
- Override 检查移至 ChooseScaling1 的 next 中
- 保留 `AutoEssenceConfirmObtain` 作为兜底

**`AutoEssenceChooseScaling1`:**
- 添加 `post_delay: 1000`(点击后等待 UI 刷新)
- 添加 `next` 列表:`[JumpBack]ChooseOverrideOff` →
`[JumpBack]ChooseOverrideOn` → `AutoEssenceConfirmObtain`

这样每轮评估只点击一次缩放按钮,然后自然进入 Override 检查和确认领取流程,不依赖 `max_hit`,每轮循环都能正常执行。

## 测试

已在本地 v1.18.1 环境下验证,配置 `max_hit: 10` 循环刷取时不再卡死。

## Summary by Sourcery

调整 AutoEssence 的倍率选择流程,以防止在选择单倍倍率奖励时发生无限重试。

Bug 修复:
- 解决一个由 `AutoEssenceChooseScaling1`
节点引起的无限循环问题,该节点会反复点击单倍倍率按钮,而不是继续推进到奖励确认步骤。

增强内容:
- 优化 AutoEssence 流程,将 `AutoEssenceChooseScaling1`
拆分为一个普通节点,并赋予其独立的跳转序列,以确保在覆盖检查和奖励确认过程中的稳定推进。

<details>
<summary>Original summary in English</summary>

## Summary by Sourcery

Adjust AutoEssence scaling selection flow to prevent infinite retries
when choosing single scaling rewards.

Bug Fixes:
- Resolve an infinite loop caused by the AutoEssenceChooseScaling1 node
repeatedly re-clicking the single scaling button instead of progressing
to reward confirmation.

Enhancements:
- Refine the AutoEssence pipeline by separating
AutoEssenceChooseScaling1 into a normal node with its own transition
sequence to ensure stable progression through override checks and reward
confirmation.

</details>

Co-authored-by: lenovo <2465096773@qq.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants