Commit Graph

138 Commits

Author SHA1 Message Date
辉鸭蛋
c160923795 修复飞行过程中CPU飙升的问题 2025-04-11 00:23:16 +08:00
辉鸭蛋
b72024de04 fix 其他界面关闭后没有延时,以及大地图界面不应该被关闭的问题 2025-04-04 14:36:52 +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
辉鸭蛋
f23975f04c 地图追踪:没有按下前进键时,按下前进键 2025-04-02 00:43:25 +08:00
秋云
5a8f38e121 feat: new action exit and relogin and 5.5 fix. (#1349)
* feat: new action exit and relogin and 5.5 fix.

* fix: confirm exit button.
2025-03-26 16:39:09 +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
秋云
22fe431880 feat: add action_params(StopFlyingWaitTime) to stop_flying (#1277)
* feat: add action_params(StopFlyingWaitTime) to stop_flying;
fix: ensure next step only proceeds after stop_flying.

* add StopFlyingHandler

* use int.TryParse

---------

Co-authored-by: 辉鸭蛋 <huiyadanli@gmail.com>
2025-03-14 00:15:17 +08:00
辉鸭蛋
4c820d09c5 replace: 路径追踪 -> 地图追踪 2025-03-08 20:56:36 +08:00
辉鸭蛋
f9c4298fac 修复火元素采集不生效的问题 2025-03-01 22:18:47 +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
mfkvfhpdx
91a0e771b9 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。 (#1185)
* 修改调度器任务和部分独立任务失去焦点时,强制切换回游戏窗口,如果用常规的方式无法激活窗口,则第10次会尝试最小化所有窗口后激活游戏。

* 去除未引入的类引用

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

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

* 把失焦激活放入了设置-通用设置-其他设置中,默认关闭。暂停恢复时,重置移动的起始时间,防止因暂停而导致超时放弃任务。
2025-02-25 00:01:33 +08:00
辉鸭蛋
7efcf02051 修改 切换队伍前强制前往安全的神像区域 的默认配置 2025-02-24 00:08:10 +08:00
辉鸭蛋
2b233b7e8e pathing: 延长回到神像回血的时间 #1213 2025-02-23 23:45:45 +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
辉鸭蛋
82eaa86121 异常场景处理添加 遇到 x 按钮时候 按下esc 2025-02-23 20:38:34 +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
辉鸭蛋
51216d6b84 pathing: auto skip config3 2025-02-09 15:16:22 +08:00
辉鸭蛋
eeecb5b44f pathing: auto skip config2 2025-02-04 21:48:25 +08:00
辉鸭蛋
75449f8ced pathing: auto skip config 2025-02-04 20:46:14 +08:00
辉鸭蛋
1eee073adb 1. 修正 Orientation 大写的问题
2. 美化了是否作为 target 点位接近的
2025-02-01 18:11:51 +08:00
Yang-z
90b8a37389 auto pathing: add Orientation to WaypointType 2025-01-31 22:19:02 +08:00
Yang-z
547a56b932 auto pathing: reduce the startup time of MoveCloseTo 2025-01-31 18:03:48 +08:00
辉鸭蛋
8cffb01f0a fix method confusion 2025-01-29 17:44:38 +08:00
辉鸭蛋
67df9f298a if it is a target waypoint type, it will continue to approach the target after a falling attack
如果是target路径点类型,下落攻击后会继续靠近目标
2025-01-29 15:03:37 +08:00
辉鸭蛋
a5e1478ecf revert & dash 2025-01-24 19:48:45 +08:00
辉鸭蛋
a36f938e8a Merge pull request #1025 from mfkvfhpdx/main
路径追踪增加增加  允许在jsScript脚本中启用此路径追踪配置、覆盖JS中的自动战斗配置 。
2025-01-18 15:06:58 +08:00
辉鸭蛋
5a7721c534 Merge pull request #1022 from physligl/main
修复传送时遇到的部分问题
2025-01-18 15:06:49 +08:00
辉鸭蛋
ba3f97c63f pathing: run -> dash
持续跑动改成多次冲刺
2025-01-18 11:16:12 +08:00
zjl
f14c61145f 重试时战斗策略不跳过 2025-01-18 09:15:41 +08:00
辉鸭蛋
daf6525172 pathing opt
stop_flying下落后都会有个类似target逼近的过程,path类型节点可以取消这个表现
2025-01-18 01:13:28 +08:00
秋云
89e00207cb 优化传送到七天神像回血的体验。 2025-01-17 03:27:58 +08:00
辉鸭蛋
8666c931d9 auto path opt
1. 超时直接放弃路径点
2. 所有时间都现取现用
2025-01-12 22:55:51 +08:00
mfkvfhpdx
64feced367 Merge branch 'babalae:main' into main 2025-01-11 22:43:53 +08:00
秋云
1f70cfb364 Merge branch 'main' of https://github.com/physligl/better-genshin-impact 2025-01-11 01:58:30 +08:00
秋云
5f18901e22 添加路径追踪中输出日志的功能。 2025-01-11 01:58:23 +08:00
mfkvfhpdx
ebd8031f2c Merge branch 'main' into main 2025-01-10 10:29:53 +08:00
辉鸭蛋
cd3713175a auto pathing: don't get close during the battle.
战斗时不需要接近点位
2025-01-09 23:49:49 +08:00
辉鸭蛋
3f2a3b118a auto pathing: add auto run config
并且枫丹合成台不自动跑步
2025-01-09 23:41:53 +08:00
mfkvfhpdx
a9d8659be7 界面去除了偏色调整,战斗识别颜色调整为范围白和范围黄。当万叶技能cd大于3秒或当前一人次就结束了战斗(基本为没有怪物情况),则跳过此次万叶也拾取。未知界面检查,支持暂停情况。 2025-01-09 19:25:42 +08:00
辉鸭蛋
30827b2ff4 fix conflicts 2025-01-07 00:14:39 +08:00
辉鸭蛋
9f46fb00be Merge branch 'main' into main 2025-01-07 00:12:41 +08:00
Ayu0K
be98f10851 mod: 修改按键方式 2025-01-06 22:55:08 +08:00
Ayu0K
f78d7bfcec mod: 修改PathExecutor发送虚拟按键的方式 2025-01-06 22:55:08 +08:00
zjl
1f6e3b78a5 去掉异常处理中的派蒙检查,对于战斗脚本,结束后会误触发 2025-01-05 15:08:50 +08:00
zjl
e8b939fbee 未知界面检查常驻于pathing中,去除了该可配置项,以支持js中的路径追踪。pathing逻辑用try块包了起来,最后finally保证,额外开启的线程必定关闭。异常界面检查,当不存在派蒙时尝试按ESC(即使判断错误,也会由未知界面检查,关闭该弹出)。 2025-01-05 14:57:32 +08:00
zjl
3174dc75c8 删除了错误的注释 2025-01-03 20:51:25 +08:00
zjl
57953933d3 由于地图关闭按钮和烹饪关闭按钮一样,无法作为通用判断,所以依旧使用单个界面检查,调整了检查烹饪的图片范围,增加了按ESC出uid的那个界面也会ESC返回,未知界面检查默认开启。 2025-01-03 20:13:51 +08:00
zjl
b52af1e9a7 把检查移入pathing中,对烹饪做了二次判断,第一可能会在战斗时,误判 2025-01-01 22:15:53 +08:00