Viele Handyspiele haben eine interne Währung oder etwas Nützliches, das Sie nach dem Ansehen von Anzeigen erhalten können. Zuerst habe ich mir eine solche Werbung angesehen und sogar etwas Interessantes darin gefunden, aber je weiter weg - desto mehr fühlte ich mich wie ein Affe, der dieselben Aktionen ausführt, genau dieselben Bewegungen. Jedes Mal, wenn ich so bin - ein Zeichen - ist es Zeit, den Prozess zu automatisieren.
Der Artikel gibt nicht vor, ein Nobelpreis oder eine wissenschaftliche Errungenschaft zu sein. Ich habe nur zwei Optionen für die automatische Anzeige von Anzeigen festgelegt, und meine Freunde mochten ihn. Deshalb habe ich beschlossen, diesen Artikel zu schreiben.

Weil Roboter funktionieren sollten, nicht so.
Seit meiner Kindheit war ich ein Fan einer Rennserie und als ich die neue mobile Version fand, und sogar kostenlos - war ich begeistert und überrascht. Obwohl ich ziemlich bald begriff, warum es kostenlos war - Einkäufe im Spiel werden von mehreren durchschnittlichen Monatsgehältern in den Regionen oder einem oder zwei Moskauer Gehältern abgezogen, stehen sie buchstäblich wie Spiele der AAA-Klasse der letzten Zeit. Ohne echtes Geld war der Prozess extrem langsam. Aber Sie können Anzeigen sehen und vor allem zu Beginn des Spiels gibt es eine gute Steigerung von allem, nur schnell stört. Besonders wenn dieselbe Anzeige 5-10 Mal hintereinander geschaltet wird. Und die Tasten befinden sich (in 99,9% der Fälle) an denselben Stellen. Der letzte hat mich daran erinnert, dass ich mehrere Servomaschinen und Arduino habe und dem Mechanismus wirklich eine wirklich mechanische Arbeit anvertrauen muss.
Das Schema ist ganz einfach:

Ein gelber (oder roter, jemand wie) Draht von Servos - zu 10 und 11 Stiften einer Arduinka,
+ 5V und Masse davon, aber die Hebel der Servos (kapazitiver Bildschirm) müssen auf Masse gebracht werden.
Aber der Code hat nicht sofort funktioniert:
#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); }
Später erinnerte ich mich / fand heraus, dass hier der Typ INT extrem klein ist und die Verzögerung (35 * 1000) nicht funktioniert.
Okay, ich habe es jede Sekunde blinken lassen, das ist ein Forfun-Projekt, ich wollte in diesem Moment wirklich nicht graben. Und ich vermeide immer noch alles, was mit C ++ und strengen Typen zu tun hat, nicht meine.
Mit einem Bündel Visitenkarten passte er die Höhe der Servos an das Telefon an.
Außerdem kann ich endlich sagen, dass ich das Sportgerät benutze, das sie mir geben, zumindest die Schachtel von ihm hat sich als nützlich erwiesen.

Am schwierigsten war es, den Bildschirm auf das Drücken der Hebel der Servos ohne Finger reagieren zu lassen. Freunde haben bereits gesagt, dass es einfacher ist, einen echten menschlichen Finger zu finden (oder zu bekommen) als alle meine Erfahrungen. Ich habe einen antistatischen Film ausprobiert (der Grafikkarten und Festplatten verpackt), verschiedene Arten von Folien.
Am Ende machte er diese Hebel hier und druckte sie auf den richtigen Prush:

Unter der Plattform steckte der Hebel ein wenig Plastilin und wickelte es mit der funktionierenden Folie ein. Außerdem brachte er beide Spitzen von der Folie auf den Boden des Stromkreises, mehr oder weniger funktionierte es.
Es sieht so aus (nachdem die meisten Anzeigen gekürzt und eine Verbindung zum Server hergestellt wurden):

Die Bedeutung all dieser Aktionen (mit Ausnahme des Fans aus dem Prozess selbst und der Gesichter von Freunden, die sie gesehen haben) ist in einem Bild dargestellt:

