Skip to content

williamgateszhao/fgo-bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fgo-bot

fgo自动脚本

原理

  • 通过adb连接安卓设备/模拟器,实现模拟点击、滑动、截取屏幕,支持后台运行
  • 使用opencv提供的模板匹配来快速找图、定位
  • 按照用户定义的策略来进行自动战斗等操作

安装

安装adb

如果已经安装adb,请跳过此步骤。

http://adbshell.com/downloads下载adb kits,解压,并加入PATH。

在命令行中输入adb,出现帮助信息则说明安装成功。

如果你的python在wsl下运行,但模拟器在windows下运行,请使用windows下的adb(而不是wsl下的),否则很容易莫名断开 即在device.py中将self.adb_path = adb_path改为self.adb_path = /mnt/c/adb/adb.exe的形式

安装本体

下载这个项目,在根目录下运行

python3 setup.py install

使用前的准备

  • 推荐使用模拟器进行游戏,并调整分辨率为1280x720使用真机可能导致分辨率和连接等问题,使用其他分辨率可能导致图片识别缓慢的性能问题。

  • 如果使用1280x720分辨率的等比缩放分辨率(例如1920x1080),可以修改my_bot.py中的相应参数,但除了1280x7201920x1080分辨率以外,需要自行制作截图

  • 构筑所用的队伍。由于当前版本不支持获取敌方信息,建议选择稳定的宝具速刷队。

  • 在设置中关闭“灵基再临第四阶段展示”选项,可以减少助战识别的工作量。

  • 在助战界面选择好想要的职阶,确保(在线的)好友可以大概率刷出期望的助战。

  • 手动进行一场对战。(非必须,用于选中队伍以及调整相关设置)

  • 在战斗菜单中关闭“技能使用确认”和“宝具匀速”,打开“缩短敌人消失时间。

  • 在选择指令卡界面调整游戏速度为2倍速。

  • 在设备/模拟器上对要打的副本和期望的助战截图,放在脚本的userimages目录下,可以参考userimages/qp.pnguserimages/friend_qp.png

    注意:尽量截取更多的信息,但不要超出可点击的范围。

  • 将游戏置于进入任务前的界面,或者战斗中的界面,但开始运行程序时,战斗必须处于停顿、等待玩家输入的状态(即可以看到“攻击”按钮的状态)。

使用教程

编写你自己的脚本

在任意目录下创建一个python源文件,导入fgobot这个模块。

fgobot.BattleBot类提供了@at_stage()装饰器,只需要在你自己的python源文件中实例化一个bot,然后将函数注册到对应的战斗阶段,接着运行bot.run(),就可以实现自动战斗。

具体例子可以参考项目根目录下的/my_bot.py

API参考

BattleBot.use_skill(servant, skill, obj=None)

使用(从左往右)第servant个从者的第skill个技能,施放对象为第obj个从者(如果是指向性)

BattleBot.use_master_skill(skill, obj=None, obj2=None)

使用第skill个御主技能,作用对象为从者obj(如果是指向性)。

如果使用换人技能,还需要指定obj2作为被换上的从者。注意obj2需要在4~6之间。例如obj=3,obj2=4代表使用换人技能,交换第3(场上第3)和第4(场下第1)个。

BattleBot.attack(cards)

选取指令卡并攻击。

cards需要为有零到四个整数作为元素的list,按照顺序表示出的卡。其中1~5表示从左往右的常规卡,6~8表示从左往右的宝具卡。

例如[6, 1, 2]表示先使用从者1的宝具卡,再使用指令卡1和指令卡2。

更新内容(byWG)

  • 更新到国服最新截图(2019年12月)
  • 支持多种分辨率
  • 支持从任务选择界面、战斗界面、战斗结算界面开始运行程序
  • 战斗脚本支持根据不同回合采用不同的出卡(因而支持放完宝具之后自动平砍)
  • 支持随机出卡,且防止因AP不足放不出宝具而卡住,每次都会选择4张卡
  • 缩短等待时间
  • 如脚本中的技能正在冷却而无法释放,也能继续运行下去
  • 其他微小调整

About

fgo自动刷图脚本

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%