Schleife mit If befehl funzt nicht

09/09/2013 10:46 anarcho77#1
Joa, versuch nen Pic zu erkenne was er auch tut aber wen das script wieder anfängt beginnt er nocht von vorne miot der suche des bildes sonder macht mit dem weiter womit er aufgehört hat wäre fuer jeden dan ansatz dankbar.

Code:
While 1

If $res = 1 Then 
      Send("{r down}") 			;Holds the f key down
	   Sleep (100)
   	   Send("{r up}") 	
	  
	   sleep (500)
	   
	   Send("{r down}") 			;Holds the f key down
	   Sleep (100)
   	   Send("{r up}")
	   Send("{f up}") 
Else
       Send("{b down}") 			;Holds the f key down
	   Sleep (100)
   	   Send("{b up}") 	
	  
	   sleep (500)
	   
	   Send("{b down}") 			;Holds the f key down
	   Sleep (100)
   	   Send("{b up}")
	  
	   
Endif
WEnd

func _stop()
   Exit
EndFunc
09/09/2013 13:54 mdna#2
Ist das dein komplettes Script, wenn nicht wie genau wird das Bild erkannt, was passiert vor dieser Schleife?

MfG, Mdna
09/09/2013 14:20 butter123#3
ja schreib nochmal ordentlich dein problem auf.
09/09/2013 14:22 anarcho77#4
Er fürt nur den roten oder den blauen in einer schleif aus soll aber die if abfrage immer wierder abfragen


hier komplett:

Quote:
#Include<ImageSearch.au3>

$x = 0
$y = 0
HotKeySet("{F9}","_stop")

#RequireAdmin

$res= _ImagesSearch("Zahl.png",1,$x,$y,100)

While 1

If $res = 1 Then
Send("{r down}") ;Holds the f key down
Sleep (100)
Send("{r up}")

sleep (500)

Send("{r down}") ;Holds the f key down
Sleep (100)
Send("{r up}")
Send("{f up}")
Else
Send("{b down}") ;Holds the f key down
Sleep (100)
Send("{b up}")

sleep (500)

Send("{b down}") ;Holds the f key down
Sleep (100)
Send("{b up}")


Endif
WEnd

func _stop()
Exit
EndFunc
09/09/2013 14:25 mdna#5
Naja entweder ist $res 1 dann macht er das rote oder $res ist nicht 1 (also - unendlich bis + undendlich außer der 1) dann macht er die blaue runde --> der fehler liegt wohl irgendwo im PixelSearch

Edit: Fehler gefunden --> Dein PixelSearch muss natürlich mit in die While-schleife, damit jedesmal neu gesucht wird ob dein Bild da ist oder nicht :)
09/09/2013 20:00 K1ramoX#6
Code:
#RequireAdmin

#include<ImageSearch.au3>

HotKeySet("{F9}", "_stop")

While 1

	If _ImagesSearch("Zahl.png", 1, 0, 0, 100) == 1
		Send("{r down}") ;Holds the f key down
		Sleep(100)
		Send("{r up}")

		Sleep(500)

		Send("{r down}") ;Holds the f key down
		Sleep(100)
		Send("{r up}")
		Send("{f up}")
	Else
		Send("{b down}") ;Holds the f key down
		Sleep(100)
		Send("{b up}")

		Sleep(500)

		Send("{b down}") ;Holds the f key down
		Sleep(100)
		Send("{b up}")

	EndIf
WEnd

Func _stop()
	Exit
EndFunc   ;==>_stop
09/09/2013 20:50 KDeluxe#7
AutoItSetOption() ist hier ganz nützlich.

Code:
#RequireAdmin
#Include <ImageSearch.au3>

AutoItSetOption("SendKeyDelay", 500)
AutoItSetOption("SendKeyDownDelay", 100)

Dim $x = 0, $y = 0
HotKeySet("{F9}", "_Stop")

While True
    If _ImagesSearch(@ScriptDir & "\Zahl.png", 1, $x, $y, 100) == 1 Then
        Send("rr")
    Else
        Send("bb")
    Endif
WEnd

Func _Stop()
    Exit
EndFunc