Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RocoPilotLite

洛克王国:世界 — 纯自动丢球 · 极简独立版

License

代码剥离自 RocoPilot 的模式1,仅保留连续丢球功能,删除了战斗引擎、OCR、YOLO 精灵检测、巡航系统等所有无关模块。


为什么做这个

RocoPilot 是一个功能完备的游戏自动化工具,但它的模式1丢球是固定间隔的 —— 每次循环 0.4 秒 tick,检测到目标就点。连续相同的间隔容易被行为检测识别。

这个独立版加了两层随机:

  1. 长按时间随机 — 每次按住左键的时长在配置范围内随机变化,模拟人类蓄力/瞄准的节奏差异
  2. 丢球间隔随机 — 两次丢球之间的等待时间在一定范围内随机,避免机械的固定节奏

代码量从 40+ 个源文件精简到 6 个 Python 文件 + 2 个模板,没有深度学习依赖,配置通过 config.json 管理,不碰代码。


功能

  • 基于 OpenCV 模板匹配检测 elf_P(可丢球画面)和 exchange(战斗中精灵切换)图标
  • elf_P 匹配到高置信时执行丢球;exchange 匹配到高置信时跳过丢球,等待战斗结束
  • 检测到可丢球画面后,在当前鼠标位置随机长按左键完成丢球
  • 丢球后随机等待再进入下一轮检测
  • 支持 F8 暂停/继续
  • 配合 Interception 驱动级输入,内核层面模拟键鼠,游戏反作弊无法检测

运行环境

项目 要求
操作系统 Windows 10 / 11(64-bit)
权限 管理员权限
Python 3.11+(通过 uv 管理)
驱动 Interception(内核级输入驱动)
分辨率 推荐 1920×1080,其他分辨率通过自适应缩放匹配

安装与运行

1. 安装 Interception 驱动(必须)

  1. Interception Releases 下载 Interception.zip 并解压

  2. 以管理员身份打开终端,进入解压目录

  3. 运行:

    .\install-interception.exe /install
  4. 看到 Success重启电脑

  5. 验证:

    sc query interception

    状态显示 RUNNING 即安装成功

2. 安装 uv

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

关闭并重新打开终端,验证:uv --version

3. 克隆并运行

git clone https://github.com/QuiserDev/RocoPilotLite.git
cd RocoPilotLite
uv sync
uv run main.py

首次运行会自动生成 config.json(带默认值),之后只需编辑 JSON 文件调整参数。按 Ctrl+C 退出。


配置

所有参数在 config.json 中,首次运行自动生成,无需碰代码

{
  // 窗口标题关键词
  "WINDOW_TITLE_KEYWORD": "洛克王国:世界",

  // 参考分辨率(模板截图所用分辨率)
  "REF_WIDTH": 2560,
  "REF_HEIGHT": 1600,

  // 模板匹配阈值(0~1,越高越严格)
  "MATCH_THRESHOLD": 0.40,

  // 使用 Canny 边缘匹配(对亮度变化更鲁棒)
  "USE_EDGE_MATCH": true,

  // 检测区域比例(窗口右下四分之一)
  "ROI_LEFT_RATIO": 0.5,
  "ROI_TOP_RATIO": 0.5,
  "ROI_WIDTH_RATIO": 0.5,
  "ROI_HEIGHT_RATIO": 0.5,

  // 轮询检测间隔(秒)
  "POLL_INTERVAL_SEC": 0.2,

  // 连续丢球间隔随机范围(秒)
  "BALL_INTERVAL_MIN_SEC": 0.5,
  "BALL_INTERVAL_MAX_SEC": 2.0,

  // 长按左键时间随机范围(秒)
  "BALL_HOLD_MIN_SEC": 0.3,
  "BALL_HOLD_MAX_SEC": 0.9,

  // 暂停热键(keyboard 库格式)
  "PAUSE_HOTKEY": "f8",

  // 模板文件名
  "TEMPLATE_ELF": "elf_P.png",
  "TEMPLATE_EXCHANGE": "exchange.png"
}

修改后重启生效。如果 JSON 格式错误或缺少键,程序会用默认值补全并回写文件。

自定义模板

如果改变分辨率或游戏 UI 更新导致匹配失败,可以重新截图替换 templates/ 下的模板:

  • elf_P.png — 丢球按钮图标(野外精灵可丢球画面)
  • exchange.png — 战斗中精灵切换按钮(匹配到高置信时不丢球,等待战斗结束)

截图后替换对应文件,重启即可。模板会在 preprocess 阶段做 Canny 边缘提取,对亮度变化较为鲁棒。


局限性

  • 仅支持丢球,不包含战斗策略、精灵定位、自动巡航等功能
  • 需要游戏窗口不被遮挡(PrintWindow API 可以穿透遮挡,但某些情况下可能失败)
  • 模板源自 2560×1600 分辨率,其他分辨率通过缩放适配,极低分辨率可能匹配分数下降
  • 丢球点击位置为当前鼠标位置,请确保鼠标在可点击区域

项目结构

RocoPilotLite/
├── main.py            ← 主循环(截图 → 匹配 → 丢球 → 等随机间隔)
├── config.py          ← 读取 config.json 并导出为模块变量
├── config.json        ← 用户可编辑的配置文件(首次运行自动生成)
├── input.py           ← Interception 驱动长按左键
├── capture.py         ← PrintWindow API 窗口截图
├── vision.py          ← OpenCV 模板加载 + Canny 边缘匹配
├── window.py          ← 窗口枚举与选择
├── pyproject.toml     ← uv 项目配置(无深度学习依赖)
├── templates/
│   ├── elf_P.png      ← 丢球图标模板
│   └── exchange.png   ← 战斗中精灵切换按钮
├── LICENSE
└── README.md

致谢


License

MIT — 详见 LICENSE

免责声明

本项目仅供学习和研究使用。使用者需自行遵守游戏用户协议,开发者不对因使用本项目导致的任何后果负责。

About

洛克王国世界自动丢球脚本。剥离自 RocoPilot 模式1,添加随机长按时间 + 随机间隔模拟人类节奏

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages