Skip to content

ace-trump-tech/RocoKingdom_AutoCapture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ShinyHunter-AutoCapture - 洛克王国S2赛季异色精灵自动捕捉系统

🎯 基于深度学习的视觉自动化捕捉工具 | 专为《洛克王国:世界》S2赛季设计
项目作者:源批之星 · 鲁健


📖 项目思路介绍

玩洛克王国的小伙伴都知道,异色精灵是每个收藏家的梦想——但它们出现概率极低,手动蹲点捕捉费时费力。尤其是S2赛季“狂欢怪谈”一口气推出了18只异色精灵,靠手动刷图简直肝到吐血。

ShinyHunter-AutoCapture 就是为解决这个问题诞生的。它的核心思路是:

  1. 让程序看懂游戏画面:通过YOLO深度学习模型实时识别屏幕上的精灵。
  2. 自动判断价值:区分普通精灵、污染精灵和异色精灵,并按优先级处理。
  3. 智能资源管理:自动补充咕噜球(去魔力之源领洛克贝 → 安妮商店买高级球)。
  4. 全流程自动化:识别 → 追踪 → 投掷 → 战斗 → 补货,一气呵成。

简单说:你只需要挂机,剩下的交给脚本


✨ 项目介绍

主要功能

模块 功能描述
🔍 精灵识别 YOLOv8检测S2赛季所有可捕捉精灵,准确率≥96%
🌈 异色判定 基于颜色直方图+特征匹配,区分普通/异色/污染精灵
🎯 动态追踪 卡尔曼滤波预测精灵移动轨迹,鼠标平滑跟随
🪄 自动投掷 根据距离自适应蓄力时间,精准捕捉
⚔️ 污染战斗 自动进入战斗→释放技能→退出→重新捕捉
💰 资源管理 咕噜球<10时自动领洛克贝→买高级球→返回地图
🛑 停止条件 捕获到指定异色精灵后自动终止(可配置)

适用版本

  • 仅适配 《洛克王国:世界》S2赛季“狂欢怪谈”
  • 已训练全18只异色精灵 + 污染精灵权重

技术栈

  • Python 3.9+
  • PyTorch + YOLOv8
  • OpenCV + MSS (屏幕捕获)
  • PyAutoGUI + pynput (鼠标/键盘模拟)
  • FilterPy (卡尔曼滤波)

📸 使用效果预览

运行截图

上图为本脚本在游戏中自动识别并捕捉异色精灵的实际效果。


📦 如何获取项目(重要:三步走)

作者鲁健提醒:使用本项目前,请务必按以下顺序操作:

  1. Star
    点击仓库右上角的 Star 按钮,收藏本项目,方便下次找到。

  2. Fork 🍴
    点击 Fork 按钮,将项目复制到你自己的GitHub账号下(便于自定义修改)。

  3. Download ⬇️
    Fork完成后,点击绿色的 CodeDownload ZIP,或使用 git clone 下载到本地。

Star-Fork-Download 示意图

git clone https://github.com/你的用户名/ShinyHunter-AutoCapture.git

📌 三步缺一不可,尤其Star是对作者“源批之星”鲁健的最大支持!


🚀 安装与使用

1. 环境准备

  • 操作系统:Windows 10/11(推荐)
  • 游戏分辨率:1920×1080,窗口模式
  • 显卡:推荐NVIDIA GPU(CPU也可运行,但帧率较低)

2. 下载项目(已完成上述三步)

3. 安装依赖

pip install -r requirements.txt

4. 权重文件自动下载

无需手动下载权重!首次运行 main.py 时,脚本会自动从 GitHub Release 下载预训练模型到 weights/ 目录:

  • s2_all_sprites.pt (YOLOv8 检测权重)
  • shiny_classifier.pth (异色分类器权重)

下载进度会在控制台显示,请保持网络通畅。若自动下载失败,可手动从 Releases 页面下载并放入 weights/ 文件夹。

5. 配置文件调整

编辑 config.yaml,至少修改以下内容:

capture:
  region: [0, 0, 1920, 1080]   # 改为你的游戏窗口坐标

