Jump to content
Sign in to follow this  
furrycow

What is wrong with my code?

Recommended Posts

furrycow

OK, here's my code, and i keep getting the same error...

MouseClick("Left", $PixSearch[0], $PixSearch[1])

MouseClick("Left", $PixSearch^ ERROR

The thing is i do have x and y coords from $pixsearch. Am i using @error correctly?? If not, how would i go about searching for the pixelcolour "255"? I want it to roughly check the page quickly, thats why i have it as a random number between 0 and 50. However, if it doesnt find it, i want it to check again, as it is very likely there is one there. However in the event that there isnt one, i want it to just continue. Many Thanks...Here's my code:

If $Percentclick < $Clicksearch[1][1] Then

Sleep (1000)

$Box = IniReadSection ( "setup.ini", "Click" )

$randomstep = Random(0,50)

$PixSearch = pixelsearch($Box[4][1],$Box[5][1],$Box[6][1],$Box[7][1],255,35,$randomstep)

$attempt=0

If @error Then

Do

$randomstep = Random(0,50)

$PixSearch = pixelsearch($Box[4][1],$Box[5][1],$Box[6][1],$Box[7][1],255,35,$randomstep)

$attempt=$attempt+1

If $attempt = 50 Then

ExitLoop

EndIf

Until Not @Error

Endif

If Not @Error Then

Sleep(2000)

MouseClick("Left", $PixSearch[0], $PixSearch[1])

$actualclick=$actualclick+1

EndIf

EndIf


Instant Lockerz Invite - www.instantlockerzinvite.co.uk

Share this post


Link to post
Share on other sites
SmOke_N

@error is used directly after the function you are calling....

PixelSearch(...

If @error Then etc..


Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer.

Share this post


Link to post
Share on other sites
Andreik

if color is not found then you don't have an array $PixSearch. Use @error to be sure that your color was found.


When the words fail... music speaks

Share this post


Link to post
Share on other sites
furrycow

@error is used directly after the function you are calling....

PixelSearch(...

If @error Then etc..

So Smoke, youre saying that i need to move the variable $attempt out from in between the pixelsearch and the @error?? And so does that mean that the Do loop would work or not as it has an "until not @error"? and theres a variable in the Do loop? Sorry, just reading back on that it doesnt sound that clear but i cant think of how else to phrase it :S

Thanks for getting back so quick


Instant Lockerz Invite - www.instantlockerzinvite.co.uk

Share this post


Link to post
Share on other sites
Andreik

So Smoke, youre saying that i need to move the variable $attempt out from in between the pixelsearch and the @error?? And so does that mean that the Do loop would work or not as it has an "until not @error"? and theres a variable in the Do loop? Sorry, just reading back on that it doesnt sound that clear but i cant think of how else to phrase it :S

Thanks for getting back so quick

Try this:

If $Percentclick < $Clicksearch[1][1] Then
Sleep (1000)
$Box = IniReadSection ( "setup.ini", "Click" )
$randomstep = Random(0,50)
$PixSearch = pixelsearch($Box[4][1],$Box[5][1],$Box[6][1],$Box[7][1],255,35,$randomstep)
If @error Then
$attempt = 0
$OUT = 0
Do
$randomstep = Random(0,50)
$PixSearch = pixelsearch($Box[4][1],$Box[5][1],$Box[6][1],$Box[7][1],255,35,$randomstep)
If Not @error Then $OUT = 1 
$attempt=$attempt+1
If $attempt = 50 Then
ExitLoop
EndIf
Until $OUT = 1
Endif
Else
Sleep(2000)
MouseClick("Left", $PixSearch[0], $PixSearch[1])
$actualclick=$actualclick+1
EndIf
EndIf

When the words fail... music speaks

Share this post


Link to post
Share on other sites
furrycow

Try this:

If $Percentclick < $Clicksearch[1][1] Then
Sleep (1000)
$Box = IniReadSection ( "setup.ini", "Click" )
$randomstep = Random(0,50)
$PixSearch = pixelsearch($Box[4][1],$Box[5][1],$Box[6][1],$Box[7][1],255,35,$randomstep)
If @error Then
$attempt = 0
$OUT = 0
Do
$randomstep = Random(0,50)
$PixSearch = pixelsearch($Box[4][1],$Box[5][1],$Box[6][1],$Box[7][1],255,35,$randomstep)
If Not @error Then $OUT = 1 
$attempt=$attempt+1
If $attempt = 50 Then
ExitLoop
EndIf
Until $OUT = 1
Endif
Else
Sleep(2000)
MouseClick("Left", $PixSearch[0], $PixSearch[1])
$actualclick=$actualclick+1
EndIf
EndIf
Thanks Andreik, however, when i run this code, it does not click at all even on the times that there is a lot of colour 255. Do you have any more suggestions? Thanks for taking your time out to do this!

Instant Lockerz Invite - www.instantlockerzinvite.co.uk

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×