繁体   English   中英

魔兽世界图像处理

[英]World of Warcraft image processing

当我在寻找一种创建插件的方法来检查WoW-PvP-Queue-Status来创建REST服务时,我被告知,不可能在插件和插件之间建立实时连接。 REST服务。 因此,我在考虑解决问题的另一种方法,并提出了要点,在这里,我分析了“ WoW窗口”并寻找一种视觉模式来完成我要寻找的东西。 每当程序的用户正在排队等候战场时,我的程序都应该检查并告诉我,并且还应该告诉我他/她正在哪个战场上排队,以便我可以收集数据并将其发布到我的服务/网站上。 对于我正在寻找的事件,我可以使用WoW-Addon创建一些视觉反馈……就像一个信号,告诉我的程序该做什么。

所以我想知道,我将如何创建这样的信号解释器(如Screen Grabber)。 我当时在考虑OpenCV,但不知道从哪里开始,尤其是我对Warden(反作弊引擎)如何解释这样的程序感到好奇,我真的不希望我的用户被这样的事情所禁止。 它实际上应该只是解释我创建的插件的视觉反馈。

因此,例如:

如果用户排队进入阿拉希盆地,则将弹出黄色信号,如果弹出黄色信号,该程序将告知我的服务玩家xyz已排队,稍后应在我的主页上实时显示。 如果用户排队等待Warsong,则会弹出另一个信号,依此类推。

我目前只是在C#/。NET方面处于早期阶段,并且会使用这种服务来启动一个小项目,所以我需要学习什么才能使这件事变得更复杂?

我真的很想为我解决该问题所需的知识提供一些指导。

对于Windows,这是可行的,但是获取WinAPI有点不稳定。

因此,编写新的应用程序:

  1. 您需要找到“ WoW客户端”窗口(其句柄)
  2. 抓取其画布作为位图

    如果gfx驱动程序允许,则尝试获取桌面映像。 因此,使用以下命令创建画布:

     Canvas->handle = GetDC(WOW_window_handle); 

    它的大小如下所示:

     RECT r; GetWindowRect(WOW_window_handle,&r); 

    所以现在只需将矩形从画布复制到您的位图以进行处理...

  3. 那你就可以做任何你需要做的

    由于图像是计算机生成的,因此仅缩放+/-一些过滤器不会产生太大的噪音,因此应该相对容易地检测图像是否包含战场信息。 还可以检测/读取其中的文本,应该很容易

  4. 如果检测到搜索到的事件/信息

    然后将数据发送到您的WEB

如果您需要在ADDON中也有此信息

那么您需要寻找某种方式来接收它。 我不熟悉WoW插件编程,所以不知道...

但我会尝试:

  1. 如果您从Addon获得任何IPC功能,请使用它

  2. 如果您有权访问文件

    然后连续扫描插件中的文件并向其中发送信息(请注意多个文件访问冲突)

  3. 可以尝试将击键发送到您的WoW客户端

    如果您可以通过插件或特定操作(例如写特定的短信)(不与您的移动键冲突)检测到它们

  4. 如果可以入侵您的服务器/ Clienet TCP / IP流

    您可以注入具有特定含义的数据包,例如传入的私人消息等,但是您需要熟悉WoW服务器/客户端通信(如果我没记错的话,WoW使用SRP6 ),并且会增加ping延迟...您仍然需要能够另一方面,要从Addon进行检测,您应该能够检测与战场相关的数据包,而无需对WOW图像进行OCR / CV处理...

请参阅以下相关的Q / A:

[笔记]

每个项目符号都适用于单独的问题,因此请开始编码,并在遇到问题时提出有关此问题的特定问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM