bigassmuffin Posted November 12, 2006 Share Posted November 12, 2006 I obviously now how to pixel search: PixelSearch( 0, 0, 1000, 585, $color, 3, 5 ) Buy I dont want the coords to search for to be 0, 0, 1000, 585 as in this example, I want it to be a radius of say 30 (it will b user defined, but I know how to do that part) While 1 If $game = 1 Then PixelSearch( 0, 0, 1000, 585, $color, 3, 5 ) If IsArray($coord) = 1 Then MouseMove( $coord[0], $coord[1], 0) EndIf Sleep(500) EndIf WEnd Thank you very much for any help and time you give! Link to comment Share on other sites More sharing options...
ironmanexe Posted November 12, 2006 Share Posted November 12, 2006 see: MouseGetPos In your help file, Then just use that and some math to get the four corners of your search. Time + Effort = Constant Link to comment Share on other sites More sharing options...
bigassmuffin Posted November 12, 2006 Author Share Posted November 12, 2006 (edited) see: MouseGetPos In your help file, Then just use that and some math to get the four corners of your search. Alright, I think that helped... While 1 If $game = 1 Then $pos = MouseGetPos() $coord = PixelSearch( $pos[0]+30, $pos[1]+30, $pos[0]-30, $pos[1]-30, $color, 3, 5 ) If IsArray($coord) = 1 Then MouseMove( $coord[0], $coord[1], 0) EndIf Sleep(500) EndIf WEnd This looks a bit better to me, But even so, this will produce a square around the cursor, if it would even do that ;P, I would prefer a circle Edited November 12, 2006 by bigassmuffin Link to comment Share on other sites More sharing options...
ironmanexe Posted November 12, 2006 Share Posted November 12, 2006 If you wanted a circle the code becomes a bit more complex... You would need to write your own pixel search i think so ya.... I dont know what your coding, But imo a square should work fine for most applications Time + Effort = Constant Link to comment Share on other sites More sharing options...
1905russell Posted November 12, 2006 Share Posted November 12, 2006 (edited) Alright, I think that helped... While 1 If $game = 1 Then $pos = MouseGetPos() $coord = PixelSearch( $pos[0]+30, $pos[1]+30, $pos[0]-30, $pos[1]-30, $color, 3, 5 ) If IsArray($coord) = 1 Then MouseMove( $coord[0], $coord[1], 0) EndIf Sleep(500) EndIf WEnd This looks a bit better to me, But even so, this will produce a square around the cursor, if it would even do that ;P, I would prefer a circleYour pluses and minuses are incorrect? The below eliminates the 4 outside corners. Still leaves little pieces of included area which could be eliminated with further extraction of squares inside ellipses. Not sure why you have to have a circle but this should bring you a little closer. If you take your 30 as the radius. $r = 30 Then inside square radius = $r ( INT(($r ^2+$r ^2)^(1/2))- $r) :rounded to a whole number = 18 So first check out inside square $coord = PixelSearch( $pos[0]-18, $pos[1]-18, $pos[0]+18, $pos[1]+18, $color, 3, 5 ) Then check the four outside rectangles (long way you could create a loop for the whole thing) (left, top, right and bottom) $coord = PixelSearch( $pos[0]-30, $pos[1]-18, $pos[0]-18, $pos[1]+18, $color, 3, 5 ) $coord = PixelSearch( $pos[0]-18, $pos[1]-30, $pos[0]+18, $pos[1]-18, $color, 3, 5 ) $coord = PixelSearch( $pos[0]+18, $pos[1]-18, $pos[0]+30, $pos[1]+18, $color, 3, 5 ) $coord = PixelSearch( $pos[0]-18, $pos[1]+18, $pos[0]+18, $pos[1]+30, $color, 3, 5 ) Not sure if this helps and I have not tested it. Edited November 12, 2006 by 1905russell Link to comment Share on other sites More sharing options...
bigassmuffin Posted November 12, 2006 Author Share Posted November 12, 2006 If you take your 30 as the radius. $r = 30 Then inside square radius = $r ( INT(($r ^2+$r ^2)^(1/2))- $r) :rounded to a whole number = 18 So first check out inside square $coord = PixelSearch( $pos[0]-18, $pos[1]-18, $pos[0]+18, $pos[1]+18, $color, 3, 5 ) Then check the four outside rectangles (long way you could create a loop for the whole thing) (left, top, right and bottom) $coord = PixelSearch( $pos[0]-30, $pos[1]-18, $pos[0]-18, $pos[1]+18, $color, 3, 5 ) $coord = PixelSearch( $pos[0]-18, $pos[1]-30, $pos[0]+18, $pos[1]-18, $color, 3, 5 ) $coord = PixelSearch( $pos[0]+18, $pos[1]-18, $pos[0]+30, $pos[1]+18, $color, 3, 5 ) $coord = PixelSearch( $pos[0]-18, $pos[1]+18, $pos[0]+18, $pos[1]+30, $color, 3, 5 ) Not sure if this helps and I have not tested it. Thank you for inputing all your time in this, however a square will still be good enough, however, doi you think the script i posted will work(the script u quoted) Link to comment Share on other sites More sharing options...
1905russell Posted November 12, 2006 Share Posted November 12, 2006 (edited) Thank you for inputing all your time in this, however a square will still be good enough, however, doi you think the script i posted will work(the script u quoted)Wow you were fastI edited my post to tell you that your + and - should be reversed.I enjoyed trying to remember my rusty trigonometry.If you want to be more accurate in your search, leave out the shade and the step.If you really wanted an accurate circle you would need to PixelSearch each row individualy with a calculated start and stop position for each row. Its possible I guess. Edited November 12, 2006 by 1905russell 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