Skip to content

Commit 66acf11

Browse files
authored
Merge pull request #250 from IsolateOB/fix-issue-248
fix: 修复部分任务中重置角色位置失败导致超时的问题 (#248)
2 parents 9f68934 + 4b07eb1 commit 66acf11

3 files changed

Lines changed: 10 additions & 2 deletions

File tree

src/tasks/AutoDefence.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@ def handle_mission_start(self):
137137
if self.external_movement is not _default_movement:
138138
self.log_info("任务开始,执行外部移动逻辑")
139139
self.external_movement(delay=2)
140+
# 复位失败时 walk_to_aim 会调用 give_up_mission() 退出副本后直接 return,
141+
# 此时已不在队伍中,应立即返回让主循环重新识别界面并重开任务
142+
if not self.in_team():
143+
self.log_info("外部移动后未在队伍中(可能复位失败已退出副本),等待重开任务")
144+
return
140145
time_out = self.action_timeout + 10
141146
self.log_info(f"外部移动执行完毕,等待战斗开始,{time_out}秒后超时")
142147
if not self.wait_until(lambda: self.current_wave != -1 or self.find_esc_menu(), post_action=self.get_wave_info,

src/tasks/CommissionsTask.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -505,11 +505,12 @@ def reset_and_transport(self):
505505
post_action=lambda: self.click_box_random(setting_other),
506506
time_out=10,
507507
)
508+
self.sleep(0.5)
508509
confirm_box = self.box_of_screen_scaled(2560, 1440, 1298, 776, 1368, 843, name="confirm_btn", hcenter=True)
509510
safe_box = self.box_of_screen_scaled(2560, 1440, 125, 207, 1811, 1234, name="safe_box", hcenter=True)
510511
self.wait_until(
511512
condition=lambda: self.find_start_btn(box=confirm_box),
512-
post_action=lambda: self.click_relative_random(0.5016, 0.4074, 0.6906, 0.4380, use_safe_move=True, safe_move_box=safe_box),
513+
post_action=lambda: self.click_relative_random(0.5078, 0.4028, 0.6836, 0.4306, after_sleep=0.5, use_safe_move=True, safe_move_box=safe_box),
513514
time_out=10,
514515
)
515516
self.sleep(0.5)

src/tasks/fullauto/Auto65ArtifactTask_Fast.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,9 @@ def walk_to_aim(self, delay=0):
214214
self.send_key_up("lalt")
215215
# 19.97s: 复位并传送到目标位置
216216
if not self.reset_and_transport():
217-
raise Exception("复位失败")
217+
logger.info("复位失败,重开任务...")
218+
self.give_up_mission()
219+
return
218220

219221
# ===== 路径编写结束 =====
220222

0 commit comments

Comments
 (0)