Commit Graph

177 Commits

Author SHA1 Message Date
辉鸭蛋
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
辉鸭蛋
33dc5f7d42 fix tptask 2025-02-06 14:11:19 +08:00
辉鸭蛋
749cae4dc2 improve the recognition rate of orange option text 2025-02-06 02:16:57 +08:00
辉鸭蛋
d3bd62b2c4 fix party switch task
修复切换队伍时,第五个队伍无法被选中的问题
2025-02-05 21:10:08 +08:00
辉鸭蛋
854baad420 test code 2025-01-31 18:13:09 +08:00
辉鸭蛋
b14de9ed20 auto domain: SendInput instead of PostMessage 2025-01-30 08:07:51 +08:00
辉鸭蛋
9694919759 new orange option judge 2025-01-29 16:17:52 +08:00
辉鸭蛋
47d88e67c9 opt 2025-01-29 14:34:07 +08:00
辉鸭蛋
23c922d67a Merge pull request #1039 from Scarlet1ssimo/betterscan
优化锄地战斗后捡掉落物的逻辑
2025-01-20 23:46:23 +08:00
辉鸭蛋
89acd1fc65 fix daily reward 2025-01-20 23:17:59 +08:00
Scarlet
fb61b83df5 remove extra logging; refine comments 2025-01-18 21:30:30 -06:00
Scarlet
79aa1505d3 feature: better scan pick 2025-01-18 21:20:02 -06:00
辉鸭蛋
5ab63a9e76 retry for open party choose ui 2025-01-18 15:53:40 +08:00
辉鸭蛋
38ea7833c1 opt
优化月卡的的领取
减少获取历练点的点击次数
2025-01-18 01:08:39 +08:00
辉鸭蛋
4f6724613a fix some bug 2025-01-16 01:13:05 +08:00
辉鸭蛋
340c4caf49 fix 4 am skip blessing of the welkin moon 2025-01-15 01:03:16 +08:00
辉鸭蛋
dfc8c61c8d test code 2025-01-11 00:01:02 +08:00
辉鸭蛋
072943baf9 #955 2025-01-10 01:07:15 +08:00
辉鸭蛋
3f2a3b118a auto pathing: add auto run config
并且枫丹合成台不自动跑步
2025-01-09 23:41:53 +08:00
Ayu0K
608f135640 mod: 修改打开派蒙界面的按键,使其支持改键 2025-01-06 23:59:55 +08:00
Ayu0K
71876a5e65 mod: 更改开书按键 2025-01-06 22:55:08 +08:00
Ayu0K
89109958a2 mod: 更改纪行按键 2025-01-06 22:55:08 +08:00
Ayu0K
3b54844e6b mod: 修改打开背包的方式 2025-01-06 22:55:08 +08:00