Ajuda para criar um script de leitura e ação.

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

Jeferson Cardoso
Posts: 8
Joined: 07 Aug 2020, 17:25

Ajuda para criar um script de leitura e ação.

23 Feb 2021, 14:20

Boa tarde / bom dia / boa noite.
Tudo bem com vocês?

Estou aqui mais uma vez pedindo ajuda para criar um script que realizaria uma leitura de tela quando certo numero aparecer ele executar certas ações.

Exemplo:
Eu preciso que o script saiba quando vai aparecer os valores inicial a cima de R$250,00 para executar a ação, como a leitura é em tela em emulador de android e não tem como pegar elementos, provavelmente vamos ter que usar leitura por pixel, então teremos que fazer ler também a cima de R$300,00 e R$400,00.

Ações:
Preciso que o script primeiramente fique PRESSIONANDO "F5" constantemente para atualizar a tela onde vai aparecer uma informação com um determinado valor a cima de 250,00, para facilitar podemos colocar para ler (25x, 26x, 27x, 28x, 29x, 30x, 31x, 32x, 33x, 34x, 35x, 36x, 37x, 38x, 39x, 40x, 41x, 42x, 43x), O X vai representar os valores de reais variados de 0 a 9 que não tem tanta importância quanto as duas primeiras casas, o importante seria ler as 2 primeiras casas.

Funcionamento.
Quando o valor a cima de 250,00 aparecer, eu preciso que o script pare, e realize ações de teclas que eu já tenho mapeado em meu teclado, exemplo, vai pressionar o a letra P e em seguida o numero 2.
Essas ações devem acontecer em um prazo de no máximo 3 segundos, pois as informações que aparecem são muito rápidas e muito das vezes nem da para ver.

Quem puder me ajudar fico agradecido, se for necessário eu até pago pela ajuda, pois estou ajudando o meu pai a ter um trabalho.

Obrigado desde já.

(Obs caso tiver ficado confuso me falem que tento reformatar o texto)
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para criar um script de leitura e ação.

23 Feb 2021, 15:40

Boa tarde Jeferson Cardoso.

Pelo que entendi da sua explicação, creio que você deva fazer uma busca por OCR. Tem alguns scripts relativamente fáceis de usar aqui no fórum (na parte em inglês), mas infelizmente todos eles tem dependências externas (o que não é exatamente um problema, afinal as dependências são disponibilizadas para download pelos autores dos scripts, mas algumas pessoas não gostam, e em determinados casos pode trazer problemas caso você pretenda vender sua solução depois ou caso você queira usar ela em uma empresa onde o setor de TI seja restritivo à novos programas).

Depois que você conseguir utilizar um script OCR, o passo seguinte é codificar seu script para executar a rotina OCR e depois extrair as informações lidas por ela e em seguida fazer as comparações necessárias para determinar se o valor está dentro do seu objetivo, e qual deve ser a ação que o script deve tomar se estiver.
Jeferson Cardoso
Posts: 8
Joined: 07 Aug 2020, 17:25

Re: Ajuda para criar um script de leitura e ação.

24 Feb 2021, 04:54

Gio, seria apenas para uso domestico mesmo, é só um meio de automatizar o que estou fazendo de modo manual todos os dias.
Eu fiz mapeamento no teclado e faço de forma manual isso todos os dias (alias acabei de fazer rs), mas acredito (pela minha logica e vendo automações para muitos jogos que são mais ou menos neste mesmo contesto que o meu), que não seja improvável e muito menos complicado.
Mas estou perdido de como programar isso.
Jeferson Cardoso
Posts: 8
Joined: 07 Aug 2020, 17:25

Re: Ajuda para criar um script de leitura e ação.

24 Feb 2021, 22:36

@Gio , seria possível você me ajudar a desenvolver isso?
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para criar um script de leitura e ação.

25 Feb 2021, 10:21

Bom dia Jeferson Cardoso.

É possível sim.

Você já fez uma busca sobre o assunto OCR? Já sabe o que é e como funciona? Dentro do nosso fórum você encontrou algum script que queira usar? Já tentou implementá-lo de alguma forma?

