Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 9 additions & 3 deletions tasks/Dokan/script_task.py
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,15 @@ def run(self):
if not in_dokan:
out_dokan_timer.start()
self.goto_dokan_scene()
in_dokan, current_scene = self.get_current_scene(True)

# 进入道馆寻找界面后,在主循环前仅尝试一次开启道馆
if (in_dokan and
current_scene == DokanScene.RYOU_DOKAN_SCENE_FINDING_DOKAN and
cfg.dokan_config.try_start_dokan):
Comment on lines +97 to +99

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 中等 · 道馆创建尝试被跳过

如果任务启动时已经处于道馆界面,但缓存的截图已过时,未显示寻找道馆场景,那么 get_current_scene(True) 可能会将缓存帧判定为非寻找场景,因此此条件判断会跳过 creat_dokan()。主循环稍后会获取新帧并处理寻找道馆场景,但此时不再尝试创建道馆;用户会发现配置的开场尝试被跳过。

请在判断此条件前刷新截图,或者在主循环重新检测到寻找道馆场景后再进行这次单次尝试。

给 AI 智能体的提示
在 `tasks/Dokan/script_task.py` 第 97-99 行:

**道馆创建尝试被跳过**

如果任务启动时已经处于道馆界面,但缓存的截图已过时,未显示寻找道馆场景,那么 `get_current_scene(True)` 可能会将缓存帧判定为非寻找场景,因此此条件判断会跳过 `creat_dokan()`。主循环稍后会获取新帧并处理寻找道馆场景,但此时不再尝试创建道馆;用户会发现配置的开场尝试被跳过。

请在判断此条件前刷新截图,或者在主循环重新检测到寻找道馆场景后再进行这次单次尝试。
Original comment in English

🟡 Medium · 道馆创建尝试被跳过

When the task starts already in a Dokan screen while the cached screenshot is stale and does not show the finding scene, get_current_scene(True) can classify a cached frame as a non-finding scene, so this guard skips creat_dokan(). The main loop later captures a fresh frame and handles the finding scene, but no longer attempts creation there; users see the configured opening attempt skipped.

Refresh the screenshot before evaluating this guard, or make the one-shot attempt after the main loop has freshly detected the finding scene.

Prompt for AI agents
In `tasks/Dokan/script_task.py` at lines 97-99:

**道馆创建尝试被跳过**

When the task starts already in a Dokan screen while the cached screenshot is stale and does not show the finding scene, `get_current_scene(True)` can classify a cached frame as a non-finding scene, so this guard skips `creat_dokan()`. The main loop later captures a fresh frame and handles the finding scene, but no longer attempts creation there; users see the configured opening attempt skipped.

Refresh the screenshot before evaluating this guard, or make the one-shot attempt after the main loop has freshly detected the finding scene.

count = self.update_remain_attack_count()
if count > 0:
self.creat_dokan()

# 是否已击败馆主第一阵容
first_master_killed = False
Expand Down Expand Up @@ -140,9 +149,6 @@ def run(self):
if not try_start_dokan:
is_dokan_activated = False
break
# 尝试建立道馆
self.creat_dokan()

# 寻找合适道馆,找不到直接退出
if not self.find_dokan(self.config.dokan.dokan_config.find_dokan_score):
is_dokan_activated = False
Expand Down
Loading