gpt4 book ai didi

c# - 魔兽世界图像处理

转载 作者:行者123 更新时间:2023-12-02 16:56:16 25 4
gpt4 key购买 nike

当我在寻找一种创建插件的方法时,它检查 WoW-PvP-Queue-Status 以创建 REST 服务,我被告知不可能在插件和插件之间建立实时连接一个 REST 服务。所以我正在考虑另一种方法来解决我的问题,然后我想到了分析 WoW-Window 并寻找一种视觉模式来完成我正在寻找的东西。
我的程序应该检查并告诉我,每当程序的用户在战场上排队时,还应该告诉我他/她在哪个战场上排队,这样我就可以收集数据并将其发布到我的服务/网站。我可以使用 WoW-Addon 为我正在寻找的事件创建一些视觉反馈......就像一个信号,它告诉我的程序要做什么。

所以我想知道,我将如何完成创建这样的信号解释器(就像一个屏幕抓取器)。我在考虑 OpenCV,但不知道从哪里开始,特别是我有点好奇 Warden(反 Cheat Engine )会如何解释这样的程序,我真的不希望我的用户因为这样的事情而被禁止。它真的应该只是解释我要创建的插件的视觉反馈。

例如:

如果用户在阿拉希盆地排队,应该会弹出一个黄色信号,如果弹出黄色信号,程序会告诉我的服务玩家 xyz 已经排队,稍后应该会在我的主页上实时显示。如果用户排队等待战歌,则会弹出另一个信号,等等。

我目前刚刚在早期阶段对 C#/.NET 有经验,并且会用这样的服务开始一个小项目,那么我需要学习什么来构建这个东西?

我真的很想知道我需要哪些知识来解决这个问题。

最佳答案

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

所以写一个新的应用程序:

  • 你需要找到魔兽客户端窗口(它的句柄)
  • 将其 Canvas 作为位图

    如果 gfx 驱动程序允许,如果不尝试获取桌面图像。所以创建 Canvas :
    Canvas->handle = GetDC(WOW_window_handle);

    它的大小是这样的:
    RECT r; GetWindowRect(WOW_window_handle,&r);

    所以现在只需将矩形从 Canvas 复制到您的位图进行处理...
  • 那么你可以做任何你需要的事情

    由于图像是计算机生成的,因此仅缩放 +/- 一些过滤器不会有太多噪音,因此应该相对容易检测图像是否包含战场信息。同时检测/读取其中的文本应该很容易
  • 如果检测到搜索的事件/信息

    然后只需将数据发送到您的 WEB

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

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

    但我会尝试:
  • 如果您从 Addon 获得任何 IPC 功能,请使用它
  • 如果您有权访问文件

    然后继续从插件扫描文件并将信息发送到那里(注意多个文件访问冲突)
  • 可以尝试将击键发送到您的魔兽客户端

    如果您可以从插件或特定操作中检测到​​它们,例如写特定的短信(不与您的移动键冲突)
  • 如果你能破解你的服务器/客户端 TCP/IP 流

    您可以注入(inject)具有特定含义的数据包,例如传入的私有(private)消息等,但您需要熟悉 WoW 服务器/客户端通信(如果我没记错的话,WoW 使用 SRP6 )并且它会增加 ping 延迟...你仍然需要能够从插件中检测到它,另一方面你应该能够检测到与战场相关的数据包,而不需要 OCR/简历 魔兽世界的图片...

  • 查看这些相关的问答:
  • list windows handle from outside app
  • simple OCR
  • How to recognize UI elements in image
  • Putting an application in between client and server ... 在我的帖子中包含 WoW SRP6 协议(protocol)数据包的示例
  • MaNGOS source repository ... 可以从这个
  • 中了解更多关于魔兽世界的知识

    【备注】

    每个项目符号都适用于单独的问题,因此开始编码,当遇到问题时询问有关它的具体问题

    关于c# - 魔兽世界图像处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32666990/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com