Coder Social home page Coder Social logo

arkmowers / arknights-mower Goto Github PK

View Code? Open in Web Editor NEW
472.0 3.0 50.0 688.76 MB

《明日方舟》长草助手

Home Page: https://arkmowers.github.io/arknights-mower/

License: MIT License

Python 88.60% HTML 0.59% JavaScript 2.24% Vue 8.56%
arknights

arknights-mower's Introduction

arknights-mower

GitHub License GitHub last commit (branch) GitHub Workflow Status download qq_guild

Mower 是为长期运行设计的、开源的明日方舟脚本。

功能介绍

  • 基建:跑单、按心情动态换班;
  • 森空岛:签到、仓库读取;
  • 日常:公招、邮件、线索、清理智;
  • 大型任务:生息演算、隐秘战线;
  • 签到:五周年月卡、限定池每日一抽、矿区、孤星领箱子、端午签到……
  • 调用 maa:肉鸽、保全。

界面截图

log settings plan-editor riic-report

下载与安装

Mower 支持 Windows、macOS 与 Linux 平台。Windows 用户推荐从 mower 下载站下载运行;macOS 与 Linux 用户请参考《从源码运行 arknights-mower》。

初次使用,建议阅读《Mower 简明教程》。

提出建议、反馈 Bug 或交流基建知识,欢迎加入 QQ 频道 ArkMower(频道号:2r118jwue4)。

arknights-mower's People

Contributors

anyk00 avatar bidgecfah avatar biologyhazard avatar eightydollars avatar fuyn101 avatar jiangfeiyang avatar konano avatar ks-luow avatar lethefrost avatar lingweimeng avatar putinspudding avatar rebelice avatar shawnsdaddy avatar snow-dash avatar yuanyan3060 avatar yuith avatar zhaozuohong avatar zhuaoshuai13 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

arknights-mower's Issues

基建干员轮班制 1.0

先是全部干员集体下岗,然后再根据默认心情的排序,选出前 1/2/3/5 个干员入驻。

参数配置问题

需要支持自定义的参数

也许可以通过在命令行模式下新加 -c config 来实现引用 .ini 文件

基建换班:控制中枢

如题,我好像没有在配置文件里看到这个,现在支持吗?不支持的话有这个计划吗?谢谢!

为什么 pip 下载时下载了多个版本

有点不对劲,为啥会下载历史版本呢?

  • pip 21.2.4
  • Python 3.10.0
  • Windows 10
❯ pip install arknights-mower
Collecting arknights-mower
  Downloading arknights_mower-1.3.9-py3-none-any.whl (14.1 MB)
     |████████████████████████████████| 14.1 MB 344 kB/s
  Downloading arknights_mower-1.3.8-py3-none-any.whl (14.1 MB)
     |████████████████████████████████| 14.1 MB 1.1 MB/s
  Downloading arknights_mower-1.3.7-py3-none-any.whl (14.1 MB)
     |████████████████████████████████| 14.1 MB 726 kB/s
  Downloading arknights_mower-1.3.6-py3-none-any.whl (14.1 MB)
     |████████████████████████████████| 14.1 MB 1.6 MB/s
  Downloading arknights_mower-1.3.4-py3-none-any.whl (14.1 MB)
     |██████████████▌                 | 6.4 MB 2.2 MB/s eta 0:00:04

分辨率适配测试

可能出现的几种分辨率:

  • 1080 x 2400
  • 1080 x 2340
  • 1080 x 2280
  • 1080 x 2160
  • 1080 x 1920
  • 1080 x 1440

自动化作战策略 2.0

可指定任意主线关卡来清体力,不单单是上次玩过的关卡

需要 OCR 来识别选关界面

战斗结算页面持续错误识别为Scene: 9998: 场景跳转时的等待界面

image
Ctrl+C后,位置如下:

Traceback (most recent call last):
File "/root/miniconda3/lib/python3.9/runpy.py", line 197, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/root/miniconda3/lib/python3.9/runpy.py", line 87, in _run_code
exec(code, run_globals)
File "/mnt/c/Users/Yui/Developer/arknights-mower/arknights_mower/main.py", line 273, in
main()
File "/mnt/c/Users/Yui/Developer/arknights-mower/arknights_mower/main.py", line 265, in main
target_cmd(args[1:])
File "/mnt/c/Users/Yui/Developer/arknights-mower/arknights_mower/main.py", line 169, in operation
OpeSolver().run(times, potion, originite, level, plan, eliminate)
File "/mnt/c/Users/Yui/Developer/arknights-mower/arknights_mower/solvers/operation.py", line 197, in run
self.sleep(3)
File "/mnt/c/Users/Yui/Developer/arknights-mower/arknights_mower/utils/solver.py", line 41, in sleep
time.sleep(interval)
KeyboardInterrupt

