Problem bei Bot Script

  • Ich wollte ein einfaches Bot Script Schreiben, welches für ein Online Spiel gedacht ist. Bin aber Anfänger im AutoIt Bereich. Das Script soll oben rechts bei der Karte einen Doppelklick einen Gegner machen. Figur läuft dann zu diesem Gegner hin und greift ihn einmal an. Nach dem angriff soll er C drücken (Zauber-Combo die genung Schaden macht um den Gegner zu killen). Dann Warten bis die Reihenfolge abgeschloßen ist im Script 10 sec. F1 Drücken fürs hinsetzen. 10 sekunden Später nochmal F1 drücken um wieder aufzustehen und dann die Items einsammeln die am Boden liegen (F3). Das ganze soll er 10 mal machen (vorerst). Leider kommt folgender Fehler:

    Code
    Line 4 (File "C:\...\test4.au3"):
    
    
    MouseClick("left", $coord[0], $coord[1])
    MouseClick("left", $coord^ERROR
    
    
    Error:Subscript used with non-Array variable.

    Das ist mein Script:

    [autoit]

    For $i = 10 to 1 Step -1
    $coord = PixelSearch(849, 39, 976, 176, 0xFFFAA5)
    MouseClick("left", $coord[0], $coord[1])
    Sleep(10)
    MouseClick("left", $coord[0], $coord[1])
    Sleep(2000)
    Send("C")
    Sleep(10000)
    Send("{F1}")
    Sleep(10000)
    Send("{F1}")
    Sleep(10)
    Send("{F3}")
    Sleep(10)
    Send("{F3}")
    Sleep(10)
    Send("{F3}")
    Sleep(10)
    Send("{F3}")
    Sleep(10)
    Send("{F3}")
    Next

    [/autoit]

    Wäre nett wenn mir einer hilft!

    lg. Shadow

    • Offizieller Beitrag

    Hallo und herzlich :willkommen:

    Dieser fehler bedeutet, dass bei Pixelsearch kein pixel mit der Farbe '0xFFFAA5' gefunden wurde...

    Eine lösung wäre das hier:

    [autoit]

    $coord = PixelSearch(849, 39, 976, 176, 0xFFFAA5)
    If @error Then Exit MsgBox(0,"","Kein Pixel mit der Farbe gefunden :(")

    [/autoit]

    Ausserdem wird bei deinem Script F1 nicht 10 sekunden gedrückt, sondern f1 wird einmal gedrückt, dann wird 10 sec gewartet und dann wird f1 nochmal gedrückt...

    Lösung:

    [autoit]

    Send("{F1 DOWN}")
    Sleep(10000)
    Send("{F1 UP}")

    [/autoit]


    Mfg Spider

  • hallo

    prüfe nochmal ab es im bereich 849 39 976 176 wirklich eine farbe 0xfffaas gibt...

    eig. kann es nur daran legen weil wenn er nichts findet gibt er nichts zurück...

    schreib in zeile drei einfach

    if @error = 1 then
    msgbox(0,"fehler","es gibt keine farbe 0xfffaas in diesem berreich")
    endif


    mfg

    €€ mist zu spät...

    Einmal editiert, zuletzt von derda (13. Mai 2007 um 15:55)

  • Müsste eigentlich schon vorhanden sein, da ich es an einem Screenshot getestet hab. Von dem gleichen hab ich auch die Farb Werte. Möglicherweise hab ich die Farbe oder den Bereich Falsch angegeben??

    Also zu den Farb werten:

    Farbt.: 38
    Sätt.: 240
    Hell.: 198
    Rot: 255
    Grün: 250
    Blau: 165

    Hab den Farb Wert mit dem AutoIt Window Info ausgelesen, die werte von grade stammen von Pain(c)^^
    Der Bereich sollte oben rechts sein bei ner auflösung von 1024x768. und ungefähr 200x200 px groß sein. Also sonst fällt mir nicht ein an was es liegen könnte.

    lg Shadow

    P.S: Der Soll die F taste nich gedrückt halten dass stimmt schon aber trotzdem danke

  • Wie verändern ist doch beim test ein Screenshot und ich hab ungefähr 10 verschiedene Screenshots, welche immer den gleichen Farbwert haben. Was Passiert eigentlich wenn in dem Bereich mehrere Pixel mit der Farbe sind bringt er dann nen Fehler oder nimmt er den ersten, letzen oder zufälligen??

    Farbe stimmt jetzt im Screnni nicht da es ne Gif ist (Farbverlust) Beim kleinen Stimmts

  • Hat sich

    Mit der Fehlermeldung Funktioniert es irgendwie manchmal??
    Wäre aber nett wenn mir noch einer sagen würde was passiert wenn dort mehrere pixel mit der Farbe sind. Siehe letzter beitrag.

  • Hey Fliff hab ich auch mal eine Zeit lang gespielt :D
    Hat dazu geführt das ich nach x-Abstürzen meinen Rechner platt machen musste.

  • moin

    hast du die hilfe?:

    Zitat

    Die Suche wird von oben nach unten und von links nach rechts durchgeführt. Es wird das erste passende Pixel zurückgegeben.


    ...


    mfg

  • lol also ich hab mit FlyFF keine Probleme, aber jetzt wieder mit dem Bot!

    Habs ja erst mal an dem Screenshot getestet, was ja funktioniert hat jetzt wollte ich es ingame testen und habe dann mithilfe vom AutoIt Window Info Tool Festgestallt das alles als weiß erkannt wird also kann er keinen gelben pixel finden. Ich schätze das es daran liegt, dass FlyFF eine Vollbildanwendung ist, hat einer ne ahnung wie sich das Problem lösen könnte??

  • lösung habe ich leider nicht..

    probier paint mal im vollbildmodus wenns dort nicht geht weist du das es defentiv am vollbildmodus liegt..

  • Zitat

    probier paint mal im vollbildmodus wenns dort nicht geht weist du das es defentiv am vollbildmodus liegt..


    Das ist doch Blödsinn. Das Spiel sieht eher so aus, als würde es auf eine Grafik API aufbauen. Würde mehr Sinn ergeben, dass PixelSearch nicht darauf zugreifen kann und somit nur unter reinen Windows-Applikationen läuft (Vollbild beim Paint ist kein Vollbild wie in einem Spiel, ist doch nur eine Maximierung der Ansicht!)

    Andersrum: Versuch doch mal das Spiel in einem Fenster auszuführen und begrenze den Bereich, der durchsucht werden soll, indem Du das Fenster in der oberen linken Ecke platzierst, so dass die Karte oben Rechts immer an der gleichen Stelle ist.

    PS: Das Gleiche wie immer: Bots stinken.