- 1
- 0
Приветствую, хочу на python написать бота для прокачивания силы на majestic, проблема в том, что когда бот видит триггер в виде иконки(1 прикрепленное фото), он начинает пытаться нажать клавишу, если зайти в какой-нибудь текст. редактор, то он даже работает, но проблема в том, что GTA эти самые нажатия не видит. Уже весь stackoverflow облазил, но решения не могу найти. Может кто подсказать? Если нужен код - скину ниже
*Уточню, что в коде могут быть лишние/ненужные строки, т.к. не все убирал, пытаясь подобрать правильный вариант*
*Уточню, что в коде могут быть лишние/ненужные строки, т.к. не все убирал, пытаясь подобрать правильный вариант*
Code:
from python_imagesearch.imagesearch import *
import ctypes
import time
import pydirectinput
SendInput = ctypes.windll.user32.SendInput
#W = 0x11
#A = 0x1E
#S = 0x1F
#D = 0x20
#E = 0x12
PUL = ctypes.POINTER(ctypes.c_ulong)
class KeyBdInput(ctypes.Structure):
_fields_ = [("wVk", ctypes.c_ushort),
("wScan", ctypes.c_ushort),
("dwFlags", ctypes.c_ulong),
("time", ctypes.c_ulong),
("dwExtraInfo", PUL)]
class HardwareInput(ctypes.Structure):
_fields_ = [("uMsg", ctypes.c_ulong),
("wParamL", ctypes.c_short),
("wParamH", ctypes.c_ushort)]
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 PressKey(hexKeyCode):
extra = ctypes.c_ulong(0)
ii_ = Input_I()
ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008, 0, ctypes.pointer(extra) )
x = Input( ctypes.c_ulong(1), ii_ )
ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))
def ReleaseKey(hexKeyCode):
extra = ctypes.c_ulong(0)
ii_ = Input_I()
ii_.ki = KeyBdInput( 0, hexKeyCode, 0x0008 | 0x0002, 0, ctypes.pointer(extra) )
x = Input( ctypes.c_ulong(1), ii_ )
ctypes.windll.user32.SendInput(1, ctypes.pointer(x), ctypes.sizeof(x))
while True:
button_e = imagesearch("e.png")
if button_e[0] != -1:
print("position: ", button_e[0], button_e[1])
pydirectinput.keyDown('e')
time.sleep(0.3)
else:
print("E не найдена")