Commit Graph

47 Commits

Author SHA1 Message Date
Jamis
97486e7222 Reduce delay from 2000ms to 1000ms (#2590) 2025-12-30 00:56:21 +08:00
辉鸭蛋
971151eaa1 添加 using 2025-11-26 21:24:16 +08:00
NyaMisty
81ab66acfa feat: 改进http,返回header和status_code,并实现url级别细粒度控制和ui提示 (#2332) 2025-10-13 20:26:56 +08:00
NyaMisty
910b005461 feat: 支持在脚本中进行http请求 (#2331) 2025-10-13 00:42:20 +08:00
bhbghghbgb
94e50307a5 重构服务器重置时间处理 (#2160) 2025-09-23 00:59:07 +08:00
辉鸭蛋
2ecacc0eeb 等待进入主界面后执行任务优化 2025-09-23 00:34:33 +08:00
bling-yshs
cd69a255dc feat: 通知->全局通知设置->添加新选项“手动停止时不通知”,允许用户选择手动停止时是否发送通知 (#2195) 2025-09-16 10:25:40 +08:00
辉鸭蛋
aa7f8b78e3 feat: add mouse movement to game interface for auto door opening functionality 2025-09-15 00:33:00 +08:00
辉鸭蛋
8cc5ce7cfd 修复自动开门没事就启动的问题 2025-09-12 01:26:09 +08:00
辉鸭蛋
5e491f1c6d 注释日志 2025-08-02 17:47:42 +08:00
mfkvfhpdx
20565f4328 调度器配置中增加执行成功任务跳过执行配置 (#1893) 2025-07-26 14:19:45 +08:00
辉鸭蛋
6ecab6266a 强制地图追踪版本要求 2025-07-26 00:16:52 +08:00
mfkvfhpdx
36236dedfd 路径追踪支持通过目录中的control.json5文件来覆盖目录json配置。 (#1855) 2025-07-17 21:37:10 +08:00
mfkvfhpdx
468a54e037 执行调度器任务增加继续执行功能 (#1658)
* 完全跳过的配置组,不发送通知。给周期配置增加说明。

* 启动参数增加 --no-single ,允许多开,实现特殊需求(重启需要)。增加了一个重启bgi的方法。增加了任务进度的功能,执行调度器任务时,会记录当前任务执行位置,当关闭后(比如F11),下次可以通过继续菜单,选择记录,从上次关闭任务处执行。

* 调整继续执行,最后一次成功的下一个任务执行

* 设置,其他设置,增加了调度器任务,遇到异常时,连续累计一定次数时,重启BGI,和可配置的重启游戏。

* 连续任务支持循环,右键支持从连续的某一个任务开始执行。修改了一些配置变量的写法,使之不会保存到json文件中。
2025-06-02 00:03:26 +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
mfkvfhpdx
823f4c6882 修复暂停后恢复异常bug。调度器设置增加周期配置。 (#1590)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

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

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

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

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

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

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

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

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

* 去除了未使用的引用

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

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

* 调整暂停拾取方法

* 调整个日志输出

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

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

* Changes

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

* 调度器配置增加,或开启万叶拾取,并且不存在万叶,但配置了万叶队伍情况下,会切换队伍进行拾取。
2025-05-15 00:15:55 +08:00
mfkvfhpdx
4760752e70 在调度器里面的任务之前,增加月卡处理,解决4点如果未进入任务会卡住的问题。增加了日志分析小怪详细。解决日志分析兜底结束日期不生效的问题。 (#1433)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

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

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

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

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

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

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

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

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

* 去除了未使用的引用

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

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

* 调整暂停拾取方法

* 调整个日志输出

* 路径追踪复苏时,暂停拾取
2025-04-26 21:47:57 +08:00
秋云
ffd7cfabbc feat: js 通知支持 (#1376)
* feat: js 通知支持

* feat: 添加全局或者在配置组中单独禁用js的通知功能
2025-04-02 21:40:14 +08:00
辉鸭蛋
f7e7320461 #1366 2025-03-30 13:26:07 +08:00
Feiran Zhang
470eb364db 通过调度器启动时,添加sleep防止闪退 (#1366)
发现通过调度器直接原神启动时,进入主界面前有概率闪退,可能是while (true)里的截图太频繁导致,添加sleep后测试该问题已解决
2025-03-30 13:23:57 +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
辉鸭蛋
4c820d09c5 replace: 路径追踪 -> 地图追踪 2025-03-08 20:56:36 +08:00
Takaranoao
90590b68b8 给配置组增加执行shell的功能,可以调用外部程序实现复杂调度 2025-03-07 16:39:21 +08:00
辉鸭蛋
92516c26d2 支持配置要通知的事件 2025-02-04 17:11:53 +08:00
辉鸭蛋
1efd8d9454 重构通知模块 2025-02-03 15:02:25 +08:00
辉鸭蛋
f19ee557b2 Merge branch 'main' into webhook 2025-01-27 13:57:23 +08:00
辉鸭蛋
e30e919539 fix NullReferenceException #1063 2025-01-27 08:14:23 +08:00
mfkvfhpdx
8c45a02deb 调整日志分析一些字段为0时显示为空,增加了异常情况统计(复活、重试、传送失败、战斗超时)。 (#1056)
* 调整日志分析一些字段为0时显示为空,增加了异常情况统计(复活、重试、传送失败、战斗超时)。

* 修正一个赋值错误

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

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

* 删除不必要的输出

* 调度器任务,增加 任务倒序排列功能。调度器配置增加“不在某时执行”,当执行完一个路线后,如果时间为当前配置的时间(范围:0-23),则此路径追踪任务后续都将都跳过,适用于连续执行的兜底任务,例如想通宵挂机,并且在4点后,开始执行新的任务。
2025-01-26 11:17:19 +08:00
辉鸭蛋
b639b1902e fix solo task run 2025-01-25 23:36:24 +08:00
Scarlet
cb84ae36d0 feat: integrate send() method into notification to allow for shorter call 2025-01-22 12:34:42 -06:00
Scarlet
2181e74a30 feat: unify factories; allow creating from actual params to instantiate a builder 2025-01-21 23:42:31 -06:00
Scarlet
50513613de feature: notification-based webhook 2025-01-21 22:22:27 -06:00
秋云
1538445990 把原本删除的INF级别时间显示回复,并改为DBG级别。 2025-01-16 10:16:43 +08:00
秋云
55b2b48e43 修改日志中时间的时间显示格式。 2025-01-16 08:16:39 +08:00
辉鸭蛋
2396daf206 #767 2024-12-29 18:07:00 +08:00
辉鸭蛋
df600c6016 start game when start one dragon 2024-12-22 20:52:39 +08:00
辉鸭蛋
3d6546b528 time consuming of calculation script 2024-11-01 00:07:11 +08:00
辉鸭蛋
98d2664c28 auto pathing: use group config & fix bug 2024-10-27 00:51:10 +08:00
辉鸭蛋
8d2b36d5fd refactor: script run 2024-09-10 23:27:04 +08:00
辉鸭蛋
cb53c74c6c log opt 2024-09-09 22:55:52 +08:00
辉鸭蛋
4e6190ac7b fixed #598 2024-09-09 22:42:35 +08:00
辉鸭蛋
a06f0fcdb2 auto pathing: fix not releasing the mouse and keyboard when stopping tasks
更新日志和黑名单

移除 `PathExecutor.cs` 中的无用引用,重构 `Pathing` 方法,添加 `InitializePathing` 和 `ConvertWaypoints` 方法,提取传送点处理逻辑到 `HandleTeleportWaypoint` 方法。修改 `TpTask.cs` 中的日志格式为浮点数格式。将 `TaskRunner.cs` 中的 `FireAndForgetAsync` 方法重命名为 `RunThreadAsync`,并在 `ScriptService.cs` 中相应替换调用。为 `DpiHelper.cs` 中的 `ScaleY` 属性添加注释。更新 `pick_black_lists.json`,添加新的黑名单项 `"摆放巧像"`。在 `MapPathingViewModel.cs` 中添加 `_mapViewer` 字段,并在 `OnOpenMapViewer` 方法中使用。
2024-09-09 21:57:48 +08:00
辉鸭蛋
220d6a4f9b fix multi thread ui bug & rotate with dpi
优化 DPI 处理和异步任务执行

在 `PathExecutor.cs` 中,添加了对 `BetterGenshinImpact.Helpers` 的引用,并引入了 `DpiHelper` 来调整 `_dpi` 变量。
在 `PathExecutor` 类中,添加了 `_dpi` 变量,并在 `Pathing` 方法中初始化 `_dpi` 为 `DpiHelper.ScaleY`。
修改了 `RotateTo` 方法的 `controlRatio` 参数类型,从 `int` 改为 `double`,并在调用 `Simulation.SendInput.Mouse.MoveMouseBy` 时乘以 `_dpi` 进行 DPI 缩放。
在 `TaskRunner.cs` 中,添加了 `FireAndForgetAsync` 方法,用于异步执行任务。
在 `ScriptService.cs` 中,添加了对 `BetterGenshinImpact.Helpers` 的引用。
修改了 `ScriptService` 类中调用 `TaskRunner` 的方式,从 `RunAsync` 改为 `FireAndForgetAsync`。
在 `ScriptControlViewModel.cs` 中,简化了调用 `_scriptService.RunMulti` 的方式,去掉了多余的 `Task.Run` 包装。
2024-09-09 00:44:24 +08:00
辉鸭蛋
c37c43ce92 dispatcher supprot pathing script
调度器支持路径追踪功能及多项代码优化

在 `ScriptGroupProject.cs` 中:
- 添加对多个命名空间的引用。
- 修改构造函数,增加 `folder` 和 `type` 参数,删除 `kmName` 参数。
- 添加 `BuildKeyMouseProject` 和 `BuildPathingProject` 静态方法。
- 在 `Run` 方法中增加 `Pathing` 类型处理逻辑。
- 在 `ScriptGroupProjectExtensions` 中增加 `Pathing` 类型描述。

在 `PathingTask.cs` 中:
- 添加 `FileName` 属性,并在 `BuildFromFilePath` 方法中设置。

在 `Navigation.cs` 中:
- 将 `Navigation` 类改为 `public`。
- 添加 `_isWarmUp` 静态字段,防止重复加载地图特征点。
- 将 `GetPosition`、`GetTargetOrientation` 和 `GetDistance` 方法改为 `public`。

在 `GameTaskManager.cs` 中:
- 在 `AddTrigger` 方法中添加注释,指出清理 `TriggerDictionary` 的问题。

在 `ScriptService.cs` 中:
- 在 `RunMulti` 方法中增加 `hasTimer` 变量,并在处理 `Pathing` 类型时设置。
- 修改 `RunMulti` 方法逻辑,确保无定时操作时检查 JS 脚本。
- 在 `Run` 方法中增加 `Pathing` 类型处理逻辑。

在 `MapPathingPage.xaml` 中:
- 注释掉第四列定义和相关 `Grid` 元素。
- 修改 `ListView` 中 `GridViewColumn` 的 `DisplayMemberBinding`。

在 `ScriptControlPage.xaml` 中:
- 在 `ContextMenu` 中添加新的 `MenuItem`,用于添加路径追踪任务。

在 `PromptDialog.xaml.cs` 中:
- 添加新的 `Prompt` 方法,允许指定对话框大小。
- 修改 `ResponseText` 属性逻辑,增加默认返回值。

在 `MapPathingViewModel.cs` 中:
- 调整 `using` 语句顺序,删除重复引用。

在 `ScriptControlViewModel.cs` 中:
- 修改 `OnAddKmScript` 方法,使用 `BuildKeyMouseProject` 方法创建键鼠脚本项目。
- 添加 `OnAddPathing` 方法及其辅助方法,用于添加路径追踪任务。
- 在 `RunSelectedScriptGroup` 方法中,将脚本运行逻辑放入 `Task.Run` 中,避免阻塞 UI 线程。
2024-09-08 23:17:48 +08:00
辉鸭蛋
461b0b00d1 add JS script dynamic settings 2024-08-24 02:13:46 +08:00
辉鸭蛋
b62e4a7425 add script group editor 2024-08-18 21:41:12 +08:00
辉鸭蛋
6812f30732 optimize script execution 2024-08-17 18:00:03 +08:00