Engineer Posted August 23, 2011 Share Posted August 23, 2011 well, I'm back with another obviously easy question that I have no clue how to go about. basicly, I'd like it to search for a pixle in a certian area, then refine that search for the same color in a smaller area. it should move the mouse if it sees it, but I keep getting a error message that says you need endif's. I have no Idea where to put them, or how to go about it. some help would be apricated. PixelSearch( 469, 417, 514, 458, 0xbe3137, 10 ) If Not MsgBox(1, "nothing", "can't see nothing", 10) Then PixelSearch( 472, 421, 484, 432, 0xbe3137, 10 ) If not MsgBox(1, "well, its not here", "saw it, lost it", 5) Then mousemove( 200, 200, 100 ) EndIf Link to comment Share on other sites More sharing options...
Bert Posted August 23, 2011 Share Posted August 23, 2011 You may want to take AutoIt 1 2 3 in the example area The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
flet Posted August 23, 2011 Share Posted August 23, 2011 Your first If-statement is missing an EndIf. It should be: If Not MsgBox(1, "nothing", "can't see nothing", 10) Then PixelSearch( 472, 421, 484, 432, 0xbe3137, 10 ) EndIf Link to comment Share on other sites More sharing options...
Blue_Drache Posted August 23, 2011 Share Posted August 23, 2011 (edited) His entire script is going to fail, honestly. Not only is there a lack of EndIf statements, the syntax for the If statements are wildly off. Perhaps a more full example of your script, please? Because if you have a problem with this basic stuff, then your code is going to look like spaghetti. Edit: Took a best guess at what you're looking for. $aReturn = FindPixel(453, 436, 1243, 1492, 0xffffff) ; go into custom function and store the return in a variable. If Not IsArray($aReturn) Then ; check the return. If it's an array, than we're golden. ConsoleWrite("Didn't find it after (roughly) 10 seconds" & @CRLF) ; write to the console window in SciTE editor. Faster than MSGBOX() Else ConsoleWrite("Found it!" & @CRLF) EndIf Func FindPixel($iLeft, $iTop, $iRight, $iBottom, $hColor, $iVar = 0, $iStep = 1) Local $iDelay = 1000 ; 1000 loops = roughly 10 seconds Local $iCount = 0, $aResult = "" While 1 $iCount += 1 Sleep(10) $aResult = PixelSearch($iLeft, $iTop, $iRight, $iBottom, $hColor, $iVar, $iStep) ; Store the result in a variable If IsArray($aResult) Then ; Check for array. If so, we're golden. SetError(0) Return 1 Else ContinueLoop EndIf If $iCount > $iDelay Then ; crash out if more than $iDelay iterations SetError(1) $aResult = "" ; set $aResult to empty string Return $aResult EndIf WEnd EndFunc ;==>FindPixel Edited August 23, 2011 by Blue_Drache Lofting the cyberwinds on teknoleather wings, I am...The Blue Drache Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now