我正试图通过python控制游戏彩虹六号围攻。我发现了一些利用库ctypes创建鼠标事件的代码,但是当它用于游戏(单人模式下的恐怖分子追捕)时,它会自动让我看地面
我尝试了MOUSEEVENTF\u MOVE和MOUSEEVENTF\u ABSOLUTE标志的不同组合,但没有效果。这是迄今为止唯一一个能够影响游戏的库。当我专注于游戏窗口时,其他人什么都不做
import ctypes
class MouseInput(ctypes.Structure):
_fields_ = [("dx", ctypes.c_long),
("dy", ctypes.c_long),
("mouseData", ctypes.c_ulong),
("dwFlags", ctypes.c_ulong),
("time",ctypes.c_ulong),
("dwExtraInfo", PUL)]
class Input_I(ctypes.Union):
_fields_ = [("ki", KeyBdInput),
("mi", MouseInput),
("hi", HardwareInput)]
class Input(ctypes.Structure):
_fields_ = [("type", ctypes.c_ulong),
("ii", Input_I)]
def move_mouse(x, y):
extra = ctypes.c_ulong(0)
ii_ = Input_I()
x = int(x*(65536/ctypes.windll.user32.GetSystemMetrics(0))+1)
y = int(y*(65536/ctypes.windll.user32.GetSystemMetrics(1))+1)
ii_.mi = MouseInput(x, y, 0, 0x0001 | 0x8000, 0, ctypes.pointer(extra))
x = Input(ctypes.c_ulong(0), ii_)
ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))
我想能够移动鼠标一个特定的量,改变角色的角度在彩虹六攻城。我相信鼠标试图到达屏幕上的一个固定点,这是不可能的,因为移动鼠标只会移动角色的视角。这导致它的行为不稳定时,积极,旅行远比我想它的距离
目前没有回答
相关问题 更多 >
编程相关推荐