Ir para conteúdo
Fórum Script Brasil
  • 0

Clicar em imagem reconhecida - Python + pyautogui


claudio_sbc

Pergunta

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 consegui definir a semelhança mínima para que a condição seja cumprida.

Como eu faria para clicar sobre a imagem considerando a semelhança mínima?

Alguém poderia ajudar?

Coloquei até um vídeo no youtube demonstrando o que acontece:

Código utilizado:

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)

 

Editado por claudio_sbc
Adicionado vídeo com a dificuldade apontada.
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

 

Consegui fazer reconhecer a posição da imagem com o código abaixo, está encontrando perfeitamente, porém, só não clica kkkk.

Conseguem 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

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...