:arrow: A sua descrição do tópico corresponde a um projeto. Projetos são diferentes de dúvidas simples, eles são mais complexos e envolvem muitas decisões, portanto não podem ser discutidos na sua totalidade em poucos parágrafos (também não há uma resposta "certa" de como fazer um projeto, pois é preciso desenvolver essa resposta passo-a-passo). Mas isso não é nenhum empecilho: você só precisa dividir a ideia do seu projeto em várias tarefinhas pequenas e ir implementando uma de cada vez.

Podemos discutir as tarefas individuais que formariam qualquer projeto. O primeiro passo do seu projeto por exemplo me parece ser este: Usar o OCR para coletar os valores de algum lugar que você decidiu (ou ainda vai decidir, porque na verdade não falou de onde é). Para fazer isso pesquise sobre o que é OCR, como funciona, e procure opções de códigos disponíveis, como funções e classes. Quando você tiver selecionado uma função de OCR (por exemplo) e tiver tido uma ideia de como ela se encaixa no seu projeto, podemos discutir mais especificamente o "como escrever" dessa parte do projeto e depois seguir poderemos seguir adiante para as outras partes.

Para ficar mais claro:

>> Exemplo de projeto <<:
Criar um aplicativo para monitorar a cotação do dólar e comprar dólares quando cair 2% abaixo da cotação do dia anterior.

>> Exemplo de divisão de tarefas deste projeto << :

1. Coletar a cotação do dólar atual especificamente do site www.exemploabc.com (decisão do site específico + dúvida simples de como coletar informações de um site).
2. Coletar a última armazenada do dia anterior (dúvida simples de como obter o valor armazenado)
3. Decidir se compra ou não (comparar a diferença percentual). (dúvida simples de como condicionar algo a determinado valor ou como comparar valores e tirar a diferença)
3.1 Comprar dólares do site www.compreosdolaresaquiabc.com (decisão do site específico + dúvida simples de como automatizar uma compra em um site).
OU
3.2 Não comprar dólares (talvez uma dúvida simples sobre como interromper a ordem de execuções).
4. Armazenar a cotação em um arquivo (dúvida simples de como escrever dados em um arquivo).
5. Repetir desde o início (possível dúvida simples de como repetir códigos).


:arrow: Então veja que não tem como tratar tudo o que está em um projeto de uma vez só, é preciso ir levantando passo-a-passo, tomando decisões, e desenvolvendo os mecanismos conforme a tarefa atual e as decisões tomadas. Podemos ajudar somente você melhor se estiver em alguma etapa deste passo-a-passo (qualquer um, nem que seja a primeira, mas não pode ser algo ainda muito abstrato, portanto divida qualquer passo ainda abstrato em tarefas menores até poder discuti-las). É assim que você desenvolve um programa.

:!: Mas se você não quiser desenvolver o projeto você mesmo com a nossa ajuda, sugiro que torne o tópico um pouco mais claro no sentido de que você busca um programador para fazê-lo para você. Porém é preciso ter em mente que isso seria um trabalho e poderia facilmente tomar pelo menos alguns dias de uma pessoa.
Jeferson Cardoso
Posts: 8
Joined: 07 Aug 2020, 17:25

Re: Ajuda para criar um script de leitura e ação.

02 Mar 2021, 05:30

No caso @Gio eu preciso que ele leia as informação dos print a seguir:
Image
Image

Como eu disse a cima, nesse local aparece os valores que eu precisaria que os scripts lessem, sendo o valor a cima eles executaria as ações.

Sendo do valor que eu citei a cima, ele iria realizar os comandos, que o próprio programa já fornece para mapear (segue no print a baixo):
Image

