From d4d99d34bcee658ba2cf7539fbbebdaba4db9457 Mon Sep 17 00:00:00 2001 From: this-Fish Date: Mon, 23 Feb 2026 19:02:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E4=B8=BA=E5=BF=AB=E9=80=9F=E5=B0=98?= =?UTF-8?q?=E6=AD=8C=E5=A3=B6=E4=BB=BB=E5=8A=A1=E5=A2=9E=E5=8A=A0=E7=A6=BB?= =?UTF-8?q?=E5=BC=80=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=94=AF=E6=8C=81=E8=BF=9B?= =?UTF-8?q?=E5=87=BA=E5=8F=8C=E5=90=91=E6=93=8D=E4=BD=9C=20(#2822)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../QuickSereniteaPotTask.cs | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/BetterGenshinImpact/GameTask/QuickSereniteaPot/QuickSereniteaPotTask.cs b/BetterGenshinImpact/GameTask/QuickSereniteaPot/QuickSereniteaPotTask.cs index 8d1e647f..814b10b6 100644 --- a/BetterGenshinImpact/GameTask/QuickSereniteaPot/QuickSereniteaPotTask.cs +++ b/BetterGenshinImpact/GameTask/QuickSereniteaPot/QuickSereniteaPotTask.cs @@ -1,4 +1,4 @@ -using BetterGenshinImpact.Core.Simulator; +using BetterGenshinImpact.Core.Simulator; using BetterGenshinImpact.Core.Simulator.Extensions; using BetterGenshinImpact.GameTask.AutoGeniusInvokation.Exception; using BetterGenshinImpact.GameTask.Common; @@ -103,22 +103,26 @@ public class QuickSereniteaPotTask } } } - // 校验F交互是否是 进入[尘歌壶] - bool canIn = Bv.FindF(TaskControl.CaptureToRectArea(), "进入","尘歌壶"); + // 校验F交互是否是 进入/离开[尘歌壶] + var capture = TaskControl.CaptureToRectArea(); + bool isEnter = Bv.FindF(capture, "进入", "尘歌壶"); + bool isLeave = Bv.FindF(capture, "离开", "尘歌壶"); - if (canIn) { - TaskControl.Logger.LogInformation("快速进入尘歌壶:识别到 进入尘歌壶"); - // 按F进入 + if (isEnter || isLeave) { + string action = isEnter ? "进入" : "离开"; + TaskControl.Logger.LogInformation($"快速进出尘歌壶:识别到 {action}尘歌壶"); + + // 按F触发交互 Simulation.SendInput.SimulateAction(GIActions.PickUpOrInteract); - TaskControl.Logger.LogInformation("快速进入尘歌壶:F进入尘歌壶"); + TaskControl.Logger.LogInformation($"快速进出尘歌壶:F{action}尘歌壶"); TaskControl.CheckAndSleep(200); - // 点击进入尘歌壶 + // 点击进入/离开尘歌壶 // 如果不是联机状态,此时玩家应已进入传送界面,本次点击不会影响实际功能 GameCaptureRegion.GameRegion1080PPosClick(1010, 760); } else { - TaskControl.Logger.LogInformation("快速进入尘歌壶:未识别到 进入尘歌壶"); + TaskControl.Logger.LogInformation("快速进出尘歌壶:未识别到 进入或离开尘歌壶"); } } catch (Exception e)