自动化刷宝 Botty:暗黑2重制版 24 小时无人值守,5 分钟跑通
2026/8/22 18:38:20 网站建设 项目流程

自动化刷宝 Botty:暗黑2重制版 24 小时无人值守,5 分钟跑通

【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/botty

凌晨三点,角色还在机械地捡药水、开箱子、拖着佣兵绕圈,眼皮已经开始打架,但关游戏又亏金。Botty 是暗黑2重制式的像素级自动化刷宝脚本:它像人一样"看"游戏画面,识别地面物品、规划地图路线,能整夜替你跑 Pindle、Shenk 循环。适合能看懂代码、但不想花一周啃源码的你。

🖥 它到底怎么"看见"游戏画面

Botty 不注入游戏内存,它只是"看"屏幕。每一步它都截取当前画面,和assets/templates/里预先录好的模板图做匹配——模板匹配可以理解为对照"通缉令照片库"认脸,相似度过线才算"看见"。看见物品、看见 NPC、看见地图地标,都是同一套流程,只是换一组模板。

看见之后的决策交给状态机(可以理解为自动售货机:投币→进入下一状态)。城镇、战斗、捡宝、入库、修理,各是一个状态,状态之间的跳转规则是写死的。核心流转在src/bot.py,具体动作藏在pather.pynpc_manager.pypickit.py这些管理器里,排错时你知道该翻哪本账。

路径规划走的是"地标导航":地图被预烤成一组节点模板,角色从节点走到节点,相当于沿着一串面包屑穿迷宫。为了不让 UI 干扰识别,画面上铺了一层 HUD 遮罩(下图黑色区域都被排除)。所以它对图形设置敏感:模板是在特定亮度、分辨率下录的,画面一变,匹配分数立刻掉下来。

F10 调试窗口,分数即匹配置信度

黑色区域是被排除的 UI

传统做法
模板匹配+OCR,按名字认物品固定按键序列,认不出物品
地标节点路径规划,容忍画面漂移硬编码坐标,一次改动全崩
状态机管流程,连续 5 次失败自动停机一步卡住全程转圈,要人盯
参数全在 ini 里,pickit 用 NIP 语法行为焊死在宏体里

🛠 从克隆到跑起来

前置检查,四条都过模板才认得出画面:

  • D2R 客户端英文,其他语言下 OCR 和模板全失配
  • 720p 窗口模式,F9 自动配置会帮你校准
  • 关掉 HDR、GeForce Experience 之类的外挂图形程序
  • 角色停在英雄选择界面,且对应幕/难度已就绪
git clone https://gitcode.com/gh_mirrors/bo/botty # clone code and templates conda env create environment.yml # build py3.10 env with tesseract/OpenCV conda activate botty # activate env python src/main.py # start bot, wait at char select

启动后聚焦 D2R 窗口,F11 开始、F12 强制停止、F9 自动校准游戏图形设置(第一次务必执行)、F10 打开调试窗看识别分数。暗黑2重制版 MF 脚本的全部配置都在config/下,主脑是params.ini,自己的改动建议放custom.ini,升级版本时不用重新搬。

🎮 三条实战剧本

Pindle+Shenk:过夜主力

目标:light_sorc 最稳的组合,死亡风险低,适合整夜挂着。

关键配置

order=run_pindle, run_eldritch_shenk ; overnight double loop type=light_sorc ; lightning sorc, 3 skill hotkeys runs_per_stash=4 ; force stash every 4 runs

预期效果:单循环 3–5 分钟,每小时 10 次以上,背包满按次数自动入库,死亡后自动回城开新局,循环不断。

A5 区域路径节点调试视图

从刷图换到刷 Boss,思路从"跑得快"变成"别死"——尼拉塞克房间满地尸体爆炸,走位错一步就起飞。

尼拉塞克:硬核生存线

目标:尼拉塞克安全刷,核心指标是生存率。

关键配置

