有没有一种方法可以在不退出完整程序的情况下暂停我的pyautogui自动舔屏



我有下面的python脚本,它可以在基于网络的游戏的随机坐标中点击。这是一个非常简单的脚本,我在按下一个键时设置了一个kill。现在,由于游戏的性质,我必须大约每3分钟停止一次这个程序才能与它交互。我很想有一种方法可以像退出程序一样,用键盘暂停/恢复程序。我尝试了多种方法,但总是失败。如果可能的话,我想避免线程,但如果这是唯一的方法,那么我理解。这是代码:

导入随机导入键盘导入pyautogui导入系统

def __init__(self):
self.run = True
keyboard.add_hotkey('n', self.stop)
self.main()
def main(self):
pyautogui.PAUSE = 0.01
multi = (769,395)
single = (790, 397)
dex = (780,275)
intel = (781,296)
vit = (774,316)
notank = (132,195)
tank = (192,193)
coords = [(327, 200),
(313, 309),
(307, 440),
(439, 440),
(561, 440),
(560, 320),
(428, 322),
(324, 198),
(437, 203),
(587, 222)
]

if sys.argv[1] == '1':
coords.append(dex)
else:
coords.append(vit)

if sys.argv[2] == '1':
coords.append(multi)
else:
coords.append(single)

if sys.argv[3] == '1':
coords.append(notank)
else:
coords.append(tank)
while self.run:
random.shuffle(coords)
for x, y in coords:
pyautogui.moveTo(x, y, 0.01, pyautogui.easeInOutQuad)
pyautogui.click(clicks=2, interval=0.015)
if not self.run:
#break  # exit only `for`-loop (and it will have to check `while self.run`)
return  # directly exit function `main()` 
def stop(self):
self.run = False

program=Main((

如果我理解正确,程序会检测到带有"keyword.add_hotkey((";,当按键时,程序调用stop函数并设置run变量,在main上,它控制run变量,如果它不是"True",则不返回任何内容以退出init((,程序以代码0结束。

您可以使用键盘模块来检测按键。我从代码中删除了一些代码,但是,下面的完整代码:

import pyautogui
import keyboard
import sys
import random
import
pyautogui.PAUSE = 0.01
stop = False
multi = (769, 395)
single = (790, 397)
dex = (780, 275)
intel = (781, 296)
vit = (774, 316)
notank = (132, 195)
tank = (192, 193)
coords = [(327, 200),
(313, 309),
(307, 440),
(439, 440),
(561, 440),
(560, 320),
(428, 322),
(324, 198),
(437, 203),
(587, 222)
]
if sys.argv[1] == '1':
coords.append(dex)
else:
coords.append(vit)
if sys.argv[2] == '1':
coords.append(multi)
else:
coords.append(single)
if sys.argv[3] == '1':
coords.append(notank)
else:
coords.append(tank)
while True:
random.shuffle(coords)
for x, y in coords:
if not stop:
pyautogui.moveTo(x, y, 0.01, pyautogui.easeInOutQuad)
pyautogui.click(clicks=2, interval=0.015)
try: # Don't delete the try except!
if keyboard.is_pressed("n"): # Quit
quit()
elif keyboard.is_pressed("s"):  # Start/Stop
if stop:
stop = False
print("Started")
else:
stop = True
print("Stopped")
except:
continue

但代码在我的电脑上出现错误:((

最新更新