Repository navigation
Modules
GFAM 包含 9 个主要功能模块和若干辅助模块。每个模块作为独立 Python 脚本运行,通过 gflzirc 与游戏服务器通信。
5,833 行 | 核心打捞模块,覆盖普通/紧急/夜战全部关卡。
自动化执行 EPA 关卡的完整流程:部署梯队 → 移动 → 战斗结算 → 收集掉落 → 拆解非保护产物。支持单梯队打捞(single 模式)和多梯队轮换练级(team 模式)。
- single 模式:只使用梯队 1(不要求妖精),适合纯打捞
- team 模式:多梯队轮换(要求妖精),适合练级 + 打捞
| 难度 | 关卡范围 | mission_id 示例 |
|---|---|---|
| 普通 | A-1 至 A-10 | 145 (EX1) |
| 紧急 | A-1 至 A-6 | 对应紧急关卡 ID |
| 夜战 | A-1 至 A-6 | 对应夜战关卡 ID |
| 参数 | 默认值 | 说明 |
|---|---|---|
MACRO_LOOPS |
200 | 外层大循环次数 |
MISSIONS_PER_RETIRE |
8 | 内层小循环次数(每 N 次出击后批量拆解) |
MODE_NAME |
"single" | 运行模式 |
TRAIN_TEAM_COUNT |
1 | 练级梯队数量 |
TRAIN_SCHEDULE_MODE |
"full" | 练级调度模式(full=满级切换 / equal=均等轮换) |
STOP_ON_MAX_LEVEL |
False | 目标满级后停机 |
STOP_AFTER_EACH_TARGET_DROPPED |
False | 每个目标各掉一个后停机 |
ENABLE_FILTER_PROTECTION |
False | 过滤保护(仅保留目标掉落) |
AUTO_LOCK_TARGET_EQUIP |
False | 自动锁定目标装备 |
ENABLE_EQUIP_AUTO_RETIRE |
False | 装备自动拆解 |
EQUIP_AUTO_RETIRE_MAX_RANK |
4 | 装备自动拆解最高星级 |
SELECTED_DIFFICULTY |
"普通" | 难度选择 |
SELECTED_STAGE |
"" | 关卡选择 |
SELECTED_TARGET |
"" | 目标选择 |
完整的关卡自动化包括:combInfo(战斗配置)→ startMission(开始任务)→ 沿路线 teamMove(移动)→ 每个战斗点 battleFinish(结算)→ endTurn(结束回合)→ startEnemyTurn/endEnemyTurn(敌方回合)→ startTurn(新回合)。掉落的人形根据保护列表决定保留或拆解。夜战模式额外支持装备自动锁定。
当仓库空间不足时,EPA 会自动触发紧急拆解流程:从 Index 中识别非保护人形,提交拆解释放空间,然后继续运行。
运行结束后生成 .gfam_epa_summary.json,包含运行时长、出击次数、掉落统计、资源变化、妖精状态、跟随制造统计。
6,215 行 | 13-4 关卡专家,继承 EPA 全部基础设施。
-
-134资源模式:双单人梯队部署(梯队 1 驻守 91297,梯队 2 从 91263 出发走 5 战斗路线)。所有掉落自动拆解,追踪四项资源变化。 -
-134train练级模式:梯队 1 为占位假人,梯队 2+ 为练级梯队。走 5 战斗路线(91263→91264→91265→91266→91268→91271),mission_id=128。
| 参数 | 说明 |
|---|---|
RESOURCE_FARM_MODE |
资源模式开关 |
TRAIN_13_4_MODE |
练级模式开关 |
TRAIN_13_4_DUMMY_TEAM_ID |
假人梯队 ID(默认 1) |
TRAIN_13_4_FIRST_TEAM_ID |
第一个练级梯队 ID(默认 2) |
888 行 | A-10 关卡四项资源获取,不移动不战斗。
在 EPA 普通 A-10 关卡(mission_id=144)上,只部署单人梯队,不移动直接结束回合获取四项资源结算。受限于每轮结算需要多个请求响应交互,最高速率约为 1 结算/秒。
- 梯队 1 必须为单人梯队
- 需要先通过 auth capture 获取 UID/SIGN
| 级别 | 条件 | 行为 |
|---|---|---|
| 常规 | 待拆人形 ≥ 10 个 | 批量拆解 |
| 预警 | 仓库空位 ≤ 5 | 提前拆解 |
| 紧张 | 仓库空位 ≤ 2 | 紧急拆解 |
| 耗尽 | 仓库空位 = 0 | 兜底拆解 |
| 参数 | 默认值 | 说明 |
|---|---|---|
A10_RETIRE_BATCH_SIZE |
80 | 每批拆解数量 |
A10_PENDING_RETIRE_LIMIT |
10 | 待拆触发阈值 |
A10_RETIRE_FREE_NORMAL |
5 | 空位预警线 |
A10_RETIRE_FREE_TIGHT |
2 | 空位紧张线 |
A10_RETIRE_TIMEOUT |
30 | 拆解请求超时(秒) |
- 每 300 次出击同步制造模块的仓库缓存
- 拆解前获取
RetireLock跨进程锁 - 拆解响应未知时保留待拆 UID,不丢弃
3,362 行 | 训练资料获取 + 自动技能训练。
自动化 mission 10352 获取训练资料(硬币),同时集成自动技能训练功能。当训练资料耗尽时自动切换到技能训练,资料恢复后切回获取,循环直到没有可训练人形。
- 硬币获取:单人梯队沿路线移动收集随机节点掉落,完成后 abortMission(不结算)
-
自动训练:扫描 Index 中已锁定且技能低于目标等级的人形,排除后勤/战斗/探索中的,使用
Gun/skillUpgrade训练
| 参数 | 默认值 | 说明 |
|---|---|---|
PICK_FIXED_TEAM_ID |
1 | 获取资料的梯队 ID |
AUTO_SKILL_TARGET_LEVEL |
10 | 技能目标等级 |
AUTO_SKILL_ONLY_LOCKED |
True | 只训练已锁定人形 |
AUTO_SKILL_EXCLUDE_BUSY |
True | 排除正在执行任务的人形 |
TRAIN_PICK_CYCLE_ENABLED |
True | 训练-获取循环模式 |
1,297 行 | 零消耗关卡打捞。
自动化 mission 11880,该关卡不消耗任何资源。使用玩家的重装小队(heavy squad)部署在指定位置,通过回合结算获取人形掉落和资源奖励。
- 无需梯队移动,纯回合结算
- 使用
Index/guide(GUIDE_COURSE_11880)获取引导奖励 - 默认服务器 M4A1
- 支持批量拆解和紧急拆解
1,366 行 | 零元购的 PR 变体。
- 使用 mission 10801(非 11880)
- 部署系统友方梯队(ally_team_id=6480101)而非玩家重装
- 两回合制任务,有实际移动路线
- 使用
Mission/allyMySideMove进行友方移动
6,143 行 | 全关卡智能自动打捞。
"一键"自动规划打捞路线,遍历所有 EPA 关卡的目标人形/装备,自动跳过已拥有的目标,逐个打捞直到全部收集完成。
- gun 计划:遍历普通/紧急 A-1 至 A-10 的人形目标
- equip 计划:遍历夜战 A-1 至 A-6 的装备目标
- 从 Index 获取已拥有的人形/装备列表
- 对比各关卡目标,生成打捞计划(只包含未拥有的)
- 按计划逐个关卡运行,当前目标掉落后自动切换到下一个
- 全部完成后停止
1,391 行 | 后台制造守护进程。
作为独立后台进程运行,在其他模块执行期间自动进行人形/装备制造。支持公式选择、目标保护、非保护产物自动拆解。
- 公式:手枪(130/130/130/30)、冲锋枪(400/400/100/200)、步枪(400/100/400/200)、突击步枪(100/400/400/200)、机枪(800/800/100/400)
- 保护模式:保留目标人形、全部拆解、保留五星
- 使用
Gun/developMultiGun批量制造,Gun/finishAllDevelop完成
- 公式:18 种装备公式(光学、全息、红点、夜视、消音、穿甲、状态、高速、霰弹、外骨骼、护甲、弹药箱、披风、混合、备用瞄具、芯片、特种穿甲、两脚架、管、测距仪)
- 保护模式:自动保护五星、保护全息/红点、自定义保护列表
- 使用
Equip/developMulti批量制造
- 主循环间隔 45 秒
- Index 刷新间隔 300 秒
- 只使用普通建造槽(不使用重型槽)
- 通过
RetireLock与 A-10 协调拆解 - 仓库至少保留 1 个空位
2,093 行 | 灰域万圣节活动自动化。
自动化灰域彩蛋活动:重置地图 → 搜索彩蛋任务(580001-580006)→ 执行 MOVE/BATTLE 路线 → 获取万圣节积分(每轮 6000 分)。
| 任务 ID | 类型 | 说明 |
|---|---|---|
| 580001 | BATTLE | 战斗型,含 buildingSkillPerformOnDeath |
| 580002-580005 | MOVE | 移动型,无战斗 |
| 580006 | BATTLE | 战斗型 |
- Type 1:探查点数(每次消耗 6 个)
- Type 2:四项资源(每次消耗 60 点,每资源 -10)
-
MapParser解析重置后的地图数据,通过GREYZONE_RESPAWN_MAP查找相邻彩蛋 - MOVE 型:startMission → teamMove → allyMove → endTurn
- BATTLE 型:startMission → teamMove → battleFinish + buildingSkillPerformOnDeath → allyMove → endTurn
- Index/index 仅在运行前请求一次,后续通过本地缓存估算进度
- Index/index 请求支持 5 次重试(间隔 5 秒)
1,071 行 | 后台妖精建造/收集/强化守护进程。
- 三步循环:完成建造 → 自动强化 → 开始新建造
- 建造公式:固定 500/500/500/500
- 默认每轮都强化(
STRENGTHEN_ALWAYS=True) - 缓存写入
.gfam_fairy_auto_cache.json
509 行 | 跨模块妖精统计追踪。
- 从 Index/index 解析妖精库存、建造槽、活跃建造
- 提供
read_fairy_snapshot()、fairy_runtime_status_line()供前台模块使用
118 行 | UID/SIGN 凭证获取。
- 启动 GFLProxy 在端口 12335
- 设置 Windows 系统代理指向本地代理
- 用户登录游戏后拦截 SYS_KEY_UPGRADE 事件提取 UID/SIGN
- 顺带缓存 Index/index 供后续模块复用
64 行 | 静态数据定义。
-
GREYZONE_RESPAWN_MAP:4 个出生点 → 相邻检查点映射 -
MISSION_CONFIGS:6 个彩蛋任务的路线和配置
78 行 | 共享路径和调试工具。
-
gfam_find_data_file():搜索数据文件(data/ → root → cwd → modules/) -
gfam_debug_log():条件调试输出
| 模块 | Index 缓存 | API 锁 | 拆解锁 | 制造缓存 | 妖精缓存 | 摘要 JSON |
|---|---|---|---|---|---|---|
| EPA | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 13-4 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| A-10 | ✓ | ✓ | ✓ | ✓ | — | ✓ |
| 训练资料 | ✓ | ✓ | — | — | — | — |
| 零元购 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| 零元购 PR | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Smart EPA | ✓ | ✓ | — | — | — | — |
| 跟随制造 | ✓ | ✓ | ✓ | ✓ | — | — |
| 灰域 | ✓ | ✓ | — | — | — | ✓ |
| 妖精自动 | ✓ | ✓ | — | — | ✓ | — |
| 认证获取 | ✓ | — | — | — | — | — |