Задать вопрос
@DanilJEFF

Скрипт на питоне с использованием OpenCV?

Всем привет!

делаю скрипт для мини браузерной игры но что то не совсем получается.
Суть такова что есть игра где нужно кликать по одной точке но после 50-150 кликов идет перезарядка энергии то есть на сколько я понимаю реализовать это можно с помощью OpenCV.
В планах было сделать так что бы скрипт распознавал есть ли энергия или нет если нет то скрипт не должен начинаться, а если есть то нужно сделать около 50-150 кликов и в желании было сделать так что бы во время нажатия проверялось есть ли энергия или нет соответственно остановиться или продолжить кликать. Ну и после того как вся энергия была исчерпана нужно постоянно проверять запустить или не запустить.

Из наработак смог реализовать создание скриншота экрана с загрузкой и проверкой совпадений с исходником, как видете выполняется определенное количество щелчков, а нужно что бы шла проверка а кол-во энергии для полной автоматизации без регулирования кол-ва нажатий.

В основном проблема с проверкой энергии для запуска кода.

while True:
    # Создание скриншота
    timestamp = time.strftime("%Y-%m-%d_%H-%M-%S")
    screenshot_path = f"screenshots/{timestamp}.jpg"
    pyautogui.screenshot(screenshot_path)

    # Загрузка изображения
    img = cv2.imread(screenshot_path, 0)
    template = cv2.imread('Energy.jpg', 0)
    h, w = template.shape[::-1]

    # Поиск совпадений
    res = cv2.matchTemplate(img, template, cv2.TM_CCOEFF_NORMED)
    threshold = 0.8
    loc = np.where(res >= threshold)

    # Если совпадения найдены
    if len(loc[0]) > 0:
        # Рисование рамки вокруг найденных объектов
        for pt in zip(*loc[::-1]):
            cv2.rectangle(img, pt, (pt[0] + w, pt[1] + h), (100, 350, 0), 2)

            # Выполнение щелчков мышью
            for _ in range(100):
                # Интервал между щелчками 3 секунды
                pyautogui.click(interval=3)


Думаю суть понятна.
  • Вопрос задан
  • 91 просмотр
Подписаться 1 Средний 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы