From ac85cda170ff4cf00c4041e683f7703b67c3afc8 Mon Sep 17 00:00:00 2001 From: zjl Date: Mon, 30 Dec 2024 21:42:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=BC=80=E5=90=AF=E4=B8=87?= =?UTF-8?q?=E5=8F=B6=E6=8B=BE=E5=8F=96=E5=90=8E=EF=BC=8C=E4=B8=8D=E7=94=9F?= =?UTF-8?q?=E6=95=88=E7=9A=84=E9=97=AE=E9=A2=98=E3=80=82=E4=BF=AE=E6=AD=A3?= =?UTF-8?q?=E6=88=98=E6=96=97=E6=A3=80=E6=9F=A5=E6=97=B6=E9=97=B4=E7=9A=84?= =?UTF-8?q?=E6=8D=A2=E7=AE=97=E9=97=AE=E9=A2=98=EF=BC=8C=E4=BB=A5=E5=8F=8A?= =?UTF-8?q?=E4=B8=80=E4=B8=AA=E9=80=BB=E8=BE=91=E5=88=A4=E6=96=AD=E9=97=AE?= =?UTF-8?q?=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../GameTask/AutoFight/AutoFightTask.cs | 44 +++++++++++++------ 1 file changed, 30 insertions(+), 14 deletions(-) diff --git a/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs b/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs index 165fb72c..0bc00272 100644 --- a/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs +++ b/BetterGenshinImpact/GameTask/AutoFight/AutoFightTask.cs @@ -78,7 +78,7 @@ public class AutoFightTask : ISoloTask // 如果是纯数字部分 if (double.TryParse(trimmedSegment, NumberStyles.Float, CultureInfo.InvariantCulture, out double number)) { - checkTime = number * 1000; // 更新 CheckTime + checkTime = number; // 更新 CheckTime } else if (!uniqueNames.Contains(trimmedSegment)) // 如果是非数字且不重复 { @@ -239,15 +239,16 @@ public class AutoFightTask : ISoloTask if (!fightEndFlag && _taskParam is { FightFinishDetectEnabled: true } ) { - + //处于最后一个位置,或者当前执行人和下一个人名字不一样的情况,满足一定条件(开启快速检查,并且检查时间大于0或人名存在配置)检查战斗 if (i==combatCommands.Count - 1 - || (( + || ( _finishDetectConfig.FastCheckEnabled && command.Name!=combatCommands[i+1].Name && - (_finishDetectConfig.CheckTime>0 && checkFightFinishStopwatch.Elapsed>checkFightFinishTime) - || _finishDetectConfig.CheckNames.Contains(command.Name) - ) )) + ((_finishDetectConfig.CheckTime>0 && checkFightFinishStopwatch.Elapsed>checkFightFinishTime) + || _finishDetectConfig.CheckNames.Contains(command.Name)) + )) { + checkFightFinishStopwatch.Restart(); var delayTime = _finishDetectConfig.DelayTime; if (_finishDetectConfig.DelayTimes.TryGetValue(command.Name, out var time)) @@ -260,6 +261,10 @@ public class AutoFightTask : ISoloTask Logger.LogInformation($"延时检查为{delayTime}毫秒"); } + /*if (i a.Name == "枫原万叶"); if (kazuha != null) { - Logger.LogInformation("使用枫原万叶长E拾取掉落物"); - var time = DateTime.UtcNow - kazuha.LastSkillTime; - if (time.TotalMilliseconds > 0 && time.TotalSeconds <= kazuha.SkillHoldCd) - { - Logger.LogInformation("枫原万叶长E技能可能处于冷却中,等待 {Time} s",time.TotalSeconds); - await Delay((int)Math.Ceiling(time.TotalMilliseconds), ct); - } - kazuha.UseSkill(true); + Logger.LogInformation("使用枫原万叶长E拾取掉落物"); + await Delay(300, ct); + if (kazuha.TrySwitch()) + { + + var time = DateTime.UtcNow - kazuha.LastSkillTime; + if (time.TotalMilliseconds > 0 && time.TotalSeconds <= kazuha.SkillHoldCd) + { + Logger.LogInformation("枫原万叶长E技能可能处于冷却中,等待 {Time} s",time.TotalSeconds); + await Delay((int)Math.Ceiling(time.TotalMilliseconds), ct); + } + kazuha.UseSkill(true); + await Task.Delay(100); + Simulation.SendInput.Mouse.LeftButtonClick(); + await Delay(1500, ct); + } + + + } }