由于9998其实就是纯黑页面,怀疑adb没有正确返回截图导致该问题。但是:

  1. Ctrl+C重启任务后该问题消失
  2. Nox模拟器截图功能正常(不确定是不是用的adb)

所以原因还需要进一步探索。

基建换班无法识别新干员

好像耶拉的数据没加,其他的新干员我没有,估计也不行。
WARNING - 599 - agent - 干员名称识别异常:耶拉 为不存在的数据,请报告至 https://github.com/Konano/arknights-mower/issues
以及为啥在选干员界面不断左右划啊?如果是为了识别更精确的话一点点想一个方向滑动可以吗?这样的话看起来比较直观……

基建无限循环

如题,当我在基建主界面(无待办事项,如干员信赖之类的)执行base指令时(比如进行无人机加速),程序会无限循环,画面上是不断在会客室和基建主界面之间来回跳。如果基建有待办则没问题。使用的是刚从github上拉下来的版本,不过测试了一下realease1.3.9也有这个问题。以下是一个循环的日志。模拟器分辨率1080x2340

2021-12-24 18:47:06,200 - INFO - 155 - get_scene - Scene: 201: 基建全局视角
2021-12-24 18:47:06,200 - DEBUG - 162 - find - find control_central
2021-12-24 18:47:06,200 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/control_central.png
2021-12-24 18:47:06,273 - DEBUG - 145 - score - square is not rectangle: [[52, 918], [126, 1042], [118, 1004], [46, 417]]
2021-12-24 18:47:06,273 - DEBUG - 270 - send_keyevent - keyevent: 4
2021-12-24 18:47:06,273 - DEBUG - 14 - __init__ - server=('127.0.0.1', 5037), timeout=5
2021-12-24 18:47:06,273 - DEBUG - 227 - __check_server_alive - ADB server version 41
2021-12-24 18:47:06,274 - DEBUG - 14 - __init__ - server=('127.0.0.1', 5037), timeout=5
2021-12-24 18:47:06,862 - DEBUG - 243 - run - command: input keyevent 4
2021-12-24 18:47:06,862 - DEBUG - 244 - run - output: b''
2021-12-24 18:47:07,864 - DEBUG - 14 - __init__ - server=('127.0.0.1', 5037), timeout=5
2021-12-24 18:47:07,864 - DEBUG - 227 - __check_server_alive - ADB server version 41
2021-12-24 18:47:07,865 - DEBUG - 14 - __init__ - server=('127.0.0.1', 5037), timeout=5
2021-12-24 18:47:08,934 - DEBUG - 53 - __init__ - Matcher init: shape ((1080, 2340))
2021-12-24 18:47:08,934 - DEBUG - 162 - find - find index_nav
2021-12-24 18:47:08,934 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/index_nav.png
2021-12-24 18:47:08,943 - DEBUG - 53 - __init__ - Matcher init: shape ((108, 685))
2021-12-24 18:47:08,949 - DEBUG - 110 - score - not enough good matches are found: 0 / 164 / 0.0
2021-12-24 18:47:08,949 - DEBUG - 162 - find - find nav_index
2021-12-24 18:47:08,949 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/nav_index.png
2021-12-24 18:47:09,025 - DEBUG - 110 - score - not enough good matches are found: 4 / 188 / 0.02127659574468085
2021-12-24 18:47:09,025 - DEBUG - 162 - find - find materiel_ico
2021-12-24 18:47:09,026 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/materiel_ico.png
2021-12-24 18:47:09,076 - DEBUG - 110 - score - not enough good matches are found: 1 / 119 / 0.008403361344537815
2021-12-24 18:47:09,077 - DEBUG - 162 - find - find read_mail
2021-12-24 18:47:09,077 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/read_mail.png
2021-12-24 18:47:09,208 - DEBUG - 145 - score - square is not rectangle: [[1963, 246], [2270, 325], [1684, 209], [1360, 151]]
2021-12-24 18:47:09,208 - DEBUG - 162 - find - find loading
2021-12-24 18:47:09,208 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/loading.png
2021-12-24 18:47:09,399 - DEBUG - 110 - score - not enough good matches are found: 1 / 413 / 0.002421307506053269
2021-12-24 18:47:09,399 - DEBUG - 162 - find - find loading2
2021-12-24 18:47:09,399 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/loading2.png
2021-12-24 18:47:09,789 - DEBUG - 145 - score - square is not rectangle: [[275, 180], [258, 180], [269, 180], [336, 183]]
2021-12-24 18:47:09,789 - DEBUG - 162 - find - find loading3
2021-12-24 18:47:09,789 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/loading3.png
2021-12-24 18:47:09,815 - DEBUG - 110 - score - not enough good matches are found: 1 / 66 / 0.015151515151515152
2021-12-24 18:47:09,815 - DEBUG - 162 - find - find loading4
2021-12-24 18:47:09,816 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/loading4.png
2021-12-24 18:47:09,848 - DEBUG - 110 - score - not enough good matches are found: 4 / 77 / 0.05194805194805195
2021-12-24 18:47:09,849 - DEBUG - 162 - find - find ope_plan
2021-12-24 18:47:09,849 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_plan.png
2021-12-24 18:47:09,885 - DEBUG - 110 - score - not enough good matches are found: 0 / 85 / 0.0
2021-12-24 18:47:09,885 - DEBUG - 162 - find - find ope_select_start
2021-12-24 18:47:09,885 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_select_start.png
2021-12-24 18:47:10,002 - DEBUG - 110 - score - not enough good matches are found: 2 / 310 / 0.0064516129032258064
2021-12-24 18:47:10,003 - DEBUG - 162 - find - find ope_agency_going
2021-12-24 18:47:10,003 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_agency_going.png
2021-12-24 18:47:10,082 - DEBUG - 145 - score - square is not rectangle: [[1408, 159], [1445, 160], [1403, 159], [1431, 160]]
2021-12-24 18:47:10,082 - DEBUG - 162 - find - find ope_elimi_finished
2021-12-24 18:47:10,082 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_elimi_finished.png
2021-12-24 18:47:10,129 - DEBUG - 110 - score - not enough good matches are found: 2 / 114 / 0.017543859649122806
2021-12-24 18:47:10,130 - DEBUG - 162 - find - find ope_finish
2021-12-24 18:47:10,130 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_finish.png
2021-12-24 18:47:10,255 - DEBUG - 145 - score - square is not rectangle: [[1183, 134], [1734, 115], [-1458, 68], [1420, 133]]
2021-12-24 18:47:10,255 - DEBUG - 162 - find - find ope_recover_potion_on
2021-12-24 18:47:10,256 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_recover_potion_on.png
2021-12-24 18:47:10,358 - DEBUG - 110 - score - not enough good matches are found: 1 / 269 / 0.0037174721189591076
2021-12-24 18:47:10,358 - DEBUG - 162 - find - find ope_recover_originite_on
2021-12-24 18:47:10,358 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_recover_originite_on.png
2021-12-24 18:47:10,499 - DEBUG - 110 - score - not enough good matches are found: 0 / 377 / 0.0
2021-12-24 18:47:10,499 - DEBUG - 162 - find - find double_confirm
2021-12-24 18:47:10,499 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/double_confirm.png
2021-12-24 18:47:10,592 - DEBUG - 110 - score - not enough good matches are found: 0 / 242 / 0.0
2021-12-24 18:47:10,593 - DEBUG - 162 - find - find ope_firstdrop
2021-12-24 18:47:10,593 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_firstdrop.png
2021-12-24 18:47:10,686 - DEBUG - 60 - match - match fail: (0.03398058252427184, 0.0, -0.125, 0.09449509751435009)
2021-12-24 18:47:10,686 - DEBUG - 162 - find - find ope_eliminate
2021-12-24 18:47:10,686 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_eliminate.png
2021-12-24 18:47:10,785 - DEBUG - 60 - match - match fail: (0.04891304347826087, 0.17179109964026026, 0.28125, 0.4608905173198771)
2021-12-24 18:47:10,785 - DEBUG - 162 - find - find ope_giveup
2021-12-24 18:47:10,785 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/ope_giveup.png
2021-12-24 18:47:10,917 - DEBUG - 145 - score - square is not rectangle: [[1895, 254], [1490, 159], [2318, 229], [36988, 9309]]
2021-12-24 18:47:10,917 - DEBUG - 162 - find - find friend_list_on
2021-12-24 18:47:10,917 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/friend_list_on.png
2021-12-24 18:47:10,927 - DEBUG - 110 - score - not enough good matches are found: 0 / 17 / 0.0
2021-12-24 18:47:10,927 - DEBUG - 162 - find - find credit_visiting
2021-12-24 18:47:10,927 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/credit_visiting.png
2021-12-24 18:47:11,022 - DEBUG - 145 - score - square is not rectangle: [[1920, 605], [2660, 923], [-587, 19], [-281, 4]]
2021-12-24 18:47:11,022 - DEBUG - 162 - find - find infra_overview
2021-12-24 18:47:11,022 - DEBUG - 15 - loadimg - /home/proitheus/.local/lib/python3.9/site-packages/arknights_mower/resources/infra_overview.png
2021-12-24 18:47:11,177 - DEBUG - 63 - match - match success: (0.8881578947368421, 0.915520995305473, 0.875, 0.8992277768879101)
2021-12-24 18:47:11,178 - DEBUG - 70 - save_screenshot - save screenshot: 20211224184711.png
2021-12-24 18:47:11,179 - INFO - 155 - get_scene - Scene: 201: 基建全局视角

