Commit Graph

92 Commits

Author SHA1 Message Date
Jamis
88493ab988 consider DPI scaling in MoveBy() (#2096) 2025-08-25 00:40:55 +08:00
秋云
178eaa47ec fix: 部分情况下简易策略报错并丢失 (#1899) 2025-07-21 01:48:03 +08:00
Uqbc9
368fc6eca6 feat: 支持角色个性化战斗宏优先级设置 (#1669)
* feat: 支持角色个性化战斗宏优先级设置

- 新增角色级别的宏优先级配置(MacroPriority)
- 支持每个角色独立设置使用的宏编号(1-5)
- 优化宏优先级验证和回退逻辑
- 更新UI说明文本和所有角色配置

* feat: update macro settings UI for personalized combat macro numbering

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-06-08 17:47:11 +08:00
FishmanTheMurloc
0c02808626 使用TorchSharp重写RodNet,以利后续优化 (#1613)
* 使用TorchSharp重写RodNet,以利后续优化

* 增加一个外部torch加载配置来代替直接的依赖,如配置不生效则使用原先手搓的算法

* BgiOnnxFactory取消单例,改为在App服务类中注册为单例,由此修复了一堆单元测试

* BgiOnnxFactory中几个静态方法改为成员方法以和App解耦;因不再有多个mat源供消耗,FishBite中文字块算法不再改动传入的mat,使得后续串联的算法不受其影响

* 将BehavioursTests中临时的配置读取方式改为读取主项目编译环境中的json文件;新建单元测试的README

* 将RodNet算法更新到 010006a44c 的版本;RodNet中关于torch库推理和直接数学计算的校验移至单元测试

* 更新RodNet算法至最新:add5672731

* 注释调试用的代码
2025-06-01 15:16:54 +08:00
Scarlet
9c458c2443 feat: chasca slower charging aim (#1630) 2025-05-25 22:03:47 +08:00
Shatyuka
b2958ac646 用Image<Rgb24>替换Bitmap (#1563) 2025-05-11 11:03:53 +08:00
Takaranoao
5b3bac478d 升级多个依赖&增加额外的推理加速功能&迁移OCR (#1459)
* 更新多个NuGet包至最新版本

* 重构模型加载以适应yolosharp

* feat: 改变接口。TensorRT缓存的初步支持,修改配置项。

* 更新依赖并调整变量顺序,修复加载问题

* 更新AvalonEdit和Microsoft.ML.OnnxRuntime包至最新版本,以修复问题

* fix: downgrade Microsoft.ML.OnnxRuntime.DirectML to version 1.21.0

* typo

* fix: change log level from warning to error for ONNX provider loading failure

* 增加 paddle ocr 的 onnx 模型

* feat: add PaddleOCR models for Chinese, English, and Latin recognition

* 使用cv的DNN生成Tensor,加速Yap文字识别

* feat: 尝试搓一个onnx的ocr

* clean up code

* chore: update OpenCvSharp4 package versions to 4.10.0.20241108

* 修复因格式化代码而丢的引用

* chore: update Microsoft.ML.OnnxRuntime.DirectML package to version 1.21.1 and improve logging for ONNX provider initialization

* chore: 等yolosharp更新再升级onnx

* chore: add Microsoft.ML.OnnxRuntime.Managed package and clean up logging in Det class

* fix: refactor output tensor handling in Det class for improved clarity

* 补充注释,修复DML的OCR问题

* 默认OCR推理使用CPU,整理配置

* fix error NETSDK1152: 找到了多个具有相同相对路径的发布输出文件

* fix(logging): enhance debug log for ONNX initialization with provider details

* 修复TensorRT模型缓存的加载问题

* fix(onnx): improve cached model retrieval and add file existence check

* fix(ocr): replace SrcGreyMat with SrcMat for region of interest processing

* fix(onnx): add file existence check for cached model and adjust session options for DirectML provider

* 增加硬件加速配置UI界面

* 移除旧的OCR模型

* 错别字

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 01:08:37 +08:00
辉鸭蛋
b51f00a259 修复4号位地图追踪时不切人的放技能的问题 2025-04-15 01:52:06 +08:00
辉鸭蛋
5024ddbb61 修复自动秘境超时的时候重试 2025-04-14 23:00:07 +08:00
Takaranoao
7cf826a80b 修复手动设置cd不生效和快速跳过战斗时有时会导致刷屏的问题。 (#1410) 2025-04-06 14:36:53 +08:00
Takaranoao
bc5ae1177c 修复UseSkill调用之后没有正确调用cd计算函数的问题,增加注释 (#1400) 2025-04-05 12:15:12 +08:00
Takaranoao
399441b9e8 优化技能冷却处理逻辑 (#1321)
* 在路径追踪重构了部分冷却处理逻辑,战斗脚本e增加wait参数可等待技能冷却而不是跳过。采矿e增加等待。尝试修复路径追踪 UseElementalSkill 与采矿脚本冲突的问题。

* 给CombatCommand加入快速跳过e的选项

* 优化技能冷却处理逻辑,增加OcrSkillCd属性以支持OCR识别的技能冷却时间,并调整相关技能CD计算和等待逻辑,尝试修复纳西妲采集终止时按键未弹起的问题

* 优化战斗任务中的技能冷却处理逻辑

* 更新纳西妲技能冷却时间记录,改为使用UTC时间并增加日志输出以便调试

* 增加最大技能CD检查,以排除系统时间/日期同步导致无限卡死。修复跑图路切人。(ps:主板电池没电应该去修主板)

* 修复CheckAvatarAvailable

* fix AutoFightTask skill cooldown logic and improve comments

* 尝试修复脚本在"当前角色"下的小问题

* 尝试修复脚本在"当前角色"下的小问题,Avatar类结构调整,重新做了"根据技能cd优化出招"部分。

* Refactor avatar retrieval in PathingConditionConfig to use GetAvatars method and update skill cooldown references

* Fix variable naming for clarity in CombatScenes

* 在自动战斗执行前预先过滤不可执行的脚本。

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-04-04 13:54:44 +08:00
Takaranoao
cbaf1f6c36 更新OpenCvSharp4版本到4.10.0,PaddleOCR到2.7.0.3,尝试修复bitblt导致崩溃的问题 (#1381) 2025-04-01 14:47:13 +08:00
辉鸭蛋
dfbc05599f 秘境走到最后领取奖励超时将会自动重试秘境 #1202 #1270 2025-03-23 22:52:33 +08:00
秋云
62da52d5d8 feat: add configurable HP restoration options at Statue of the Seven (#1223)
* feat: add configurable HP restoration options at Statue of the Seven

* fix: Create GiTpPosition as subclass of GiWorldPosition

* fix: Update teleport point selection logic in ViewModel

* fix: Change log info
2025-03-01 22:04:16 +08:00
辉鸭蛋
b63ceaa88a refactor: duplicated code 2025-02-23 18:21:43 +08:00
Scarlet
ad2c61590e bugfix: handle unhandled cases (#1203) 2025-02-21 13:33:38 +08:00
Ayu0K
7abd066b15 feat: 全局按键映射支持 (#1159)
* 更改了按键绑定UI的相关文本,增加通用设置项“启用全局按键映射”

* 全局改键功能实现
2025-02-17 22:02:39 +08:00
Scarlet
1aa23df648 feat: Chasca charged attack support (#1175) 2025-02-17 13:34:28 +08:00
Scarlet
73c73b63dd feat: drop climbing before actions that could be blocked (#1150) 2025-02-15 12:16:43 +08:00
Houning_YA
3053e1aeb3 支持鼠标虚拟键代码 (#1124) 2025-02-08 20:42:38 +08:00
辉鸭蛋
7d7289ac16 release all key after fight #1073 2025-01-30 10:36:49 +08:00
辉鸭蛋
137ba4384a new e detect 2025-01-30 09:55:52 +08:00
辉鸭蛋
b14de9ed20 auto domain: SendInput instead of PostMessage 2025-01-30 08:07:51 +08:00
辉鸭蛋
2d0a7b5da8 typo 2025-01-27 13:56:27 +08:00
辉鸭蛋
917ba1460d fix some bug 2025-01-24 00:16:11 +08:00
辉鸭蛋
197e991a89 0.39.5 2025-01-21 22:51:57 +08:00
辉鸭蛋
ccb8025676 auto start capture on solo task start2 #1048 2025-01-21 01:56:42 +08:00
秋云
89e00207cb 优化传送到七天神像回血的体验。 2025-01-17 03:27:58 +08:00
辉鸭蛋
dd9e700485 more game resolution check 2025-01-12 21:45:02 +08:00
辉鸭蛋
9f46fb00be Merge branch 'main' into main 2025-01-07 00:12:41 +08:00
Ayu0K
68d6cb18ef mod: 替换为使用扩展方法,不直接调用SimulateKeyHelper 2025-01-06 22:55:07 +08:00
Ayu0K
c904ae5150 mod: 使用新方案改写自动战斗逻辑Avatar 2025-01-06 22:55:07 +08:00
Ayu0K
e39eb9ef93 mod: 修改AutoFight下Avatar(角色战斗逻辑)中的按键,由于该类不是Base On ISoloTask接口的,因此将读取配置文件的操作放在构造函数中。 2025-01-06 22:55:07 +08:00
zjl
4c0d9955b3 阵亡后,重试该路线。但重试,准备传回来时,有几率未打开地图界面,导致传送失败,所以加了每次重试都检查是否打开地图界面。 2025-01-03 20:50:50 +08:00
辉鸭蛋
741da4e0c7 #869 2024-12-29 20:22:00 +08:00
辉鸭蛋
7e04d77f88 kazuha e hold when fight end 2024-12-29 00:28:53 +08:00
辉鸭蛋
a89af32560 pathing: fix bug, init mining 2024-11-22 00:23:21 +08:00
辉鸭蛋
adcd08421a fix: incorrect host judgment methods #777 2024-11-09 17:49:42 +08:00
辉鸭蛋
5f40e28332 修复后台自动剧情启用的情况下,自动领取探索奖励失效的问题 2024-10-27 22:18:32 +08:00
辉鸭蛋
44190a522b team identification support online
修复错误信息,改进联机状态处理

更新了 `BetterGenshinImpact.csproj` 文件中的程序集版本号,从 `0.35.2` 更新为 `0.35.4`。

修正了 `ScriptProject.cs` 文件中抛出 `FileNotFoundException` 异常时的错误信息,将 "manifest.json文件存在" 改为 "manifest.json文件不存在"。

在 `AutoFightAssets.cs` 文件中:
- 为 `AvatarSideIconRectList` 和 `AvatarIndexRectList` 添加了注释,解释其在非联机状态下的用途。
- 添加了多个新的属性和注释,用于处理联机状态下的角色头像和对应的白色块位置。
- 初始化了 `OnePRa` 和 `PRa` 两个识别对象,用于识别联机状态下的1P和P图标。

在 `Avatar.cs` 文件中:
- 修改了角色切换逻辑,使用 `CombatScenes.ExpectedTeamAvatarNum` 替代硬编码的数字。
- 在 `TrySwitch` 方法中添加了 `needLog` 参数,并在切换成功时记录日志。
- 移除了部分注释代码,并在日志中保存了角色切换和索引区域的截图。
- 添加了 `System.Diagnostics` 的引用。

在 `CombatScenes.cs` 文件中:
- 将 `Avatars` 初始化为空数组。
- 添加了 `ExpectedTeamAvatarNum` 属性,默认值为4。
- 在 `InitializeTeam` 方法中添加了联机状态的判断和处理逻辑。
- 修改了队伍识别逻辑,使用动态数组替代固定长度的数组。
- 修改了 `CheckTeamInitialized` 方法,使用 `ExpectedTeamAvatarNum` 替代硬编码的数字。
- 修改了 `BuildAvatars` 方法,添加了对联机状态下角色编号位置信息的处理。
- 修改了 `SelectAvatar` 方法,使用 `GetValueOrDefault` 替代 `TryGetValue`。

在 `ScriptControlViewModel.cs` 文件中,设置 `WindowStartupLocation` 为 `WindowStartupLocation.CenterOwner`。

添加了 `1p.png` 和 `p.png` 两个新图像文件,用于识别联机状态下的1P和P图标。
2024-10-27 17:15:55 +08:00
辉鸭蛋
1dbb9e3bf1 auto pathing: optimize avatar switch 2024-10-26 14:46:38 +08:00
辉鸭蛋
7c96adb591 improve low hp detection and resurrection logic
改进低血量检测和复活逻辑

在 `BetterGenshinImpact.csproj` 文件中,将 `<AssemblyVersion>` 从 `0.35.1` 更新为 `0.35.2`。

在 `AutoDomainTask.cs` 文件中:
- 添加了 `using BetterGenshinImpact.GameTask.Common.BgiVision;` 引用。
- 将 `IsLowHealth` 方法替换为 `Bv.CurrentAvatarIsLowHp(CaptureToRectArea())` 方法。
- 在 `catch` 语句中添加了异常日志记录 `Logger.LogDebug(e, "红血自动吃药检测时发生异常")`。
- 删除了 `IsLowHealth` 方法的实现。

在 `Avatar.cs` 文件中:
- 修改了 `using` 引用,添加了 `BetterGenshinImpact.Core.Recognition`。
- 在 `ThrowWhenDefeated` 方法中,将 `region.Find(AutoFightContext.Instance.FightAssets.ConfirmRa)` 替换为 `Bv.IsInRevivePrompt(region)` 方法,并添加了复活逻辑。

在 `PathExecutor.cs` 文件中:
- 在 `foreach` 循环中添加了 `await RecoverWhenLowHp();` 方法调用。
- 添加了 `RecoverWhenLowHp` 方法,用于检测并处理低血量恢复。

在 `TpTask.cs` 文件中:
- 添加了 `ReviveStatueOfTheSevenPointX` 和 `ReviveStatueOfTheSevenPointY` 静态变量,用于复活点的坐标。

在 `BvStatus.cs` 文件中:
- 添加了多个 `using` 引用。
- 在 `Bv` 类中添加了 `IsInRevivePrompt` 和 `CurrentAvatarIsLowHp` 方法,用于检测复苏提示和当前角色是否低血量。
2024-10-25 23:49:07 +08:00
辉鸭蛋
d23ba65d51 fix #732 2024-10-20 20:38:38 +08:00
辉鸭蛋
11ec9bc45d refactor: CancellationTokenSource -> CancellationToken 2024-10-19 01:50:21 +08:00
ema
335b053b32 change: moved image assets to new folder 2024-09-30 10:12:13 +08:00
qhy040404
c490d29aa1 code cleanup 2024-08-14 18:01:02 +08:00
辉鸭蛋
abac18bc7e reduce the recognition rate requirements for Qin and costume characters 2024-08-02 22:38:47 +08:00
辉鸭蛋
059e21775f unified capture image method 2024-07-21 20:38:06 +08:00
辉鸭蛋
347e42bab9 update dependency library version 2024-07-01 00:51:28 +08:00