明日方舟小助手 MAA 基建换班实战:三种模式怎么选,自定义排班 JSON 一次写对
【免费下载链接】MaaAssistantArknights《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights
MAA(明日方舟小助手)的基建换班模块负责干员排班、心情恢复和线索管理。本文把常规、队列轮换、自定义三种模式的选择逻辑讲透,再带你写出能直接跑的自定义基建排班 JSON,参数名和 mode 的 0 / 10000 / 20000 都有源码出处。
先选模式,再谈操作:三种基建换班场景对号入座
别背参数,先对号入座。MAA 内部用mode参数区分三种模式(定义在 InfrastTask.h),你在 GUI 里切"换班模式"就是在切它:
| 你的现状 | 选哪个模式 | 为什么 |
|---|---|---|
| 不想管排班,干员池够乱 | 常规模式(mode 0) | 算法自动挑效率最高的组合,含跨设施组合 |
| 已经手动排好预设队列 | 队列轮换(mode 20000) | MAA 只按"轮换"按钮,不碰干员选择 |
| 想榨干每一点效率 | 自定义(mode 10000) | 用 JSON 精确指定每个房间坐谁 |
判断标准很简单:常规模式解决"省事",队列轮换解决"我已经排好了,懒得每次手动点轮换",自定义模式解决"算法给的答案不是我要的答案"。下文按这三条线展开。
常规模式怎么用:从心情阈值到固定换班顺序
两个核心参数:心情阈值与无人机用途
- 基建工作心情阈值:默认
0.3。换班时剩余心情低于 30% 的在岗干员会被换出,并安排进宿舍休息。调高(比如 0.5)换得更勤但频繁进出界面;调低则省动作但干员更容易在岗位上哭脸。 - 无人机用途:可选
贸易站-龙门币、制造站-经验书、制造站-赤金等。选贸易站-龙门币时有个隐藏行为:MAA 会额外识别巫恋组并优先为她们出无人机,这个动作由独立插件 DronesForShamareTaskPlugin.cpp 完成。
四个跨设施组合开关:必要干员没齐就白勾
这些开关只在常规模式下生效,缺任何一名必要干员整个组合都不会参与排班:
| 组合 | 必要干员 | 参与计算 / 冲突说明 |
|---|---|---|
| 红松骑士团 | 焰尾(精二)、薇薇安娜(精二)、野鬃/灰毫/远牙(精二)至少一人 | 砾参与计算;与深海猎人同时勾选时两者不会同时排班 |
| 感知信息 | 絮雨(精二)、迷迭香(精二)、黑键(精二) | 夕、塑心、爱丽丝、车尔尼参与;优先度高于人间烟火 |
| 人间烟火 | 桑葚(精二)、乌有(精二) | 重岳、令、夕参与计算 |
| 深海猎人 | 歌蕾蒂娅(精二)、乌尔比安、斯卡蒂、幽灵鲨、安哲拉 | 与红松骑士团互斥 |
组合的启用条件(比如要求发电站数量)定义在 AsstInfrastDef.h 的SkillsGroup::conditions里,设施不够时勾了也没用。
固定换班顺序:宿舍为什么跑两遍
常规模式的顺序由 AsstInfrastDef.h 中build_facility_plan固定编码:
(制造站巡检)→ 宿舍前置 → 发电站 → 办公室 → 控制中枢 → 制造站 → 贸易站 → 会客室 → 宿舍重排 → 加工站 → 训练室
三个容易误解的点:
- "换班设施"列表只是启用集合,排列顺序无效。你在设置里把制造站拖到第一位不会让它先换班,想要自定义顺序请用自定义模式。
- 宿舍拆成两轮是有意设计:前置轮(DormPrepare)在常规模式下只干一件事——菲亚梅塔配对(且仅当开启了心情恢复);重排轮(DormRearrange)清空全部宿舍后按心情升序安置低心情干员,剩余位置按信赖补位。先换完所有工作位、最后统一收人,才能接住本轮刚换出来的低心情干员,跨设施组合也因此能统一视角计算。
- 只勾贸易站不勾制造站时,会先插入一次"制造站巡检":只读取各制造站的产品类型给贸易站评分用,不进干员选择、不出无人机、不补货。
换班算法幕后:MAA 怎么决定谁上岗
效率计算链路是:技能表(InfrastConfig)+ 干员数据(BattleData)→ 枚举候选技能组合 → 逐个打分,评分逻辑在 InfrastScore.cpp。每个技能的效率表按产物(经验书、赤金、源石碎片、芯片等)分别给出数值,组合效率是技能效率的叠加,所以"芬+稀音"和单干芬是两个分。
两个补充规则:
- 控制中枢按固定优先级选干员:制造/贸易/办公室加速、其他设施心情减免、跨设施组合联动这类同类增益不会重复占位,避免浪费中枢格子。
- 巫恋组无人机插件:贸易站正在产龙门币且无人机用途设为龙门币时,插件会检查巫恋是否在岗,在则直接出无人机并标记"已用"。
自定义排班从 0 到 1:写出第一份能跑的 JSON
最小可用的排班文件
文件放在 MAA 的resource/custom_infrast/目录下,模式选"自定义基建配置"并指定文件名即可。最小结构只要一个 plan、一个房间:
{ "plans": [ { "rooms": { "control": [ { "operators": ["夕", "令"] } ] } } ] }规则:rooms里没写的设施照旧走默认算法;干员名走 OCR,必须用当前客户端语言的名字(国服写中文);JSON 不支持注释,示例里带注释的版本别直接复制。
按用途分组:哪些字段你才真的需要
时间计划(period/duration):period是若干hh:mm区间,当前时间落在哪个区间就用哪个 plan;跨天要拆成["22:00","23:59"]+["00:00","06:00"]两段写。不写period则每次换班后自动切下一个 plan。设错后果:时间只做简单数值比较,写成24:00或漏写前导零(6:00)会选不中计划。duration是保留字段,目前无作用,写了也不影响。另外 core 本身不解析period,用接口集成的话这段逻辑要你自己实现。
菲亚梅塔(Fiammetta):target填目标干员(OCR 名),order选pre(整个换班前)或post(换完班后)。什么时候需要:你希望自定义排班里也保留菲亚梅塔心情互换。target 留空会直接跳过整个功能;注意pre时若无人机也是pre,无人机会先执行。
无人机(drones):room只认trading或manufacture,写别的值直接报错终止整个任务解析;index是左侧 tab 栏序号(1-5);rule是保留字段,填了也不起作用。自定义模式下设置面板里的"无人机用途"不生效,一切以 JSON 为准。
干员编组(groups+use_operator_groups):先定义命名编组,再在control/manufacture/trading房间设use_operator_groups: true,此时operators里的名字被解释为编组名。运行时按声明顺序选第一个"全员心情都过阈值"的编组,全员不齐就落到下一个编组;全部匹配失败会回调CustomInfrastRoomGroupsMatchFailed。设错后果:不开这个开关时,编组名会被当干员名去 OCR,找不到人。
房间字段(数组下标对应第几间房):
operators:干员名单;sort:默认false,MAA 按识别结果选而不保证入房顺序;skip:true时该房间跳过换人,但无人机、线索交流等操作照常;autofill:true时剩余位置交给原算法;operators为空则整间房走原算法;product:当前制造产物,取值Battle Record/Pure Gold/Dualchip/Originium Shard/LMD/Orundum,实际产物不符时界面弹红色提示;candidates:备选干员,有谁用谁、选满为止;use_operator_groups:启用编组解释。
暖机顺序乱掉的解法:sort 字段
用稀音、帕拉斯、巫恋这类依赖"入房顺序"触发暖机的组合时,sort保持默认的false会随机打乱顺序,暖机白给。设sort: true即按operators声明顺序入座。
三个典型翻车场景
- candidates 和 autofill 混用:
candidates非空时autofill必须为false,两者语义冲突(前者是"名单内挑",后者是"算法补位"),混用属于协议不允许的组合。 - 忘开 sort 丢暖机:见上一节,最经典的"效率莫名下降"。
- ⚠️autofill 抢走后续房间的干员:补位只按单干员效率算,不看整组组合。如果补位房排在自定义房前面,很可能把下一房的主角补进来占坑。把
autofill的房间放最后,或把关键干员显式写死。
队列轮换三句话讲完
- 前提:先在游戏内建好预设队列,MAA 只负责点"进入队列轮换"(
InfrastEnterRotation任务)。 - 宿舍、发电站、办公室、控制中枢四类设施本模式完全不处理(
rotation_skips)。 - 制造站、贸易站、会客室只做轮换、不换人(
set_skip_shift(true)),MAA 不会打开名单重选干员。
避坑清单:跑长草前核对这 5 条
- ⚠️线索 10 张上限陷阱:个人线索上限 10 张(含已放入会客室的),且放入会客室的线索不计入重复判断。典型死局:板上 6 种(凑 7 种才能开线索交流)+ 手里 4 张互不重复 → 新线索收不了、一键赠送也送不出,只能等好友捞。MAA 的策略是:开不了线索交流就把板上线索全取下来,能开则一键放置。
- 菲亚梅塔心情恢复:默认关闭,需在基建设置开启;最多指定 3 名目标(清流、可露希尔、但书、巫恋、龙舌兰、歌蕾蒂娅六选三,不填默认前三位),换班时把当前心情最低的目标与菲亚梅塔进宿舍互换心情。巫恋、龙舌兰不推荐:自动换班很难维持她们的 007 循环,选了反而亏。
- 不将已进驻干员放入宿舍:开启后避免艾丽妮、逻各斯在训练室未训练时被拽进宿舍;低心情的已进驻干员先由所在设施换出再休息,逻辑更干净。
- 会客室优先级:按固定优先级选干员(见行者、跃跃优先);
U-Official的线索倾向技能会被主动禁用。 - 一键赠送重复线索:国服(Official/BiliBili)2025-12-05 新增该功能,检测到按钮 MAA 会自动点击批量赠送;EN/JP/KR 预计约 6 个月后支持,TW 预计约 1 年(台服赶进度可能提前)。
相关资源
- 官方手册·基建换班:infrastructure.md
- 自定义排班 JSON 完整字段规范:基建排班协议
- 换班统一调度与自定义配置解析:InfrastTask.cpp
- 各设施子任务实现目录:src/MaaCore/Task/Infrast/
- 组合评分实现:InfrastScore.cpp
- 数据结构与固定换班顺序定义:AsstInfrastDef.h
- 菲亚梅塔配对与宿舍重排:InfrastDormTask.cpp
- 内置极限效率作业(153/243/252/333 布局):resource/custom_infrast/——对干员与练度要求极高,可参考结构、不建议直接抄
- 社区工具:一图流排班生成器、riic 自动排班表(第三方在线工具,请自行确认可用性)
【免费下载链接】MaaAssistantArknights《明日方舟》小助手,全日常一键长草!| A one-click tool for the daily tasks of Arknights, supporting all clients.项目地址: https://gitcode.com/GitHub_Trending/ma/MaaAssistantArknights
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考