
Botty宝石镶嵌自动化flawless到perfect宝石的转译流程全解【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/bottyBotty是一款面向《暗黑破坏神2重制版》D2R的开源像素机器人其中最实用的功能之一就是宝石镶嵌自动化宝石转译 transmute它会自动把仓库Stash里的 3 颗 flawless无暇宝石放入赫拉迪克方块一键转译成 1 颗 perfect完美宝石再把结果按优先级放回仓库全程无需人工操作。本文带你从零看懂这套宝石转译流程如何配置、如何触发、机器人是如何认出宝石的以及整个流程的每一步细节。一、先搞懂宝石转译在 Botty 里是怎么触发的Botty 的宝石转译不是独立程序而是嵌在刷图主循环里的一个自动步骤每当角色回城把战利品存入仓库后机器人会检查距上次转译是否已满 X 局满足条件就自动执行转译。核心调度逻辑在 src/bot.py 中存完物品后紧接着调用self._transmute.run_transmutes(forceFalse)也就是说先存仓库 → 再转宝石这也是为什么转译流程强依赖仓库空间下文会讲优先级放回策略。二、转译开关params.ini 里只需 3 行配置所有配置集中在 config/params.ini 的[transmute]区块官方默认值如下参数默认值作用transmuteflawless决定转哪种宝石可填chipped、flawed、standard、flawless的任意组合stash_destination3,2,1,0转译产物放回仓库的页签优先级3 页装满再放 20 为个人页transmute_every_x_game20每隔多少局执行一次转译设为 0 或留空则关闭升级链条D2R 的方块规则是3 颗同级宝石 1 颗高一级的宝石。所以想一条龙把 chipped 磨到 perfect只需在transmute里依次写上各级机器人就会按chipped → flawed → standard → flawless → perfect的梯度逐级转译各级的对应关系定义在 src/transmute/transmute.py 中。三、自动转译的 6 步流程全解完整执行逻辑在 src/transmute/transmute.py 的run_transmutes/_run_gem_transmutes方法中可拆成 6 个阶段1️⃣ 扫描 4 个仓库页建立宝石地图inspect_stash会逐一切换 4 个仓库页签对每格做模板匹配把哪一页、哪一行哪一列有什么宝石记录到内存模型 src/transmute/stash.py 中。仓库从此变成一个宝石坐标表。2️⃣ 智能凑 3 颗SimpleGemPicking 算法魔方必须同种 3 颗才能升级凑不齐就得跨页找。src/transmute/gem_picking.py 里的SimpleGemPicking会给每种宝石按分布均衡度打分优先把最分散、最凑不齐的先凑出来避免出现某页只剩 2 颗、白白浪费的尴尬。它的取批逻辑有完整的单元测试覆盖见 test/transmute/gem_picking_test.py。3️⃣ 安全校验先确认方块是空的check_cube_empty会打开赫拉迪克方块扫描 3×4 共 12 格是否全空。只要检测到方块里有残留物品本轮直接跳过转译——这是防止把宝石喂进脏方块导致损耗的关键保护。4️⃣ 循环取 3 颗 → 丢进方块 → 点击转译 → 取结果每一批次的动作序列从仓库页pick_from_stash_at取出 3 颗目标宝石Ctrl点击精准拾取open_cube打开方块把 3 颗宝石依次丢入点击方块中央的转译按钮transmute()到方块固定格子pick_from_cube_at(2, 3)把产出的上一级宝石取回背包 背包里凑满 3 颗就再转一次直到仓库里的目标宝石耗尽。5️⃣ 产物按优先级放回仓库转译产物比如 perfect 宝石不会留在背包里。put_back_all_gems会按stash_destination配置的页签优先级默认 3→2→1→0依次放回某页满了自动切换下一页。6️⃣ 收尾与日志一轮结束输出Finished flawless gem transmute日志并记录本次执行的局数供下次transmute_every_x_game判断。四、机器人是怎么认出宝石的答案纯视觉模板匹配不读任何游戏内存。每种宝石在 assets/templates/inventory/ 下都有一张 25×29 像素左右的小模板图例如无瑕黄玉inventory_topaz_flawless.png完美黄玉inventory_topaz_perfect.png赫拉迪克方块图标horadric_cube.png方块转译按钮cube_transmute_btn.png机器人用模板匹配引擎src/template_finder.py在截图里逐格比对匹配阈值 0.91。因此游戏分辨率、亮度设置必须与模板采集时一致官方要求 D2R 英文版 720p这也是 README 中强调先用图形调试器F10验证设置的原因。五、想单独跑一次转译用自带脚本即可不需要刷 20 局等触发条件——src/gem_transmute.py 提供了独立入口运行python src/gem_transmute.py把 D2R 窗口停在城镇/仓库界面按F11启动转译按F12结束它和主流程走的是同一套Transmute类行为完全一致非常适合手动清理一次存量宝石。六、新手配置建议避坑清单✅ 默认transmuteflawless即可只负责无瑕 → 完美这最后一步✅ 保持stash_destination默认值别把 personal 页0放前面会挤占你的随身物品⚠️ 仓库页里预先放的其他物品不要紧但方块本身必须清空一次机器人会自行检查⚠️transmute_every_x_game设太小如 1会频繁打断刷图节奏建议 10~20❌ 不要在转译进行中去操作鼠标键盘视觉机器人对界面错位很敏感总结Botty 的宝石镶嵌自动化用模板匹配识别 智能凑批算法 优先级回仓三板斧把繁琐的手工转译变成了后台任务你只管让它刷图flawless 到 perfect 的宝石升级它会每 20 局悄悄替你完成。想动手试试只需改好 config/params.ini 里的[transmute]区块然后按 F11 出发吧【免费下载链接】bottyD2R Pixel Bot项目地址: https://gitcode.com/gh_mirrors/bo/botty创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考