ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

替你跑24小时暗黑2刷宝:Botty图像识别机器人从首次跑通到进阶调优

替你跑24小时暗黑2刷宝:Botty图像识别机器人从首次跑通到进阶调优 替你跑24小时暗黑2刷宝Botty图像识别机器人从首次跑通到进阶调优【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/bottyBotty 是一个为《暗黑破坏神2重制版》D2R做的图像识别自动化脚本它用眼睛看屏幕自己认路、打 Boss、按捡物规则收装备然后循环往复。这篇文章按顺序讲清楚四件事它能干什么、怎么第一次跑起来、哪几个参数值得调、哪些坑要避开。读完你应该能独立跑通一个刷宝循环并且知道它出问题时该查哪里。先知道它会什么再决定跑什么Botty 不靠录制的固定坐标。走位、杀怪、捡物、回城全部是实时对游戏画面做模板匹配和 OCR光学字符识别读出来的。机器人核心是一台状态机角色在选人界面 → 城镇 → 各副本 → 回城之间循环死亡或血量告急时监控线程会立刻把流程拉回来重开。你可以交给它的活大致包括多条刷宝线路轮换崔凡克、品度、奥金尼可附带先杀 Shenk、尼拉塞克、神秘避难所、混沌庇护所迪亚波罗。后三条要求角色会传送迪亚波罗线只支持祝福之锤圣骑士。按规则捡物内置一份 NIP 格式的捡物清单符文、药水、三把 Uber 钥匙、精华都在里面地面出现就捡。自动后勤回城、整理背包、存仓库、收金币、把无瑕宝石转化为完美宝石。保命逻辑血量低于设定比例自动出城按阈值喝药佣兵也照看。匹配时它会用一张随仓库提供的 HUD 遮罩把底部界面区域挡掉避免血条、技能栏干扰识别。三个前置条件一个都不能省游戏语言必须是英语。物品名靠 OCR 读出来换成其他语言整条捡物链都会失效。用720p 窗口模式。启动后按自动设置热键会替你写入这项。别让任何外部程序碰画面HDR、GeForce 体验之类的覆盖层全部关掉。亮度偏移哪怕一两个像素模板匹配分数就可能掉到阈值以下。缺了其中任何一条症状几乎都长得一样机器人看不见路、捡不到东西、或者原地站着不动。从克隆到按下 F11第一次跑通先装好 miniconda安装时勾选把 conda 加入 PATH和 git然后在终端里执行git clone https://gitcode.com/gh_mirrors/bo/botty cd botty conda env create environment.yml conda activate botty python src/main.py不想从源码跑也可以下载预编译的 release 包在 botty 目录里直接启动main.exe——注意选 .rar 那个文件。按 F11 之前把 D2R 放到正确状态游戏开着停在选人界面选中你要用的角色。bot 接管后会自动把角色带入你在配置里设定的难度和第三、四、五幕。四个热键记一下热键作用F9自动调整 D2R 图形与游戏设置F10打开图形调试器F11启动 / 恢复 bottyF12强制停止 botty第一次跑先按 F9 把设置写入再按 F11。另外留意第一场游戏 botty 会自动输入/nopickup这是为了防止赶路时误捡垃圾等显示物品生效后才开始捡。用 F10 验证设置最值的30秒启动后按 F10 打开图形调试器一个近乎全黑的窗口。开一局游戏走到第五幕看两样东西画面上出现蓝色圆圈、控制台打印出模板匹配分数说明图形设置合格往地上丢几种不同的物品调试窗口会给出黑色底的名字标签命中捡物清单的物品会带红色圆圈。你希望捡的物品分数应该明显高于 0.9。分数偏低就回头检查亮度、分辨率和覆盖层别急着怀疑代码。这30秒能省掉后面几小时的它为什么不工作。params.ini 里真正要动的三处配置都在 config 目录核心是 params.ini每个参数带注释README 里有完整参数表。第一次跑只需要动三处。一、跑哪些线路[routes]下的顺序就是路线列表[routes] orderrun_pindle, run_eldritch_shenk [general] difficultyhellrandomize_runs1可以打乱顺序。二、build 和保命线[char]段[char] typelight_sorc casting_frames10 chicken0.35 take_health_potion0.8casting_frames按你的 FCR施法帧率查表填写填错会导致技能释放节奏漂移虚拟机上通常还要再加一两帧。chicken是回城线血量低于该比例就出城take_health_potion是喝药阈值。三、攻击节奏atk_len_xxx系列控制每个 Boss 处攻击多久默认值先照用野蛮人打崔凡克和 Shenk 往往要拉到 8–12。怕升级版本后要重填一遍在 config 里建custom.ini只写你要覆盖的值新版本直接拷这一个文件就行。; custom.ini - 只覆盖两个参数 [general] nameMyBot [routes] orderrun_pindle, run_eldritch_shenk捡物规则收益由它决定仓库里的 BNIP 是 Njaguar Item ParserNIP的扩展版语法基本兼容 NIP。config 目录下的默认捡物文件里已经有符文、药水、Uber 钥匙、精华等成百上千条现成规则照用即可。有四个点值得知道把自己的.nip文件放进config/nip放进去之后默认清单即被停用所以你要的规则都要写全。BNIP 新增[allres]检查全抗性比如[type] amulet [quality] unique # [allres] 30可以捡到马衣[idname]直接匹配暗金/套装名如[idname] thestoneofjordan捡 SoJ但这条要求物品已鉴定。毒伤不再换算直接读原始值[poisonmindam] 5就是附加5点毒伤。规则前加捡到该物品时不发 Discord 通知比如[type] ring。跑起来之后最常踩的四个坑线路要传送角色却没有。run_nihlathak、run_arcane、run_diablo都依赖传送。走路角色记得把跳跃热键配好。cs_town_visits目前是坏的。项目文档明确说先保持 0别好奇去开。出事了不知道原因。三个开关info_screenshots1默认开会在卡住、回城、超时、背包满时各存一张带时间戳的截图pickit_screenshots1记录每次地面捡物识别max_consecutive_fails决定连续失败几次后停止开新游戏。截图目录涨得快隔段时间清一次。卡死不自动恢复。把restart_d2r_when_stuck设为 1botty 会在崩溃或状态无法恢复时尝试重启 D2R默认是 0。另外记住每条线路的路径都是 assets/templates 里预录的模板节点地图里那些编号的蓝点就是路径点。节点识别失败时第一件事永远是开 F10 看分数而不是改代码。第一次24小时挂机前的检查单先调三处配置break_length_m和max_runtime_before_break_m设置每跑 Y 分钟休息 X 分钟适合长时间无人值守 hardcore 或高价值号把safer_routines1用速度换一层防御动作配好 Discord webhook 到custom_message_hookbotty 会每discord_status_count局发一次状态回城时也会提醒。日志太多就把logg_lvl从 debug 调低。出门挂机前按这个清单过一遍语言英语、720p 窗口、无 HDR 和覆盖层F9 已写入设置F10 能看到蓝圈且关键模板分数高于 0.9type和各技能热键与角色实际绑定一致order里的线路都满足传送条件或角色本来就能传送前两三局有人看着能走完路线、能捡到东西、能回城存仓库五条都过就可以交给它自己跑了。之后你只需要盯 Discord 的状态消息和截图目录——哪里出了问题截图已经替你存好了。【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/botty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表