botty:Diablo 2 Resurrected 自动化辅助工具,支持多职业与自定义拾取规则

D2R Pixel Bot

分支16Tags31
文件最后提交记录最后更新时间
3 年前
3 年前
3 年前
3 年前
3 年前
3 年前
4 年前
4 年前
3 年前
4 年前
3 年前
3 年前
3 年前
3 年前
4 年前
4 年前

Pixelbot for Diablo 2 Resurrected。本项目仅供信息和教育目的使用。

开始使用及先决条件

  • D2R 需要设置为英语界面,
  • Botty 当前仅适用于 720p 分辨率的 D2R 窗口(自动设置下将自动调整)

1) 图形与游戏设置

执行 main.exe 并按下“调整 D2R 设置”的热键(默认 F9),所有设置将自动完成。这并非百分百有效,极少数情况下您可能还需手动调整亮度。建议使用“图形调试器”来验证您的设置。 注意:确保没有其他外部程序调整您的图形设置(HDR、Geforce Experience 等)。

2) 支持的构建

查看下方的 params.ini 文档。不同的女巫、铁砧、野蛮人、陷阱大师等构建已经在不同程度上实现。实施新的职业相当简单。如果你有兴趣,不妨试试!

3) 开始位置

打开 D2R 并等待至英雄选择屏幕。确保你将要运行的角色已选中,并且一旦机器人启动游戏,该角色将在 params.ini 中设置的相应难度下位于第三、第四或第五幕。

4) 开始 Botty

你可以从 python 运行,按照 development.md 中的说明操作。或者你可以从 这里 下载预构建版本(.rar 文件!)。在 botty 文件夹中启动 main.exe。将 D2R 窗口置于前台并按下开始键(默认 F11)。你可以随时使用 F12 强制停止 botty。注意:Botty 在第一次游戏中会使用 /nopickup 命令以避免捡起垃圾。此命令只有在“显示物品”激活时才允许捡起物品。

开发

查看 development.md 文档了解如何从源代码构建以及项目结构和代码的详细信息。

BNIP Pickit

Botty NIP (BNIP) 是 Njaguar's Item Parser (NIP) 的扩展版本。 BNIP 与 NIP 兼容(有一些小例外,如下所述)。

Botty 中包含了一个名为 "default.nip" 的默认 nip 文件,位于配置文件夹内,你可以通过将自定义 nip 文件放入 config/nip 文件夹中并添加 .nip 扩展名来添加自己的 nip 文件。创建自定义 nip 文件将禁用 default.nip。

如果你不熟悉 NIP,建议阅读 NIP 指南 https://github.com/blizzhackers/pickits/blob/master/NipGuide.md

BNIP 的新特性

毒伤害不再计算,而是直接读取其原始值。例如:[poisonmindam] == 5 && [poisonmaxdam] == 10 可以捡起“1 秒内造成 5-10 点毒伤害”的物品。"5 秒内造成 313 点毒伤害" 可以使用 [poisonmindam] == 313[poisonmaxdam] == 313 捡起。

[allres] 现在是一个属性。例如:[type] == amulet && [quality] == unique # [allres] == 30 将捡起玛拉之护身符。

[idname] 现在可用于唯一物品/套装物品。例如:[idname] == thestoneofjordan 将捡起乔丹之石。但是请注意,这将强制物品被鉴定,所以在保留未鉴定物品时请小心。

[maxquantity] 暂不支持。你可以保留这些标签,但它们不会产生任何作用。

如果你已经将 discord webhook 设置为在机器人保留物品时通知你,你可以在表达式前加上 "@" 来抑制这些通知。

@[type] == ring = 不通知 [type] == ring = 通知

图形调试器

要检查您的图形设置是否正确以及机器人是否会捡起物品,可以进入 图形调试器模式。启动 botty 并按下 F10(默认键)。这将打开一个(几乎全黑)窗口。在 D2R 中开始游戏并前往 A5。你应该能在控制台中看到一些带有蓝色圆圈的模板和分数。为了检查物品检测,可以在地面上放置一些不同类型的物品。调试窗口应显示带有黑色背景的物品名称。如果你将一个应该捡起的物品扔到地上,它会有一个红色圆圈。控制台将打印出每个将捡起物品的分数。这些物品的分数应该远远高于 0.9。

params.ini

