From 36afc1f56cf0cfea8eca06286301045522332f7d Mon Sep 17 00:00:00 2001 From: iris10086 <93846901+iris10086@users.noreply.github.com> Date: Sat, 26 Jul 2025 22:45:59 +0800 Subject: [PATCH] =?UTF-8?q?#1908=20=E4=B8=80=E9=94=AE=E8=B4=AD=E4=B9=B0?= =?UTF-8?q?=E5=B0=98=E6=AD=8C=E5=A3=B6=E9=80=82=E9=85=8D=20(#1932)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Assets/1920x1080/SereniteaPotCoin.png | Bin 0 -> 1083 bytes .../QucikBuy/Assets/QuickBuyAssets.cs | 30 ++++++++++++++++++ .../GameTask/QucikBuy/QuickBuyTask.cs | 26 +++++++++++++++ 3 files changed, 56 insertions(+) create mode 100644 BetterGenshinImpact/GameTask/QucikBuy/Assets/1920x1080/SereniteaPotCoin.png create mode 100644 BetterGenshinImpact/GameTask/QucikBuy/Assets/QuickBuyAssets.cs diff --git a/BetterGenshinImpact/GameTask/QucikBuy/Assets/1920x1080/SereniteaPotCoin.png b/BetterGenshinImpact/GameTask/QucikBuy/Assets/1920x1080/SereniteaPotCoin.png new file mode 100644 index 0000000000000000000000000000000000000000..8c3388baecdd57f6720a7997ced35edf4b03cb89 GIT binary patch literal 1083 zcmV-B1jPG^P)eh4bY)!^&fNe21JFrCK~y-6CCyoH z6IU1j(7VmGJrmE^@rDC!LIP9-gc_tm`vCptZKVncUPwzNmeeFpa1uLD2opo9pK$KC$IR)^9FaUV>_FcIyU;X-8N=dzk(Z9#5 z)#|~+hm=r2bk;lTIOie~h-i$_T2n$8V}SXfzV1<4LdAXOv;UV!71HG~$?Z zPH9-o7kQrVZ0`V~waz)0=Q(G5wOmUnA3c0@F}V~WkSxops>)ieD3bH};`-)RDdoM( z^Bg>AZ7F3kl0u3s&D!l&RVia^r_+trq?B2fan8l%<(1aPTBo&E zmDbuWm#fLQ<3~R{KKpiRwCVTzgwosF>t1&tBF?Dbf=MZ}G$n-aXHS2!4i<}Iu_$im zi%O|T%8iZY)zx&lDq8J!z9`CawY&R3M50nFJ3!s$8%4cK0Ud=hNvF07R>`xsfCnm*<4g;cy55 zH@7#dRdM&;_nfow_|yL5edpYlPape({?9L8j>qGpqay%lwX#|*67%_Dv)yjDJIiG; zIX|yS+3WSPG_?+e5C=a#Pm)9kG2Gf}rW@Wm?|q}ukhNO9UKdfs4-S6Oy6SW`D`l)T z)>D7Soe%omi_6Q|Y{q#60Gpew zt*znl@iFJDQE!yx$3{Kg+4*j3tFP2LBS|Ap{sRb%imsS~Z)^Yn002ovPDHLkV1h-W B2S)$^ literal 0 HcmV?d00001 diff --git a/BetterGenshinImpact/GameTask/QucikBuy/Assets/QuickBuyAssets.cs b/BetterGenshinImpact/GameTask/QucikBuy/Assets/QuickBuyAssets.cs new file mode 100644 index 00000000..190a6ea3 --- /dev/null +++ b/BetterGenshinImpact/GameTask/QucikBuy/Assets/QuickBuyAssets.cs @@ -0,0 +1,30 @@ +using System; +using BetterGenshinImpact.Core.Recognition; +using BetterGenshinImpact.GameTask.Model; +using BetterGenshinImpact.Helpers; +using OpenCvSharp; +using System.Drawing; +using Vanara.PInvoke; +using Microsoft.Extensions.Logging; + +namespace BetterGenshinImpact.GameTask.QucikBuy.Assets; + +public class QuickBuyAssets : BaseAssets +{ + private readonly ILogger _logger = App.GetLogger(); + + public RecognitionObject SereniteaPotCoin; + + private QuickBuyAssets() + { + SereniteaPotCoin = new RecognitionObject + { + Name = "SereniteaPotCoin", + RecognitionType = RecognitionTypes.TemplateMatch, + TemplateImageMat = GameTaskManager.LoadAssetImage("QucikBuy", "SereniteaPotCoin.png"), + RegionOfInterest = new Rect((int)(1630 * AssetScale),(int)(30 * AssetScale),(int)(200 * AssetScale),(int)(40 * AssetScale)), + DrawOnWindow = false + }.InitTemplate(); + } + +} \ No newline at end of file diff --git a/BetterGenshinImpact/GameTask/QucikBuy/QuickBuyTask.cs b/BetterGenshinImpact/GameTask/QucikBuy/QuickBuyTask.cs index 478bbe75..9a15790d 100644 --- a/BetterGenshinImpact/GameTask/QucikBuy/QuickBuyTask.cs +++ b/BetterGenshinImpact/GameTask/QucikBuy/QuickBuyTask.cs @@ -1,6 +1,8 @@ using BetterGenshinImpact.Core.Simulator; +using BetterGenshinImpact.GameTask.AutoPick.Assets; using BetterGenshinImpact.GameTask.Common; using BetterGenshinImpact.GameTask.Model.Area; +using BetterGenshinImpact.GameTask.QucikBuy.Assets; using Microsoft.Extensions.Logging; using System; using Wpf.Ui.Violeta.Controls; @@ -23,6 +25,30 @@ public class QuickBuyTask try { + ImageRegion ra = TaskControl.CaptureToRectArea(); + if (ra.Find(QuickBuyAssets.Instance.SereniteaPotCoin).IsExist()) + { + // 尘歌壶购买逻辑 + GameCaptureRegion.GameRegionClick((size, scale) => (200 * scale, 200 * scale)); + TaskControl.CheckAndSleep(100); + // 选中左边点 + GameCaptureRegion.GameRegion1080PPosMove(1450, 690); + TaskControl.CheckAndSleep(100); + Simulation.SendInput.Mouse.LeftButtonDown(); + TaskControl.CheckAndSleep(50); + + // 向右滑动 + Simulation.SendInput.Mouse.MoveMouseBy(1000, 0); + TaskControl.CheckAndSleep(200); + Simulation.SendInput.Mouse.LeftButtonUp(); + TaskControl.CheckAndSleep(100); + + GameCaptureRegion.GameRegion1080PPosClick(1600, 1020); + TaskControl.CheckAndSleep(200); // 等待窗口消失 + GameCaptureRegion.GameRegion1080PPosClick(960, 850); + + return; + } // 点击购买/兑换 右下225x60 GameCaptureRegion.GameRegionClick((size, scale) => (size.Width - 225 * scale, size.Height - 60 * scale)); TaskControl.CheckAndSleep(100); // 等待窗口弹出