本文介绍当前目录中的两个浏览器用户脚本,帮助使用者了解功能差异、安装方法与操作方式。
说明依据上述版本的源码整理。站点支持范围来自脚本的 @match 声明,功能描述来自实现;本文不代表已在所有站点完成实战验证。
1. 如何选择
如果希望在 Chrono Divide 中控制多种战斗单位,使用全军或固定编队作战,并查看详细诊断信息,可选择 AutoBattle V2。
如果主要使用基础坦克,希望快速切换自动碾压与自动攻击,或需要在王二火大、RA2Web 等镜像上使用,可选择 MapReview。
同一页面建议只启用一个脚本。 两者使用相同快捷键,并且都会接入游戏状态与命令接口;同时启用可能出现快捷键被拦截、重复下令或单位控制冲突。
2. 安装与运行
2.1 运行环境
这两个文件是浏览器用户脚本,需要通过 Tampermonkey、Violentmonkey 等用户脚本管理器运行。它们不是可以在命令行中直接启动的 Node.js 程序。
脚本依赖现代浏览器的 Web Worker、Blob 等能力,通过页面上下文访问游戏接口;元数据均声明在 document-start 阶段运行。
支持的地址如下:
2.2 安装步骤
安装并启用用户脚本管理器,允许其访问目标游戏站点。
在管理器中选择“新建脚本”,用所选文件的完整内容替换默认模板,然后保存。也可使用管理器提供的文件导入功能。
关闭该站点上另一个自动作战脚本,避免冲突。
刷新游戏页面,让脚本从页面加载早期接入游戏。
确认控制面板出现,进入对局后检查单位、Tick 或宿主连接状态。
按后文对应脚本的方式启用作战;MapReview 用户应先确认碾压开关,因为首次运行默认开启。
两个文件均内置 Worker 代码,正常运行不需要另行部署 Worker 文件。
AutoBattle V2 的更新地址指向本机 127.0.0.1:8765,这是开发环境中的本地更新服务地址。没有该服务时,可以手动导入脚本使用,但不能依赖该地址获取自动更新;本文所列两个文件本身不包含更新服务。
3. AutoBattle V2:多兵种自动微操
3.1 主要功能
自动接入当前对局:发现游戏接口和本机玩家上下文,等待可用对局后开始观察。对局解绑后回到观察模式,清除原作战范围。
按范围控制单位:支持仅当前选中、固定编队与全军战斗单位。固定编队记录绑定时的单位 ID,之后改变选区不会直接改写该编队。
自动攻击与碾压:结合攻击能力、目标状态和武器射程生成命令,包含集火伤害分配、满足条件时的冷却走位,以及碾压策略。
集合与队形:支持基地外围集合、进攻队形和兵种协同;可在面板中切换“集合后保持进攻队形”,调整集合距离。
目标搜索与特殊目标处理:支持射程范围或全地图搜索,可配置未探索敌军检测、隐形/伪装目标检测与强攻。
地图透明显示:通过渲染层降低战争迷雾遮罩的不透明度,面板提供独立开关。
诊断与手动接管:显示 Worker、命令、快照和宿主状态,支持导出 JSON;原生接入路径对检测到的手动命令提供默认约 2 秒的单位控制让步。
“全图搜索”面向脚本从游戏状态中取得的敌军记录。地图透明显示、目标检测和攻击权限是不同环节:对尚未探索的目标,脚本先尝试普通移动接近,再根据目标状态交战。
3.2 快速开始
全军作战: 进入对局,确认宿主已连接,按 Ctrl + X。脚本启用自动攻击与碾压,将范围切换为全军战斗单位,并保留当前目标搜索设置。再次按下后返回观察模式,范围恢复为“仅当前选中”。
固定编队作战: 先在游戏中选中单位,再按 Alt + X。脚本把当前选中单位绑定为固定编队,并进入作战模式;再次按下取消该模式,返回观察与当前选中范围。未选中单位时,会提示“请先在游戏中选中单位”。
固定编队作战沿用当前攻击、碾压等设置。面板中的“当前选中 → 编队”用于设置编队范围,本身不等同于开启作战。
3.3 快捷键与停止方式
在文本输入框中,Ctrl + X 和 Alt + X 不触发作战切换,Ctrl + X 保留剪切行为。需要操作快捷键时,可先将焦点移回游戏区域。
停止自动作战与地图透明显示分别控制;若需要恢复遮罩显示,应另行关闭面板中的地图透明选项。
3.4 默认设置
以下为没有本地保存配置时的默认值。
自动化设置保存在当前站点的 localStorage 中,刷新后会读取已保存的设置。面板位置和缩小状态也会保存。
3.5 诊断信息
遇到未接入对局、单位未受控或 Worker 异常时,可先查看面板中的宿主状态、受控单位数和最近错误;需要保留现场信息时,填写测试标签并点击“导出诊断 JSON”。
也可在浏览器开发者工具的页面控制台查看:
// 读取当前运行和宿主状态
AutobattleV2.getMetrics();
// 读取当前自动化设置
AutobattleV2.getAutomation();
// 下载诊断文件
AutobattleV2.downloadDiagnostics("manual-check");
// 停止自动作战
await AutobattleV2.stop();
诊断中的“已提交”或队列发送统计表示客户端提交情况,不等于游戏引擎已经确认执行。Worker 耗时也不等同于画面帧率。
脚本还内置训练、策略评估及冻结模型相关接口,属于进阶能力,普通使用不需要配置;不能据此理解为安装后会自动开始训练。
4. MapReview:基础坦克自动作战
4.1 受控单位与目标
MapReview 的己方受控单位严格采用 MTNK、HTNK、LTNK 白名单,并检查存活、归属、类型等条件。它不会因为单位属于“车辆”就接管矿车、基地车、舰船或其他高级坦克。
敌方目标不受同一白名单限制。自动碾压主要寻找可碾压步兵;自动攻击会根据威胁、距离和价值选择敌方坦克、支援车辆或建筑等目标。
4.2 两种独立作战模式
自动碾压(Ctrl + X)
为可执行碾压的基础坦克分配可碾压步兵目标,利用强制移动执行碾压,并通过目标锁定减少频繁换目标。达到最高老兵等级的坦克会跳过普通步兵碾压,但开启自动攻击后仍可参与攻击。
自动攻击(Alt + X)
以约 3~4 辆坦克组成集火组,优先处理能够威胁己方、靠近前排的目标,再结合目标类型、血量、等级等因素排序。接近射程时安排队形与开火位置;实际分组数量和开火时机受可用坦克、目标和移动状态影响。
两种模式可以分别启用或同时启用。只打开“攻击”并不会自动把“碾压”开关打开。
4.3 战术处理
铁幕目标过滤:避开处于铁幕保护状态的目标,并在状态变化时取消相关旧目标。
防御绕行:识别敌方地面防御射程和安全缓冲,过滤受防御保护的目标,并尝试通过路径点绕开威胁区域;效果取决于可获得的防御数据与地图通行条件。
未探索目标接近:全图搜索发现的未探索目标先用普通移动接近,进入已探索区域后再攻击或碾压。
基地车追击:对敌方 MCV 使用接近与攻击交替的追击逻辑,并为展开成建造厂的过程保留短暂的目标衔接窗口。
稳定目标与命令去重:保留目标锁、队形阶段和绕行路径点,对相同目标/目的地抑制重复命令。
地图透明显示:集成与 AutoBattle 同源的战争迷雾透明渲染逻辑,初始遮罩不透明度为
0.34;透明显示不等于目标已经被探索。
4.4 面板与默认设置
可以拖动标题或缩小后的圆点移动面板,拖动右下角手柄调整大小。碾压、攻击、搜索、编队准备距离及面板布局会保存到当前站点的 localStorage,后续运行以保存值为准。
要停止自动作战,应将“碾压”和“攻击”都切换为关闭。 不要仅凭“已暂停”文字判断作战已停止;源码中的自动化启用条件由这两个作战开关决定。此脚本没有实现 AutoBattle V2 的 Alt + Shift + X 紧急停止快捷键。
4.5 推荐操作流程
进入对局后查看“碾压”和“攻击”的实际状态。
如需手动布置部队,先把两个开关都关闭。
准备好基础坦克后,按需要打开碾压、攻击或两者。
根据交战范围选择全图搜索,或关闭全图后设置额外搜索格数。
通过“提前 N 格”调整队形准备距离,观察坦克接敌表现。
结束自动控制时,将两个开关都关闭。
快捷键在面板自己的数字输入框中仍可触发;在面板外的输入框、文本区域、选择框或可编辑内容中会保留正常编辑行为。
5. 工作原理概览
两者的核心流程都可以概括为:
接入游戏接口 → 采集单位与地图快照 → Worker 计算目标和动作
→ 主线程检查结果及当前状态 → 提交游戏命令 → 更新面板
AutoBattle V2 采用控制器、运行时、游戏适配器、策略、Worker 池和诊断模块的分层结构;当前文件是这些模块及 Worker 代码的打包产物。浏览器控制器的默认调度间隔为 10ms,同时设置快照时效、命令去重和提交预算。
MapReview 集成了多站点接口发现、快照归一化、坦克策略、命令适配和面板。其作战调度间隔为 100ms,结合 Worker 计算、主线程分段处理、目标锁和会话失效检查,减少陈旧结果及重复下令。
两者均通过 Blob 创建 Worker,并具备超时或失败恢复逻辑。调度间隔是程序配置,不保证游戏每隔该时长就完成一次移动或攻击;实际表现还取决于快照更新、计算耗时和游戏回合推进。
6. 常见问题
如需完全停用脚本及其页面接入、显示修改,在用户脚本管理器中禁用该脚本后刷新页面。