AutoIT piksele

0

Jak można przerobić ten kod, żeby klikało w pojawiające się piksele raz a nie bez przerwy?

 #include <wyjscie.au3>

While 1
Sleep(10)
WEnd

While 1

                $aCoord = PixelSearch(272, 175, 833, 535, 0xD7C3CF)
                If IsArray($aCoord) = 1 Then
                MouseClick ("left", $aCoord[0], $aCoord[1], 1, 1)

            Else
        $aCoord2 = PixelSearch(272, 175, 833, 535, 0xFBFF8E)
        If IsArray($aCoord2) = 1 Then
                MouseClick ("left", $aCoord2[0], $aCoord2[1], 1, 1)

        Else
        $aCoord3 = PixelSearch(272, 175, 833, 535, 0xFFB3B3)
        If IsArray($aCoord3) = 1 Then
                MouseClick ("left", $aCoord3[0], $aCoord3[1], 1, 1)

        Else
        $aCoord4 = PixelSearch(272, 175, 833, 535, 0xC5FFCA)
        If IsArray($aCoord4) = 1 Then
                MouseClick ("left", $aCoord4[0], $aCoord4[1], 1, 1)

        Else
        $aCoord5 = PixelSearch(272, 175, 833, 535, 0x9EC7FF)
        If IsArray($aCoord5) = 1 Then
                MouseClick ("left", $aCoord5[0], $aCoord5[1], 1, 1)

        Else
        $aCoord6 = PixelSearch(272, 175, 833, 535, 0xFCE1B4, 5)
        If IsArray($aCoord6) = 1 Then
                MouseClick ("left", $aCoord6[0], $aCoord6[1], 1, 1)

    EndIf
    EndIf
    EndIf
    EndIf
    EndIf
    EndIf

WEnd
0

Nie wiem czy dobrze Ciebie rozumiem. Prawdopodobnie rozchodzi się Tobie o usunięcia zapętlenia while. AutoIT ma ogólnie bardzo dobrą dokumentację funkcji itp, bardzo łatwo jest samemu napisać "automat".

0
Protected_48 napisał(a):

Nie wiem czy dobrze Ciebie rozumiem. Prawdopodobnie rozchodzi się Tobie o usunięcia zapętlenia while. AutoIT ma ogólnie bardzo dobrą dokumentację funkcji itp, bardzo łatwo jest samemu napisać "automat".
Chodzi mi o to, że np. jak znajdzie jakiś piksel, który wywietla się np. przez sekundę, to klika w niego wiele razy zanim przejdzie do następnego. A mi chodzi o to, żeby znalezione piksele były klikane tylko raz.

0

Widocznie AutoIT jest tak szybki, że klika wiele razy bo masz ten program całkowicie zapętlony. Prawdopodobnie wyjściem będzie użycie funkcji Sleep : https://www.autoitscript.com/autoit3/docs/functions/Sleep.htm

W pętli, której masz klikanie pod koniec wszystkich if'ów wstaw wymienioną wyżej funkcje z odpowiednim delay i powinno być OK.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0