
移动开发GUI 自动化计算机视觉【免费下载链接】FGAAuto-battle app for F/GO Android项目地址https://gitcode.com/gh_mirrors/fg/FGA点击查看免费下载导读本文基于 FGAFate Grand AutomataF/GO Android 自动战斗应用官方文档中的战斗配置章节系统讲解如何为周回刷本编写可复用的战斗脚本。文章会先带你走一遍「创建脚本 → 编写命令」的完整流程然后逐条拆解命令语法中每一项字母与符号的含义技能、宝具、指令卡、御主技能、换人、敌我目标选择等再深入讲解附加配置素材、服务器、编队、卡优先级、支援选择。读完本文你将能独立为任意从者队伍编写、校验并调优一套完整可运行的 FGA 战斗脚本并理解这些命令在底层是如何被解析执行的。说明本文以 Battle.md 为主体展开命令语法、枚举与解析逻辑均以当前仓库 scripts 下的源码为准。一、进入战斗配置界面并创建脚本Step 1 - 进入 Battle Configs 菜单在 FGA 主界面找到 Battle Configs战斗配置入口并点击进入。这是所有战斗脚本的管理入口后续创建的每个脚本都会保存在这里。Step 2 - 通过悬浮按钮新建脚本点击右下角的悬浮按钮Floating Action Button创建新脚本。Step 3 - 为脚本命名为新脚本取一个便于识别的名称例如按队伍或用途命名。还可以可选添加一条备注例如记录这个脚本用于哪套从者阵容之类的信息方便日后区分管理。Step 4 - 编辑命令Command命令编辑界面就是战斗脚本的核心编辑区FGA 在战斗中会完全按照这里编排的命令串去执行操作。下一节将系统介绍命令串的语法。从仓库源码看每个战斗配置都被建模为 IBattleConfig其中skillCommand: String字段正是这条命令串本身此外还包含cardPriority卡优先级、servantPriority从者优先级、party编队槽位、materials素材、support支援选择等配置并支持export()/import()进行导入导出。二、命令Commands详解命令串的本质是一串由字母、数字与符号组成的字符序列最终会被解析为波次 × 回合 × 动作列表的二维结构。解析入口在 AutoSkillCommand.parse()命令先按波次分隔符,#,拆成波次每个波次再按回合分隔符,拆成回合见 WaveTurn每个回合内再逐个字符解析成动作。2.1 Party Mapping编队映射编写战斗脚本前必须记住从者位置非常重要你的编队中每位从者会被按顺序编号 1 到 6从前到后脚本中所有技能、宝具、目标选择都基于这个编号。场上 1、2、3 号位是前排战斗中的主力4、5、6 号位是后排通常在换人时被换上。2.2 Skills Mapping技能映射技能的语法遵循位置字母 技能序号字母的规则。技能字母在源码中定义于 Skill.kt从者位置技能 1技能 2技能 31 号位abc2 号位def3 号位ghi例如a表示 1 号位从者的第 1 技能f表示 2 号位从者的第 3 技能。这些字符在 AutoSkillCommand.parseAction() 中被逐个识别并构造为AutoSkillAction.ServantSkill(skill, targets)。2.3 Targeting技能目标选择可以指定目标的技能需要在技能字母后追加目标从者的位置数字来指定施放对象目标代码1 号位从者12 号位从者23 号位从者3这些目标数字在源码中对应 ServantTarget 中的A(1) / B(2) / C(3)。例如a1表示对 1 号位从者使用 1 号位从者的第 1 技能常见的场景如 C 呆、杀狐等单体辅助技能对自己或主力施加 buff。多目标技能若技能可以同时指定多个目标用括号包裹目标列表例如e(12)表示对 1 号和 2 号位同时施放 2 号位从者的第 2 技能。对应解析在 AutoSkillCommand.getTargets()支持(1)、(12)、(123)以及混合特殊目标见下文 Special Skills。2.4 Special Skills特殊技能部分从者的技能具有额外分支选项FGA 在命令编辑器底部会显示对应的特殊按钮。这些特殊选项在源码中统一建模为 ServantTarget.SpecialTarget语法上使用方括号包裹特殊目标代码例如[Ch2A]解析器对未闭合的[或]会抛出 Found [ but no matching ] in Skill Command 之类的错误见 AutoSkillCommand。Kukulkan / UDK-Barghest二选一技能Kukulkan第 1、3 技能是自身目标技能可通过消耗暴击星获得可选附加效果。Option 1不消耗暴击星对应[Ch2A]Option 2消耗暴击星对应[Ch2B]。其第 2 技能是可指定目标的技能同样可选择Option 1/2后再接目标数字例如[Ch2B]1。编辑器中点击 Kukulkan 按钮可以替换按钮文字为更直观的说明仅视觉效果不影响脚本执行。UDK-Barghest第 3 技能可以把她的宝具在群体AoE与单体Single Target之间切换。先点击Choices (2)再选Option 1AoE或Option 2单体。对应代码同样是[Ch2A]/[Ch2B]。Emiya / BB Dubai宝具类型二选一Emiya 与 BB Dubai 的技能可以把宝具切换为 2 种形态之一。在命令编辑器中点击第 3 技能后底部会出现NP Type (2)选项需要为这些从者选择。注意只有三技能已满级强化Lvl. 10的 Emiya 才能使用NP Type (2)选项BB Dubai 同理。FGA无法自动检测技能是否满级但你可以利用Preferred Friends优先好友功能来确保选到正确的支援从者。Space Ishtar宝具类型三选一太空伊什塔尔的第 2 技能可在 Quick、Arts、Buster 三种宝具形态中切换。点击第 2 技能后会出现NP Type (3)进入新界面从 3 个选项中挑选底部按钮可以预览每个选项对应技能的效果。Mélusine / Ptolemaios变身Mélusine 的第 1、2 阶段第 3 技能、以及 Ptolemaios 的第 3 技能会在战斗中改变从者的灵基形态Ascension。使用Transform选项代码M可以同时处理长动画与变更后的指令卡若不用Transform战斗剩余部分的 Servant Priority 会失效因为灵基变化后卡片判定被打乱。Mélusine 警告在 1、2 阶段使用过第 3 技能后后续再次使用第 3 技能应使用普通第 3 技能命令例如她在 1 号位时用c而不是Transform如果开局就是 3 阶段灵基则完全不需要Transform。Ptolemaios 相反他每次使用第 3 技能都会改变形态因此每次都需用Transform。Soujuurou / Charlotte / Hakuno / Van Gogh三选一技能这些从者的特殊技能有 3 个选项需要点击Choices (3)Soujuurou 第 3 技能可以在一回合后改变指令卡Charlotte强化后的第 3 技能根据所选选项获得不同效果Hakuno 第 3 技能3 回合内提升伤害Van Gogh (Miner) 第 1 技能3 回合内提升指令卡性能。对应代码为[Ch3A]/[Ch3B]/[Ch3C]。编辑器底部按钮可以预览每个选项的效果仅视觉用途。提示以上[Ch2A]、[Ch2B]、[Ch3A]等特殊目标代码与旧版Option1(K) / Option2(U)并存但后者已被标记为Deprecated见 ServantTarget.kt新脚本请使用[ChxA]形式。2.5 Enemy Targeting敌方目标选择与己方从者一样敌方单位也有编号并可被指定为目标敌人目标代码为t后跟数字t1、t2、t3定义于 SpecialCommand.EnemyTarget 与 EnemyTarget。与 FGO 游戏一致一次只能选中一个敌人。例如ct1表示3 号位从者使用第 3 技能并指定 1 号敌人为目标常用于术呆宝具、杀狐技能等需要锁定敌人的场景。2.6 Noble PhantasmNPOrder宝具顺序宝具使用从者位置编号宝具代码1 号位从者宝具42 号位从者宝具53 号位从者宝具6代码定义于 CommandCard.NP在 parseAction 中被解析为AutoSkillAction.Atk.np(np)。宝具可以任意顺序使用但请记住它们会按你选择的顺序依次释放。例如46表示先放 1 号位宝具再放 3 号位宝具。Cards before NP宝具前使用指令卡如果需要在宝具前先出指令卡使用n后跟卡牌数量n1先出 1 张指令卡再放宝具n2、n3同理。语法定义于 SpecialCommand.CardsBeforeNP解析时把n后的数字转换为AutoSkillAction.Atk.cardsBeforeNP(count)。连续的攻击类动作NP 与卡NP会被合并为一次行动见 AutoSkillCommand例如45n1等价于1 号位宝具前先出 1 张卡随后接 3 号位宝具这类复合指令。2.7 Master Skills御主技能所有御主礼装Mystic Code的技能处理方式相同换人服除外j御主技能 1对应 Skill.Master.Ak御主技能 2对应Skill.Master.Bl御主技能 3对应Skill.Master.C技能后同样可接目标数字如k2表示御主技能 2 指定 2 号位从者。2.8 Master Skills - Plugsuit换人礼装使用换人礼装Plugsuit时不应使用l命令而应使用专门的换人命令x后跟两个数字x 场上成员编号 替补成员编号。代码定义于 SpecialCommand.OrderChange两个数字分别来自 OrderChangeMember.Starting1/2/3场上与OrderChangeMember.Sub1/2/3替补。例如x31把 3 号位从者换下场换上一号替补通常在场上 3 号位是插件、替补 1 号位是主手时使用。执行时会触发换人礼装的换人菜单。2.9 同一波次的下一回合与下一波次这是命令串里两个重要的分隔符,#,下一波次Next Wave见 WaveTurn.Wave,同一波次内的下一回合Next Turn见WaveTurn.Turn。Next Wave下一波次波次显示在战斗界面右上角。为一个波次编排完技能/宝具后点击 Next Wave 按钮即可进入下一波次的编排。使用 Next Wave 意味着告诉 FGA在此之前不需要做任何其他事。⚠️警告如果使用了 Next Wave 按钮那么你之后编排的任何技能只会在下一波次激活。务必反复检查脚本避免出现技能排错波次这种低级错误。Next Turn in the same wave同一波次的下一回合用于处理同一波次内需要跨回合操作的情况例如敌方存活时间超过一回合、或需要先等 NP 条/指令卡刷新。Wave and Turn Indicator波次与回合指示器自 FGA Build 2382 起可以在命令编辑界面中实时跟踪当前所处的波次与回合位置帮助你校验脚本编排是否正确。Raid BattleRaid 战Raid 战有时只有 1 个波次。此时必须选择同一波次的下一回合Next turn in the same wave选项而不是下一波次否则脚本会认为战斗已经结束。2.10 无操作命令0表示本回合不做任何操作No-Op定义于 SpecialCommand.NoOp。例如在某回合需要等待如敌方自充后开宝具、等 debuff 结束时可以在该回合写入0。三、附加战斗配置Additional Battle Config可选3.1 Materials素材需要刷取特定素材时可以在配置中指定素材。选择后素材会显示在列表顶部点击OK后会显示前 3 个已选素材的摘要。素材枚举定义于 MaterialEnum战斗结束后 FGA 会通过 MaterialsTracker 跟踪掉落情况。3.2 Spam重复释放技能Spam 选项用于在战斗中对特定从者反复释放技能。其行为定义见 ServantSpamConfig / SpamConfig运行时由 SkillSpam 模块执行具体讨论可参考 FGA 官方 issue #510仓库内 Battle.md 的 Spam 小节引用了该链接。3.3 Server服务器如果你在多个服务器如日服、美服、台服游玩可以指定脚本只在对应服务器生效——这样游戏内弹出脚本选择菜单时只会显示匹配当前服务器的脚本。对应配置字段为server: GameServer?见 IBattleConfig枚举见 GameServerEnum。3.4 Party Selection编队选择可以为脚本指定一个编队槽位。这样启动 FGA 时它会检查你当前使用的编队是否在正确的槽位上如果不是则自动切换到正确的编队。对应字段为party: IntIBattleConfig切换逻辑见 PartySelection。四、Card Priority卡优先级可选卡优先级是可选功能不需要每次新建脚本都设置。4.1 原理说明卡优先级用来告诉 FGA 如何处理场上的指令卡face cards列表高位的卡拥有比低位卡更高的使用优先级。符号含义Symbols used in Card Priority符号含义WB克制不利的 BusterWeak BusterWA克制不利的 ArtsWeak ArtWQ克制不利的 QuickWeak QuickBBusterAArtsQQuickRB被克制的 BusterResist BusterRA被克制的 ArtsResist ArtRQ被克制的 QuickResist Quick典型用途示例Buster 优先把 B 系符号排到列表高位用于追求单卡伤害Arts 优先冲 NP把 A 系排高用指令卡快速攒 NPQuick 优先产星把 Q 系排高用于获取暴击星。按波次差异化可以为不同波次设置不同的卡优先级。如果只设置了 Wave 1 的优先级其余波次都会沿用默认设置因此只有当你确实需要差异化时才需要添加更多波次。4.2 Servant Priority从者优先级从者优先级优先于卡优先级。需要手动开启该选项然后选择你要优先出卡的从者位置遵循 Party Mapping 的编号规则。对应源码为 ServantPriorityPerWave 与useServantPriority开关IBattleConfig运行时逻辑见 FaceCardPriority。4.3 Brave ChainBrave 连携Brave Chain 只有 3 种选项除非启用了 Servant Priority。对应枚举为 BraveChainEnum应用逻辑见 ApplyBraveChains。4.4 Rearrange Cards重排指令卡在 FGO 中指令卡的位置决定伤害与附加效果Quick 卡产生更多星星Arts 卡产生更多 NPBuster 卡造成更高伤害同时第 1 张卡会决定对所有指令卡施加的加成效果例如第 1 张出 Buster则所有卡获得伤害加成。Rearrange Cards 功能会把最强的 3 张卡重新排序使第 2 强的卡放在最后使用从而让第 1 张卡的加成覆盖到后续输出。默认优先级下开启该功能后的实际效果示例原文档示例默认顺序Jeanne Archer Buster最强→ Jeanne Archer Arts第 2 强→ Castoria Buster第 3 强重排后Jeanne Archer Buster最强→ Castoria Buster第 3 强→ Jeanne Archer Arts第 2 强置于末位吃加成。对应配置字段为rearrangeCards: ListBooleanIBattleConfig每个波次一个布尔值。五、Support Selection支援选择支援选择用于决定 FGA 在进本前如何挑选助战从者。5.1 Class Selection职阶选择如果不选择任何职阶FGA 会选取当前屏幕上显示的职阶里的支援。务必点击你想要的职阶All选项可以切换为全职阶筛选。⚠️已知问题未通关终局特异点Solomon的玩家此功能可能不可靠——Start Quest按钮会变得无响应直到你手动点击左上角的返回键。5.2 三种选择模式Support Selection Options支援选择有 3 种方式对应枚举 SupportSelectionModeEnumFirst / Manual / PreferredFirst第一个FGA 直接选择支援选择界面中出现的第一个支援。Manual手动FGA 退出由你手动挑选支援选好后重新运行 FGA。Preferred优先FGA 按优先设置逐项匹配并选择支援。5.3 Preferred Selection优先选择设置点击 Preferred Selection 选项即可进入优先设置界面可以分别配置优先从者Preferred Servant点击 Preferred Servants 弹出对话框选择你想要的从者并可进一步指定是否要求满破max ascended哪些技能要求满级max level。重要限制FGA 只能可靠地检测技能是否为满级Lvl. 10无法检测当前技能的具体等级。优先礼装Preferred CE点击 Preferred CE 选择想要的礼装并可指定是否要求满破max limit broken。事件活动中更推荐直接使用游戏内的礼装筛选功能而不是用 Support Image Maker 为每个活动礼装制作识别图片。优先好友Preferred Friends开启该选项后可以限定只使用来自特定好友的支援从者。适用场景当 90 级 NP1 的从者不足以应付周回本时使用。因为 FGA 无法检测从者等级、宝具等级NP 等级与追加技能Append Skill等级所以可以通过好友名字来做二次过滤反过来说能满足这些条件但不是好友的从者将无法被选中如果support目录下的friends子目录中没有图片列表会为空用 Support Image Maker入口见 support_img_namer生成好友图片后即可勾选。Fallback兜底策略如果优先支援未找到FGA 会按照More Options → Advanced → Fine-Tune → Support中的设置刷新支援列表。当刷新次数达到上限后FGA 将根据兜底Fallback选项来决定下一步行为例如继续等待、重试或放弃本次开始。相关实现散见于 supportSelection 目录其中 PreferredSupportSelection 负责按从者/礼装/好友逐级匹配SupportScreenRefresher 负责按 Fine-Tune 参数刷新列表。六、命令语法速查表将上文所有代码汇总为一张速查表方便编写与校验脚本时查阅类别代码含义技能a/b/c1 号位从者的技能 1/2/3技能d/e/f2 号位从者的技能 1/2/3技能g/h/i3 号位从者的技能 1/2/3技能目标1/2/3目标为 1/2/3 号位从者多目标(12)同时指定多个目标如e(12)特殊选项[Ch2A]/[Ch2B]二选一技能选项 A / 选项 B特殊选项[Ch3A]/[Ch3B]/[Ch3C]三选一技能选项 A / B / C变身MMélusine / Ptolemaios 灵基变换敌人目标t1/t2/t3指定敌人 1/2/3 为目标宝具4/5/61/2/3 号位从者的宝具宝具前出卡n1/n2/n3宝具前先出 1/2/3 张指令卡御主技能j/k/l御主技能 1/2/3换人x 2 数字场上编号 替补编号如x31下一波次,#,分隔符切到下一波次下一回合,分隔符同一波次内切到下一回合无操作0本回合不做任何操作所有代码的权威定义可在以下文件中核对Skill.kt、CommandCard.kt、ServantTarget.kt、EnemyTarget.kt、SpecialCommand.kt、OrderChangeMember.kt、WaveTurn.kt。七、命令校验与常见错误排查命令串写好后FGA 在执行前会解析它若语法有误会直接抛出解析异常并停止战斗AutoBattle.ExitReason.SkillCommandParseError见 AutoSkillCommand。常见错误包括未知字符出现语法表中不存在的字符报Unknown character: X括号不闭合出现(却没有)报Found ( but no matching ) in Skill Command方括号不闭合出现[却没有]报Found [ but no matching ] in Skill Command特殊目标不存在方括号内填写了未定义的代码报Special target XXX not found空命令括号/方括号内为空报Command Cant be empty。此外AutoSkillCommand 在初始化时会校验所有SpecialTarget代码之间不存在互相冲突的前缀例如Ch2A与Ch2B就不会冲突这保证了新增特殊技能代码时的健壮性。结语掌握 FGA 战斗脚本的编写核心就是理解位置编号 动作字母 目标数字 分隔符这套命令语言以及围绕它的卡优先级、支援选择等辅助配置。本文覆盖了 Battle.md 中从创建脚本、命令语法到附加配置的全部内容并补充了命令在仓库源码中的底层实现细节。对照速查表编写脚本、再结合波次/回合指示器校验即可稳定复现你想要的打法。若想进一步了解支援图片制作、卡优先级调参等进阶主题可继续阅读仓库中的 Support-Image-Maker.md 与 Fine-tune.md。赞分享移动开发GUI 自动化计算机视觉【免费下载链接】FGAAuto-battle app for F/GO Android项目地址https://gitcode.com/gh_mirrors/fg/FGA点击查看免费下载相关推荐终极FGA自动战斗配置指南从新手到专家的完整实战方案终极FGA自动战斗配置指南从新手到专家的完整实战方案 Fate/Grand Automata简称FGA是一款专为FGO玩家设计的智能辅助工具通过先进的图移动开发GUI 自动化计算机视觉kOps InstanceGroup 完全指南从 ASG 映射到高级配置实战kOps InstanceGroup 完全指南从 ASG 映射到高级配置实战 InstanceGroup 实例组命令行简称 ig 是 kOpsKube云原生集群管理运维IaCQtScrcpy 自定义按键映射KeyMap完全指南JSON 脚本格式、五大映射类型与实战配置QtScrcpy 自定义按键映射KeyMap完全指南JSON 脚本格式、五大映射类型与实战配置 本指南以 QtScrcpy 仓库中的 docs/KeyMa桌面应用音视频上一篇Flightmare高级技巧自定义Unity场景与动态障碍物添加下一篇7步掌握Cucumber-JVM用纯语言编写自动化测试的终极指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考