我正在尝试创建一个脚本,在断开时自动重新加入roblox游戏。我已经使用ctype在屏幕上获得一个像素,如果像素匹配颜色,它应该自动按下重新连接按钮。问题是它不能按下按钮。经过一些故障排除,我发现鼠标运动不会注册到游戏中,就像我手动移动鼠标一样,它会点击按钮。
简而言之,游戏不会从自动游戏中检测到鼠标的移动。如果我手动移动鼠标,它就会注册。
视频示例:https://youtu.be/VvAfHHXul8Q
代码:
import pyautogui as py
import keyboard
import tkinter
import requests
from ctypes import windll
from time import sleep
key = "m"
toggled = False
rjcolor = 16777215
root = tkinter.Tk()
root.withdraw()
width, height = root.winfo_screenwidth(), root.winfo_screenheight()
dc= windll.user32.GetDC(0)
def getpixel(x,y):
return windll.gdi32.GetPixel(dc,x,y)
while True:
if keyboard.is_pressed(key):
toggled = not toggled
print("toggled to " + str(toggled))
sleep(0.5)
if toggled == True:
py.moveTo(width / 2, 800)
py.click(button='left')
if getpixel(1050, 600) == rjcolor:
print("disconnected, waiting until internet back online!")
while True:
try:
requests.head("http://www.google.com/", timeout=3)
print('The internet connection is active, rejoining.')
py.moveTo(1050, 590)
py.mouseDown(button='left')
sleep(0.1)
py.mouseUp(button='left')
break
except requests.ConnectionError:
print("The internet connection is down")
sleep(3)
sleep(0.1)发布于 2022-11-18 06:51:15
Pyautogui在点击roblox时有问题,但我找到了一个解决办法:
将py.click(button="left")替换为autoit.mouse_click("left")
import autoit
autoit.mouse_click("left")https://stackoverflow.com/questions/74351571
复制相似问题