AutoIT piksele

XO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
0

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

Kopiuj
 #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
	  
P4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 53
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".

XO
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 58
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.

P4
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 53
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.