簡體   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