Top.Mail.Ru
Ответы
Аватар пользователя
1мес
Аватар пользователя
Аватар пользователя
Аватар пользователя
Информационные технологии
+2

Почему не работает клики

мне gpt сделал данную програму поиск по изображению работает отлично только проблема в том то что нажатия не работают что делать помогите пожалуста
import pyautogui

import cv2

import numpy as np

import time

import sys

# Конфигурация

BITE_TEMPLATE = 'bite_circle.png' # Ваш скриншот круга

CONFIDENCE = 0.7 # Точность распознавания

CHECK_INTERVAL = 0.3 # Интервал проверки

# Координаты центра экрана

CENTER_X, CENTER_Y = pyautogui.size()[0]//2, pyautogui.size()[1]//2

def detect_bite():

try:

# Снимок центральной области

screen = pyautogui.screenshot(region=(CENTER_X-100, CENTER_Y-100, 200, 200))

screen = cv2.cvtColor(np.array(screen), cv2.COLOR_RGB2BGR)

template = cv2.imread(BITE_TEMPLATE)

if template is None:

raise FileNotFoundError(f"Файл {BITE_TEMPLATE} не найден!")

result = cv2.matchTemplate(screen, template, cv2.TM_CCOEFF_NORMED)

, maxval, , = cv2.minMaxLoc(result)

print(f"Текущий уровень совпадения: {max_val:.2f}")

return max_val >= CONFIDENCE

except Exception as e:

print(f"Ошибка детекции: {str(e)}")

return False

def perform_click(button, duration=0):

try:

if duration > 0:

pyautogui.mouseDown(button=button)

time.sleep(duration)

pyautogui.mouseUp(button=button)

else:

pyautogui.click(button=button)

return True

except:

return False

def fishing_cycle():

try:

print("\n=== НАЧАЛО ЦИКЛА ===")

# Заброс удочки

print("1. Зажимаем ПКМ...")

perform_click('right', 2)

print("2. Кликаем ЛКМ...")

perform_click('left')

time.sleep(1)

# Ожидание поклевки

print("3. Ожидаем поклевку...")

start_time = time.time()

while True:

if detect_bite():

print("4. Обнаружена поклевка!")

break

if time.time() - start_time > 60:

print("Таймаут, перезапуск...")

return

time.sleep(CHECK_INTERVAL)

# Подсечка

print("5. Подсекаем...")

perform_click('left', 6)

# Завершение

print("6. Завершающий клик...")

pyautogui.click(CENTER_X, CENTER_Y)

print("=== ЦИКЛ ЗАВЕРШЕН ===")

return True

except Exception as e:

print(f"Ошибка: {str(e)}")

return False

if name == "__main__":

print("Скрипт активирован! 5 секунд для подготовки...")

time.sleep(5)

try:

while True:

if not fishing_cycle():

print("Повтор через 5 секунд...")

time.sleep(5)

time.sleep(1)

except KeyboardInterrupt:

print("\nРабота скрипта остановлена")

sys.exit()

По дате
По рейтингу
Аватар пользователя
Мастер
1мес

какая ошибка

Аватар пользователя
Знаток
1мес

напиши сам код а не гпт