Esses são os comandos que eu utilizo de forma manual:
0 - PUXAR PARA A DIREITA (como se fosse o deslize de tela)
1 - ATUALIZAR O APLICATIVO E PEGAR A PRIMEIRA OPÇÃO QUE APARECER SIMULTANEAMENTE (Lembrando que após essa ação deve sempre pressionar o 0)
2 - ATUALIZAR O APLICATIVO E PEGAR A SEGUNDA OPÇÃO QUE APARECER SIMULTANEAMENTE (Lembrando que após essa ação deve sempre pressionar o 0)
3 - ATUALIZAR O APLICATIVO E PEGAR A TERCEIRA OPÇÃO QUE APARECER SIMULTANEAMENTE (Lembrando que após essa ação deve sempre pressionar o 0)
4- PEGAR MANUALMENTE A PRIMEIRA ROTA
5 - PEGAR MANUALMENTE A SEGUNDA ROTA
6 - PEGAR MANUALMENTE A TERCEIRA ROTA
Q - ATUALIZAR O APARECIMENTO DE ROTA MANUALMENTE

Quando clica na entrega solicitada vai aparecer mais uma janela para executar a ultima ação que é pressionar o 0 (veja no print a baixo):
Image
Last edited by joedf on 02 Mar 2021, 07:40, edited 1 time in total.
Reason: Fix images
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para criar um script de leitura e ação.

03 Mar 2021, 09:29

Bom dia Jeferson Cardoso.

Desculpe, creio que entendi errado sua necessidade. A maior parte dos contatos aqui no fórum de ajuda e suporte geral são de pessoas que estão aprendendo a desenvolver scripts com o AutoHotkey e precisam apenas tirar uma dúvida sobre a linguagem, mas vejo que você precisa de alguém que desenvolva esse projeto na íntegra pra você certo?

:arrow: Alguns programadores já se disponibilizaram para este tipo de trabalho, aqui vai um contato que coletei em outro tópico:
letacio wrote:
05 Feb 2021, 18:29
Ola pessoal!

Estou disponível!

meu whats busines: +55 16 98213-0462

Obrigado!

Espero ter ajudado.
Jeferson Cardoso
Posts: 8
Joined: 07 Aug 2020, 17:25

Re: Ajuda para criar um script de leitura e ação.

04 Mar 2021, 04:32

@Gio Eu preciso somente de ajuda mesmo, foi tenho um pequeno conhecimento em AHK, mas se eu tiver o caminho certo consigo desenvolver...
Você me ajudou uma vez com um sistema para a empresa e deu certo rsrs
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Ajuda para criar um script de leitura e ação.

04 Mar 2021, 12:25

Bom, como você ignorou as duas vezes o que eu falei sobre OCR e continuou a falar do projeto de forma abstrata, pensei que não tinha entendido o direcionamento técnico.

:arrow: Você precisa pesquisar sobre OCR

OCR significa Optical Character Recognition e é basicamente o termo usado para os algoritmos (funções, bibliotecas) que servem para escanear a sua tela (ou uma imagem dela, ou mesmo de um arquivo) e identificar números e letras que possam estar escondidos nos pixels daquelas imagens.

Temos alguns exemplos de implementações de OCR em tela para o autohotkey aqui no fórum. Aqui vai um exemplo de tópico:

https://www.autohotkey.com/boards/viewtopic.php?f=6&t=36047&hilit=ocr

No tópico exemplo acima, temos uma classe chamada Vis2. Baixe a pasta completa dela direto do github (tem um link no tópico), depois extraia ela, e acione o script exemplo que está dentro da pasta (chamado demo.ahk). Quando este script rodar, vai aparecer uma mensagem na sua tela dizendo que segurando Win+C você poderá selecionar uma área com o mouse e ele vai ler o que tiver naquela área e te mostrar em uma telinha preta.

:arrow: No seu caso, se essa função conseguir ler a tela que você quer, você pode trabalhar o código dentro dos scripts para que a área de leitura seja indicada no próprio script e que a leitura seja copiada para o clipboard, facilitando muito a você direcionar a leitura para uma variável e depois trabalhar as condicionais de execução dos comandos de acordo com o resultado da leitura.

Primeira pergunta que você deve responder: Conseguiu baixar o script (pasta completa, junto com as dependências), executar ele e depois ler o que você quer na tela com ele?

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 31 guests