Autoit Bot für Darkorbit

    Autoit Bot für Darkorbit

    Wie die Überschrift schon sagt habe ich einen Bot für Darkorbit gemacht, der Bonusboxen sammeln soll. Nur irgendwie streikt der :/
    hab auch mir das mal mit dem MMORPG Bot angeguckt und bissl was abgelunscht :P

    hoffe ihr könnt mir helfen. Ich gucke morgen früh erst wieder rein und vll hat der ein oder andere ja nen Tipp bzw. ne Lösung für mich ;)

    AutoIt SourceCode

    1. Hotkeyset ("B", "_exit")
    2. While 1
    3. Bonusbox_suchen()
    4. WEnd
    5. Func Bonusbox_suchen()
    6. ; Ein weißer Pixel, also die Bonusbox wird gesucht...
    7. $Bonusbox = PixelSearch(0, 0, @Desktopwidth, @desktopheight, 0x000000)
    8. ;Wenn kein Fehler aufgetreten ist, d.h. was gefunden wurde soll...
    9. IF not @error Then
    10. ;Die Function Bonusbox_sammeln aufgerufen werden...
    11. Bonusbox_sammeln()
    12. ; es ist ein Fehler aufgetreten, es wurde also nichts gefunden...
    13. Else
    14. ; dann soll der Bot zur Position gehen
    15. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    16. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    17. Mouseclick("left", 999, 674, 1) ; getestet mit Auflösung 1280x800
    18. EndIf
    19. EndFunc
    20. Func Bonusbox_sammeln()
    21. ;Die Maus wird an die im Pixelsearch gefunden Position bewegt mit der Geschwindigkeit 1
    22. MouseMove($Bonusbox[0], $Bonusbox[1], 1)
    23. ;Dann soll die Bonusbox anvisiert werden, also einen Mausklick
    24. Mouseclick("left")
    25. ;Dann warten wir 5sekunden, da es dauert bis die Bonusbox eingesammelt ist
    26. sleep(5000)
    27. EndFunc
    28. Func _exit()
    29. Exit
    30. EndFunc


    mfg DarkHunter ^^
    Was genau heisst, der streikt? Er startet nicht? Er sucht keine Boxen, er bewegt sich nicht zu diesen? Er sammelt sie nicht ein!?...

    Wär gut, wenn du das ein bisschen einschränken könntest... Wenn du das Script eh von einem anderen zusammengeschrieben hast, SOLLTE es eig. ja auch gehen ;)...

    Hast du bei dir auch die richtige Auflösung eingestellt? Bewegt sich der Mauszeiger auf die Bonusboxen, bzw. ÜBERHAUPT, wenn eine Bonusbox zu sehen ist?!


    Im Grunde sehe ich da grade sonst keinen Fehler, als dass die Koordinaten eventuell nicht mit deinen übereinstimmen,... (bzw. die Farbe bei PixelSearch könnte auch falsch sein... Oder "weiß" öfter vorkommen... Besonders, da du den KOMPLETTEN Bildschirm absuchen lässt.)


    LG

    *edit*

    Bei PixelSearch-Hilfegesuchen ist es immer gut, einen Screenshot ranzuhängen und die eigene Auflösung anzugeben ;)...

    Post was edited 1 time, last by “Acanis” ().

    Hmm ok dumm von mir ;) ich dachte du kopierst es :P aber egal. Naja es streikt in dem sinne es startet nicht.

    Fehlerquelle soll bei Mousemove sein, aber wo genau ist da der Fehler?? Ich seh da keinen :( 0x000000 könnte ich ja noch zu einem anderen Pixel machen, aber es scheint ja den Pixel zu sehen aber eben die Maus nicht zu bewegen :/



    mfg DarkHunter
    Versuche mal statt einer extra Funktion ( Bonusbox_sammeln) einfach die aktion komplett reinzuschreiben! Falls meine Vermutung stimmt ( MouseMove wird nicht ausgeführt , da die Definition der Variable in einer anderen Funktion ist ) .. sollte das helfen :

    AutoIt SourceCode

    1. Func Bonusbox_suchen()
    2. ; Ein weißer Pixel, also die Bonusbox wird gesucht...
    3. $Bonusbox = PixelSearch(0, 0, @Desktopwidth, @desktopheight, 0x000000)
    4. ;Wenn kein Fehler aufgetreten ist, d.h. was gefunden wurde soll...
    5. IF not @error Then
    6. ;Die Function Bonusbox_sammeln aufgerufen werden...
    7. MouseMove($Bonusbox[0], $Bonusbox[1], 1)
    8. ;Dann soll die Bonusbox anvisiert werden, also einen Mausklick
    9. Mouseclick("left")
    10. ;Dann warten wir 5sekunden, da es dauert bis die Bonusbox eingesammelt ist
    11. sleep(5000)
    12. ; es ist ein Fehler aufgetreten, es wurde also nichts gefunden...
    13. Else
    14. ; dann soll der Bot zur Position gehen
    15. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    16. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    17. Mouseclick("left", 999, 674, 1) ; getestet mit Auflösung 1280x800
    18. EndIf
    19. EndFunc


    || MathMaster³ C++ Console Game ||


    Wenn ich dir mit meinem Beitrag geholfen habe , würde ich mich sehr über eine gute Bewertung freuen ;)
    So sollte es eig. gehen ^^
    Falls nicht schreib einfach nochmal das Prob hier rein ;)

    Edit :

    Noch wichtig !
    Verwende bei den HotKeys immer Kleinbuchstaben da du sonst die Tasen inklusive shift drücken musst ;)

    Edit² :

    TESTED _
    Sollte funktionieren ! ( Tut es bei mir zumindest )

    Wenn ich dir geholfen habe würde ich mich sher über eine gute Bewertung freuen :P

    Show Spoiler

    AutoIt SourceCode

    1. Hotkeyset("s", "_start")
    2. Hotkeyset("e","_end")
    3. Func _end()
    4. Exit
    5. Endfunc
    6. Func _start()
    7. ; Ein weißer Pixel, also die Bonusbox wird gesucht...
    8. While 1
    9. Tooltip("Suche läuft")
    10. $Bonusbox = PixelSearch(0, 0, @Desktopwidth, @desktopheight, 0x000000)
    11. ;Wenn kein Fehler aufgetreten ist, d.h. was gefunden wurde soll...
    12. IF not @error Then
    13. ;Die Function Bonusbox_sammeln aufgerufen werden...
    14. MouseMove($Bonusbox[0], $Bonusbox[1], 1)
    15. ;Dann soll die Bonusbox anvisiert werden, also einen Mausklick
    16. Mouseclick("left")
    17. ;Dann warten wir 5sekunden, da es dauert bis die Bonusbox eingesammelt ist
    18. sleep(5000)
    19. ; es ist ein Fehler aufgetreten, es wurde also nichts gefunden...
    20. Else
    21. ; dann soll der Bot zur Position gehen
    22. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    23. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    24. Mouseclick("left", 999, 674, 1) ; getestet mit Auflösung 1280x800
    25. EndIf
    26. Wend
    27. EndFunc
    28. While 1;MAINSCRIPT
    29. Sleep(100)
    30. Wend


    || MathMaster³ C++ Console Game ||


    Wenn ich dir mit meinem Beitrag geholfen habe , würde ich mich sehr über eine gute Bewertung freuen ;)

    Post was edited 2 times, last by “°Stealth°” ().

    ehm :lol:

    AutoIt SourceCode

    1. Global $Bonusbox


    also so:

    AutoIt SourceCode

    1. Global $Bonusbox
    2. Hotkeyset ("B", "_exit")
    3. While 1
    4. Bonusbox_suchen()
    5. WEnd
    6. Func Bonusbox_suchen()
    7. ; Ein weißer Pixel, also die Bonusbox wird gesucht...
    8. $Bonusbox = PixelSearch(0, 0, @Desktopwidth, @desktopheight, 0x000000)
    9. ;Wenn kein Fehler aufgetreten ist, d.h. was gefunden wurde soll...
    10. IF not @error Then
    11. ;Die Function Bonusbox_sammeln aufgerufen werden...
    12. Bonusbox_sammeln()
    13. ; es ist ein Fehler aufgetreten, es wurde also nichts gefunden...
    14. Else
    15. ; dann soll der Bot zur Position gehen
    16. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    17. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    18. Mouseclick("left", 999, 674, 1) ; getestet mit Auflösung 1280x800
    19. EndIf
    20. EndFunc
    21. Func Bonusbox_sammeln()
    22. ;Die Maus wird an die im Pixelsearch gefunden Position bewegt mit der Geschwindigkeit 1
    23. MouseMove($Bonusbox[0], $Bonusbox[1], 1)
    24. ;Dann soll die Bonusbox anvisiert werden, also einen Mausklick
    25. Mouseclick("left")
    26. ;Dann warten wir 5sekunden, da es dauert bis die Bonusbox eingesammelt ist
    27. sleep(5000)
    28. EndFunc
    29. Func _exit()
    30. Exit
    31. EndFunc


    oder so:

    AutoIt SourceCode

    1. Hotkeyset ("B", "_exit")
    2. While 1
    3. Bonusbox_suchen()
    4. WEnd
    5. Func Bonusbox_suchen()
    6. ; Ein weißer Pixel, also die Bonusbox wird gesucht...
    7. $Bonusbox = PixelSearch(0, 0, @Desktopwidth, @desktopheight, 0x000000)
    8. ;Wenn kein Fehler aufgetreten ist, d.h. was gefunden wurde soll...
    9. IF not @error Then
    10. ;Die Function Bonusbox_sammeln aufgerufen werden...
    11. Bonusbox_sammeln($Bonusbox)
    12. ; es ist ein Fehler aufgetreten, es wurde also nichts gefunden...
    13. Else
    14. ; dann soll der Bot zur Position gehen
    15. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    16. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    17. Mouseclick("left", 999, 674, 1) ; getestet mit Auflösung 1280x800
    18. EndIf
    19. EndFunc
    20. Func Bonusbox_sammeln($Bonusbox)
    21. ;Die Maus wird an die im Pixelsearch gefunden Position bewegt mit der Geschwindigkeit 1
    22. MouseMove($Bonusbox[0], $Bonusbox[1], 1)
    23. ;Dann soll die Bonusbox anvisiert werden, also einen Mausklick
    24. Mouseclick("left")
    25. ;Dann warten wir 5sekunden, da es dauert bis die Bonusbox eingesammelt ist
    26. sleep(5000)
    27. EndFunc
    28. Func _exit()
    29. Exit
    30. EndFunc

    Post was edited 2 times, last by “dbj29” ().

    Super xD jetzt kann ich ja nix machen da er das kleine x oben rechts immer zumacht xDDD
    Ich geb euch beiden trotzdem mal ne gute bewertung ;) besser gesagt allen die hier sind ^^

    Edit: So hab Pixel geändert zu 0xFCFBE4 aber der sammelt die nicht ein :/
    Hab den Tooltip mal rausgenommen weil ich den sinnlos finde :) und einen mausklick, aber eigentlich wollte ich das anders haben und zwar erst wenn er an der position angekommen ist das er zum 2.mausklick geht :/
    Stimmt suchbereich kleiner, wie geht das :D ;)

    AutoIt SourceCode

    1. Global $Bonusbox
    2. Hotkeyset("s", "_start")
    3. Hotkeyset("e","_end")
    4. Func _end()
    5. Exit
    6. Endfunc
    7. Func _start()
    8. ; Ein weißer Pixel, also die Bonusbox wird gesucht...
    9. While 1
    10. $Bonusbox = PixelSearch(0, 0, @Desktopwidth, @desktopheight, 0xFCFBE4)
    11. ;Wenn kein Fehler aufgetreten ist, d.h. was gefunden wurde soll...
    12. IF not @error Then
    13. ;Die Function Bonusbox_sammeln aufgerufen werden...
    14. MouseMove($Bonusbox[0], $Bonusbox[1], 1)
    15. ;Dann soll die Bonusbox anvisiert werden, also einen Mausklick
    16. Mouseclick("left")
    17. ;Dann warten wir 5sekunden, da es dauert bis die Bonusbox eingesammelt ist
    18. sleep(5000)
    19. ; es ist ein Fehler aufgetreten, es wurde also nichts gefunden...
    20. Else
    21. ; dann soll der Bot zur Position gehen
    22. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    23. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    24. EndIf
    25. Wend
    26. EndFunc
    27. While 1;MAINSCRIPT
    28. Sleep(100)
    29. Wend

    Post was edited 3 times, last by “Darkhunter” ().

    mach einfach den Suchbereich kleiner ^^

    Hast ihn ja auf den ganzen Desktop eingestellt ..

    Trag einfach die Coords des Fensters ein !


    || MathMaster³ C++ Console Game ||


    Wenn ich dir mit meinem Beitrag geholfen habe , würde ich mich sehr über eine gute Bewertung freuen ;)

    Post was edited 1 time, last by “°Stealth°” ().

    Schau mal in meine Signatur... ;) Da steht was über "solche" Anwendungen mit PixelSearch, in dem Tut...

    Du musst dir von einem bestimmten Punkt, der immer fest ist, Koordinaten berechnen und kannst dann so einfach überall genaue "Suchfelder/Suchraster" bestimmen :).

    Der Teil: @Desktopwidth, @desktopheight muss dann ersetzt werden :)!


    Mit dem Warten, bis er da ist...
    Gibts dafür einen Anhaltspunkt?! Bewegt sich nichts mehr auf dem Bildschirm, in einem bestimmten Bereich, auf dem Radar?!...
    Sonst halt ein "einfaches" "Sleep", damit allgemein etwas gewartet wird!? ;)


    LG
    Naja ich meine so, aber ich denke ich kann das auch alleine machen z.b.

    AutoIt SourceCode

    1. Else
    2. ; dann soll der Bot zur Position gehen
    3. Mouseclick("left", 963, 602, 1) ; getestet mit Auflösung 1280x800
    4. sleep(20000)
    5. Mouseclick("left", 904, 642, 1) ; getestet mit Auflösung 1280x800
    6. sleep(20000)


    ich denke das sollte funktionieren. Weil wenn alle drei gleichzeitig ablaufen fliegt der im Dreieck xD
    Naja ich werd mir mal das durchlesen (irgendwann xD)
    Das wird so nicht funktionieren, dein Bot würde in der "sleep" Funktion stecken bleiben und keine Box finden, das heisst er fliegt nur hin und her :(
    Ich würde erstmal nach dem grünen Punkt auf der Minimap suchen um meine Position festzustellen. Das müsste glaube ich die Farbe "0x37aa00" sein. Anschliessend eine Position mit "random" generieren, diese Position auf der Minimap "clicken", jetzt mit Pixelsearch das Spielfenster einmal im Flug abrastern, dann wieder grünen Punkt auf der minimap suchen( ist der grüne punkt da wo er hin soll muss natürlich wieder eine Position generiert werden), und immer so weiter im wechsel. Es sei denn du hast eine Box gefunden, dann natürlich auf die Box clicken, kurz warten, wieder position generieren, fertig.