Für den Anfang und die Mitte des Spiels ist dies eine ziemlich ernsthafte, absolut kostenlose Erhöhung der Ressourcen.
Auch in späteren Phasen - es ist immer noch ein schöner Bonus, jeder Tag des Gebrauchs = viel pro Woche und viel pro Monat.
Dies hatte einige Nachteile:
- Das Telefon musste jedes Mal aufgesetzt werden, ± ein paar Millimeter - funktioniert nicht
- manchmal muss man das aufladen und das arduino verbinden - immer
- Nach einer Weile reagierte der Bildschirm immer noch nicht mehr auf die Berührung der Folie, auch wenn jemand weiß warum - schreibe, ich bin immer noch interessiert (und der antistatische Film funktioniert nicht mehr viel schneller).
Obwohl ich mich immer noch für den letzten Punkt interessiere, habe ich die zweite Methode gefunden und bin lange nicht mehr zur ersten zurückgekehrt.
Benötigen Sie ein kleines Programm nircmd.exe und Ihren Telefonemulator.
Installieren Sie das gewünschte Spiel (es funktioniert problemlos mit Netzwerkspielen oder Sie müssen die Speicherungen hin und her ziehen).
Im Vollbildmodus ausführen.
Wir machen jedes Mal einen Screenshot, wenn Sie auf den Bildschirm klicken müssen (klicken Sie zuerst auf die Schaltfläche „Holen Sie sich etwas“ für Werbung). Dann fügen wir zum Beispiel in die Farbe ein und suchen mit einem Bleistiftwerkzeug von unten rechts die Koordinaten dieses zu klickenden Elements.
Dann haben wir so etwas:
: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
Wir speichern diesen Code in einer .bat-Datei, zum Beispiel in mine - gimmemoney.bat, und daneben befindet sich das Programm nircmd (Sie können ihn in C: \ Users \% USERNAME% einfügen und direkt von der Konsole aus ausführen. In Fällen spezieller Spielsucht können Sie ihn dem Autoload hinzufügen Mit dem Start des Emulators habe ich immer noch Probleme.
In seltenen Fällen erscheinen Anzeigen in wenigen Tagen mit einem vertikalen Bildschirmlayout.
Sowohl im Emulator als auch in der Arduino-Version verursachte dies Probleme.
Die Arduino-Version hat dies nicht erfüllt, aber in diesem Skript wurde dies bereits berücksichtigt, da das Skript in den letzten Monaten nicht einmal aufgetaucht ist.
Wenn die Verbindung unterbrochen wird, wird hier ein Klick auf die Schaltfläche "Wiederholen" hinzugefügt. Dies geschieht häufig.

Es gibt nur ein Minus - der Emulator sollte im Vordergrund stehen und im Vollbildmodus bereitgestellt werden.
Wenn jemand weiß, wie relativ einfach es ist, einen Mausklick an eine minimierte Anwendung des Emulators zu senden, ohne ihn überhaupt nach vorne zu bringen und ihn nicht zu fokussieren - lassen Sie mich wissen, es wäre einfach perfekt, wenn Sie sich beim Lesen der Morgenuhr minimiert aufhängen würden.
Warum ist das alles?
Ich warf ungefähr 300r in dieses Spiel und erkannte, dass sie gerne sowohl 3000r als auch 30.000 + p essen würde.
Eine Reihe von Ressourcen oder der Fortschritt eines Autos steht hier oft als AAA-Spiel, ± 3000r.
Dies wird etwas voranschreiten, aber keine fantastischen Vorteile bringen, und dies kann für den Tag des Spiels zusammengeführt werden (wenn es kein Auto ist, aber Sie bis zum Ende des Spiels 4-5 weitere dieser Sets kaufen können, gibt es dafür nur zehn Autos).
Diese beiden Methoden haben mich einerseits amüsiert und andererseits ist es ein angenehmes und selten erreichbares „passives Einkommen“, von dem viele Menschen träumen, wenn auch nur im Spiel.
Ich wünsche allen ein Meer von lustigen Projekten und idealerweise passivem Einkommen.