4 Fragen für einen Bot

  • Hallo liebe Coder,


    ich habe vor kurzem einen kleinen wirklich Simplen Bot in AutoIt geschrieben.
    Sprich, er soll von Punkt A zu Punkt B gehen warten und wieder zu Punkt A, dann B, warten etc. pp..


    Läuft 1a.



    So sieht mein Konstrukt aus:



    Erste Frage:
    Denke der Code erschließt sich jedem..
    Nun möchte ich, dass er die Durchläufe zählt.
    Leider weiß ich nicht, wie ich das bewerkstellige.



    Dann meine zweite Frage:

    Ich würde gerne eine Art Statistik erstellen:
    Nehmen wir mal an, er soll folgende Daten Sammeln:


    Durchgänge:
    Verdiente Kröten:
    Verdiente Dollar:
    Gewonnene Erfahrung:


    Alles läuft im Browser und ich glaube ich muss da mit Pixelerkennung arbeiten, ist das überhaupt möglich, sind da Kriterien zu erfüllen ?




    Dritte Frage:
    In nem Tut hier im Forum, habe ich was mit Hotkeys gelesen, habe auch versucht Hotkeys in meinen Code zu implementieren, leider wollte dann das Programm nimmer das tun, was ich wollte.
    Kann mir jmd, anhand meines Codes, die Hotkeys F1= Start und F2 = Ende deklarieren ? oder zumindest einen, damit ich sehe wies dann richtig Funktioniert..




    Die vierte Frage bezieht sich auf die Bildschirmauflösung:
    Ich würde gerne den Bot auch auf meinem Laptop benutzen, habe aber nicht das Bedürfnis, dort den Code auf die Auflösung anzupassen, wie stelle ich das an ?



    Sicherlich wäre es einfacher, diese Dinge mit einer anderen Sprache zu verwirklichen, denke da selber an Java, aber bis dahin, will ich noch ein wenig rumspielen..
    Solltet Ihr eine anschauliche Seite haben, immer her damit.


    Liebe Grüße
    GerLiquid

  • 1. Frage:
    Du besorgst dir eine Variable, die die Durchläufe zählt und sich bei jedem Durchlauf um 1 erhöht.


    2. Frage:
    Hm, in AutoIt blöd umsetztbar. (In C# hätte ich HttpRequest/etc verwendet)


    3. Frage:
    HotKeySet("{PAUSE}","TogglePause")
    -> HotKeySet("Taste","Methodenname")
    Link


    4. Frage:
    Du könntest mit Umrechnungsfaktoren arbeiten. Musst sie nur ausrechnen ;)



    Bytheway: Bin kein AutoIt Profi




    Kuh :>

  • Zu Frage 4:


    Es gibt die Macros @DesktopWidth und @DesktopHeight mit denen du die Momentane Auflösung abfragen kannst. Damit kannste dann deine Mauspositionen umrechnen.


    Es ist bei Bots für Browsergames aber meist einfacher, den Browser in einer GUI mit einem eingebetteten Internetexplorer zu öffnen (_IECreateEmbedded()), weil du dann die Koordinaten für die Klicks relativ zum Fenster angeben kannst und dieses auch verschieben kannst ohne dass die Klicks dann daneben gehen...


  • Habe nun anhand deines Links kuhkuh, eine schleife in die Funktion eingebaut.. komisch, hatte ich vor auch mal zu Testzwecken, leider hats nicht Funktioniert, vermutlich ein Fehler von mir..
    Danke :-)
    Wenn ich bei schreiben würde While 2
    Würde das irgend was ändern ?


    Zu Frage 2:


    Also eine kleine Statistik, mit den Werten wäre nicht wirklich einfach ?


    Zu den anderen Fragen:


    Danke, werde ich mir mal anschauen bzw. testen..

  • "While 1" ist sowas wie "While True"
    Das ist die Bedingung der Schleife. Wenn "True" (Deutsch: Wahr), dann wird das immer wiederholt.
    Bei dir handelt es sich also um eine Endlosschleife, weil True immer True bleibt.
    Da könnte auch sowas wie: "While 1 = 2" stehen. Dann würde die Schleife überhaupt nicht durchlaufen werden, weil 1 ungleich 2 ist und somit false.


    Kuh :>

  • je nach sprache, da in manchen sprachen das einfache = eine zuweisung ist, wäre es immer noch immer true... du meintest 1==2. es gibt aber auch sprachen, da ist das anders, bei unseren sps variablen ist z.b. -1 wahr und alles andere falsch

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • Aso, deshalb ändert sich nichts, wenn ich den Wert 2 einfach eingebe.. es läuft dennoch weiter..


    Hier mein Codegestrüps



    Wehe einer macht sich über meinen MSGBox Text Lustig :-P


    Funktioniert.. will denn aber nach und nach erweitern und verbessern..
    Und später mal in Java umschreiben..

  • je nach sprache, da in manchen sprachen das einfache = eine zuweisung ist, wäre es immer noch immer true... du meintest 1==2. es gibt aber auch sprachen, da ist das anders, bei unseren sps variablen ist z.b. -1 wahr und alles andere falsch


    Ohja, stimmt :)


    Kuh :>

  • Hab noch was..


    Folgender Gedanke spukt in meinem Kopf rum..



    Ich möchte das Script pausieren können, die Zeit des letzten Sleeps soll aber weiter runterlaufen ( Sleep (360000)


    Wenn ich in die Funktion schreibe


    Wenn F4 gedrückt wird, soll das Script pausiert werden, die Zeit des letzten Sleeps ( Sleep (3600000 ) soll jedoch weiter runtergezählt werden..



    Wie genau ich das jedoch anstelle, weiß ich noch nicht..
    Würde eine If Abfrage in die Funktion einbauen..
    Mag mir da jmd. helfen, nur Grundgerüst, will ja auch ein wenig selber machen :-)

  • da musst du deine while bedingung ändern, du kannst eine variable an F4 binden, die sich dann ändert (also eben einen code schreiben, der die variable ändert, wen du F4 drückst). dann fragst du eben in deiner while immer den wert ab, ob er noch auf "durchlauf" gestellt ist.

    Dieser Beitrag wurde noch nie editiert, zuletzt von »hangman« (Heute , 13:37)



    1355?mode=raw


    Skill ist, wenn Luck zur Gewohnheit wird

  • Hab dir mal ein Beispiel für einen IE Login gemacht:


    Inetseite Quellcode:


    Habe selbst nie mit der FF.au3 gearbeitet, kann dir da also nicht helfen.

  • Das sehr nett, danke..
    Hättest du da auch eines für Firefox..
    Wüsste nämlich nicht, wie ich das nun für FF mache.. nutze FF.au3


    /Edit: Aso okay.. eventuell jmd anders ?

  • Das bekomme ich, wenn ich es teste



    So sieht mein Code aus:



    Habe mir das Video angeguckt und er sagte darin, dass ich keine Parameter benutzen muss, wenn es nur einen Submit ( Login Button ) gibt.
    Ich habe die Seite darauf hin kontrolliert und die hat nur einen Login Button.


    Ich verstehs absolut nicht.


    Edit: Keine eine Idee ?