Commit Graph

420 Commits

Author SHA1 Message Date
辉鸭蛋
d3b2f62083 抽离出方法给脚本调用 #1349 2025-03-26 22:32:20 +08:00
辉鸭蛋
e5629f1bb4 5.5 map 2025-03-25 00:37:58 +08:00
辉鸭蛋
0d5d1292c8 code clean 2025-03-23 23:33:40 +08:00
Takaranoao
58aedbf9d6 修复AddTimer方法中的异常处理,保持js脚本兼容性 2025-03-16 20:06:21 +08:00
Takaranoao
2aefabe09c 添加实时任务,不会清理之前的任务 2025-03-16 20:00:25 +08:00
Takaranoao
315318e2fe 配置组增加ShellTask配置的UI (#1308)
* Shell抽象成为一个Task,并抽出Config

* 代码格式化

* 格式化代码

* 配置组增加ShellTask配置的UI
2025-03-15 20:35:53 +08:00
Takaranoao
981068b38c draft:执行shell抽成task,并支持配置 (#1306)
* Shell抽象成为一个Task,并抽出Config

* 代码格式化

* 格式化代码
2025-03-15 20:09:59 +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
29a2c0069e bug fix:拉条过程中内存没有及时释放 (#1266)
* bug fix:拉条过程中内存没有及时释放

* 新增LiftAndHold行为用于举竿、检测预抛竿时鼠标左键是否被意外松开、终止任务;抛竿开始后5秒内如从未找到落点,则返回失败,并配有单元测试;添加抛竿时无鱼饵适用鱼的单元测试;调整变量名

* 新增一个钓鱼昼夜设置枚举DontChange及其逻辑(枚举值为3),表示不调整时间直接开钓

* 针对可能是游戏中的雾气/滤镜/小黄鸭之类不明原因干扰了钓鱼拉条框的识别,修改了CV算法,使其不严格按照黄色(255,255,192)找矩形,而是按一定HSV范围寻找,并加强过滤;添加上述不明原因案例的测试用例

* 将MySimpleParallel改造为支持两个以上子行为;将“检查抛竿结果”行为合并到“下杆中”并行节点,以去除检查的等待时间,由此希望能应对鱼过快上钩的情况
2025-03-14 00:17:37 +08:00
辉鸭蛋
ad5aa1b118 fix script bug 2025-03-10 02:15:44 +08:00
辉鸭蛋
fe8aeb610d fix js fish anonymous class input 2025-03-09 21:31:46 +08:00
辉鸭蛋
abfddea2e5 暴露钓鱼的参数给脚本 2025-03-09 20:33:51 +08:00
辉鸭蛋
366e5d140a add WelcomeDialog 2025-03-09 18:55:25 +08:00
辉鸭蛋
df9c4e106e 修改shell的部分内容 2025-03-08 21:55:24 +08:00
辉鸭蛋
4c820d09c5 replace: 路径追踪 -> 地图追踪 2025-03-08 20:56:36 +08:00
Takaranoao
90590b68b8 给配置组增加执行shell的功能,可以调用外部程序实现复杂调度 2025-03-07 16:39:21 +08:00
FishmanTheMurloc
462e89731d 给js脚本的genshin.autofishing方法暴露了昼夜参数、两个超时参数取独立任务页面中配置的值、关键帧截图开关常关;将BaseBehaviour<TImageRegion>中saveScreenshotOnTerminate字段由不合理的静态字段改为构造函数传入,修复关键帧截图开关在不同入口交替使用的情况下错乱的bug 2025-03-06 12:11:12 +08:00
辉鸭蛋
4305310d2d js settings ui 2025-03-06 01:26:16 +08:00
辉鸭蛋
c63439bb29 fix #1131 2025-03-06 00:35:52 +08:00
FishmanTheMurloc
939c0a5106 添加了一个开关来控制是否在钓鱼的关键帧上保存截图 2025-03-05 21:32:43 +08:00
FishmanTheMurloc
d3659f3b43 Merge branch 'main' into feat/fishing_config 2025-03-05 10:26:20 +08:00
秋云
6f6ddf129b feat: add _autoPickEnabled to script group 2025-03-05 05:34:28 +08:00
FishmanTheMurloc
e634a54913 钓鱼任务添加整个任务的超时参数、昼夜参数 2025-03-04 21:06:16 +08:00
辉鸭蛋
e96214f5c4 新增结束后的操作 2025-03-02 12:35:48 +08:00
mfkvfhpdx
91a0e771b9 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。 (#1185)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

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

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

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

* 直接抛出异常而不是break

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

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

* 添加配置项 切换队伍前是否前往须弥七天神像
2025-02-23 23:39:57 +08:00
辉鸭蛋
56d0463510 fishing: UI调整与优化
1. 实时任务只支持半自动
2. 半自动钓鱼恢复自动提杆的能力
3. UI调整
4. 添加自动钓鱼独立任务快捷键
2025-02-23 20:33:16 +08:00
辉鸭蛋
b63ceaa88a refactor: duplicated code 2025-02-23 18:21:43 +08:00
可耐的小伙纸
9f6299df88 add:使用Starward记录游戏时间 (#1164)
* add:使用Starward记录游戏时间

* feat:修复了多余的参数(手滑

* add:添加了Starward协议检测
feat:使用正则解析ini
feat:删去RegistryGameLocator.GameServer

* feat:将重复操作分离为方法

* feat:从文件读取不启动记录
2025-02-22 18:56:25 +08:00
Ayu0K
675206e9da fix #1178 修复保存键鼠脚本时丢失最后一个MacroEvent的问题 (#1188) 2025-02-19 09:55:04 +08:00
Ayu0K
7abd066b15 feat: 全局按键映射支持 (#1159)
* 更改了按键绑定UI的相关文本,增加通用设置项“启用全局按键映射”

* 全局改键功能实现
2025-02-17 22:02:39 +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
Houning_YA
3053e1aeb3 支持鼠标虚拟键代码 (#1124) 2025-02-08 20:42:38 +08:00
洪籽阳外婆
8f5529f79d 添加迪希雅作为主要行走角色 2025-02-07 12:56:00 +08:00
辉鸭蛋
472c169603 use R2 to distribute script files 2025-02-06 01:37:42 +08:00
辉鸭蛋
f76c877882 support only local script repo 2025-02-05 22:23:31 +08:00
辉鸭蛋
31fcf9cedf fix WindowStartupLocation without Owner
修复脚本订阅和配置组运行的提示框在高DPI显示屏下跑到屏幕外的问题
2025-02-04 21:06:13 +08:00
辉鸭蛋
c2709544fa allow full folder security 2025-02-01 13:33:05 +08:00
辉鸭蛋
06b142b8b2 more check for script repo 2025-02-01 08:59:24 +08:00
mfkvfhpdx
8c45a02deb 调整日志分析一些字段为0时显示为空,增加了异常情况统计(复活、重试、传送失败、战斗超时)。 (#1056)
* 调整日志分析一些字段为0时显示为空,增加了异常情况统计(复活、重试、传送失败、战斗超时)。

* 修正一个赋值错误

* 日志分析表格,使隔行颜色样式不一样

* 增加了锄地延时,通过控制延时相对精确的显示怪物数量

* 删除不必要的输出

* 调度器任务,增加 任务倒序排列功能。调度器配置增加“不在某时执行”,当执行完一个路线后,如果时间为当前配置的时间(范围:0-23),则此路径追踪任务后续都将都跳过,适用于连续执行的兜底任务,例如想通宵挂机,并且在4点后,开始执行新的任务。
2025-01-26 11:17:19 +08:00
秋云
b445c71e52 增加了地图移动的相关参数设置。 2025-01-24 20:38:45 +08:00
辉鸭蛋
ca96204e01 install path 2025-01-20 00:22:40 +08:00
辉鸭蛋
dcafd64139 save theme 2025-01-18 17:54:59 +08:00
辉鸭蛋
a36f938e8a Merge pull request #1025 from mfkvfhpdx/main
路径追踪增加增加  允许在jsScript脚本中启用此路径追踪配置、覆盖JS中的自动战斗配置 。
2025-01-18 15:06:58 +08:00
zjl
1a0d61ac94 路径追踪增加 允许在jsScript脚本中启用此路径追踪配置、覆盖JS中的自动战斗配置 。默认为否,开启后可以使JS脚本中的路径追踪和自动战斗,使用该调度器所配置的参数运行 2025-01-16 23:53:17 +08:00
秋云
30a1b4d40f Merge branch 'main' of https://github.com/physligl/better-genshin-impact 2025-01-16 01:27:37 +08:00
秋云
ad4993c3cf Add some comments 2025-01-13 08:38:10 +08:00
秋云
01fe05e0c8 Remove unused code from FeatureStorage.cs 2025-01-13 08:36:03 +08:00
辉鸭蛋
d5838017d7 fix script import bug 2025-01-12 21:09:48 +08:00