Giter Club home page Giter Club logo

babalae / better-genshin-impact Goto Github PK

View Code? Open in Web Editor NEW
3.4K 18.0 234.0 150.08 MB

📦BetterGI · 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 - UI Automation Testing Tools For Genshin Impact

Home Page: https://bgi.huiyadan.com/

License: GNU General Public License v3.0

C# 99.71% Batchfile 0.29%
auto-fish automatic genius-invokation-tcg genshin genshin-impact auto-skip

better-genshin-impact's People

Contributors

atiasn avatar emako avatar genggode avatar goldenapple1 avatar haokaiyang avatar hllshiro avatar huiyadanli avatar lightczx avatar mr-quin avatar qhy040404 avatar qiuyue0 avatar vinkle-hzt avatar womsxd avatar wwbweibo avatar wy3057 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

better-genshin-impact's Issues

如何设计一个优雅的坐标系转换类

如何优雅的设计一个(N个)类用于二维坐标(x,y)转换,要求实际使用时候简单、美观且语义化
使用这个类的代码能够直观的看出是从哪个坐标转换到目标坐标。

可能有相对以下内容的坐标值,相邻的offset都是已知且动态的

  1. 桌面
  2. 窗口内
  3. 窗口内的某个区域的相对坐标

最终会有用的转换目标坐标:

  1. 桌面坐标,转换为虚拟桌面坐标0~65535,用于鼠标点击
  2. 窗口内坐标,用于矩形绘图展示

额外:
矩形中心点到矩形左上角点的转换
OpenCv点、矩形类到WPF点、矩形类的转换

用于替换下列代码:

p2 = p2.ToDesktopPositionOffset65535(grayMat.Width - grayMat.Width / 2,
grayMat.Height - grayMat.Height / 3 * 2);
new InputSimulator().Mouse.MoveMouseTo(p2.X, p2.Y).LeftButtonClick();

钓鱼框识别还是有问题

100%钓不上来,不是手动提竿导致的问题

  1. 有时会出现识别“鱼儿上钩啦!” 导致完全不识别正确的钓鱼框
    自动钓鱼1

  2. 有时候会出现 钓鱼标 完全出框的情况,然后一直僵持在那里,最后失败
    自动钓鱼2

七圣召唤优化 二期

前情提要:#14

可选优化点

  • 优化骰子数量识别成功率(是否要改成笨方法:模板匹配)
  • 角色出战仍有可能识别失败(还是OCR的识别率问题),是否要补充一个模板匹配的识别。(三种识别方式总有一种能成功吧!)
  • 骰子识别率问题,右上角的岩元素骰子老是被识别错

掌机上的问题

能夠在1280×800/128×720上用吗???steam deck的屏幕只有这样高

[bug] Requested value '< None >' was not found

设置快捷键后再删除,配置文件中会记录为" < none > "而不是默认的"",导致程序异常。
遇到后可通过手动删除配置文件下的快捷键配置,重启软件即可。

"hotKeyConfig": {
    "autoPickEnabledHotkey": "",
    "autoSkipEnabledHotkey": "",
    "autoFishingEnabledHotkey": "",
    "turnAroundHotkey": "",
    "enhanceArtifactHotkey": "",
    "autoGeniusInvokation": ""
}

看了下代码,HotKey.cs相关接口可以修改,或者是UI层处理都可以。

自动剧情会导致在提交每日委托时凯瑟琳对话自动点其他选项

还有一些枫丹调咖啡要选正确选项时会选择到不正确的选项。
PS:基本上做每日大部分都要关掉。。
快速强化圣遗物在1600:900分辨率下也有点异常,没成功而且没停止按钮。
希望多点自动战斗的功能
希望能够在地图上标出想要的素材的位置,米游社大地图那种

0.15.0使用的BUG

1.在黑名单中明确有“菲米尼”的名字,但是在使用时,依旧会自动与菲米尼进行对话
微信截图_20231123220711
2.新活动“主板调试”字样,无论是添加到白名单还是黑名单都会自动对话。
添加字样以后,软件“启动”界面内进行“关闭”,再“启动”(没有关闭软件,不知道是不是因为这个导致没有加载配置)

自动寻路,做任务

自动寻路做任务:打开任务界面,选择第一个任务,关闭任务界面,打开地图,选择任务点最近传送锚点,传送,按V键,跟随界面上的黄色箭头(旋转界面,识别的黄色箭头就停止),直线前进,找到目标点,要么对话,要么对战,一直重复上述步骤。

自动剧情会导致在提交每日委托时凯瑟琳对话自动点其他选项

还有一些枫丹调咖啡要选正确选项时会选择到不正确的选项。
PS:基本上做每日大部分都要关掉。。
快速强化圣遗物在1600:900分辨率下也有点异常,没成功而且没停止按钮。
希望多点自动战斗的功能
希望能够在地图上标出想要的素材的位置,米游社大地图那种

自动邀约任务

能不能出个自动邀约任务的按钮啊,邀约和普通任务的按钮不一样,没法点,能否出个点邀约框的功能,如果能判别有没有✔就更好了

拾取按键更改

希望可以添加一个更改默认拾取F键为其他自定义按键的功能

提个建议

在没有点开始图像捕获的时候,不进行自动强化圣遗物和转圈圈的相应,方便使用的时候有其他操作不会占用快捷键

自动剧情会导致在提交每日委托时凯瑟琳对话自动点其他选项

