Skip to content

Minkelxy/NZM_CMD

Repository files navigation

NZM_CMD - 逆战:未来指挥官

NZM_CMD 是《逆战:未来》的自动化执行终端与辅助框架。

本项目采用了 双模驱动架构 (Dual-Mode Driver Architecture)计算机视觉 (Computer Vision) 相结合的方案,旨在提供最安全、最稳定的自动化体验。

⚠️ 注意:可执行文件无效传播, 却不能对项目有任何改进. 本项目目前不提供预编译的可执行文件 (EXE),直至软件进入稳定阶段。请参照下文自行编译。

💬 加入讨论: 1075480881


🛠️ 生态系统与配合 (Ecosystem)

本项目是 MINKE 体系 的一部分,建议配合以下项目使用以获得完整体验:

(策略生产工场)

NZM_CMD 专注于执行,而 MINKE 专注于生产

  • 可视化编辑:使用 MINKE 提供的可视化地图编辑器,您可以直观地在游戏截图上标记网格、绘制地形、规划陷阱布局。
  • 数据生成MINKE 负责生成 NZM_CMD 所需的核心配置文件:
    • *地图.json:包含地图的物理参数、网格数据和预备动作。
    • *策略.json:定义每一波的建造、升级和拆除指令。
  • 工作流
    1. MINKE 中加载游戏截图,绘制地图与策略。
    2. 导出 JSON 文件。
    3. 将 JSON 文件放入 NZM_CMD 的运行目录。
    4. 启动 NZM_CMD 执行全自动挂机。

⚙️ 游戏配置要求 (Prerequisites)

为了确保 CV 识别准确,请务必将游戏设置为以下配置:

  • 显示模式: 无边框全屏 (Borderless Windowed)
  • 分辨率: 1920x1080
  • 帧率限制: 60 FPS (包括大厅和局内,必须锁定以保证时序稳定)
  • 画质设置: 推荐低/中画质,关闭动态模糊和光影特效(减少 OCR 干扰)

📅 开发路线图 (Roadmap)

✅ 已完成特性 (Completed)

模块 特性说明 完成时间
核心驱动 双模架构 (Dual-Mode):支持硬件串口与软件模拟热切换,集成 CLI 参数控制 2026-02-04
拟人算法 生物力学模拟:实现贝塞尔曲线鼠标轨迹、高斯分布按键延迟与微颤算法 2026-02-05
智能导航 NavEngine:基于 TOML 配置的场景感知、OCR 状态识别与动态路由分发 2026-02-07
塔防业务 策略引擎:支持 JSON 定义建造/升级/拆除序列,实现坐标自动修正与双击防漏 2026-02-08
日活业务 任务闭环:实现每日任务的自动识别、刷新、领奖及弹窗跳过逻辑 2026-02-09
OCR增强 智能波次识别:基于上下文的OCR纠错、波次递增验证、文本去重逻辑 2026-02-28
配置工具 UI可视化编辑器tools/UI_tool/ 支持TOML场景可视化编辑与导出 2026-02-28

🚧 开发计划 (In Progress)

  • 相机系统优化
    • 多矩形安全区域拼接、边界校准与累计误差消除

🔮 远期规划 (Backlog)

  • 全链路无人值守
    • 实现 启动游戏 -> 自动登录 -> 选区进入 -> 执行任务 -> 退出游戏 的全流程托管。
  • 事件调度系统 (Event Scheduler)
    • 支持 Cron 表达式风格的定时任务(如:每天凌晨 3 点自动刷首胜)。
  • 云端策略库
    • 支持从远程服务器拉取最新的 ui_map.tomlstrategy.json,应对游戏热更新。

🏗️ 项目架构

NZM_CMD/
├── src/
│   ├── main.rs           # [入口] CLI 参数解析与路由分发 (Router)
│   ├── hardware.rs       # [驱动] InputDriver Trait 定义及软/硬件实现
│   ├── human.rs          # [核心] 拟人化算法 (曲线生成、抖动控制)
│   ├── nav.rs            # [核心] 导航引擎、Windows OCR 封装、场景识别
│   ├── daily_routine.rs  # [业务] 日常任务自动化逻辑
│   ├── tower_defense.rs  # [业务] 塔防战斗逻辑、陷阱策略调度
│   └── models.rs         # 数据结构定义
├── tools/
│   └── UI_tool/          # [工具] UI场景可视化编辑器 (TOML编辑与导出)
├── maps/                 # [配置] 地图与策略文件目录
│   └── 地图名称/
│       ├── *地图.json    # 地图元数据 (网格、安全区、相机参数)
│       ├── *策略.json    # 波次策略 (建造/升级/拆除指令)
│       └── *防御塔.json  # 防御塔配置 (可选)
├── ui_map.toml           # 界面导航与路由配置文件
└── start_task.bat        # 自动提权启动脚本


🚀 快速开始 (Quick Start)

环境要求

  • OS: Windows 10 / 11 (需启用 Windows OCR 服务)
  • Rust: Stable toolchain (请自行安装 Rust 环境进行编译)

1. 编译项目

# 推荐使用 Release 模式以获得最佳 OCR 性能
cargo build --release

2. 启动方式

本项目支持命令行参数控制,或使用批处理脚本一键启动。

方式 A: 使用 BAT 脚本 (推荐)

直接运行根目录下的 启动日活.bat (或自定义的 .bat 文件)。脚本会自动请求管理员权限并运行程序。

方式 B: 命令行启动

请以管理员身份打开 PowerShell 或 CMD:

通用语法:

cargo run --release -- -p <端口> -t <目标任务>

示例 1:使用软件模拟 (无需硬件)

# 自动回退到软件模式,执行赛季任务
cargo run --release -- -p SOFT -t "赛季任务"

示例 2:使用硬件串口

# 连接 COM3 端口,前往空间站地图
cargo run --release -- -p COM3 -t "空间站普通"

3. 命令行参数说明

参数 简写 默认值 说明
--port -p COM3 指定串口号 (如 COM9)。输入 SOFT 强制使用软件模拟。
--target -t 空间站普通 导航的目标界面名称 (对应 ui_map.toml 中的 id)。
--test None 运行单元测试模式:input (键鼠), screen (截图), ocr (识别), scroll (滚轮)。

⚙️ 配置指南

1. 界面路由 (ui_map.toml)

你可以通过修改此文件来定义界面跳转逻辑及业务接管:

[[scenes]]
id = "每日目标"
name = "每日目标"
handler = "daily"  # 指定由 DailyRoutineApp 接管

[[scenes]]
id = "空间站炼狱"
handler = "td"     # 指定由 TowerDefenseApp 接管

2. 塔防策略 (*策略.json)

定义塔防模式下的建造顺序和位置。强烈建议使用 MINKE 环境 生成此文件。


🛠️ 辅助工具

进入 tool 目录运行调试工具,用于获取屏幕坐标和测试 OCR 识别率:

cd tool
cargo run --release

⚠️ 免责声明

  • 本项目仅作为 Rust 系统编程计算机视觉自动化控制技术的学习研究案例。
  • 严禁将本项目用于任何破坏游戏平衡、盈利或非法用途。
  • 使用任何辅助软件均存在账号封禁风险,开发者不对使用本项目产生的任何后果负责。

📜 License

MIT License

About

逆战未来管理工具

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages