Clicar em imagem reconhecida - Python + pyautogui

748 views
Skip to first unread message

Claudio Rodrigues

unread,
Nov 26, 2021, 2:06:27 PM11/26/21
to Python Brasil

Bom dia pessoal,

Tenho o script abaixo para utilização em um jogo online, atualmente ele já reconhece o monstro e teleporta quando não encontrado o monstro na tela.

Não estou conseguindo fazer com que ele clique sobre o monstro quando a condição é cumprida.

No loop consigo definir a semelhança mínima para encontrar a imagem. Como eu faria para ele clicar na imagem que atendesse este critério?

Alguém poderia ajudar?

Coloquei até um vídeo no youtube pra galera poder contribuir sanando a dúvida e vendo o desenrolar da situação:

https://youtu.be/9gr6uUnoBxY

Código:

from pyautogui import moveTo, click

import pyautogui

import time

import keyboard

import random

import win32api, win32con

imagem = 'sprite.png'

while 1:

    if pyautogui.locateOnScreen(imagem, confidence=0.7):

        print("Mob encontrado!")

        time.sleep(0.7)

    else:

        print("O mob não está na Tela...")

        print("Teleportando para procurar.")

        time.sleep(0.2)

        pyautogui.press('F2')

        time.sleep(0.7)

Claudio Rodrigues

unread,
Dec 6, 2021, 1:31:52 PM12/6/21
to Python Brasil
Consegui fazer reconhecer a posição da imagem com o código abaixo, está encontrando perfeitamente, porém, só não clica kkkk.
Alguém consegue ajudar?

from pyautogui import moveTo, click, press 
import pyautogui 
import time 
import win32api,win32con 

def click(x,y): win32api.SetCursorPos((x,y)) 
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN,0,0) 
 win32api.mouse_event(win32con.MOUSEEVENTF_LEFTUP,0,0) 

while True: sc = pyautogui.screenshot(region=(1118, 25, 800, 615)) 
width,height = sc.size for x in range(0,width,10): 
achou = 0 
for y in range(0,height,10): 
r,g,b = sc.getpixel((x,y)) 
print(r,g,b) 
if r == 255 and g == 255 and b == 0: 
achou = 1 
print('tentando clicar') 
press('F4') click(1118+x,25+y) 
time.sleep(0.5) 
break 
if achou ==1: 
break
Reply all
Reply to author
Forward
0 new messages