所有 botty 配置文件均位于 config 文件夹中。为了简化至新 botty 版本的切换,你也可以在 custom.ini 文件中覆盖任何 .ini 字段。当发布新的 botty 版本时,只需将文件复制到新版本,而无需将所有 params.ini 的更改迁移到新版本。例如:

; custom.ini - overwrites 2 params in the params.ini
[general]
name=MyCustomName

[routes]
order=run_pindle, run_eldritch
[通用] 描述
难度 设置为 normal nightmarehell 以确定游戏难度。
名称 终端和 Discord 消息中使用的名称。
随机化运行顺序 随机化 params.ini 中指定的 [routes] 的顺序。
存档游戏文件夹 [可选] 默认为 ~\Saved Games\Diablo II Resurrected。用于存储 f9 / 自动设置的配置信息。
自定义战利品消息钩子 在这里添加你的消息钩子(如 Discord 频道)以获取战利品信息。
自定义消息钩子 在这里添加你的消息钩子(如 Discord 频道)以获取机器人状态更新信息,Discord webhook 是默认设置。
Discord 鸡消息 设置为 1 以启用关于机器人鸡的消息,设置为 0 以禁用。
Discord 状态消息计数 发送 Discord 状态消息之间的游戏数量。留空则不发送状态报告。
消息 API 类型 用于发送机器人消息的 API。支持 "generic_api"(基本 Discord)或 "discord"(带图片的 Discord 嵌入)。
休息时长(分钟) max_runtime_before_break_m 分钟休息 break_length_m 分钟。
运行前最大时间(分钟) ^
d2r 路径 [可选] d2r.exe 的路径。如果未设置,尝试重启时默认为 C:\Program Files (x86)\Diablo II Resurrected\D2R.exe
连续失败最大次数 如果连续失败次数达到此最大值,机器人将停止创建游戏。
最大游戏时长(秒) 最大游戏时长。机器人将尝试停止当前操作并在指定间隔重新开始新游戏。如果这失败,机器人将尝试关闭 D2R 和 Bnet。
卡住时重启 d2r 设置为 1,如果机器人无法恢复其状态(例如:游戏崩溃),将尝试重启 d2r。
信息截图 如果为 1,每次卡住/机器人鸡/超时/背包满事件时,机器人都会拍摄带有时间戳的截图。默认为 1,记得定期清理截图文件夹。
拾取截图 如果为 1,在拾取过程中每次地面战利品快照时,机器人都会拍摄带有时间戳的截图,这有助于调试。
战利品截图 如果为 1,每次按下 show_items 按钮时,机器人都会拍摄带有时间戳的截图并保存到 loot_screenshots 文件夹。记得定期清理它们...
[路线] 描述
顺序 机器人应执行的运行列表。除非 randomize_runs 设置为 1,否则将按列表顺序执行。可能的运行包括:
run_trav, run_pindle, run_eldritch, run_eldritch_shenk, run_nihlathak (需要传送),run_arcane (需要传送),run_diablo (需要传送,仅限 hammardin)
[角色] 描述
类型 构建类型。目前仅支持 "sorceress" 或 "hammerdin"。
腰带行数 角色腰带行数的整数值。
施法帧数 根据你的角色和 fcr,你将有一个特定的施法帧数。在此处查看:https://diablo2.diablowiki.net/Breakpoints 并填写正确的数字。这决定了例如每个传送后的延迟时间。如果系统有延迟(例如在虚拟机中),可能需要将此值增加到表中的建议值之上!
CTA 可用 0:无 CTA 可用,1:CTA 可用,应该在预充能时使用。
安全运行 设置为 1 以在战斗/运行期间启用可选的防御措施等,这将增加运行时间(例如:硬核玩家)。
战利品栏数 背包中用于战利品的栏数(从左起计算!)。剩余空间可用于放置护身符。
强制移动热键 "强制移动"的热键。
背包屏幕热键 打开背包的热键。
药水 1 热键 使用第 1 槽药水的热键。
药水 2 热键 使用第 2 槽药水的热键。
药水 3 热键 使用第 3 槽药水的热键。
药水 4 热键 使用第 4 槽药水的热键。
显示腰带热键 "显示腰带"的热键。
显示物品热键 "显示物品"的热键。
站立不动热键 "站立不动"的热键。注意,这不能是默认的 Shift 键,否则会干扰雇佣兵治疗程序。
传送热键 传送的热键(如果角色不能传送,则留空)。
城镇传送门热键 城镇传送门的热键。
武器切换热键 "武器切换"的热键(仅当 cta_available=1 时需要)。
战斗命令热键 从 cta 的战斗命令热键(仅当 cta_available=1 时需要)。
战斗指令热键 从 cta 的战斗指令热键(仅当 cta_available=1 时需要)。
存放金币 每次存放物品时存放金币的布尔值。
使用雇佣兵 设置为 1 以使用雇佣兵。设置为 0 则不使用雇佣兵(不会在雇佣兵死亡时复活),默认为 1。
对抗 Arcane 的攻击长度 对抗 Arcane 的攻击长度(对于 hdin)
对抗 Eldritch 的攻击长度 对抗 Eldritch 的攻击长度(对于 hdin)或攻击序列数量(对于 sorc)。
对抗 Nihlathak 的攻击长度 对抗 Nihlathak 的攻击长度(对于 hdin)或攻击序列数量(对于 sorc)。
对抗 Pindle 的攻击长度 对抗 Pindle 的攻击长度(对于 hdin)或攻击序列数量(对于 sorc)。
对抗 Shenk 的攻击长度 对抗 Shenk 的攻击长度(对于 hdin)或攻击序列数量(对于 sorc)。
对抗 Trav 的攻击长度 对抗 Trav 的攻击长度(对于 hdin)(注意这个攻击长度将在 4 个不同的位置应用)
对抗混沌圣所杂兵的攻击长度 在混沌圣所(Diablo)中对抗杂兵的攻击长度(对于 hdin)或攻击序列数量。
对抗 Diablo Sealboss B "Lord De Seis" 的攻击长度 在混沌圣所(Diablo)中对抗 Sealboss B "Lord De Seis" 的攻击长度(对于 hdin)或攻击序列数量。
对抗 Diablo Sealboss C "Infector of Souls" 的攻击长度 在混沌圣所(Diablo)中对抗 Sealboss C "Infector of Souls" 的攻击长度(对于 hdin)或攻击序列数量。
对抗 Diablo Sealboss A "Vizier of Chaos" 的攻击长度 在混沌圣所(Diablo)中对抗 Sealboss A "Vizier of Chaos" 的攻击长度(对于 hdin)或攻击序列数量。
对抗 Diablo 的攻击长度 在混沌圣所(Diablo)中对抗 Diablo 的攻击长度(对于 hdin)或攻击序列数量。
混沌圣所 mob 检测 如果为 1,将尝试使用雇佣兵的圣洁冻结/信念光环/毒药来检测附近的敌人,以帮助加速混沌圣所的运行。
混沌圣所城镇访问次数 目前已损坏,暂时保持为 0。
清除混沌圣所杂兵 如果为 1,清除从混沌圣所入口到五角星的绝大多数杂兵。如果为 0,运行从五角星开始,只击杀 Sealbosses 和 Diablo(默认)。
腰带生命药水栏数 腰带中用于生命药水的栏数。
腰带法力药水栏数 腰带中用于法力药水的栏数。
腰带恢复药水栏数 腰带中用于恢复药水的栏数。
使用生命药水的百分比 当生命百分比达到此值时使用生命药水。例如 0.6 = 60% 生命。
使用法力药水的百分比 当法力百分比达到此值时使用法力药水。
使用恢复药水生命的百分比 当生命百分比达到此值时使用恢复药水。
使用恢复药水法力的百分比 当法力百分比达到此值时使用恢复药水。
给雇佣兵治疗 当雇佣兵生命百分比达到此值时给予治疗药水。
给雇佣兵恢复 当雇佣兵生命百分比达到此值时给予恢复药水。
离开游戏生命百分比 当玩家生命百分比低于设置值时离开游戏,范围 0 到 1。设置为 0 则不离开游戏。
雇佣兵离开游戏生命百分比 当雇佣兵生命百分比低于设置值时离开游戏,范围 0 到 1。设置为 0 则不离开游戏。
启用不拾取 启用时,游戏开始时将在聊天中输入 /nopickup,这有助于减少行走角色的意外拾取。
先填充共享储物栏 从右到左填充储物栏,最后填充个人储物栏。
赌博物品 当储物栏充满金币时,要赌博的物品列表。留空则禁用。支持的物品包括 circlet, ring, coronet, talon, amulet。
打开宝箱 在某些地方打开宝箱。例如,在 arcane 的死胡同。
每次运行预充能 0:仅在首次运行时预充能,1:每次运行/击杀 boss 后预充能。
每次维修运行次数 runs_per_repair 次运行后强制维修。设置为 0 仅在需要时维修。
每次存放运行次数 0:仅在有意拾取物品后存放,1+:在设置的运行次数后强制存放(建议至少为 4,以防意外拾取)。
卖掉垃圾 0:通过将不需要的物品丢在地上来丢弃,1:通过出售给商人来丢弃物品。
[宝石转换] 描述
储物目的地 将宝石转换的结果按优先级放置到储物栏。默认:3,2,1,0。(意思是结果将首先放置在储物栏 3,直到它满了,然后到储物栏 2,等等。0 - 个人标签)。
转换 添加 chipped, flawed, standard, flawless 中的任何或全部以转换这些类型的宝石。
每 X 游戏执行转换 多久运行一次转换程序(目前将完美宝石转换成完美宝石)。转换程序依赖于存放程序,仅在物品存放完成后开始。例如,如果存放下一次没有物品,那么可能需要超过 X 场游戏才能进行转换。默认:20。

