Skip to content

zengaorong/ArknightsAutoHelper

 
 

Repository files navigation

Arknights Auto Helper

明日方舟辅助脚本,分支说明如下

分支 说明
master 目前的稳定版本
release 目前可以应用的GUI版本
dev 目前的开发版本
shaobao_adb 经过封装可以移植的ADB方法类

0x01 运行须知

环境与分辨率

该辅助需要安卓模拟器并将分辨率设置为

1280*720 ⚠ 分辨率设置非常重要 ⚠

由于作者精力有限,只做了绝对坐标的,欢迎大家重写模块。建议使用夜神模拟器,记得开启开发者模式。

* 部分模块已经可以自适应分辨率和宽高比,作者测试过的分辨率有 1280x720、1440x720、1920x1080、2160x1080。

安装依赖

Python 依赖

$ pip install -r requirements.txt

OCR 依赖

该辅助需要安装本地OCR工具(tesseract),Windows OCR(需要安装简体中文和英文语言包)或者申请百度OCR

关于本地OCR工具安装可查看 https://github.com/ninthDevilHAUNSTER/ArknightsAutoHelper/blob/master/OCR_install.md

关于百度OCR申请 ##目前百度ocr功能无法使用,请等待后续版本恢复

百度普通的文字识别免费为50000次/日,可以开通付费,超过免费调用量后,根据百度文字识别文档,会暂停使用,建议使用前阅读文档,不保证政策是否改变。理论上每天次数非常充足

文档地址:https://cloud.baidu.com/doc/OCR/index.html 启用百度api作为ocr识别方案,需要自行注册百度云。之后再config.developer_config中配置

# 是否启用百度api作为ocr识别方案之一,需要自行注册,不启用则使用默认方案,但在engine指定baidu的话该设置无效
enable_baidu_api = False
""" 你的 APPID AK SK """
APP_ID = '你的 App ID'
API_KEY = '你的 Api Key'
SECRET_KEY = '你的 Secret Key'

关于Windows OCR

需要 Windows 10。

当前默认配置为在 tesseract 无法使用(未安装)时使用。如要强制使用,请更改如下

engine = "windows_media_ocr"

Windows OCR 的语言数据是随语言支持安装的,可能需要在系统语言列表中加入英语(美国)以安装英语 OCR 支持。

目前 Windows OCR 无法识别游戏中部分文本,正在考虑使用替代方法。

额外设置

关于额外设置请移步到 config/README.md中查看

日志说明

日志采用import logging在log目录下生成ArknightsAutoHelper.log推荐用Excel打开,分割符号为“!”

相关配置文件在config目录下的logging.ini,由于过于复杂 其实也没确定理解的对不对 这里请自行研究,欢迎讨论

配置文件本身支持如字典,YAML等,欢迎找到更有效,更整洁的方式并更换

日志目前启动按照时间自动备份功能,间隔为一天一次,保留最多7份。

0x02 ArknightsHelper 命令行启动

推荐安装OCR模块;感谢群友的贡献!关于OCR安装的文档可以查看OCR_install.md

命令行启动说明

Usage: ArknightsShell.py [options] arg1 arg2 ...

Options:
  -h, --help            显示帮助
  -s, --module-battle-slim
                        简略战斗模块,请确保页面停留正确
  -b, --module-battle   主战斗模块
  -t TASK_LIST, --task-list=TASK_LIST
                        战斗清单,输入格式: 
                        用 | 分隔任务序列,最后一个|不需要输入
                        用 : 分隔关卡名和次数
                        e.g.:
                            LS-5:10|CE-5:1
  -c, --clear-daily     任务执行完毕后自动领取奖励

简略战斗模块

快速启动模块需要手动选关。到如下画面,活动关卡你也可以这么刷。

* 该模块可以自适应分辨率

TIM截图20190513101009.png-1013.8kB

$ python ArknightsShell.py -s -t CE-5:99
# 由于是快速启动模式,所以只会执行第一项任务清单,额外输入的任务序列会被忽略。

注意

传入的关卡名只要理智消耗比当前关卡高即可。比如你想刷 CE-4 (理智消耗25点) 那带入的关卡可以是任何理智消耗大于等于 25点的关卡 理论上该模块比完整的模块稳定并且不容易被系统检测。并且该模块所有的点击序列都是随机化的,不容易被检测

主战斗模块

主战斗模块可以从几乎任何位置(理论上有返回键的页面)开始任务序列。

$ python ArknightsShell.py -b -t 5-1:2|5-2:3
# 由于是快速启动模式,所以只会执行第一项任务清单,额外输入的任务序列会被忽略。

0x03 ArknightsHelper 自定义脚本启动

请阅读 ArknightsHelper_examples.py.txt 下的代码并编写自定义脚本

0x04 ArknightsHelper GUI 启动

详见 release 分支下的文件

0x05 开机自启动批处理&一键开启

start.bat文件会启动模拟器并自动登录刷本,完成预定任务后关闭电脑,你也可以把它略作修改当做一键启动。如果想要使用这个批处理,需要以下几步:

  1. 根据ArknightsAutoHelper的位置修改第5行和第7行的工作路径和盘符。
  2. 根据自己设备的情况更改start.bat中的内容,每一行的作用我都注释出来了,主要就是改个模拟器的路径和密码。B服的小伙伴需要更改下“启动明日方舟”那行的com.hypergryph.arknights/com.u8.sdk.U8UnityContext。另外如果机器性能比较差,Timeout的延时也是需要修改的。
  3. 编写start.py(这个文件是gitignore的)放到ArknightsAutoHelper里。
  4. start.bat文件放到系统的“启动”目录下(不懂可以百度)。
  5. 根据自己电脑的情况百度如何定时启动电脑,但你只要做完第三步它就会在每次开机的时候运行了,如果不需要它运行只要在批处理文件运行的前60秒内关掉它即可。

注意:“无限休眠”其实是有时间的,大概是1024秒,提交这个批处理的时候我也将这个时间改成了60秒,如果需要可以修改回来。

0x06 自定义开发与TODO

关于一些常见的问题

  1. 分辨率/模拟器/路径问题 请看README
  2. 我想跑一些别的关卡,但是提示我关卡不支持。 这些关卡可以通过slim模式来启动。目前主战斗模块并不支持所有的关卡
  3. OCR 模块可以不装嚒? 最好安装,在之后的版本迭代中会对没有OCR依赖的用户越来越不友好
  4. 我不会python|我电脑里没装Python,我能用这个嚒? 可以,请下载release分支下经过PyInstaller 打包后的exe 文件。如果有问题欢迎来群里提问
  5. 之后会收费么? 不会,该项目一直开源。实际上作者还有别的事情要做,代码可能突然会有一段时间不更新了。欢迎来pull代码以及加群 6. 关于mumu模拟器的adb在哪里的问题【目前已经解决】 mumu模拟器的adb不在模拟器的主路径下,而且它的名字叫adb_server。mumu模拟器自动隐藏了adb端口。 除非你是专业人士,否则不建议使用mumu模拟器。推荐使用夜神模拟器,群友也有用雷电模拟器的。

自定义开发与更多功能

详情请联系作者或者提出你的issue!祝大家玩的愉快

欢迎来加开发者QQ 2454225341 或加入QQ群 757689154

About

Arknights Auto Helper based on ADB and Python | 基于python的明日方舟护肝助手

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 89.2%
  • HTML 8.3%
  • Batchfile 2.5%