该程序默认在国服使用, 调整为日服需修改core/crds.py
文件中的IMAGE_BASE
值为assets/jp/
IMAGE_BASE = "assets/jp/"
一. 下载或克隆项目到本地
若本机装载了git, 命令行下输入 git https://github.com/Meowcolm024/FGO-Automata.git
将项目克隆到本地;
若本机无git, 请进入项目页面 https://github.com/Meowcolm024/FGO-Automata/releases 下载Source code
下载后解压
二. 安装环境
①安装Chocolatey
以管理员身份运行Powershell (Win+X键)
将以下命令粘贴到psl中
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
等待安装完成后, 输入choco 出现版本信息即为安装成功
②安装adb
在powershell中输入choco install adb
安装
③python安装及requirements安装
进入python官网下载对应版本并安装
安装时勾选 Add Python to the Windows Path
在项目目录中打开powershell (在项目目录shift+右键 在此处打开powershell)
输入pip install -r requirements.txt
并运行
④安装tesseract
进入https://github.com/UB-Mannheim/tesseract/wiki下载
tesseract-ocr-w(系统位数)-setup-v5.0.0-alpha.20200328.exe
并安装
⑤手机端或模拟器五次点击版本号打开开发者模式, 进入并允许adb调试
三. 创建并运行脚本
请开启二倍速, 打开死亡快速消失并关闭技能使用确认 以获得最佳体验
①自动: 使用项目目录下的config.bat
进行创建并运行
②手动: 新建<name>.py
文件 并在项目目录下打开命令行输入 py <name.py>
运行
Ⅰ 引入package
from core.Automata import Automata
Ⅱ 定义class
fgo = Automata("assets/checkpoint.png", "assets/qp.png")
fgo = Automata("assets/checkpoint.png", "assets/qp.png", sft=(248, 0))
fgo = Automata("assets/checkpoint.png", "assets/qp.png", sft=(248, 0), apl=(1, "assets/silver.png"))
fgo可更改为其他命名, 下文请保持一致
automata第一个值为关卡图片, 第二个为助战图片, sft=(x, y) 中x,y为偏移值(即游戏中的蓝边), 偏移值可打开开发者模式后打开指针位置并确定触摸点坐标后填写, apl后第一个值为使用苹果的数量, 第二个值为苹果图片, 所有图片文件保存在项目目录的assets文件内
Ⅲ 开始战斗
fgo.quick_start()
fgo.quick_start(advance=True)
开始战斗 advance值可为True
或False
True为开启高级战斗, 开启后会在助战界面自动刷新并翻动以寻找对应助战图片的助战,但若无法找到程序会停止; False为关闭, 只会在助战页面的首页找对应助战, 无法找到则默认选择第一个
fgo.select_checkpoint("assets/checkpoint2.png")
(可选|不建议)重设关卡图片
fgo.select_support("assets/qp2.png")
(可选|不建议)重设助战图片
fgo.advance_support(spt="assets/sp3.png", tms=1)
(可选)[若quick_start()中为空方可使用]高级助战
提供的第一个值为助战图片, 第二个为刷新列表的延迟 默认为3
fgo.start_battle()
(可选)[仅在未使用quick_start时方可使用]开始战斗
Ⅳ战斗过程
从者技能
fgo.select_servant_skill(4)
fgo.select_servant_skill(5, 1)
技能排序为从左至右, 记为1-9
从者排序为从左至右, 记为1-3
上面两个中第一个为无需选择使用对象的技能, 只需要提供一个值为技能
第二个为选择使用对象的技能, 第一个值为技能, 第二个值为从者
从者技能
御主技能
fgo.select_master_skill(1)
fgo.select_master_skill(2, 3)
技能排序为从左至右, 记为1-3
从者排序为从左至右, 记为1-3
上面两个中第一个为无需选择使用对象的技能, 只需要提供一个值为技能
第二个为选择使用对象的技能, 第一个值为技能, 第二个值为从者
[装备迦勒底战斗服时]特殊御主技能(Order Change)
fgo.select_master_skill(3, 1, 1)
提供三个值, 第一个必须为3, 为order change技能位;
第二个为要被替换的从者, 从左至右排序1-3
第二个为即将上场的从者, 从左至右排序1-3
设置出卡顺序
fgo.select_cards([7])
fgo.select_cards([8,6])
fgo.select_cards([1,2,3])
出卡顺序需在从者及御主技能设置后进行设置, 每回合仅能设置一次, 三个回合设置三次
普通卡为从左到右排序 记为1-5
宝具卡为从左到右排序 记为6-9
可提供三个值, 按顺序出卡, 若只填写1或2个值, 其余出卡为随机选择
结束战斗
fgo.finish_battle()
fgo.finish_battle(cont=True)
结束战斗, cont默认值为True 即连续战斗时点击取消(连续战斗解决方案), 一般情况下无需更改
其他功能
fgo.wait("assets/checkpoint.png")
在某个界面停止
fgo.tap((100, 100), 0, 0)
点击某个位置, 前两个值为x, y值, 后两个值为上文填写的便宜的值
fgo.toggle_master_skill()
展开/关闭御主技能
x = fgo.update_support()
更新助战, 成功为True, 失败为False
x = fgo.get_current_battle()
获取当前战斗回合数(1, 2, 3)
x = fgo.reached_battle(2)
接受目标战斗回合数, 例 回合2在战斗2/3中
fgo.use_dynamica(2)
自动战斗, 在某个回合自动战斗
经常出现tesseract失效情况(慎用)
fgo.reset_checkpoint("assets/Qp4.png")
fgo.reset_support("assets/eg-sp1.png")
fgo.reset_shifts((0, 0))
重设关卡助战图片, 偏移值
Ⅴ 切换脚本到日服
修改core/crds.py
文件中的IMAGE_BASE
值为assets/jp/
IMAGE_BASE = "assets/jp/"