[Autoit] Frage zu Pixelsearch

04/07/2019 16:17 pukker#1
Hi,

die frage wurde wahrscheinlich schon tausendmal durchgekaut, aber ich frage nochmal.


Ich habe mehrer farben, davon taucht eine alle paar minuten auf, wie kann ich mehrere farben zum code hinzufügen?

Code:
HotKeySet("a","start")
HotKeySet("b","ende")


While 1
   sleep(100)
WEnd


func ende()
   Exit
EndFunc


func start()
   While 1

	  $array_pos = PixelSearch(205,91,1904,976,0x7E5537)
	  if @error = 0 Then
		 MouseClick("left", $array_pos[0],$array_pos[1],1,0)
	  Endif
	  Sleep(500)
   WEnd
EndFunc
wenn ich jetzt folgendes eingebe:


Code:
func start()
   While 1

	  $array_pos = PixelSearch(205,91,1904,976,0x7E5537)
	  if @error = 0 Then
		 MouseClick("left", $array_pos[0],$array_pos[1],1,0)
                   if @error Then
	             $array_pos = PixelSearch(205,91,1904,976,0xFDD937)
	  if @error = 0 Then
		 MouseClick("left", $array_pos[0],$array_pos[1],1,0)

          Endif
	  Sleep(500)
   WEnd
EndFunc
das klappt irgendwie nicht :/, kann jemand helfen? Ich habe das jetzt auch nur durch youtube tuts zusammen gewurschtelt.
04/08/2019 00:30 Moneypulation#2
Deklarier ein Array mit deinen gesuchten Pixelwerten

PHP Code:
Local $colorArr = [0xDEADBEEF0x13371337
und frag halt in einer Schleife in deiner Start Funktion nach jedem Wert ab

PHP Code:
While Sleep(500)
    For 
$i 0 To UBound($colorArr) - 1
        $pixel 
PixelSearch(205,91,1904,976,$colorArr[$i])
        If 
IsArray($pixelThen
            MouseClick
("left"$pixel[0],$pixel[1],1,0)
        EndIf
    
Next
WEnd 
04/08/2019 18:37 pukker#3
Quote:
Originally Posted by Moneypulation View Post
Deklarier ein Array mit deinen gesuchten Pixelwerten

PHP Code:
Local $colorArr = [0xDEADBEEF0x13371337
und frag halt in einer Schleife in deiner Start Funktion nach jedem Wert ab

PHP Code:
While Sleep(500)
    For 
$i 0 To UBound($colorArr) - 1
        $pixel 
PixelSearch(205,91,1904,976,$colorArr[$i])
        If 
IsArray($pixelThen
            MouseClick
("left"$pixel[0],$pixel[1],1,0)
        EndIf
    
Next
WEnd 

danke für die hilfe, da hab ich leider schon brainfuck, weis gar nicht wo ich da anfangen soll D:
04/08/2019 23:37 Moneypulation#4
Quote:
Originally Posted by pukker View Post
danke für die hilfe, da hab ich leider schon brainfuck, weis gar nicht wo ich da anfangen soll D:
Was genau verstehst du denn nicht im Code? Das ist eigentlich ziemlich basic was da passiert. Array mit Werten deklarieren, Schleife über das Array iterieren lassen, und dann für jeden Wert in dem Array PixelSearch aufrufen und schauen ob die Farbe gefunden wurde