AutoIt Pixelsearch Help.

12/29/2016 15:00 Florian.K#1
Heyo,kann mir jemand weiterhelfen und sagen,was ich hier falsch mache?
Code:
#include <array.au3>

#RequireAdmin

HotKeySet("{F1}",_Start) ;startet
HotKeySet("{F2}", _Close) ;beendet
_Startup()

Func _Startup()
   ToolTip("F1 to Start",0,0)
   While 1
	  sleep(100)
   WEnd
EndFunc

Func _Close()
   Exit
EndFunc

Func _Start()
   ToolTip("F2 Close",0,0)
   while 1
	  $klick = PixelSearch(1102,896,1305,929,0x0044B7,0)
	  if $klick = 1 Then
		 MouseClick("Main", $klick[0], $klick[1],2,1)
		 MouseMove($pos [0], $pos[1],10)
		 Pause()
	  EndIf
   WEnd
EndFunc
Es will einfach nicht funktionieren,also der Pixel den er suchen soll ist da, aber er macht nichts..

sobald ich nur diese 3 zeilen nehme, macht er das was ich will,allerdings nur 1x und schließt sich danach..ist der Pixel den er suchen soll nicht vorhanden, kommt eine Error meldung.
Code:
	  $klick = PixelSearch(1102,896,1305,929,0x0044B7,0)
	  MouseClick("Main", $klick[0], $klick[1],2,1)
	  MouseClick("Main", 815,576, 1)

um paar ratschläge oder so wären echt hilfreich !:)
12/29/2016 15:09 alpines#2
Du verwendest den Return Wert von PixelSearch falsch.

Wenn ein Pixel gefunden wird, dann wird ein 1D-Array mit zwei Indizes returnt und nicht eine "1".
Wenn kein Pixel gefunden wird, dann ist es kein Array.

Deine Abfrage
Code:
if $klick = 1 Then
		 MouseClick("Main", $klick[0], $klick[1],2,1)
Ist also absoluter Schwachsinn, du musst für die Prüfung UBound nehmen
Code:
If UBound($klick) Then
UBound returnt die Größe des Arrays, und wenn die Größe 1 oder >1 ist wird die If-Bedingung getriggered.
12/29/2016 15:14 Florian.K#3
ok,danke,jetz maht er zumindest den ersten schritt den ich haben wollte, aber jetz macht er den 2. nicht mehr, die Maus moven um auf das nächste Feld zu klicken.

[Only registered and activated users can see links. Click Here To Register...]
12/29/2016 15:15 alpines#4
Alter, schreibst du Code ohne nachzudenken oder mal die Fehler durchzulesen?
In keiner Zeile von deinem Code gibt es die Variable $pos.
12/29/2016 15:23 Florian.K#5
Code:
Func _Start()
   ToolTip("F2 Close",0,0)
   while 1
	  $klick = PixelSearch(1102,896,1305,929,0x0044B7,0)
	  If UBound($klick) Then
	  MouseClick("Main", $klick[0], $klick[1],2,1)
	  MouseClick("Main", 815,576, 1)
	  EndIf
   WEnd
EndFunc
hab jetz selber gemerkt, danke :D
01/17/2017 14:54 Lordsocke#6
Es hilft sonst vielleicht erstmal ein paar Tutorials durch zu gehen bevor du anfängst wie wild Codebausteine zusammen zu klicken ohne zu wissen wie das funktioniert.