Я делаю бота для кулинарной игры roblox. Одна из задач требует, чтобы вы двигали мышью влево и вправо. Я попытался добиться этого с помощью функции moveTo pyauto gui и некоторой продолжительности перемещения, когда я запускал код, казалось, что он ничего не делает, но когда я перемещал мышь, он перемещался. Я тестировал код вне игры, и он работал отлично. Казалось, что всякий раз, когда я не касаюсь своей мыши, положение моей мыши не обновляется, я попытался использовать другую библиотеку, и произошло то же самое. Вот код. Спасибо!
from directinput import PressKey, ReleaseKey
from PIL import ImageGrab, ImageOps
from time import sleep as s
from sys import exit
import numpy as np
import pyautogui
readout_box = (965, 970, 1016, 1010)
up = 419748
down = 419735
left = 420259
right = 420092
left_right = 397608
up_down = 399616
space = 448674
click = 385930
def main():
print(get_sum())
if get_sum() == left or get_sum() == 428588:
Press(0x1E)
print("Left")
elif get_sum() == right or get_sum() == 425290:
Press(0x20)
print("Right")
elif get_sum() == down or get_sum() == 431363:
Press(0x1F)
print("Down")
elif get_sum() == up:
Press(0xC8)
print("Up")
elif get_sum() == space:
keySpam(0x39)
print("Spamming Space")
elif get_sum() == click:
clickSpam()
print("Spamming Click")
elif get_sum() == left_right:
leftRight()
print("Left Right")
elif get_sum() == up_down:
upDown()
print("Up Down")
elif get_sum() == 345939:
print("Day Complete!")
exit()
def get_sum():
img = ImageGrab.grab(readout_box)
gray = ImageOps.grayscale(img)
sum = np.array(gray).sum()
return sum
def Press(keyCode):
PressKey(keyCode)
s(0.1)
ReleaseKey(keyCode)
def keySpam(keyCode):
for i in range(15):
Press(keyCode)
def clickSpam():
for i in range(10):
pyautogui.leftClick()
def leftRight():
pyautogui.moveTo(1600, 515)
for i in range(3):
pyautogui.moveTo(350, 560, 1)
pyautogui.moveTo(1600, 515, 1)
def upDown():
pyautogui.moveTo(900, 160)
for i in range(3):
pyautogui.moveTo(900, 900, 1)
pyautogui.moveTo(900, 160, 1)
s(1)
while True:
main()
s(0.5)