Muitos jogos para celular têm uma moeda interna ou algo útil que você pode obter após assistir a anúncios. No começo, assisti a um anúncio desse tipo e até encontrei algo interessante nele, mas quanto mais eu avançava, mais me sentia como um macaco realizando as mesmas ações, exatamente os mesmos movimentos. Toda vez para mim assim - um sinal - é hora de automatizar o processo.
O artigo não pretende ser um Prêmio Nobel ou qualquer conquista científica, eu apenas fiz duas opções para visualizar automaticamente os anúncios e meus amigos gostaram, então decidi escrever este artigo.

Porque os robôs devem funcionar, não é assim.
Desde a infância, eu era fã de uma série de corridas e quando encontrei sua nova versão móvel, e até de graça - fiquei encantada e surpresa. Embora logo percebi por que era gratuito - as compras no jogo são atraídas por vários salários médios mensais nas regiões ou um ou dois salários de Moscou, eles literalmente permanecem como jogos da classe AAA dos últimos tempos. Sem dinheiro real, o processo foi extremamente lento. Mas você pode assistir a anúncios e, especialmente, no início do jogo, dá um bom aumento em tudo, apenas incomoda rapidamente. Especialmente quando o mesmo anúncio é exibido 5 a 10 vezes seguidas. E os botões estão (em 99,9% dos casos) nos mesmos lugares. Na verdade, o último me fez lembrar que eu tenho vários servo-máquinas e arduino e preciso realmente confiar um trabalho verdadeiramente mecânico ao mecanismo.
O esquema é bastante simples:

Servok de fio amarelo (ou vermelho, alguém como) - para 10 e 11 pinos de arduinki,
+ 5V e terra a partir dele, mas as alavancas dos servos (tela capacitiva) devem ser trazidas para o solo.
Mas o código não funcionou imediatamente:
#include <Servo.h> Servo servo1; Servo servo2; void setup() { servo1.attach(10); servo2.attach(11); pinMode(LED_BUILTIN, OUTPUT); } void blynk(int cnt) { for (int i = 1; i <= cnt; i++) { digitalWrite(LED_BUILTIN, HIGH); delay(11); digitalWrite(LED_BUILTIN, LOW); delay(11); } } void hitit(Servo servo, int wait) { servo.write(180); delay(500); servo.write(90); for (int i = 1; i <= wait; i++) { delay(1000); blynk(1); } } void loop() { blynk(2); hitit(servo1, 35); // click get stuff and wait for adverts blynk(4); hitit(servo2, 15); // close advert blynk(2); hitit(servo1, 10); // click collect reward delay(2000); }
Mais tarde, lembrei / descobri que aqui o tipo INT é extremamente pequeno e o atraso (35 * 1000) não funciona.
Bem, tudo bem, eu fazia piscar a cada segundo, este é um projeto divertido, eu realmente não queria cavar naquele momento. E ainda evito absolutamente tudo relacionado a C ++ e tipos estritos, bem, não o meu.
Usando um monte de cartões de visita, ele ajustou os servos em altura ao telefone.
Além disso, posso finalmente dizer que uso o equipamento esportivo que eles me fornecem, pelo menos a caixa dele veio a calhar.

O mais difícil foi fazer a tela reagir ao pressionar as alavancas dos servos sem dedos. Os amigos já disseram que é mais fácil encontrar (ou obter) um dedo humano real do que todas as minhas experiências. Eu tentei um filme antiestático (aquele que embala placas de vídeo e discos rígidos), vários tipos de papel alumínio.
No final, ele fez essas alavancas aqui e as imprimiu na ponta correta:

Sob a plataforma, a alavanca prendeu um pouco de plasticina e a envolveu com a folha que funcionava, também trouxe as duas pontas da folha para o solo do circuito, mais ou menos funcionou.
É assim (depois de aparar a maioria dos anúncios e "conectar ao servidor"):

O significado de toda essa ação (exceto o fã do próprio processo e os rostos dos amigos que o viram) está em uma imagem:

