Wie man bot Verwendung Tränke machen

Schwerter und Tränke 2 Bot

Das war ein kleines persönliches Projekt, das ich die (manchmal) banale Aufgabe des Spielens SNP2 zu automatisieren gestartet. Bitte lesen Sie die FAQ unten, bevor ein Problem öffnen.







Ich schrieb es zunächst für Python 2.7, aber man kann es leicht in Python 3.x ausführen, indem sie mit dem 2to3-Tool zuerst konvertieren.

Es besteht eine Abhängigkeit von Automa. die leider nicht freie Software (derzeit bieten sie eine 30-Tage-Testversion). Ich nehme an, Sie installieren Automa auf C: \ automa. Sie können jedoch leicht, dass der Pfad im Skript ändern.

Der Bot setzt voraus, dass ein Browser-Tab mit Edgebee im Titel offen sein. Sie sollten bereits in das Spiel eingeloggt sein, bevor Sie den Bot starten. Wenn Sie das Spiel von Kongregate spielen möchten, ändern Sie einfach den Namen des Fensters in der switch_to () -Aufruf.

Der Bot ist so konzipiert, von der Kommandozeile ausgeführt werden, so dass ein einfacher Python snp2-bot.py genügt.

Alle relevanten Bilder werden beim Start geladen wird, so Bilder erfordert der Bot einen Neustart auslagern.

Die Bilder werden aufgeteilt in Unterverzeichnissen nach Art:

  • Zyklen bauen - sollte ein Unterverzeichnis pro Arbeitnehmer haben (baut der Elemente sind in alphabetischer Reihenfolge der Bildnamen versucht)
  • Tasten - enthält verschiedene Schaltflächen, die an bestimmten Stellen angeklickt werden müssen,
  • Kunden-Interaktionen - enthält die Bilder, die angeklickt werden, wenn die Interaktion mit Kunden
  • Kunden - mugshots der Kunden, die Sie besuchen (Put-Kunden, die Sie in einem Unterverzeichnis ignorieren Zugang zu nicht haben)
  • Mitarbeiter-Interaktionen - Sie haben es erraten.
  • Mitarbeiter - mugshots des Arbeiters Sie derzeit verwenden (leg den Rest in dem Verzeichnis ignorieren)






  1. Der Versuch, mit jedem und allen verfügbaren Mitarbeitern zu interagieren
  2. Versuchen Sie das nächste Element in dem Mitarbeiter Aufbauzyklus zu bauen
  3. Der Versuch, einen Zufallsgenerator bei einem Ausfall zu bauen
  4. Der Versuch, mit einem Kunden zu interagieren
  5. Kaufen Sie, wenn möglich,
  6. Verkaufen Sie, wenn möglich. $$ Gewinn $$
  7. Schlagen Sie ein Element, wenn möglich. $$ moar Gewinn $$
  8. Loops bis zu 8-mal, wenn erfolgreich
  9. Versuche, für einen Mitarbeiter zu überprüfen, nachdem ein Kunde Umgang
  10. Überprüfen Sie für andere zufällige / unerwartete Tasten schlecht Klicks zu handhaben, usw.
  11. Versuchen Sie, die getan / nächsten Tag Schaltflächen zu klicken

Aufgrund Automa die Geschwindigkeit, werden alle Ihre Kunden nach ein paar Minuten mad am Ende, wenn Sie die midgame getroffen. Aber es ist ein kleiner Preis für zu Millionen nach einer einzigen Nacht aufwachen zu zahlen.

Der Bot stürzt statt Start. Warum? Sie verwenden entweder die falsche Version von Python (Automa ist sehr spezifisch) oder das Fenster Spiel wurde nicht gefunden. Warum ist der Bot-Matches der Lage, für meine Screenshots zu finden? Screenshot Bilder müssen so wenig Hintergrundgeräusche wie möglich haben. Automa führt eine Bildähnlichkeit Spiel Grauskala, und es ist nicht in der Lage Hintergründe von Filtern, die nicht Teil von dem, was Sie zu entsprechen versuchen. Gibt es eine Möglichkeit das Bot schneller zu machen? Bildsuche scheint langsam. Leider ist Automa derzeit nicht parallele Verarbeitung, Bereich mit beschränkten sucht, noch die Erkennung von mehreren Mustern aus einem einzigen Screenshot unterstützen. Wenn diese Funktionen sind für Sie suchen, könnten Sie immer Gabel und schreiben Sie den Bot OpenCV verwenden. Viel Glück (Sie werden es brauchen). Es gibt ein Speicherleck / Computer bluescreened: - / Willkommen bei Automa. Ich war in der Lage, dies zu umgehen, indem Sie den Bot auf einer geplanten Aufgabe setzen, die getötet und neu gestartet wird es etwa alle 10 Minuten oder so.

Automa Graustufen-Bilder, so Farbunterschiede sollte keine Rolle spielen.

Um die beste Leistung aus dem Bot zu erhalten, sollten Sie das Browserfenster nur den Inhalt des Flash-Spiels zu zeigen, nach unten dimensioniert werden. Eine kleinere Fenstergröße bedeutet schnellere Scans, wenn die Bildsuche versucht.

Achten Sie darauf, nur sind die Bilder, die Sie brauchen, und stellen Sie keine Extras in einem ignorieren Unterverzeichnis. Dies wird auch helfen, in der Entwicklung des bietet.







In Verbindung stehende Artikel