自动战斗等待计时偶尔会浪费一轮时间

目前自动战斗会自动累计上一轮的等待计时并重设为基础时间(还没看代码,我看日志似乎是这么回事),有时候如果这个时间累计太长的话有几个情况会导致直接浪费一轮。比如下图:
image
在本轮结束前的几秒钟开启了新一轮计时,于是便在结算界面又等了190秒。结果下一次计时会把这次等待的时间也计入基础时间,导致每一轮的等待时间会越来越长。这一关原本是90秒就能打完的,但经过了几次叠加之后每一轮要跑190秒。在刷了十几轮之后每一轮基础等待时间已经到270秒了。
image

可不可以固定成每10秒检测一次屏幕(实际上应该占用不了多少资源),或者加一个waiting_time参数让用户自定义等待间隔?

scikit_image 依赖问题

反馈原文:

找不到满足 scikit_image==0.18.3 的版本(然后列出来最多只到 0.17.2

有待进一步复现和研究

自动收任务遇到见习任务页面的时候识别会出错

我一直懒得升三级办公室,所以见习任务页面还在,这时候脚本就无法识别,一直循环

2021-11-05 09:49:19,758 - INFO - 18 - run - Start: 任务
2021-11-05 09:49:19,809 - INFO - 155 - get_scene - Scene: 1: 首页
2021-11-05 09:49:25,820 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:49:28,215 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:49:33,863 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:49:36,182 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:49:41,902 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:49:44,169 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:49:49,716 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:49:51,974 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:49:57,683 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:49:59,966 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:50:05,709 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:50:08,055 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:50:13,718 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:50:16,023 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:50:21,663 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:50:23,938 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:50:29,616 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:50:31,890 - INFO - 155 - get_scene - Scene: 5: 导航栏返回
2021-11-05 09:50:37,477 - INFO - 155 - get_scene - Scene: -1: 未知
2021-11-05 09:50:39,704 - INFO - 155 - get_scene - Scene: 5: 导航栏返回

建议这个功能进入任务页面之后,识别上方的任务类型 tab,无论如何先点一下日常任务/周常任务,这样后面的逻辑就可以正常运行了。新人没有清掉见习任务的情况下,也可以正常使用这一功能

信用交易所购买错误

image
自动购买了最左侧的商品而不是在配置文件中定义的商品,同时也未优先购买低价商品。

信用消费策略 1.0

策略:从上往下从左往右直接消费,买完即止

比较麻烦的是对于信用交易所的分割算法处理

公招自动化策略 2.0

识别 Tag 并选择最高可能的方案,若可能为 1/5/6 星干员则交给人工处理
也可以加一个选项表示无论出什么都按最高星数的方案选

信用消费策略 2.0

给每种可能的物品指定优先级,然后按照优先级进行兑换

需要物品图像识别

linux+python3.9,shop不能正常工作

环境是python3.9,通过pip install arknights-mower安装的,装完后onnxruntime版本是1.10.0。
模拟器分辨率1280x720。shop命令导航没问题,识别商品好像不行。

image

公开招募栏不满四个的时候 recruit 命令会一直卡在公招页面

如题,不知道是因为公招都满了还是公招只有三个位置,recruit 会一直卡在公招主界面

2021-11-05 12:04:54,696 - INFO - 155 - get_scene - Scene: 801: 公招主界面
2021-11-05 12:05:00,761 - INFO - 155 - get_scene - Scene: 801: 公招主界面
2021-11-05 12:05:06,831 - INFO - 155 - get_scene - Scene: 801: 公招主界面
2021-11-05 12:05:12,892 - INFO - 155 - get_scene - Scene: 801: 公招主界面
2021-11-05 12:05:18,922 - INFO - 155 - get_scene - Scene: 801: 公招主界面
2021-11-05 12:05:24,874 - INFO - 155 - get_scene - Scene: 801: 公招主界面
2021-11-05 12:05:31,026 - INFO - 155 - get_scene - Scene: 801: 公招主界面

image

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.