Para o início e o meio do jogo, esse é um aumento bastante sério e absolutamente livre de recursos.
Mesmo nas fases posteriores - ainda é um bom bônus, todos os dias de uso = muito por semana e muito por mês.
Havia algumas desvantagens nisso:
- o telefone tinha que ser colocado sempre, ± alguns milímetros - não funciona
- às vezes você precisa conectar o carregamento e o arduino - sempre
- depois de um tempo, a tela ainda parou de responder ao toque da película, mesmo que alguém saiba o porquê - escreva, ainda estou interessado (e o filme antiestático parou de funcionar muito mais rápido).
Embora ainda esteja interessado no último ponto, encontrei o segundo método e não retornei ao primeiro por um longo tempo.
Precisa de um pequeno programa nircmd.exe e do seu emulador de telefone.
Instale o jogo desejado (ele funciona facilmente com jogos em rede ou você precisa arrastar os salvamentos para frente e para trás).
Execute em tela cheia.
Tiramos uma captura de tela sempre que você precisa clicar na tela (primeiro, clique no botão "obter algo" para publicidade). Então, por exemplo, inserimos na tinta e olhamos com uma ferramenta de lápis, no canto inferior direito, as coordenadas desse elemento para clicar.
Então temos algo parecido com isto:
:loop rem hit get reward nircmd setcursor 1600 950 nircmd sendmouse left click TIMEOUT 40 rem hit three points where close ads usually are nircmd setcursor 1777 70 nircmd sendmouse left click TIMEOUT 1 nircmd setcursor 1212 60 nircmd sendmouse left click TIMEOUT 1 nircmd setcursor 170 100 nircmd sendmouse left click TIMEOUT 40 rem hit reconnect just in case nircmd setcursor 1000 866 nircmd sendmouse left click TIMEOUT 3 rem hit collect reward nircmd setcursor 1600 950 nircmd sendmouse left click rem wait all windows to close and start all over TIMEOUT 3 goto loop
Salvamos esse código em um arquivo .bat, por exemplo, como mine - gimmemoney.bat, e ao lado dele está o programa nircmd (você pode colocá-lo em C: \ Users \% USERNAME% e correr imediatamente do console, em casos de dependência de jogos especiais, você pode adicioná-lo ao carregamento automático com o lançamento do emulador, ainda estou lutando).
Raramente, em alguns dias, os anúncios são exibidos com um layout de tela vertical.
Tanto no emulador quanto na versão do arduino, isso criou problemas.
A versão do Arduino não fez jus a isso, mas neste script isso já foi levado em consideração. Nos últimos meses, o script não foi exibido nem uma vez.
Além disso, clicar no botão "Repetir" é adicionado aqui se a conexão for perdida, isso acontece com bastante frequência.

Há apenas um sinal de menos - o emulador deve estar em primeiro plano, implantado em tela cheia.
Se alguém souber como é relativamente fácil enviar um clique do mouse para um aplicativo minimizado do emulador sem nem mesmo implantá-lo para a frente e não enviá-lo para o foco - avise-me, seria perfeito, mantendo-se minimizado ao ler o relógio da manhã.
Por que isso é tudo?
Joguei cerca de 300r neste jogo e percebi que ela iria comer de bom grado tanto 3000r quanto 30.000 + p.
Um conjunto de recursos ou o progresso de um carro geralmente aqui é um jogo AAA, ± 3000r.
Isso avançará um pouco, mas não dará nenhuma vantagem fantástica, e isso pode ser mesclado para o dia do jogo (se não for um carro, mas você poderá comprar 4-5 desses conjuntos até o final do jogo, existem apenas dez carros para isso).
Esses dois métodos me divertiram por um lado e, por outro, é uma “renda passiva” agradável e raramente alcançável, com a qual muitas pessoas sonham, mesmo que apenas no jogo.
Desejo a todos um mar de projetos divertidos e, idealmente, renda passiva deles.