Тема: Цикл while
Показать сообщение отдельно

  #2  
Старый 02.09.2021, 22:58
pomidorq
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами: 3197792

Репутация: 83
По умолчанию

Попробуй так:

Python:





Код:
import
pyautogui
import
time

screen
=
'C:/Users/Khan/Desktop/start.png'
def
check_game
(
screen
)
:
try
:
start
=
pyautogui
.
locateOnScreen
(
screen
,
confidence
=
0.9
)
except
:
pass
else
:
pyautogui
.
click
(
start
)
while
True
:
check_game
(
screen
)
time
.
sleep
(
0.5
)


Скорее всего закрывается потому, что при отсутствии изображении на экране происходит ошибка ImageNotFoundException (информация из документации pyautogui), а при возникновении ошибок скрипт автоматически прекратит работу. Чтобы не прекращал существуют блоки try-except-else, которые при возникновении ошибок могут их игнорировать, либо принимать какие то действия, в твоём случае ошибка будет игнорироваться зарезервированным словом pass, которое просто ничего не делает.

Конкретно не советую использовать python скрипты в играх, во первых они работают не корректно, через раз, во вторых бесконечный цикл нагружает ПК. Для доты купи какой нибудь октарин, либо скачай бесплатный овервульф, там есть автопринятие игры.

Если будешь в будущем "искать" изображения на экране - используй OpenCV.

Удачи.
 
Ответить с цитированием