还有一些枫丹调咖啡要选正确选项时会选择到不正确的选项。
PS:基本上做每日大部分都要关掉。。
快速强化圣遗物在1600:900分辨率下也有点异常,没成功而且没停止按钮。
希望多点自动战斗的功能
希望能够在地图上标出想要的素材的位置,米游社大地图那种

(疑似)高延迟环境下快速强化圣遗物功能无法正常运作

感谢大佬的工具,发现宝藏了!
我是国服和美服双修,在两个服都用了一下,发现了这个问题。网络环境美服延迟30-40ms,国服220-240ms。
美服的可以正常使用,国服则不能正常使用。表现症状为按下F4后,迅速进行了菜单点击切换,但之后仍然跳出了强化成功的窗口。因为平时也经常手动这样操作,只有在强化成功窗口弹出前一小段时间内切换才能卡掉这个窗口,如果过早切换菜单则卡不掉。所以我认为应该是切换菜单的操作过快,而延迟较高窗口弹出的时间较晚,导致该功能无法成功。不知道是否可以增加一个慢速模式,或者更好的是在按下强化按钮和开始切换菜单之间,添加一个自定义等待时间,让使用者可以自行调整来适应高ping环境?
转圈、钓鱼、自动剧情和拾取目前测试下来都没有问题,拾取因为延迟高所以没有办法捡很快,但这个也没办法只能如此。

另外大佬不知道有没有计划做手柄的适配?平时用手柄玩比较多,希望也可以增加手柄操作界面的适配。

【BUG】七圣召唤0.14.1相关问题

建议:
1.添加刷新目录识别功能,添加卡组策略后可以按钮刷新,而不需要关掉重开
2.添加暂停功能,允许期间手动操作,然后继续

BUG:
1.骰子识别不正确(大概率事件)
image
image
不知道识别的是哪个点?左侧和右侧都有骰子数,经常数量识别错误

2.对方操作期间造成我方角色便当后,无法识别并选择新角色,卡住 =》好像老版本我记得行的啊?

3.卡组:刻晴雷神甘雨卡组 不知道为什么,总是前几个回合就直接点雷神大招了,但是没充能

4.左上角可以识别对方状态、结束回合等?现在好像是识别中间按钮?等待时间的问题
image
=》大量的 等待对方回合中
image

其他:
1.在6500CPU中,0.13版本 自动拾取如果在黑名单内的,会一直识别造成严重卡顿(新版本未测呢)=》较差的硬件环境
2.希望自动播放剧情不要以左上角自动为依据(或添加设置为非自动时,也能自动播放剧情)
3.日志窗口好像不能移动了?齐声召唤界面都不咋看得清了,或者可以加上背景磨砂么?
4.我的快捷键设置每次重开不知道为什么不保存
5.能添加截图模式启动对原神进程的识别,可以自动对关掉进程和重新打开进程自动的启用和关闭(添加个按钮?)而不需要手动点

我最实用的还是七圣召唤,但是即使用群里的策略,还是打每周胜率一半一半,卡死率需手动也一半一半

优化一下圣遗物强化功能

在使用圣遗物强化功能时,长按功能键会导致操作过快,再次按相应功能键无法停止,希望可以优化一下或者改成点按开关形式的逻辑

后续版本计划(0.14~)

P1

  • 适配老的 Vision.WindowCapture 并作为第四个捕获选项
  • 使用 Fischless.KeyboardCapture 或者 Fischless.HotkeyCapture 替换现有热键库
  • 重写启动页UI:可以配置实时任务延时间间隔
  • 重写启动页UI:文字引导
  • 重写启动页UI:启动停止快捷键
  • 云原神测试
  • 七圣召唤优化
  • 自动重新派遣优先级可配置化

P2

  • 重写启动页UI:启动时同时启动原神进程

[bug?] 内存使用异常

  1. 我使用的是最新版本软件的提竿,但我发现从我第一次下饵,鱼咬钩之后我的电脑内存使用率就开始显著增加,到了95%左右游戏已经开始掉帧。于是我打开任务管理器,发现我钓到鱼之后这个软件的识别功能好像还开着并且内存申请的速度很快,在1G/s左右,我钓上两三条鱼之后内存就能到11000MB左右的占用

image
上图是钓上两条花鳉之后的内存占用,如果这个提竿的时间花费更多很容易就会到我说的11000MB内存占用

可能帮助到你的信息:目前我是两块1440p的屏幕,不知道这个会不会对图像识别有影响

  1. 还有一个也不清楚是不是bug,在启动识别之后快捷键会变成下图这样:
    image

几个使用bug

  • 自动钓鱼在钓鱼中关闭(好像是预抛竿)会继续后面的流程,并不会立即停止
  • 周本/世界boss征讨之花会误判为自动拾取
  • 到钓鱼点的时候会误判为自动拾取打开界面
  • 部分文本识别错误

image

单例模式和系统托盘

各位大佬好呀,这里是两个建议,单例模式和系统托盘

  1. 多次打开BetterGI.exe会出现多个BetterGI的窗口,其实可以在第二次打开BetterGi.exe,让BetterGI窗口跳出来
  2. 允许BetterGI在后台运行,点击关闭后可以隐藏到系统托盘,以免不小心点击了关闭按钮,BetterGI退出了

不知大佬意见如何?

自动钓鱼鱼饵选择建议

自动钓鱼能不能添加一个配置项配置只选择某一种鱼饵,到钓鱼点的时候老乱选鱼饵(或者是我没用明白,wiki好像也没钓鱼的逻辑)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.