order=run_nihlathak ; tele build only safer_routines=1 ; defensive maneuvers on atk_len_nihlathak=8 ; attack sequence length chicken=0.35 ; chicken below 35% hp

预期效果:单次 4–6 分钟,血量跌破 35% 自动撤退,配 Discord webhook 还能收到"chicken"提醒。

尼拉塞克地图模板示例

想冲更长的循环,就得看巴尔速刷——混沌庇护所是路径规划的压力测试,也是目前只有锤丁接得住的硬仗。

混沌庇护所:锤丁的压轴

目标:Diablo 是最难的 Boss 房,整条线跑通才算把 Botty 用满。

关键配置

order=run_diablo ; hammerdin only, needs teleport type=hammerdin ; blessed hammer on left skill atk_len_cs_trashmobs=1.5 ; trash mob attack time

预期效果:单次 8–12 分钟,封主按 A/B/C 顺序自动清完再打 Diablo。

Diablo run 路径节点图

🎛 旋钮与仪表盘

不管是 Pindle 速刷还是巴尔速刷,参数调优的逻辑一样:全在config/params.ini,每个旋钮拧大拧小都有方向。

生存保护

  • chicken(默认 0.35):血量低于该值自动撤退。拧大,角色跑得更早,循环完成率低但稳;拧小,更敢打,死亡率上升。
  • take_health_potion(0.8):喝药血量阈值。拧大更稳,拧小省药,但下限取决于你配装扛多少爆发。
  • safer_routines(0/1):1 开启防御走位,单局时间明显变长,是 hardcore 的保险丝。

效率参数

  • casting_frames:按角色 FCR 断点查表填。填对,施法没有多余延迟;机器慢(尤其虚拟机)就加 2–4。
  • pathing_delay_factor(4):节点移动速度系数。角色原地打转时,先把它调大一档再看别的。
  • pre_buff_every_run(1):每局重刷 buff。设 0 省时间,但存在 buff 掉光被摸的风险。

物品策略

  • runs_per_stash(4):每几局强制入库。拧大,回城次数少、爆包风险高;拧小,反之。
  • num_loot_columns(5):背包左侧留几列捡宝,右边留给 charms。
  • transmute/gamble_items:自动把 flawless 宝石合成 perfect;金币满仓时拿指环、头环去赌一局。
参数推荐值拧大拧小
chicken0.35撤退更早,更稳更敢打,易死
take_health_potion0.8更早喝药省药,风险高
casting_framesFCR 表值慢机更稳更快,易卡帧
runs_per_stash4入库勤,回城多省时,易爆包

🩹 翻车手册

  • 识别分数普遍低于 0.9,满屏找不到东西 → 图形设置被外部程序改过,或游戏语言不是英文 → F9 重跑自动配置,F10 复核分数
  • 角色原地打转不走 → 节点模板失配,或casting_frames偏小 → 对照 FCR 断点表改值,pathing_delay_factor调大一档
  • 跑几局后脚本自己停了 → 触发max_consecutive_fails安全机制 → 翻info_screenshots里的现场截图,重开游戏再按 F11
  • 进城镇后转圈不动作 → 状态恢复失败 → F12 强停、F11 重启;反复出现就设restart_d2r_when_stuck=1让它自动重启
  • 物品明明看见了却捡不起来 → pickit 规则太严,或物品名模板缺失 → F10 里丢一件物品到地上,看它命中的模板和分数

如果以上都没解决,去src/下翻日志,搜关键词chicken看它在哪一步撤的,再结合max_consecutive_fails定位卡点。

🧭 你的下一步

  • 本周:跑通一条 Pindle 循环
  • 本月:按 FCR 调三个生存旋钮
  • 持续:写自己的 BNIP 捡宝规则

三处值得收藏:src/char/放全部职业实现,config/params.ini配合 README 的完整参数表查任何旋钮,config/default.bnip是默认 pickit,自己写.nip丢进config/nip/即可替换。

到那时,凌晨三点机械捡药水的就是脚本,你只管看手机上的掉落通知。

【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/botty

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询