Skip to content
CzerrorPublic

About

暗黑4 带UI的AHK宏脚本/Diablo4 AHK key helper with UI

Resources

Stars

68 stars

Watchers

0 watching

Forks

Latest commit

 

History

134 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

D4 HELP v7.1

暗黑破坏神4 游戏辅助工具 · 基于 AutoHotkey v2.0.26 构建

AutoHotkey License Version


目录


项目简介

D4 HELP 是专为《暗黑破坏神4》设计的游戏辅助工具,基于 AutoHotkey v2.0.26 开发,v7.1 采用完全面向对象的类架构重写。

核心目标:减少重复性机械操作,在合法合规范围内提升游戏体验。

v7.1 特性

特性 说明
🏗️ 类架构重写 10 个静态类模块化设计,职责清晰
🔄 优先级队列 单线程模式按键优先级排序执行
🎲 逐次随机延迟 每次按键触发都在间隔上叠加 1-10ms 随机,多线程/单线程均生效
🛡️ 防抖动机制 阈值计数器避免检测抖动误触发
📦 坐标缓存 窗口尺寸不变时复用坐标,避免重复计算
🎯 精准暂停 窗口/血条/TAB/对话框/双击五种暂停源独立管理

AutoHotkey 官方下载

本工具基于 AutoHotkey v2.0.26(官方最新稳定版)开发,脚本首行 #Requires AutoHotkey v2.0.26 会强制要求该版本或更高版本,低于此版本将无法运行。

渠道 地址
官网下载页 https://www.autohotkey.com/download/
GitHub Releases(全部版本) https://github.com/AutoHotkey/AutoHotkey/releases
v2.0.26 安装包(推荐,含文件关联与启动器) https://github.com/AutoHotkey/AutoHotkey/releases/download/v2.0.26/AutoHotkey_2.0.26_setup.exe
v2.0.26 便携版 ZIP https://github.com/AutoHotkey/AutoHotkey/releases/download/v2.0.26/AutoHotkey_2.0.26.zip

官方校验值(SHA256):

2BF1B89B1047136490FC321D2FDC988B42DD86F693EEA7872746AC6ADF722BC3  AutoHotkey_2.0.26_setup.exe
43522AA3122A57784AC5DB30ABF85C2244475C36ACD7796E2C993355F9E926AE  AutoHotkey_2.0.26.zip

架构概览

┌─────────────────────────────────────────────────────────┐
│                    GUIManager                            │
│              主界面 · 控件 · 状态栏                        │
└──────────┬──────────────────────────────────────────────┘
           │
     ┌─────┴──────────────────────┐
     │     MacroController         │
     │   宏启停 · 暂停协调          │
     └─────┬──────────────────────┘
           │
  ┌────────┼────────┬──────────┬───────────┐
  │        │        │          │           │
  ▼        ▼        ▼          ▼           ▼
KeyHandler  KeyQueue  PauseDetector  WindowManager
按键处理    单线程队列   暂停检测      窗口·坐标
  │                     │              │
  └─────────┬───────────┘              │
            ▼                          ▼
     ColorDetector              HotkeyManager
     颜色检测                    热键管理
            │
            ▼
     ConfigManager            UtilityHelper
     配置持久化                 工具函数

核心功能

技能自动化

  • 5 个技能位 + 左右键独立配置
  • 4 种运行策略:连点 / BUFF检测 / 按住 / 资源检测
  • 药水、强制移动、闪避独立控制
  • 逐次随机延迟增强自然感

智能暂停

  • 5 路独立暂停源,任意组合触发
  • 窗口切换自动暂停
  • 怪物/Boss 血条检测
  • TAB 界面 / 对话框检测
  • 双击左键临时暂停

双运行模式

  • 多线程模式:技能独立定时器并行执行
  • 单线程模式:优先级队列顺序执行,避免按键冲突

辅助能力

  • 鼠标自动循环移动(6 点防挂机)
  • Shift 键自动保持
  • 窗口置顶切换
  • 多配置方案管理

系统要求

项目 要求
操作系统 Windows 10 / 11
AutoHotkey v2.0.26 或更高(官方下载)
游戏 暗黑破坏神4
分辨率 基于 3840×2160 开发,支持自适应缩放

快速开始

  1. 安装 AutoHotkey v2.0.26 或更高版本
  2. 下载 D4 HELPv7.1.ahk
  3. 双击运行脚本(系统托盘出现图标)
  4. 默认按 F1 启动/停止宏
  5. 在界面中按需调整技能、间隔和策略

配置文件 settings.ini 自动生成在脚本同目录。


自动构建与发布

仓库内置 GitHub Actions 工作流(.github/workflows/ahk-build-release.yml):

  • main / master 分支上主脚本 D4 HELPv7.1.ahk 有更新时自动触发(其他文件改动不触发,也可手动触发)
  • 下载官方 AutoHotkey v2.0.26 与 Ahk2Exe 编译器
  • 语法冒烟通过后用官方 Ahk2Exe 打包 D4 HELPv7.1.exe
  • 自动发布到 Releases,标签 v7.1.<构建号>,更新说明由 GitHub 根据提交自动生成

界面说明

主窗口尺寸 485×535,包含两个标签页:

战斗模式标签页

区域 内容
启动热键 模式选择(自定义/侧键1/侧键2)+ 热键绑定
配置管理 方案下拉框 + 保存/删除按钮
状态控制 运行状态 · 开始/停止 · 运行模式 · 仅D4
技能配置 技能1-5 + 左右键 + 药水/强移/闪避
启停管理 双击暂停 · 血条检测 · 界面检测 · 偏移 · 鼠标自移
辅助选项 按住Shift · 随机延迟

工具模式标签页

区域 内容
窗口置顶 切换脚本窗口置顶状态

功能详解

技能自动化

每个技能位独立配置:

参数 说明 示例
按键 绑定的键位 1 / F / LButton
启用 是否参与自动释放 勾选框
间隔 释放间隔(毫秒) 20 ~ 3000
策略 连点 / BUFF / 按住 / 资源 下拉选择

运行策略说明

策略 行为 适用场景
连点 按间隔持续点击 普攻、短CD技能
BUFF 检测技能图标绿色激活状态,未激活时释放 长CD Buff技能
按住 按下后保持不放 持续引导技能
资源 检测资源条非灰色时释放 高耗能技能

随机延迟

勾选“随机延迟”后,每次按键触发都会在基础间隔上叠加 Random(1, 上限) 毫秒 (上限默认 10,可调 1-10)。多线程模式每次触发重新计算,单线程模式同样生效, 不再是固定偏移。

随机开关与上限在宏启动时快照,运行中修改界面需要重启宏才生效。

智能暂停系统

5 路独立暂停源,任一触发即暂停所有计时器,全部恢复后继续:

窗口切换 ──┐
血条消失 ──┤
TAB 界面 ──┼──→ MacroController.TogglePause() ──→ 暂停/恢复
对话框   ──┤
双击暂停 ──┘
  • 防抖动:连续 N 次检测到相同状态才触发切换(默认阈值 2)
  • 独立状态:暂停原因可叠加,状态栏显示 "血条检测 + TAB界面"

设计说明:对话框检测与 TAB 界面检测共用“界面检测”开关,关闭“界面检测”时两者都不运行; 非 D4 模式下(如 POE),BUFF/资源策略自动降级为连点,鼠标自移、双击暂停不启用。

运行模式

模式 实现 特点
多线程 SetTimer 独立定时器 按键并行,响应快
单线程 KeyQueueManager 优先级队列 按键串行,避免冲突,带过冲矫正

单线程模式下,按键按优先级排序:闪避/药水/强移 > 资源 > BUFF > 按住 > 连点

检测系统

颜色检测

方法 检测目标 判定逻辑
IsRed 血条 / Boss 条 / TAB 红框 / 对话框按钮 R 分量显著高于 G、B
IsBlue 技能栏蓝色标识 B 分量显著高于 R、G
IsGreen BUFF 激活图标 G 分量显著高于 R、B
IsGray 对话框灰色背景 RGB 分量接近且均值在阈值内

坐标自适应

所有检测坐标基于 3840×2160 参考分辨率定义,WindowManager.ConvertCoord() 根据实际 窗口尺寸等比缩放。支持用户 X/Y 微调偏移(±3 像素)。

设计说明:颜色检测采用单点逐次取色(PixelGetColor),不引入像素缓存或整屏/区域 批量截图(GDI+ BitBlt 等),以降低被游戏反作弊机制检测的风险。

配置管理

  • 配置数据存储在 settings.ini
  • 支持多方案:默认 + 自定义方案
  • 自动记忆上次使用的方案
  • 方案可保存、切换、删除
  • 默认方案不可删除,删除后重置为默认值

辅助功能

功能 说明 默认值
按住 Shift 所有按键操作自动附加 Shift 关闭
随机延迟 每次触发在技能间隔上叠加 1-10ms 随机 关闭
鼠标自移 6 个固定点位循环移动鼠标 关闭
双击暂停 双击左键暂停 1-3 秒 开启 / 2秒
窗口置顶 脚本窗口保持最前 关闭

类架构文档

v7.1 采用 11 个静态类组成的模块化架构:

类名 职责 关键方法
GUIManager GUI 创建与状态管理 Initialize(), UpdateStatus()
HotkeyManager 全局热键注册/更新 LoadStartHotkey(), UpdateHotkeyText()
UtilityHelper 通用工具函数 RandomDelay(), DebugLog(), LimitEditValue()
MacroController 宏生命周期与暂停协调 ToggleMacro(), TogglePause()
KeyHandler 按键执行与模式分发 HandleKeyMode(), PressKeyCallback()
KeyQueueManager 单线程优先级队列 EnqueueKey(), ProcessCycle()
WindowManager 窗口检测与坐标转换 GetWindowInfo(), ConvertCoord()
HysteresisTracker 迟滞阈值计数去抖 Update(), Reset()
PauseDetector 暂停条件检测 AutoPauseByBlood(), AutoPauseByTAB()
ColorDetector 像素取色与颜色判断 GetPixelRGB(), IsRed(), IsGreen()…
ConfigManager INI 配置读写与方案管理 SaveProfile(), LoadProfile()

所有类均为纯静态方法,无实例化开销。


常见问题

程序无法启动

  1. 确认已安装 AutoHotkey v2.0.26+(官方下载)
  2. 检查杀毒软件是否拦截
  3. 尝试以管理员身份运行

技能不释放

  1. 检查游戏内键位绑定是否匹配
  2. 确认“启用”已勾选
  3. 确认“仅在暗黑4中使用”设置正确

检测不准确

  1. 调整 X/Y 偏移值
  2. 检查游戏分辨率与界面缩放
  3. 增大检测间隔降低误触发

CPU 占用高

  1. 调大检测间隔
  2. 关闭不必要的检测项
  3. 选用单线程模式

注意事项

使用规范

  • 本工具用于减少重复操作,不应用于完全自动化
  • 不建议在 PVP 或竞技模式中使用
  • 避免长时间连续运行

技术说明

  • 基于 3840×2160 分辨率开发,其他分辨率通过自适应缩放兼容
  • 颜色检测为逐点取色,不使用批量截图方案
  • 游戏更新可能影响检测准确性
  • 配置文件 settings.ini 与脚本同目录

免责声明

  • 本程序仅供学习研究用途
  • 使用者自行承担使用风险
  • 开发者不对账号安全负责

版本历史

版本 日期 变更
v7.1 2026-08 按键处理优化批次:输入校验与启动保护、uniqueKey 冲突修复、队列检测合并与异常隔离、魔法数字收敛、schema 缓存、发送路径合并、CI 冒烟;并含随机延迟修复、移除像素缓存、升级 AutoHotkey v2.0.26、配置 UTF-16
v7.0 2026-04 类架构重写,引入优先级队列、防抖动机制(已归档 old/)
v6.0 2025-08 重构灰色检测逻辑、窗口管理
v5.3 — 优化代码段可读性
v4.1 — 功能迭代
v3.0 — 初始版本

D4 HELP v7.1 · by Archenemy · GitHub

About

暗黑4 带UI的AHK宏脚本/Diablo4 AHK key helper with UI

Resources

Stars

68 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages