Commit Graph

199 Commits

Author SHA1 Message Date
辉鸭蛋
54e9a01a9d 修改打开队伍配置界面的重试次数和日志 2025-06-15 21:45:32 +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
辉鸭蛋
48045aec2a 修复合成台打开后,等待时间过短导致合成失败的问题 BV1Sfj9z8ESG 2025-05-29 22:47:44 +08:00
mfkvfhpdx
d3eed426de 解决判断主界面时,卡复活界面的问题 (#1625)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

* 修正战斗结束后,大概率打开队伍界面的问题

* 修复有些电脑上因未知原因,战斗0秒打断

* 把失焦激活放入了设置-通用设置-其他设置中,默认关闭。暂停恢复时,重置移动的起始时间,防止因暂停而导致超时放弃任务。

* 在调度器里面的任务之前,增加月卡处理,解决4点如果未进入任务会卡住的问题。增加了日志分析小怪详细。解决日志分析兜底结束日期不生效的问题。

* 在设置=》其他设置中 增加调度器任务传送过程中自动领取探索奖励功能配置。

* 调整自动派遣后恢复原任务的逻辑

* 自动领取派遣奖励时,跳过异常,防止整个配置组任务被打断。

* 把打开大地图方法从TpTask中抽出为公共方法,自动领取派遣代码调整到了调度器中。

* 去除了未使用的引用

* 暂停恢复逻辑增加恢复中条件和非空判断

* 增加了临时暂停自动拾取的逻辑(RunnerContext.AutoPickTriggerStopCount 为0时不限制,大于0时停止,多次暂停会累加该值,每次恢复-1),支持嵌套情况的暂停,在自动派遣(和结束后5秒)或暂停调度器任务时,同时暂停自动拾取功能。

* 调整暂停拾取方法

* 调整个日志输出

* 路径追踪复苏时,暂停拾取

* 增加根据点位配置,支持能在点位未识别情况下,使用大地图中心点的方式来定位,从而支持像铜锁小岛处这种小地图无法识别的点位。调整了对未识别点位的默认逻辑,未配置点位配置情况下,未识别点位,会取上一个识别的点位,从而支持在某些地方断续小地图能识别情况下的脚本。

* Changes

* 修复暂停后,距离过远,小地图无法识别时,无限取当前一个坐标,导致无法正常恢复的问题。调度器管理增加了按天为单位的周期配置,适用于批量执行时,无需人工判断当天执行哪个任务。

* 调度器配置增加,或开启万叶拾取,并且不存在万叶,但配置了万叶队伍情况下,会切换队伍进行拾取。

* 调度器配置,增加了  只拾取精英掉落模式 ,根据编辑器点位配置,可设定非标记精英或传奇的点位跳过拾取。

* 解决卡换成复活形式的任务卡死

* 判断主界面时,复活界面返回false

* 完全跳过的配置组,不发送通知。给周期配置增加说明。
2025-05-24 11:17:37 +08:00
kaedelcb
1790a640d2 任务列表自动保存,尘歌壶购买优化 (#1615) 2025-05-19 21:05:20 +08:00
kaedelcb
620331b16b 一条龙列表和尘歌壶购买优化 (#1587)
* 尘歌壶购买修改选择最大数方法

* 一条龙列表允许多选添加
2025-05-15 00:23:34 +08:00
kaedelcb
1c706d90e6 合成树脂保留/周日秘境奖励选择/一条龙尘歌壶优化 (#1565)
* 一条龙列表空时添加提示,按钮优化

* 1.自动秘境:添加周日材料本三种奖励选择、优化进入秘境横幅点击
2.合成浓缩树脂:添加合成浓缩后保留原粹树脂数量的功能

* 1.自动秘境:添加周日材料本三种奖励选择、优化进入秘境横幅点击
2.合成浓缩树脂:添加合成浓缩后保留原粹树脂数量的功能

* 1.优化加入浓缩树脂判断,最大合成数量限制。

* 1.优化一条龙页面UI显示。
2.合成树脂次数判断逻辑修复。

* 一条龙任务列表UI微调优化

* 代码微调

* 时间判断错误修复

* 合成树脂数量逻辑调整,应该没啥问题了

* 新增图片识别的图片

* 优化最大合成数的写法

* 一条龙内置尘歌壶添加配置日期和商品名称
优化寻找啊圆逻辑

* 1.自动秘境进入优化

* 优化寻找啊圆的逻辑

* 优化初始状态判断

* 优化购买逻辑判断代码

* 优化确定洞天名称方法

* 优化合成树脂判断为负数归零

* 自动秘境跳过判断删除秘境队伍判断

* OCR修改

* 一些无效using删除

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 17:01:25 +08:00
Shatyuka
b2958ac646 用Image<Rgb24>替换Bitmap (#1563) 2025-05-11 11:03:53 +08:00
kaedelcb
a5473aa129 合成树脂保留,周日副本奖励选择和一条龙UI微调 (#1531)
* 一条龙列表空时添加提示,按钮优化

* 1.自动秘境:添加周日材料本三种奖励选择、优化进入秘境横幅点击
2.合成浓缩树脂:添加合成浓缩后保留原粹树脂数量的功能

* 1.自动秘境:添加周日材料本三种奖励选择、优化进入秘境横幅点击
2.合成浓缩树脂:添加合成浓缩后保留原粹树脂数量的功能

* 1.优化加入浓缩树脂判断,最大合成数量限制。

* 1.优化一条龙页面UI显示。
2.合成树脂次数判断逻辑修复。

* 一条龙任务列表UI微调优化

* 代码微调

* 时间判断错误修复

* 合成树脂数量逻辑调整,应该没啥问题了

* 新增图片识别的图片

* 优化最大合成数的写法

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 01:23:25 +08:00
Shatyuka
0bea2d095a 截图优化 (#1480)
* BitBlt 优化

* BitBlt恢复Top-down

* 渲染时翻转图像

* CaptureSession引用计数

* 恢复成无拷贝Mat

* 合法性检查

* 优化截图预览窗口

* 保存截图文件必要时需要克隆一份Mat

* BitBlt内存池

* 返回拷贝就不用对Session做引用计数了

* 移除CaptureImageRes

* 优化DirectX

* 更好地处理padding

* BitBlt去掉padding

1920*1080的游戏窗口是4字节对齐的,因此不会有性能影响。这里主要用于测试。

* 修复修改窗口大小

* 合并CreateStagingTexture

* 修复设备丢失崩溃

* WGC截图支持HDR

* fix typo

* CodeQA

* 去掉1px窗口边框

* DirectX截图去掉A通道

* HDR转换使用GPU加速

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-11 01:17:18 +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
起个名字好难的喵
56a4c17efd 按住滑条顶端替代滚轮到最上方 (#1546) 2025-05-10 10:15:59 +08:00
辉鸭蛋
37493d04c4 调用切换队伍方法后,清除队伍缓存 2025-05-06 23:44:28 +08:00
辉鸭蛋
8ac795680b 修复大地图位置识别不正确的问题 2025-05-03 20:22:22 +08:00
iris10086
07977dc6a3 领取尘歌壶奖励 简单实现 (#1506)
* 领取尘歌壶奖励 功能实现。 - 未实现配置管理

* 领取尘歌壶奖励 小经验书适配

* 优化日志提示等

* 领取尘歌壶奖励 -优化逻辑,删除不必要的资源。

* 领取尘歌壶奖励 阿圆识别修改 兼容其他类型壶。 绘绮亭 还是无法适配

* 代码格式化

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-05-03 22:29:56 +08:00
辉鸭蛋
9e41808326 独立与分层地图支持 (#1503)
* 抽象基础类

* 修改定义

* 抽象出Feature2D相关能力

* 新增地图基类实现

* 临时提交

* 迁移坐标计算

* 加载分层特征数据

* 新增独立地图 层岩巨渊,渊下宫,旧日之海

* 支持不切分特征点匹配

* 添加远古圣山,修改地图参数

* 提瓦特大陆的大地图匹配

* 提瓦特大陆地图大地图位置获取使用256级别的地图

* 替换大地图匹配类 BigMap.cs

* 替换小地图匹配类 EntireMap

* 修改tp的入参方式,删除无用类

* 兼容新提交的内容

* 修复类方法覆盖不生效的问题

* 修复定位问题,迁移部分 MapCoordinate 的代码。MapCoordinate 标记为废弃

* 更多坐标方法的迁移

* 修复不正确的坐标转换

* 是用正确的特征匹配

* 体积较小的地图动态生成特征

* 路径追踪窗体支持多地图

* 传送时切换独立地图地区

* 更新传送点信息

* 修改独立地图相关命名,使用 Scene(场景) 命名,和原神内部命名保持一致

* 录制支持多独立地图

* 修复地区切换失败的问题
2025-05-03 21:59:37 +08:00
kaedelcb
d874b0b775 释放切换队伍失败状态到JS,未找到换队页面抛出异常。 (#1491)
* 释放切换队伍失败状态到JS,未找到换队页面抛出异常。

* 释放切换队伍失败状态到JS,未找到换队页面抛出异常。
2025-05-01 15:55:55 +08:00
秋云
0ea5b2ce7e feat(action): set_time (#1486)
* feat(action): set_time

* fix: 使用returnmainui回到主界面,增加returnmainui的尝试次数,确保即使时瞬失败也能返回主界面
2025-04-29 11:00:16 +08:00
辉鸭蛋
b9e1ef7cfa 识别选择队伍后队伍切换成功的场景,减少因为切换时间过长而引发的队伍切换失败的问题 #1457 2025-04-26 22:15:52 +08:00
Scarlet
57c7c5f477 feat: efficient scan pick (#1393)
* feat: efficient scan pick

* feat: start by move backforward to avoid falling

* fix an unspotted bug

* refine logic
2025-04-26 21:50:10 +08:00
mfkvfhpdx
4760752e70 在调度器里面的任务之前,增加月卡处理,解决4点如果未进入任务会卡住的问题。增加了日志分析小怪详细。解决日志分析兜底结束日期不生效的问题。 (#1433)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

* 修正战斗结束后,大概率打开队伍界面的问题

* 修复有些电脑上因未知原因,战斗0秒打断

* 把失焦激活放入了设置-通用设置-其他设置中,默认关闭。暂停恢复时,重置移动的起始时间,防止因暂停而导致超时放弃任务。

* 在调度器里面的任务之前,增加月卡处理,解决4点如果未进入任务会卡住的问题。增加了日志分析小怪详细。解决日志分析兜底结束日期不生效的问题。

* 在设置=》其他设置中 增加调度器任务传送过程中自动领取探索奖励功能配置。

* 调整自动派遣后恢复原任务的逻辑

* 自动领取派遣奖励时,跳过异常,防止整个配置组任务被打断。

* 把打开大地图方法从TpTask中抽出为公共方法,自动领取派遣代码调整到了调度器中。

* 去除了未使用的引用

* 暂停恢复逻辑增加恢复中条件和非空判断

* 增加了临时暂停自动拾取的逻辑(RunnerContext.AutoPickTriggerStopCount 为0时不限制,大于0时停止,多次暂停会累加该值,每次恢复-1),支持嵌套情况的暂停,在自动派遣(和结束后5秒)或暂停调度器任务时,同时暂停自动拾取功能。

* 调整暂停拾取方法

* 调整个日志输出

* 路径追踪复苏时,暂停拾取
2025-04-26 21:47:57 +08:00
kaedelcb
ad6c854c06 一条龙菜单、自动秘境、切换队伍相关修改 (#1465)
* 1.一条龙菜单增加配置组,每周7天单独配置。
2.自动秘境执行条件,到达秘境向前走的时间加长。
3.切换队伍API,失败重试3次,切换识别不退出任务。

* Update AutoFightTask.cs

恢复错误提示

* 一条龙配置名称的函数误删恢复

* 格式化代码,消除警告

* 修改配置组的启动调用

* 命名修改 & 如果任务已经被取消,中断所有任务

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-04-26 18:49:00 +08:00
辉鸭蛋
640f393bee 延长合成树脂的时间 #1432 2025-04-13 14:00:09 +08:00
辉鸭蛋
1df15bb83c 提供老版本的稳定 BitBlt 功能 2025-04-11 00:11:42 +08:00
FishmanTheMurloc
fce70c0e96 分解5星圣遗物 (#1383)
* 分解圣遗物基础设施建设

* 分解圣遗物独立任务基本功能完成:单独的启动按钮,正则表达式逐一筛选;代码文件整理到单独的文件夹

* 自动分解5星圣遗物功能初步完成

* 修复上次修改快速分解产生的问题,主要点击分解按钮时的bug,还有与五星分解步骤衔接的问题

* 针对切换队伍时,多语言识别效果不佳的情况,将用户设定的队伍名作为正则表达式进行模糊匹配,并在LogInfo输出相关提示;传送任务对任务取消进行单独的异常处理

* 一个便于测试分解圣遗物OCR识别和正则匹配结果的弹窗
2025-04-05 19:53:52 +08:00
Takaranoao
cbaf1f6c36 更新OpenCvSharp4版本到4.10.0,PaddleOCR到2.7.0.3,尝试修复bitblt导致崩溃的问题 (#1381) 2025-04-01 14:47:13 +08:00
FishmanTheMurloc
8f8aad4130 分解圣遗物支持多语言,顺便修了一下5.5版本快速选择筛选星级逻辑 (#1369) 2025-03-30 16:23:08 +08:00
FishmanTheMurloc
40cd76fbdc Feat/multi lan (#1364)
* 多语言下拉框挪到其他设置下

* 使用正经的Fixture写法,杜绝并行测试时paddle崩溃的问题

* 适配不同主城的合成台的不同法语名

* 修正语言资源的正则表达式,好久没用了写错了好多;为AutoDomainTask新增的“地脉异常”、“点击任意位置关闭”添加多语言适配
2025-03-29 12:54:27 +08:00
FishmanTheMurloc
6d4f8b80e8 Feat/multi lan (#1336)
* 记录一次对hutaofisher的访谈,帮助开发者理解其算法

* 本地化HelloWorld

* .csproj取消windows版本号,此处导致了IDE在新建代码文件和自动生成代码时,默认命名空间丢失的问题。已知VisualStudio和ReSharper存在这个问题。

* 优化扩展方法写法,改为从localizer扩展;Converter优化写法,避免冲突;新增两种语言,待测试ocr效果

* Revert ".csproj取消windows版本号,此处导致了IDE在新建代码文件和自动生成代码时,默认命名空间丢失的问题。已知VisualStudio和ReSharper存在这个问题。"

This reverts commit 8bd7ee74c5.

* localizer改为由构造函数传入以支持单元测试;一个英语上钩的单元测试

* 传送任务支持英语游戏界面;本地化参数挪至OtherConfig类下,但界面位置暂不挪动,待定

* 调整resx位置风格,放在直接使用字符串的类下;一条龙合成树脂及领取每日奖励支持游戏内中英双语

* 删除无用碎片文件

* 删去两个不必要的Sdcb包引用

* Paddle服务类去掉分类模型;检测和识别新增支持繁中和法语,配有单元测试;因小语种识别效果不理想,使用正则匹配替换多处识别文本相等或包含判断;钓鱼、一条龙合成树脂及领取每日奖励支持游戏内繁中和法语;

* 检查今日奖励任务的多语言化;右侧联机的P图标检测区域宽度缩减,避免英语角色名被误识别成P

* AutoDomainTask的游戏多语言化,由于我的游戏账号无法测试,仅配一些测试用例

* 修复有3个Mizuki导致异常的bug,临时用拼音代替新角色英文名,并为该数据初始化方法添加单元测试

* 瓦雷莎删去别名“牛牛”,因荒泷一斗已占用此别名;别名加载和读取优化

* 加个锁避免单元测试中多线程初始化paddle崩溃
2025-03-28 11:00:08 +08:00
秋云
325b54ef9c fix: typos (#1353) 2025-03-27 09:53:39 +08:00
辉鸭蛋
d3b2f62083 抽离出方法给脚本调用 #1349 2025-03-26 22:32:20 +08:00
辉鸭蛋
917e412d49 5.5 分解功能变成反选 2025-03-26 22:00:27 +08:00
辉鸭蛋
0bbc851ba0 优化合成树脂,不阻塞任务 2025-03-16 01:49:37 +08:00
辉鸭蛋
807288ab90 重构底层截图器,大幅提升截图器耗时 (#1302)
* to mat init

* BitBlt 加锁

* 使用读写锁重构 Windows.Graphics.Capture,删除BGI自己命名的缓存设置

* dwm加锁并返回mat

* 队伍中没有对应元素角色修复日志问题

* 清除所有 DispatcherTimerOperationEnum 内容

* 修复单测的编译错误

* HDR Support

* 清理无用的截图器模式
2025-03-15 13:18:19 +08:00
FishmanTheMurloc
939c0a5106 添加了一个开关来控制是否在钓鱼的关键帧上保存截图 2025-03-05 21:32:43 +08:00
FishmanTheMurloc
aead279c78 单元测试HelloWorld (#1219)
* AutoFishing为单元测试重构;一个简单的单元测试GetFishpondTest

* 将鼠标操作的注入挪到DesktopRegion中;提供LoadAssetImage的一个不依赖配置的重载;ChooseBait的代码中将Bv的方法替换成不依赖配置的写法;完成ChooseBait的单元测试

* 使用TimeProvider改写ChooseBait以适用单元测试;添加假的绘图上下文类;添加抛竿行为的单元测试

* 选择鱼饵行为比对上次选择的鱼饵,如果相同则直接抛竿(之前的版本曾有此逻辑),但测下来有时会选错饵导致无限抛竿,调整了相关步骤的等待间隔,希望能简单地压制此bug

* 获取鱼群时过滤“获得”界面的鱼图标:1、在Fishpond构造函数中实现。2、配有此类情况的单元测试。3、并由此降低鱼钓上后的等待时间;
修复绘制鱼群时索引不正确导致遗漏的bug;获取鱼群时绘制鱼群供分析
2025-03-05 00:30:11 +08:00
辉鸭蛋
052d8f095a fix bug 2025-03-02 13:11:46 +08:00
辉鸭蛋
62c4d3e54e 新增检查每日奖励任务 2025-03-02 01:47:44 +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
秋云
4932c52af9 fix: remove while loop in TpTask (#1221)
* fix: prevent infinite loop in TpTask.cs

* fix: prevent redundant zoom operation

* fix: handle party switching failures in PathExecutor; add pre-switch check for switch party task

* fix: typos.
2025-02-28 10:00:59 +08:00
辉鸭蛋
509ff4dce6 fix bug
1. 修复自动伐木空指针
2. 修复火神秘境
2025-02-25 01:09:49 +08:00
辉鸭蛋
5fbd10e1a9 CheckAndActivateGameWindow opt 2025-02-25 00:42:03 +08:00
mfkvfhpdx
91a0e771b9 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。 (#1185)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

* 修正战斗结束后,大概率打开队伍界面的问题

* 修复有些电脑上因未知原因,战斗0秒打断

* 把失焦激活放入了设置-通用设置-其他设置中,默认关闭。暂停恢复时,重置移动的起始时间,防止因暂停而导致超时放弃任务。
2025-02-25 00:01:33 +08:00
秋云
a9896f0ff1 修改部分细节 (#1189)
* 1. MoveMapTo之前保证缩放大于2,以保证初始中心点识别不会出错;
2. 重构MoveMapTo,主要去除了首次的试探过程(由于直接使用游戏坐标来确定需要移动的距离,试探已经不再需要)。

* 直接抛出异常而不是break

* 首次切换队伍时不会触发传送,而后续切换其他队伍时(RunnerContext.Instance.PartyName 已非空)才会触发传送。修改为任何时候都触发传送。

* 打开编队前添加少许延时

* 添加配置项 切换队伍前是否前往须弥七天神像
2025-02-23 23:39:57 +08:00
辉鸭蛋
55442418aa 设置时间结束时,立即关闭退出 2025-02-23 21:17:16 +08:00
辉鸭蛋
2135189bf6 新版本自动钓鱼 @FishmanTheMurloc (#1176)
* Revert "Revert #1059"

This reverts commit 4b65370e9f.

* natlan fish model

* 新增调整时间的功能

* test

* Feat/new fishing (#1060)

* 没有找到鱼饵时不再抛异常而是返回行为失败;细小优化;测试分支是否配置正确

* 恢复半自动钓鱼功能(仅自动拉条);将CheckFishingUserInterface方法添加到行为树,使其直接控制启停;PutRects方法增加筛选,避免画出没有高度的框框导致残留红点在画布上;去掉局部变量_currContent;钓鱼结束不再依据_noRectsCount判断

* 添加一步抛竿后检查,避免往红色靶点抛竿导致失败

* 大家终于炼出了好用的适用纳塔版本的鱼模型;实现注释描述的“选择最多鱼吃的饵料”;添加koihead鱼类,进入抛竿时忽略koi,只看koihead;Fishpond.TargetRect补上空值处理;去掉_switchBaitContinuouslyFrameNum,目前该段代码有时候会导致发呆;钓鱼结束时多等5秒,避免“获得鱼”的提示图被错误地计入下一次抛竿找鱼的预测

* 注释了AutoFishingTrigger中,FishBite和Fishing方法中的一些代码,解除了对CaptureContent.FrameRate的引用以方便开新坑;开了个新坑AutoFishingTask

* 新增全自动钓鱼独立任务的ui界面

* 封装了所有钓鱼行为,消灭了AutoFishingTrigger中大部分私有变量,剩余一些用来在行为之间传递信息的变量被丢到Blackboard中

* 代码清理:删除AutoFishingTrigger中被注释的私有变量;行为树扩展方法移动到单独的文件中

* 封装好的行为都搬家到Behaviours.cs去了;钓鱼独立任务基本完成;Blackboard添加chooseBaitUIOpening字段以避免在选择鱼饵界面时因图标被灰色遮罩而影响图像匹配;抛竿行为添加OnTerminate方法修复合并预抛竿和抛竿行为时产生的bug

* 优化VisionContext框框的代码

* AutoFishingTask加了个转圈圈找鱼的动作

* 钓鱼任务时如果有F键以及确认键,就交互一下进入钓鱼模式

* 添加供js调用的钓鱼任务方法

* 调整视角时也调整游戏角色的朝向;因为错误率较高,抛竿前找鱼时不再对右下角图标进行模板匹配检查

* 把MoveViewpointDown封装成行为了,黑板新增字段pitchReset,改进了流程中调整视角俯仰的部分;钓鱼任务中为了避免人物待机动作吃掉钓鱼F键,ChangeView方法改成始终都按S和W键

* ThrowRod行为删去对鱼群位置的校验,该段校验经常导致发呆;并将该行为更名为GetFishpond

* 对EnterFishingMode行为进行优化并修复bug;钓鱼循环修正

* 将螺旋视角找鱼的行为简化为低头转圈找,以适应路径任务完成时经常无法朝向鱼的情况;按下钓鱼键后等待界面出现时间延长至2秒

* 添加js独立任务调用自动钓鱼

* 新增`fishing`的Action用于触发钓鱼

* AutoFishingTask删去右下角ExitFishingButtonRo的模板匹配校验,因为错误的未识别有点多;添加当前焦点窗口校验

* AutoFishingTask增加设置昼夜功能,在7点和19点各钓一轮

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>

---------

Co-authored-by: FishmanTheMurloc <162452111+FishmanTheMurloc@users.noreply.github.com>
2025-02-17 11:36:10 +08:00
Scarlet
73c73b63dd feat: drop climbing before actions that could be blocked (#1150) 2025-02-15 12:16:43 +08:00
辉鸭蛋
aabd1e0c01 fix kale 2025-02-12 23:02:16 +08:00
辉鸭蛋
3fcc11a617 edit tp config 2025-02-12 22:41:04 +08:00
Scarlet
cb8a743d34 修复因原神更新引起的地图缩放问题 (#1151)
* bugfix: fix map navigation problem caused by Genshin update

* constant adjust
2025-02-12 20:53:41 +08:00