构建配置

[女巫] 描述
冰霜护甲 冰霜护甲(或其他护甲)的可选快捷键
能量盾 能量盾的可选快捷键
雷暴 雷暴的可选快捷键
静电场 静电场的可选快捷键
遥感 遥感的可选快捷键
[光明女巫] 描述
链式闪电 链式闪电的可选快捷键(必须绑定到左侧技能)
闪电 闪电的必要快捷键(必须绑定到右侧技能)
冰霜之球 冰霜之球的可选快捷键(必须绑定到右侧技能)
[冰霜女巫] 描述
冰暴 冰暴的必要快捷键(必须绑定到右侧技能)
冰霜爆炸 冰霜爆炸的可选快捷键(必须绑定到左侧技能)
[新星女巫] 描述
新星 新星的必要快捷键(必须绑定到右侧技能)
[九头蛇女巫] 描述
变换攻击 任何变换攻击技能的必要快捷键。火球、闪电、冰霜之球等(必须绑定到右侧技能)
九头蛇 九头蛇的必要快捷键(必须绑定到右侧技能)
[圣骑士] 描述
净化 净化的可选快捷键
神圣之盾 神圣之盾的必要快捷键
救赎 救赎的可选快捷键
活力 活力的可选快捷键
[风之神] 描述
神圣之锤 神圣之锤的快捷键(可选。绑定到左侧技能)
集中 集中的快捷键
坚定 坚定的快捷键
天之拳 天之拳的快捷键(必要)
神圣之箭 神圣之箭的快捷键(必要)
[锤之神] 描述
集中 集中的必要快捷键
神圣之锤 神圣之锤的必要快捷键(必须绑定到左侧技能)
[陷阱专家] 描述
速度爆发 速度爆发的可选快捷键
死亡哨兵 死亡哨兵的必要快捷键
消失 消失的可选快捷键
闪电哨兵 闪电哨兵的必要快捷键
影战士 影战士的可选快捷键
左侧技能 左侧技能的可选快捷键
[野蛮人] 描述
呼喊频率 每次施放战争之喊叫之间的秒数。设置为 0.0 以使用最大 fcr
寻找物品 寻找物品的可选快捷键
跳跃 跳跃的必要快捷键
喊叫 喊叫的必要快捷键
战争之喊 战争之喊的必要快捷键
[死灵法师] 描述
左侧技能 攻击(骨矛/牙齿)的必要快捷键
骨甲 骨甲的必要快捷键
黏土魔像 黏土魔像的必要快捷键
复活骷髅 复活骷髅的必要快捷键
增幅伤害 增幅伤害的必要快捷键
尸体爆炸 尸体爆炸的必要快捷键
复活 复活的必要快捷键
伤害缩放 调整施放攻击技能的时间。例如:2 将会使施法时间加倍
清除宾多之包 在宾多之前清除怪物
[高级选项] 描述

项目介绍

D2R Pixel Bot

定制我的领域