【问题标题】:How to use macro in an anti-cheat protected MMO?如何在受反作弊保护的 MMO 中使用宏?
【发布时间】:2021-11-22 03:55:01
【问题描述】:

在 MMORPG (Metin2) 游戏中,我需要用鼠标点击某些地方,但作弊保护阻止了这一点。当游戏打开时,我什至不能在桌面上执行此操作。

更具体地说,假设我在游戏中钓鱼;

  1. 钓鱼时,按下 “1”按钮优先。
  2. 然后按“空格”键晃动钓竿。
  3. 一段时间后,角色上会出现一个鱼图标。
  4. 当鱼图标出现时,再次按“空格”按钮 吸引鱼。
  5. 重复几次后,屏幕上会出现一个问题 证明你不是机器人。这个问题由3个选项组成,如果你不点击 选择正确,您将被踢出游戏。
  6. 这个循环就这样继续下去。

我可以用 OpenCV 钓到这条鱼,但正如我所说,反作弊可以防止按键或任何鼠标点击。

这些点击;

  1. Python 模块;
    • PyAuotit(不起作用)
    • PyAutogui(不起作用)
    • AutoPy(不起作用)
    • PyNput(不起作用)
    • PyWinAuto(不起作用)
    • PyDirectinput(不起作用)
    • Win32con(不起作用)
  2. 宏记录器 v2; (没用)
  3. 自动; (没用)
  4. Corsair ICUE 软件(有效)

是的,ICUE 软件允许我进行键盘输入和鼠标点击,但它不能与 python 集成。

还有其他方法可以让我使用 Python 进行键盘输入和鼠标点击吗?或者可以运行python、c++等语言集成的ICUE软件吗?

【问题讨论】:

  • 请提供足够的代码,以便其他人更好地理解或重现问题。

标签: python anti-cheat


【解决方案1】:

我一直在尝试在 metin2 中做同样的事情,在我以管理员权限运行 powershell/cmd 后,pydirectinput 确实有效。按键输入有​​效,但点击仍然无效,我可能使用 Steelseries 驱动程序作为鼠标,我还想不通但是你可以发送键盘键。

from time import sleep
import pydirectinput
import pyautogui as gui
sleep(4);
pydirectinput.keyDown('w')
sleep(1)
pydirectinput.keyUp('w')
sleep(1)
gui.moveTo(300,100)
gui.click(300,100)

【讨论】:

    【解决方案2】:

    iCUE 软件有一个official python binding

    安装:

      pip install -U cuesdk
    

    Python:

    from cuesdk import CueSdk
    
    sdk = CueSdk()
    sdk.connect()
    
    print(sdk.protocol_details)
    
    print(sdk.get_devices())
    

    这是API reference

    您可以使用 OpenCV 之类的工具来检测游戏中的事件。

    【讨论】:

    • 很抱歉,我在模块中找不到处理输入的函数。就好像模组只用来做LED一样。
    • 那你能看看C API吗?我认为 Python 的有点不完整。
    • 我是c语言的初学者。你能帮我怎么做吗?
    猜你喜欢
    • 2012-11-29
    • 1970-01-01
    • 2018-03-11
    • 2020-10-05
    • 2010-10-16
    • 1970-01-01
    • 1970-01-01
    • 2012-01-22
    • 2020-12-10
    相关资源
    最近更新 更多