hotkeys:
  start: "f2"
  stop: "f3"
  exit: "f4"

resource:
  min_balls: 10                # 触发补货的剩余球数阈值

💡 如果你不知道游戏窗口坐标,可以运行 python scripts/region_selector.py 手动框选。

6. 运行脚本

python main.py

启动后:

  • F2 开始自动捕捉
  • F3 暂停
  • F4 退出程序

⚠️ 温馨提示(必看)

关于洛克贝消耗

脚本在咕噜球数量低于阈值时,会自动前往“魔力之源”领取洛克贝,然后去“安妮商店”购买高级咕噜球。
但是:每天可领取的洛克贝数量有限,且高级咕噜球价格不菲。如果长时间挂机,洛克贝可能入不敷出

👉 建议:每天上线手动做一下日常任务,多攒点洛克贝,或者在配置里提高 min_balls 阈值(例如改为20),减少跑商店的频率。

关于异色捕捉停止条件

目前版本设定:捕获到第一只异色精灵后,程序会自动终止,不会继续捕捉下一只。
这是因为异色精灵的定位是“收藏”,大部分玩家只要捉到一只就满足了。如果你需要连续捕捉多只不同异色,请留意后续更新。

👉 当前解决方法:手动修改 config.yaml 中的 target_shiny_count(如果有该参数),或等待后续版本支持“全异色收集模式”。


📝 TODO List(后续完善计划)

  • 多异色连续捕捉:支持配置“想要捕捉的异色列表”,全部抓完才停止。
  • 洛克贝余量预警:当剩余洛克贝不足时,发送桌面通知提醒用户上线补充。
  • 更多地图支持:适配S2赛季以后的新地图。
  • 性能优化:降低CPU/GPU占用,支持低配电脑。
  • 图形化界面:提供GUI面板,可实时调整参数。
  • 断点续存:意外中断后能从中断点继续,而不是重新开始。

❓ 常见问题

问题 解决方案
脚本启动后没反应 检查游戏是否窗口化;按F2后再点一下游戏窗口确保焦点。
精灵识别率低 降低 config.yaml 中的 conf_threshold(例如从0.6降到0.5)。
鼠标乱飘 确保游戏分辨率为1920×1080,且UI缩放为100%。
提示“模型文件不存在” 首次运行会自动下载;若网络问题下载失败,请手动从Releases下载。

🔄 整体流程图(Pipeline)

屏幕捕获 → YOLO检测 → 异色分类 → 优先级排序 → 选中目标
        │
        ├─ 普通/异色 → 平滑追踪 → 蓄力投掷 → 捕捉判断
        ├─ 污染精灵 → 进入战斗 → 选技能 → 击败 → 重新捕捉
        └─ 咕噜球不足 → 魔力之源领贝 → 安妮商店买球 → 返回地图
        │
        └─ 捕获异色 → 程序终止

详细状态流转请参考源码 core/fsm/state_machine.py


📜 免责声明

  • 本项目仅用于计算机视觉与自动化技术的学习研究
  • 使用本脚本可能违反《洛克王国:世界》用户协议,存在封号风险。请自行承担后果,作者不承担任何责任。
  • 请勿将本项目用于商业用途或破坏游戏公平性。

⭐ 致谢

感谢 源批之星·鲁健 为本项目提供核心算法与持续维护。
如果你觉得这个项目对你有帮助,欢迎点亮 Star 支持一下!
也欢迎提交Issue和PR,一起完善这个工具。

祝你早日集齐S2全异色,成为洛克王国收藏大师!


项目地址https://github.com/ace-trump-tech/RocoKingdom_AutoCapture/tree/main
最后更新:2026-05-27 | 适配S2赛季

About

🎯 洛克王国S2赛季异色精灵全自动捕捉系统 | 基于YOLOv8的实时精灵识别 + 异色/污染分类 | 卡尔曼滤波动态追踪 + 自适应蓄力投掷 | 污染精灵自动战斗 | 洛克贝自动领取 + 高级咕噜球智能补货 | 捕获目标异色后自动终止 | 作者:源批之星·鲁健

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages