【AHK v2】一个可视化技能取色宏工具:从零到一打造游戏自动化的可视化时代(AHK v2)

401 阅读5分钟

项目地址(欢迎 Star ⭐):
👉 github.com/bruceli0305…

项目开发文档和使用文档:
👉 bruceli0305.github.io/game-macro/

🧩 前言:为什么我要做这个工具?

如果你做过游戏自动化相关的脚本,你肯定经历过这些场景:

  • 角色技能亮起 → 需要取色判断
  • Buff 图标变化 → 需要颜色检测
  • 循环逻辑复杂 → 写脚本写到手疼
  • 条件判断堆叠 → 代码一多就调不动

而大部分玩家,其实并不懂 AHK 脚本。
他们想要的是:
“告诉我怎么配置,而不是让我写代码。”

可传统 AHK 技能宏都依赖大量代码,比如:

if PixelGetColor(x, y) = 0x88FF33 {
    Send("1")
}

对非开发者来说,门槛太高。

于是我产生了一个想法:
能不能把“写逻辑”变成“拼积木”?

让使用者完全不碰代码,就能完成:

  • 取色
  • 判断
  • 施放技能
  • 逻辑循环

这,就是我开源工具要解决的问题。

🌟 这到底是个什么工具?

一句话总结:

一个基于 AHK v2 + DXGI 的可视化技能取色宏工具
(无需编写脚本,通过 UI 配置逻辑)

你可以通过界面实现:

  • 技能亮 → 自动施放
  • Buff 消失 → 自动补
  • 数值变化 → 自动检测
  • 图标变灰 → 暂停逻辑
  • 颜色序列 → 循环技能
  • 多条件组合 → 复杂逻辑

甚至可以把你的游戏“循环手法”,完全配置为逻辑节点链条。

工具适合:

  • 不会写脚本的玩家
  • 想要方便调试的开发者
  • 追求高性能取色的自动化爱好者
  • 想快速构建复杂逻辑的人

🛠️ 核心功能详解

下面,我把目前版本的功能拆得更细一些。


1. 🖼️ 完全可视化逻辑构建

所有逻辑都通过 UI 完成:

  • 点击“添加技能”
  • 点击“取色”
  • 设置 RGB 阈值
  • 配置触发条件
  • 配置施放方式(按键、间隔、优先级)
  • 拖动改变顺序
  • 组合多条件

像搭积木一样,拼出完整循环。

无代码,零门槛。


2. 🎯 DXGI 高性能取色引擎

为什么要用 DXGI?

因为:

  • GDI 太慢
  • BitBlt 性能一般
  • AHK 原生取色会拖帧

而 DXGI Duplicate 是目前 Windows 下最强的屏幕捕获方式之一:

  • 极高刷新率
  • 极低延迟
  • 低 CPU 占用
  • 对游戏兼容性好

这保证了脚本运行稳定、不卡顿。


3. 🔗 多技能、多条件逻辑链条

你可以组合逻辑,比如:

🔸 示例 1:优先级技能循环

A 亮 → 放  
否则 B 亮 → 放  
否则 C 冷却结束 → 放

🔸 示例 2:Buff 自动补

Buff 图标变灰 → 补技能 D

🔸 示例 3:复杂 AND/OR 组合

技能亮 AND 没有 Debuff → 放技能 E

高级玩家甚至可以构建一个“脚本 AI”。


4. 💾 配置系统(自动保存 / 导入 / 导出)。暂时隐藏,修复好bug后开放

你可以:

  • 保存多套技能逻辑
  • 给不同职业、不同账号使用
  • 分享配置给朋友
  • 随时切换

工具会自动保存你每次的修改。


5. 🧩 模块化架构(可扩展)

整个项目采用模块化设计:

  • /ui
  • /color
  • /core
  • /config
  • /utils

如果你熟悉 AHK v2,你可以:

  • 新增条件类型
  • 加入新逻辑模块
  • 自己写扩展插件

非常适合学习 & 二次开发。


🎮 实际使用示例(场景演示)

这里举三个最常用的游戏自动化场景。


示例一:技能亮起自动施放

  1. 获取技能图标亮起颜色
  2. 设置 RGB 阈值(如差值 ≤ 20)
  3. 设置按键:1
  4. 逻辑触发:亮起 → 施放

示例二:优先级循环

  1. 技能 A(高优先):亮起 → 放
  2. 技能 B:亮起 → 放
  3. 技能 C:亮起 → 放

UI 中拖动顺序即可改变优先级。


示例三:Buff 保持逻辑

  1. 取 Buff 图标颜色
  2. 判断图标是否变灰
  3. 灰 → 自动施放 Buff 技能

非常常见,也很实用。


🧪 性能测试数据(开发者向)

在 1920×1080 环境下测试(普通游戏窗口):

项目GDIDXGI(本工具)
平均取色速度7–12ms1–3ms
帧率影响明显几乎没有
CPU 占用中等偏高
游戏兼容性一般良好

多技能链条下依然能保持高刷新效率。


🏗️ 技术架构设计(简述)

+-----------------------------------------+
|                 UI 层                   |
|   技能配置、取色工具、逻辑链条设计       |
+-----------------------------------------+
|               逻辑引擎层                 |
| 技能调度、条件判断、循环管理、执行控制    |
+-----------------------------------------+
|              取色引擎(DXGI)            |
| 高性能屏幕抓取、像素解析、颜色匹配        |
+-----------------------------------------+
|             配置系统(JSON)             |
| 自动保存 / 导入 / 导出 / 多套配置管理     |
+-----------------------------------------+

结构非常清晰,适合自己继续维护。


🚀 开源项目地址(欢迎 Star ⭐)

👉 github.com/bruceli0305…

如果你:

  • 想体验这个工具
  • 想参与开发
  • 想提功能建议
  • 想找 bug
  • 想一起合作

都非常欢迎发 Issue 或 PR!


🌱 开发过程的几个思考(一些心得)

1. “可视化”不是简单画 UI

而是让用户“能理解他的配置”。

2. 自动化的难点不是逻辑,而是调试

取色阈值、蒙版、采样点——都是复杂点。

3. 脚本逻辑要模块化,不然后期无法扩展

所有能力都必须“可拆、可叠加”。

4. DXGI 是性能突破点

如果取色卡顿,一切都是空谈。

5. 开源的最大价值在于互动

我会持续更新,直到它成为一个真正意义上的
专业级可视化游戏自动化解决方案。


🙏 结语

感谢你看到这里。
这个项目从最初只是我个人需求的小工具,到如今变成一个有结构、有 UI、有框架的完整项目,花了我不少心思。

希望它也能帮到你。
如果你愿意,请点一个 Star ⭐ 支持一下
这会让我非常有动力继续把它做得更好。

👉 项目地址:
github.com/bruceli0305…