# NZM_CMD **Repository Path**: Forgo7ten/NZM_CMD ## Basic Information - **Project Name**: NZM_CMD - **Description**: [Mirror] https://github.com/Minkelxy/NZM_CMD 逆战未来硬件管理 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-08 - **Last Updated**: 2026-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NZM_CMD - 逆战:未来指挥官 **NZM_CMD** 是《逆战:未来》的全场景自动化辅助框架。 本项目采用了 **双模驱动架构 (Dual-Mode Driver Architecture)** 与 **计算机视觉 (Computer Vision)** 相结合的方案。它不读取任何游戏内存,完全模拟人类玩家的视觉判断与物理操作。 无论是追求极致安全的**硬件模拟**,还是便捷调试的**软件模拟**,本框架都能灵活适配。 --- ## 🌟 核心特性 (Features) ### 1. 双模输入驱动 (Hybrid Input System) * **硬件模式 (Hardware)**: 通过串口 (Serial/COM) 连接外部硬件(如 Arduino/ESP32),彻底绕过常规反作弊系统的行为检测。 * **软件模式 (Software)**: 基于 `Enigo` 库的软件模拟,无需额外硬件即可快速调试逻辑或进行无风险环境下的测试。 ### 2. 智能路由分发 (Navigation Router) * **场景感知**:基于 `ui_map.toml` 的配置,自动识别当前游戏界面。 * **动态接管**:导航引擎 (`NavEngine`) 负责将游戏带入指定界面,随即根据配置的 `handler` 将控制权移交给特定的业务模块(如塔防模块或日活模块)。 ### 3. 全自动日活托管 (Daily Routine) * **OCR 状态扫描**:自动识别任务列表中的“领取”、“去完成”、“已完成”状态。 * **闭环逻辑**:自动点击刷新任务、领取奖励、跳过结算动画,直到所有任务完成。 ### 4. 拟人化操作 (Human-Like Behavior) * **贝塞尔曲线轨迹**:鼠标移动采用三阶贝塞尔曲线,模拟手腕的自然弧度。 * **高斯分布延迟**:按键时长与点击间隔均引入随机扰动,拒绝机械式的固定频率。 --- ## 🏗️ 项目架构 ```text 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 # 数据结构定义 ├── tool/ # 配套工具:UI 坐标抓取与 OCR 调试器 ├── *.json # 塔防地图与策略配置文件 ├── ui_map.toml # 界面导航与路由配置文件 └── start_task.bat # 自动提权启动脚本 ``` --- ## 🚀 快速开始 (Quick Start) ### 环境要求 * **OS**: Windows 10 / 11 (需启用 Windows OCR 服务) * **分辨率**: 1920x1080 (100% 缩放) * **Rust**: Stable toolchain ### 1. 编译项目 ```bash # 推荐使用 Release 模式以获得最佳 OCR 性能 cargo build --release ``` ### 2. 启动方式 本项目支持命令行参数控制,或使用批处理脚本一键启动。 #### 方式 A: 使用 BAT 脚本 (推荐) 直接运行根目录下的 `启动日活.bat` (或自定义的 `.bat` 文件)。脚本会自动请求管理员权限并运行程序。 #### 方式 B: 命令行启动 请以**管理员身份**打开 PowerShell 或 CMD: **通用语法:** ```bash cargo run -- -p <端口> -t <目标任务> ``` **示例 1:使用软件模拟 (无需硬件)** ```bash # 自动回退到软件模式,执行赛季任务 cargo run -- -p SOFT -t "赛季任务" ``` **示例 2:使用硬件串口** ```bash # 连接 COM3 端口,前往空间站地图 cargo run -- -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`) 你可以通过修改此文件来定义界面跳转逻辑及业务接管: ```toml [[scenes]] id = "每日目标" name = "每日目标" handler = "daily" # 指定由 DailyRoutineApp 接管 [[scenes]] id = "空间站炼狱" handler = "td" # 指定由 TowerDefenseApp 接管 ``` ### 2. 塔防策略 (`*策略.json`) 定义塔防模式下的建造顺序和位置。 --- ## 🛠️ 辅助工具 进入 `tool` 目录运行调试工具,用于获取屏幕坐标和测试 OCR 识别率: ```bash cd tool cargo run --release ``` --- ## ⚠️ 免责声明 * 本项目仅作为 **Rust 系统编程**、**计算机视觉**及**自动化控制**技术的学习研究案例。 * **严禁**将本项目用于任何破坏游戏平衡、盈利或非法用途。 * 使用任何辅助软件均存在账号封禁风险,开发者不对使用本项目产生的任何后果负责。 --- ## 📜 License MIT License ```