Hilfe bei Pixelclicker

  • Hallo,
    ich bin ziemlich neu bei autoit und immer fleißig am lesen im Netz. Wollt mir jetz nen clicker machen, der wartet bis eine farbe auf einem Pixel erscheint und sobald diese da ist draufklickt. Kann mir da wer helfen?? Ich finde nur Aimbots und das ganze klappt nicht so richtig. Mein code:
    Func 2
    $1 PixelGetColor(689, 430)
    If $1 = "5a9714" then MouseClick("left", 689, 430, 1)
    If Not then 2
    EndFunc

    Einmal editiert, zuletzt von Sepp (25. Dezember 2007 um 14:35)

  • Wie wärs mit dem ;) :

    [autoit]


    Func 2
    $K = 0;Variable wird Definiert
    While $K = 0; While mindestens einmal und nur solange bis einmal geklickt wurde
    $P = PixelGetColor(689, 430)
    If $P = 0x5a9714 Then
    MouseClick("left", 689, 430, 1)
    $K = 1
    Else
    ;Hier muss nichts gemacht werden
    EndIf
    EndFunc

    [/autoit]

    Projekte: Keine größeren (und fertigen)
    Gegen Internetzensur:
    https://epetitionen.bundestag.de/index.php?acti…s;petition=3860
    (Zeichnungsfrist abgelaufen)
    __________________________________________________________________________________________________________________________________
    Dieser Beitrag wurde bereits 264 mal editiert, zuletzt von »Fast2« (30. Februar 2009, 12:99)

    2 Mal editiert, zuletzt von Fast2 (16. Dezember 2007 um 18:24)

  • Klappt leider irgendwie nicht....es passiert einfach garnichts wenn die stelle im code bzw. auch der code einzeln läuft. Ich davor ein paar clicks usw. aber sobald eigentlich untersucht werden soll ob die Farbe vorhanden is rührt sich nichts obwohl sie da ist!

  • Vielleicht sollte man die Farbe als
    $1 = 0x5a9714 testen? Und dann gibt es noch den Colormode BGR oder RGB. Da muss man den richtigen wählen

  • Vieleicht hilft dir das weiter:

    [autoit]


    Do
    Local $x,$y
    Local $A
    $y= 200
    $x= 300
    $A = "0x5a9714"
    sleep(500)
    MouseMove($x,$y)
    until PixelGetColor($x, $y) = $A

    [/autoit]

    Bei der Funktion bewegt sich die Maus auf den Punkt/Pixel X/Y mit den Koordinaten die man oben einträgt, und wartet bis er die Farbe 0x5a9714 kriegt/bekommt.

    lg Marle

  • Also die Pixelcolor kann man wie folgt abfragen:

    [autoit]

    MsgBox(0, '', PixelGetColor(300,200) == "15791353")
    MsgBox(0, '', PixelGetColor(300,200) == 15791353)
    MsgBox(0, '', PixelGetColor(300,200) == 0xF0F4F9)

    [/autoit]


    Aber nicht

    [autoit]

    "0xF0F4F9"
    oder
    "F0F4F9"

    [/autoit]
  • Mein bisheriger Code sieht jetzt so aus:

    [autoit]

    Global $Paused

    [/autoit][autoit][/autoit][autoit]

    HotKeySet("{PAUSE}", "TogglePause")
    Sleep(3000)
    $y= 430
    $x= 689
    $A = "0x5a9714"
    $y2= 591
    $x2= 645
    $A2 = "0xdff8d7"
    $xe= 500
    $xy= 315
    $C = "0xf2f2f2"


    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\2.0.0.11 (de)\PathToExe\FIREFOX.EXE", "")
    If FileExists(@ProgramFilesDir & "\\Mozilla Firefox\firefox.exe") Then Run(@ProgramFilesDir & "\Mozilla Firefox\firefox.exe")
    WinWait("*******l - Mozilla Firefox")
    MouseClick("left", 352, 65, 1)
    sleep(500)
    send("*******.html")
    Send("{EntEr}")

    [/autoit][autoit][/autoit][autoit]

    while 1
    Do

    [/autoit][autoit][/autoit][autoit]

    sleep(500)
    MouseMove($xe, $xy)
    until PixelGetColor($xe, $xy) = $C
    MouseClick("left", $xe, $xy, 1)
    WEnd
    MouseClick("left" , 490, 300, 1)
    mousewheel("down", 3)
    MouseClick("left" , 30, 430, 1)
    sleep(500)
    MouseClick("left" , 30, 462, 1)
    sleep(5000)
    MouseClick("left" , 30, 448, 1)
    Sleep(5000)

    $si = 1
    While 2
    If $si > 2 Then ExitLoop

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    MouseClick("left", 180, 605 , 1)
    sleep(500)
    MouseClick("middle", 99, 611 , 1)
    MouseClick("left", 355, 130 , 1)
    while 3
    Do
    sleep(500)
    MouseMove($x,$y)
    until PixelGetColor($x, $y) = $A

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    WEnd
    MouseClick("left", 689, 430, 1)
    while 4
    Do
    sleep(500)
    MouseMove($x2,$y2)
    until PixelGetColor($x2, $y2) = $A2

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    WEnd
    MouseClick("left", 689, 430, 1)
    MouseClick("left", 485, 125, 1)

    [/autoit][autoit][/autoit][autoit]

    $si = $si + 0
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
    EndFunc

    [/autoit]


    Habe aber noch 2 Probleme:
    1. bei while 1 wird nicht geclickt wenn die Farbe erscheint
    2. bei while 3 klickt er unaufhaltsam auf die grüne fläche

  • Um ne kleine Anmerkung zum Forum zu machen....find des echt sehr vorbildlich weil einem sehr schnell geantwortet wird. Kompliment und schonmal danke :)

  • Also erst mal am anfang:

    Spoiler anzeigen
    [autoit]

    $y= 430
    $x= 689
    $A = 0x5a9714
    $y2= 591
    $x2= 645
    $A2 = 0xdff8d7
    $xe= 500
    $xy= 315
    $C = 0xf2f2f2

    [/autoit]


    statt

    Spoiler anzeigen
    [autoit]

    $y= 430
    $x= 689
    $A = "0x5a9714"
    $y2= 591
    $x2= 645
    $A2 = "0xdff8d7"
    $xe= 500
    $xy= 315
    $C = "0xf2f2f2"

    [/autoit]
  • Script funktioniert jetz so wie ich mir das vorstell :) Vielen vileen Dank für die Hilfe!!!!!
    Hier das script :

    [autoit]


    Global $Paused
    HotKeySet("{PAUSE}", "TogglePause")
    Sleep(3000)
    $y= 430
    $x= 689
    $A = 0x5a9714
    $y2= 591
    $x2= 645
    $A2 = 0xdff8d7
    $xe= 500
    $xy= 315
    $C = 0xf2f2f2
    $D = 0xf8d7d7

    RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Mozilla\Mozilla Firefox\2.0.0.11 (de)\PathToExe\FIREFOX.EXE", "")
    If FileExists(@ProgramFilesDir & "\\Mozilla Firefox\firefox.exe") Then Run(@ProgramFilesDir & "\Mozilla Firefox\firefox.exe")
    WinWait("********* - Mozilla Firefox")
    sleep(1000)
    MouseClick("left", 352, 65, 1)
    send("*******.html")
    Send("{EntEr}")

    [/autoit][autoit][/autoit][autoit]

    Do
    sleep(500)
    MouseMove($xe,$xy)
    until PixelGetColor($xe, $xy) = $C
    if PixelGetColor($xe, $xy) = $C then MouseClick("left")
    MouseClick("left")
    MouseClick("left" , 490, 300, 1)
    mousewheel("down", 3)
    MouseClick("left" , 30, 430, 1)
    sleep(500)
    MouseClick("left" , 30, 462, 1)
    sleep(5000)
    MouseClick("left" , 30, 448, 1)
    Sleep(5000)

    $si = 1
    While 1
    If $si > 5 Then ExitLoop

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    MouseClick("left", 180, 605 , 1)
    sleep(500)
    MouseClick("middle", 99, 611 , 1)
    MouseClick("left", 355, 130 , 1)
    Do
    sleep(500)
    MouseMove($x,$y)
    until PixelGetColor($x, $y) = $A
    if PixelGetColor($x, $y) = $A then MouseClick("left")

    Do
    sleep(500)
    MouseMove($x2,$y2)
    until PixelGetColor($x2, $y2) = $A2 or PixelGetColor($x2, $y2) = $D
    if PixelGetColor($x2, $y2) = $A2 then MouseClick("left")
    if PixelGetColor($x2, $y2) = $D then MouseClick("left")

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 485, 125, 1)

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 180, 605 , 1)
    sleep(500)
    MouseClick("middle", 99, 611 , 1)
    MouseClick("left", 355, 130 , 1)
    Do
    sleep(500)
    MouseMove($x,$y)
    until PixelGetColor($x, $y) = $A
    if PixelGetColor($x, $y) = $A then MouseClick("left")

    Do
    sleep(500)
    MouseMove($x2,$y2)
    until PixelGetColor($x2, $y2) = $A2 or PixelGetColor($x2, $y2) = $D
    if PixelGetColor($x2, $y2) = $A2 then MouseClick("left")
    if PixelGetColor($x2, $y2) = $D then MouseClick("left")

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 689, 430, 1)

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 485, 125, 1)

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 180, 605 , 2)
    sleep(500)
    MouseClick("middle", 99, 611 , 1)
    MouseClick("left", 355, 130 , 1)
    Do
    sleep(500)
    MouseMove($x,$y)
    until PixelGetColor($x, $y) = $A
    if PixelGetColor($x, $y) = $A then MouseClick("left")

    Do
    sleep(500)
    MouseMove($x2,$y2)
    until PixelGetColor($x2, $y2) = $A2 or PixelGetColor($x2, $y2) = $D
    if PixelGetColor($x2, $y2) = $A2 then MouseClick("left")
    if PixelGetColor($x2, $y2) = $D then MouseClick("left")

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 689, 430, 1)

    [/autoit][autoit][/autoit][autoit]

    MouseClick("left", 485, 125, 1)

    [/autoit][autoit][/autoit][autoit]

    $si = $si + 0
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func TogglePause()
    $Paused = NOT $Paused
    While $Paused
    sleep(100)
    ToolTip('Script is "Paused"',0,0)
    WEnd
    ToolTip("")
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Sepp (17. Dezember 2007 um 21:31)