AutoIt Do/Until Schleife bis Farbe da ist

01/20/2012 00:06 xFreshness#16

Ist ein Bot, das ganze Enter Leertaste gedrücke muss so sein.
01/20/2012 00:23 lolkop#17
um es mal sehr stark zu vereinfachen sehen deine schleifen etwa so aus:
Code:
While 1
    ...
    Do
        ...
        $farbe = PixelGetColor(976, 684)
        If $farbe = 0x1E1F1E Then ExitLoop 2 <--- Beendet dein script, da die While schleife beendet wird!
        ...
    Until $farbe = 0x1E1F1E  <-- beendet deine Do Schleife
    ...
Wend
hierrin ist ein wiederspruch in sich enthalten. das ende der Do-Schleife kann nie erreicht werden, da das script immer vorher beendet wird.

wenn das so geplant war, verwende beim nächsten mal bitte auch hier eine endlos Do-Schleife:
Code:
Do
Until 0
oder endlos while schleife
Code:
While 1
WEnd
um das ganze übersichtlicher zu halten. nicht erfüllbare abfragen sind für unbeteiligte sehr verwirrend =)
01/20/2012 16:34 xFreshness#18
Oh stimmt, da hab ich mich wohl versehen und die If-Abfrage als Schleife gezählt. Hab es jetzt geändert und es klappt. Allerdings nicht immer! Nachdem er die gesamte Schleife einige Male durchgegangen ist, funktioniert die Farberkennung auf einmal nicht mehr.
Edit: hab einfach eine 2. Farberkennung eingebaut, wenn die erste kein Pixel der erforderlichen Farbe bringt. Dadurch hat es bis jetzt immer geklappt :)

Edit2: letztes Mal hatte ich wohl Glück, jetzt kommt es immer wieder vor das er die Farbe doch nicht erkennt. Keine Ahnung warum.