[AutoIT] HILFE: Eternium Bot

05/30/2017 19:46 mikromaxx#1
Hallo liebe Community,

ich spiele seit einiger Zeit das Spiel Eternium. Zuerst nur auf dem Handy, jetzt habe ich allerdings gesehen, dass es dieses Spiel auch im Windows-App-Store gibt.
Wunderbar dachte ich mir, wenn ein Spiel auf dem PC läuft, dann kann man doch sicher auch einen Bot dafür schreiben. Nun ich gebe zu, dass ich mit AutoIT gearbeitet habe ist einige Jahre her, hat mir damals aber gute Dienste geleistet.

Da man in dem Spiel, relativ viel grinden muss, dacht ich mir schreiben ich mir mal schnell einen Bot.

Also stellten sich die ersten Fragen:
Welche Taste kann ich nutzen um den nächsten Gegner anzuvisieren?
Es gibt keine. :(
Haben die Gegner bestimmte Merkmale die ich per [lexicon]PixelSearch[/lexicon] suchen kann?
Jain, zu viele verschiedene Gegnertypen, die dazu auch noch Hauptsächlich Farben der Umgebung haben.
ABER sobald ein Gegner aktiviert wurde, hat er einen Lebensbalken. Perfekt nichts einfacher als die roten Pixel aus dem Lebensbalken zu suchen. Falsch gedacht, irgendwie klickt mein Programm nie auf den Lebensbalken, sondern auf andere Stellen auf der Map. Das müsste also heißen, auch diese Farben sind in der Umgebung, also auch kein Erfolg.
Kann ich es eventuell mit ImageSearch realisieren?
Auch das hat nicht funktioniert, ich habe ein Teil eines Lebensbalkens ausgeschnitten und nach diesem Suchen lassen, aber kein Ergebnis.

Nun, was könnte ich noch versuchen?


Bisher habe ich dadurch auch noch nichts wirklich an Code, sobald ich einen Punkt hätte, den ich klicken kann, wäre der Rest auch kein Problem.

Ich hänge mal ein Bild an, eventuell hat ja jemand eine zündende Idee.

Danke schon mal fürs Lesen,
Max
05/30/2017 21:22 xShizoidx#2
Sollte eigtl mit Imagesearch funktionieren. Allerdings hast du dort ja sowieso nur eine Farbe von daher kannst du auch einfach Pixelsearch verwenden und abfragen, ob dieser Bereich die Farbe hat.
Solange nichts aus der Umgebung auf dem Bild aussieht wie ein Ladebalken, solltest du keine Probleme haben.
05/30/2017 21:49 mikromaxx#3
Es ist nicht nur eine Farbe, leider.
Habe beides ja bereits probiert und es funktioniert nicht, wie bereits geschrieben.

Gibt es noch andere Möglichkeiten?
06/01/2017 22:58 rachefaust#4
gibt immer eine andere möglichkeit stichpunkt memory aber da es "einige jahre" her ist ...
06/02/2017 11:48 mikromaxx#5
Wie finde ich in der Memory Koordinaten der Gegner, oder den Befehl zum Angreifen?
06/06/2017 00:57 rachefaust#6
cheat engine soll helfen ^^ hab ich so gehört ... ka hab noch nie mit memory und co gearbeitet bis jetz ging bei mir alles so und mit cheat engine auch noch nich
06/06/2017 03:47 psydinger#7
Blöder Vorschlag falls du es mit PixelSearch nochmal versuchen willst, die Lebensbalken zu finden:

Erstelle doch einfach die Bedingung dass bestimmte Nachbarkoordinaten zu den initialen PixelSearch Trefferkoordinaten (Array[0] = x, Array[1] = y) auch die Farbe erfüllen müssen. Die Lebensbalken sind ja immer Rechtecke die mit der gleichen Farbe gefüllt sind, und haben auch immer eine bestimmte Breite und Höhe wenn sie auftauchen.

So kannst du zufällige PixelSearch Treffer mit dieser Farbe wegen der Lava oder ähnlichem evtll. umgehen.