AutoIT erstes Werk (ImageSearch)

06/11/2016 20:31 .TheBlueOptic#1
Hallo das ist mein erstes Werk und wollte mal fragen was ich ändern muss oder falsch gemacht habe.
Code:
#include<ImageSearch.au3>

HotKeySet("(NUMPAD2)","starten")
HotKeySet("(NUMPAD3)","beenden")
$x1=0
$y1=0
$x2=0
$y2=0

While 1
   Sleep(1)
WEnd

Func starten()
	  While 1
		 $resulte=_ImageSearch("IdleWC.png",1,$x1,$y1,0)
			If $resulte=1 Then
			  $resulte_ImageSearch("yewtext.png",1,$x2,$y2,0)
				  IF $resulte=1 Then
					 MouseClick("LEFT",$x2,$y2)
				  EndIf
			EndIf
	  WEnd
EndFunc

Func beenden()
   exit 0
EndFunc
Es soll nach einem Bild "idleWC.png suchen und sobald das gefunden wurde nach "yewtext.png" suchen und mit der Maus einmal einen Links klick machen und das alles in Dauerschleife.

Meine frage: wie bekomme ich die Dauerschleife hin und kann ich auch sagen IdleWC muss auf einer bestimmten XY sein damit "then" gemacht wird.
06/12/2016 12:12 Moneypulation#2
Dein Sleep(1) solltest du in deiner Endlosschleife in mind. 100-1000 ändern, damit weniger CPU verbraucht wird. HotKeySet unterbricht den Sleep, also kannst du ihn beliebig groß setzen. Da du nach Fehlern fragst, wäre hilfreich, was genau bei dir nicht funktioniert. Falls die Bilder nicht gefunden werden, kann es an deiner 0 Toleranz liegen. Das kannst du ruhig auf 40-60 ändern, falls es keine sehr kleinen Bilder sind.

Quote:
Meine frage: wie bekomme ich die Dauerschleife hin
Die Dauerschleife hast du doch schon durch die While 1 Schleife. Es empfiehlt sich jedoch, nachdem du dein erstes Bild gefunden hast, einen kleinen Sleep einzubauen, falls dein 2. Bild nicht bereits auf dem Bildschirm ist, da es sonst ein paar Millisekunden brauchen könnte, um dargestellt zu werden.
Fehlt außerdem nicht ein "=" bei deinem 2. ImageSearch Aufruf?

Quote:
und kann ich auch sagen IdleWC muss auf einer bestimmten XY sein damit "then" gemacht wird
If ($result = 1) AND ($x1 = $deinX) AND ($y1 = $deinY)

Falls du das Bild nur in einem bestimmten Bereich suchst, kannst du auch einfach _ImageSearchArea verwenden
06/12/2016 12:34 alpines#3
Sicher das deine HotKeys klappen? (NUMPAD2) sollte eigentlich {NUMPAD2} lauten.