From 749cae4dc2c4cb3cbd0946e3ab2d9d103aa3400a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Thu, 6 Feb 2025 02:16:57 +0800 Subject: [PATCH] improve the recognition rate of orange option text --- .../GameTask/Common/Job/ChooseTalkOptionTask.cs | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/BetterGenshinImpact/GameTask/Common/Job/ChooseTalkOptionTask.cs b/BetterGenshinImpact/GameTask/Common/Job/ChooseTalkOptionTask.cs index 60df0a66..c85034b7 100644 --- a/BetterGenshinImpact/GameTask/Common/Job/ChooseTalkOptionTask.cs +++ b/BetterGenshinImpact/GameTask/Common/Job/ChooseTalkOptionTask.cs @@ -46,16 +46,26 @@ public partial class ChooseTalkOptionTask await Task.Delay(500, ct); - for (var i = 0; i < skipTimes; i++) // 重试3次 + bool firstOcrOption = true; + for (var i = 0; i < skipTimes; i++) // 重试N次 { var region = CaptureToRectArea(); var optionRegions = RecognizeOption(region, ct); if (optionRegions == null) { TaskContext.Instance().PostMessageSimulator.KeyPressBackground(User32.VK.VK_SPACE); - await Delay(200, ct); + await Delay(500, ct); continue; // retry } + else + { + // 首次识别到文字,延迟1s重新识别一次,保证文字已经完全展示 + if (firstOcrOption) + { + await Delay(1000, ct); + firstOcrOption = false; + } + } foreach (var optionRa in optionRegions) {