 |

31.08.2021, 12:28
|
|
Познающий
Регистрация: 29.08.2019
Сообщений: 42
С нами:
3531955
Репутация:
58
|
|
Вот начал изучать пайтон. Написал первый скрипт, который автоматически будет принимать игру в доте. Сделал поиск по картинке на экране в pyautogui, но загвоздка в том, что он отключается через секунду. То есть как включается скрипт в течение секунды если не найдется на экране картинка как на скриншоте, то отключается. Как создать бесконечный цикл, чтобы он работал всегда и не выключался даже после принятия игры?
Python:
Код:
import
pyautogui
screen
=
'C:/Users/Khan/Desktop/start.png'
# Местоположение скриншота
start
=
pyautogui
.
locateOnScreen
(
screen
,
confidence
=
0.9
)
pyautogui
.
click
(
start
)
|
|
|

02.09.2021, 22:58
|
|
Участник форума
Регистрация: 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.
Удачи.
|
|
|

02.09.2021, 23:40
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
С нами:
4686777
Репутация:
183
|
|
Сообщение от devilgoat
Если будешь в будущем "искать" изображения на экране - используй OpenCV.
Удачи.
пайавтогуй и так использует opencv 😉
|
|
|

02.09.2021, 23:57
|
|
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами:
3197792
Репутация:
83
|
|
Сообщение от Rei
пайавтогуй и так использует opencv 😉
А зачем усложнять работу скрипту, вызывая одну библиотеку которая использует другую, и предназначена не только для работы с изображениями?
|
|
|

03.09.2021, 00:27
|
|
Познавший АНТИЧАТ
Регистрация: 18.06.2017
Сообщений: 1,632
С нами:
4686777
Репутация:
183
|
|
Сообщение от devilgoat
А зачем усложнять работу скрипту, вызывая одну библиотеку которая использует другую, и предназначена не только для работы с изображениями?
ну тк он с pyatogui не только ищет изображение, а еще и кликает. т.е. зачем городить левую дрочь, если можно той же либой устроить все одной строчкой?
такой вариант плох только тем, что он по всему экрану ищет и производительность будет желать лучшего
|
|
|

03.09.2021, 01:15
|
|
Участник форума
Регистрация: 17.04.2020
Сообщений: 184
С нами:
3197792
Репутация:
83
|
|
Сообщение от Rei
ну тк он с pyatogui не только ищет изображение, а еще и кликает. т.е. зачем городить левую дрочь, если можно той же либой устроить все одной строчкой?
такой вариант плох только тем, что он по всему экрану ищет и производительность будет желать лучшего
Окей, насчёт клика я не прав. Но во всяком случае только для поиска изображений на экране, я считаю нужно юзать сразу opencv.
|
|
|
|
 |
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|