当我在寻找一种创建插件的方法来检查WoW-PvP-Queue-Status来创建REST服务时,我被告知无法在插件和主机之间建立实时连接。 REST服务。因此,我在考虑解决问题的另一种方法,并提出了要点,在这里,我要分析“WoW窗口”并寻找一种视觉模式来完成我要寻找的东西。
每当程序的用户正在排队等候战场时,我的程序都应该检查并告诉我,并且还应该告诉我他/她正在哪个战场上排队,以便我可以收集数据并将其发布到我的服务/网站上。对于我正在寻找的事件,我可以使用WoW-Addon创建一些视觉反馈……就像一个信号,告诉我的程序该做什么。
因此,我想知道如何创建这样的信号解释器(如Screen Grabber)。我当时在考虑OpenCV,但不知道从哪里开始,尤其是我对Warden(反作弊引擎)如何解释此类程序感到好奇,我真的不希望我的用户因这种事情而被禁止。它实际上应该只是解释我创建的插件的视觉反馈。
因此,例如:
如果用户排队进入阿拉希盆地,则将弹出黄色信号,如果弹出黄色信号,该程序将通知我的服务玩家xyz已排队,稍后应在我的主页上实时显示。如果用户排队等待Warsong,则会弹出另一个信号,依此类推。
我目前只是在C#/。NET的早期阶段,并且会使用这种服务来开始一个小项目,所以我需要学习什么才能使这件事变得更复杂?
我真的很想为我解决该问题所需的知识提供一些指导。
最佳答案
对于 Windows ,它是可行的,但是获取WinAPI有点不稳定。
因此编写新的应用程序:
如果gfx驱动程序允许,则尝试获取桌面镜像。因此,使用以下命令创建 Canvas :
Canvas->handle = GetDC(WOW_window_handle);
它的大小如下所示:
RECT r; GetWindowRect(WOW_window_handle,&r);
所以现在只需将矩形从 Canvas 复制到您的位图以进行处理...
由于图像是计算机生成的,因此仅缩放+/-一些过滤器不会产生太大的噪点,因此应该相对容易地检测图像是否包含战场信息。还可以检测/读取其中的文本应该很容易
然后将数据发送到您的WEB
,如果您还需要在ADDON内包含此信息
那么您需要寻找某种方式来接收它。我不熟悉WoW插件编程,所以不知道...
,但我会尝试:
然后连续扫描插件中的文件,然后将信息发送到该位置(请谨慎处理多个文件访问冲突)
如果您可以从Addon或特定操作(例如写特定文本消息(不与移动键冲突))中检测到它们,则为
您可以注入(inject)具有特定含义的数据包,例如传入的私有(private)消息等,但是您需要熟悉WoW服务器/客户端通信(如果我没记错的话,WoW使用 SRP6 ),这会增加ping延迟...您仍然需要另一方面,如果能够从Addon中检测到它,则您应该能够检测与战场相关的数据包,而无需OWT图像的 OCR / CV ...
请参阅以下相关的Q / A:
[说明]
每个项目符号都适用于单独的问题,因此请开始编码,并在遇到问题时提出有关此问题的特定问题
关于c# - 魔兽世界图像处理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32666990/