logo

Tsuasahi

该程序默认在国服使用, 调整为日服需修改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值可为TrueFalse 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/"