我有一个Adafruit (珍玛)/ Arduino和一个新的LED戒指,我想控制从魔兽世界游戏事件。这部分是焊接和工作。
问题:
有没有办法在魔兽世界和PC上的某种侦听器之间发送通信,然后再通过USB将消息发送给Arduino/Gemma设备?
我的目标是创建一个桌上LED指示灯,例如,如果我是一个治疗师,那么我想要绿色/黄色/红灯来代表每一个raid/党员的健康-所以刷新将需要一个高速率(0.5 /秒)。
感谢您的反馈,并欢迎任何未来的可能性与即将被释放的德拉诺军阀。
发布于 2014-08-22 16:19:23
有什么方法可以在魔兽世界和个人电脑上的听众之间传送通信吗?
不是直接通过WoW API。我想出了一种从未分享过的方法,因为我的使用违反了暴雪的规则。但我已经好多年没玩了,给你。:)
我在WoW窗口的左上角创建了一个像素框。我操纵这个像素的颜色将数据发送到外部世界。
“侦听器”应用程序可以通过三个Win32调用读取这个像素:
HWND hwnd = FindWindow(NULL, "World of Warcraft"); // find WoW window
HDC hdc = GetDC(hwnd); // get the device context (graphics drawing abstraction)
COLORREF color = GetPixel(hdc, 0,0); // read the pixel at x 0, y 0然后,我将颜色的部分解释为:
4: sequence number
7: checksum: (sequence + key code + ctrl + alt + shift + win)/6
8: key code or ASCII character
1: 1: virtual key code, 0: ASCII
1: CTRL key pressed
1: ALT key pressed
1: SHIFT key pressed
2: WINDOWS key pressed“序列号”只是检测到一个新消息已经发布到像素的手段。校验和是为了防止在我的特殊像素不活动时进行假读取,就像在加载屏幕时一样。剩下的是敲击信息。这使我可以从一个副词中生成击键。整个观察者应用程序大约是100行C。非常简单。
我写了一个游戏脚本编辑器和"pixelbot“一起使用它来实现游戏中的自动化。在我的WoW生活接近尾声的时候,我为Wow编写的代码比玩Wow更有趣,因为这是一个有趣的游戏。)很久以前,我知道所有关于WoW addon编程的知识,但我已经过时了好几年。我看看能不能找到一些pixelbot Lua代码。
无论如何,您可以调整此方案以发送任何您喜欢的消息。例如:
4: sequence number
7: checksum (sequence + player number + LED color)/3
5: player number
2: LED color (0: green, 1: yellow, 2: red)
6: *reserved*至于速度,我从来没有实际测量过它,但它吹走了你0.5秒的要求。在写和读之间最多有几毫秒的延迟。
这样就可以通过USB向Arduino/Gemma设备发送消息了吗?
这只是在“观察者”应用程序中写入串口,并使用Arduino库从设备内的串行端口读取。
我有“侦听器”应用程序的源代码(像素观察程序)和向像素写入消息的WoW侧程序的源代码。如果你有兴趣的话,请告诉我,我会帮你摆脱束缚,或者大幅增加这篇文章的内容。
发布于 2014-08-22 14:42:44
经过一些研究,我没有发现任何内置的功能信号/管道/与外部软件通信。我相信这是由于反机器人暴风雪政策。实际上,您可以使用内存监视程序(就像CheatEngine )来完成这个任务,但是您可能会因为使用这个而被禁止使用。
如果你什么都找不到的话,你唯一能做的就是在官方论坛上发问,并希望一张技术友好的蓝色海报能回答=)
如果你发现了什么,更新你的帖子,你的想法很有趣
发布于 2014-09-09 17:26:06
只有两种方法可以在不破坏ToU的情况下与游戏客户端进行通信:
实现第二项建议有许多方法。你只需要为游戏写这篇评论就行了。然后编写一个外部程序来读取像素。将命令发送回游戏将需要热键或在聊天窗口发送它。
请注意,您仍然仅限于游戏中需要硬件事件的API。因此,对于那些你必须按一个按钮或使用鼠标购买。
https://stackoverflow.com/questions/25434591
复制相似问题