Jump to content
SESH

Problem with click()

Recommended Posts

Is anyone else having problems with click()? Sometimes it clicks, sometimes it doesn't. I've had to resort to looping click()'s in my methods until they finally work to get it to actually click. The weird thing is that it moves to the pixel to click, it just doesn't click once it's there, and it only happens sometimes. Anyone know the reason for this?

 

Thanks

Link to comment
Share on other sites

Is anyone else having problems with click()? Sometimes it clicks, sometimes it doesn't. I've had to resort to looping click()'s in my methods until they finally work to get it to actually click. The weird thing is that it moves to the pixel to click, it just doesn't click once it's there, and it only happens sometimes. Anyone know the reason for this?

 

Thanks

 

Show da code

Link to comment
Share on other sites

 

Show da code

 

 

Here's a method I use to click a random coordinate in a shape with normal distribution:

    public boolean clickRandomXY(Shape region)
    {
    	Rectangle r = region.getBounds();
    	int maxX = (int) r.getMaxX() - 1;
    	int maxY = (int) r.getMaxY() - 1;
    	int minX = (int) r.getMinX() + 1;
    	int minY = (int) r.getMinY() + 1;
    	
    	int x, y;
    	
    	do
    	{
    		x = rand(minX, maxX);
    		y = rand(minY, maxY);  		
    	} while (!(x <= maxX) || !(x >= minX) || !(y <= maxY) || !(y >= minY));
    	
    	return !mouse.click(x, y, false);
    }

I know the code is a bit ugly, I apologize. rand() is my method for a random integer with normal distribution.

 

Using this method, the mouse will move to the coordinates and then just not click sometimes.

 

I also find it odd that click() returns true if the event failed... what's the reason for that? It goes against logic.

Edited by SESH
Link to comment
Share on other sites

 

 
 

 

Here's a method I use to click a random coordinate in a shape with normal distribution:

    public boolean clickRandomXY(Shape region)
    {
    	Rectangle r = region.getBounds();
    	int maxX = (int) r.getMaxX() - 1;
    	int maxY = (int) r.getMaxY() - 1;
    	int minX = (int) r.getMinX() + 1;
    	int minY = (int) r.getMinY() + 1;
    	
    	int x, y;
    	
    	do
    	{
    		x = rand(minX, maxX);
    		y = rand(minY, maxY);  		
    	} while (!(x <= maxX) || !(x >= minX) || !(y <= maxY) || !(y >= minY));
    	
    	return !mouse.click(x, y, false);
    }

I know the code is a bit ugly, I apologize. rand() is my method for a random integer with normal distribution.

 

Using this method, the mouse will move to the coordinates and then just not click sometimes.

 

I also find it odd that click() returns true if the event failed... what's the reason for that? It goes against logic.

 

By the look of it you arent actually defining the bounds of the rectangle, its just an empty object.

 

E.g. Rectangle bounds = new Rectangle(465, 340, 100, 20); which defines a small rectangle for my paint.

Link to comment
Share on other sites

The bounds come from the Shape given when the method is called...

 

Oh shit didn't see that, one moment ill edit the post when i figure something out.

   public boolean clickRandomXY(Shape region)
    {
    	Rectangle r = region.getBounds();
    	int maxX = (int) r.getMaxX() - 1;
    	int maxY = (int) r.getMaxY() - 1;
    	int minX = (int) r.getMinX() + 1;
    	int minY = (int) r.getMinY() + 1;
    	
    	int x, y;
    	
    	
    	x = rand(minX, maxX);
    	y = rand(minY, maxY);  		
    	 
        if(x < maxX && x > minX && y < maxY && y > minY){
    	return !mouse.click(x, y, false); //This will return true as long as the client thinks it clicked
        }

        //I think you can also do if r.contains(){..................}
        return false;
    }
Edited by Tom
Link to comment
Share on other sites

 

Oh shit didn't see that, one moment ill edit the post when i figure something out.

   public boolean clickRandomXY(Shape region)
    {
    	Rectangle r = region.getBounds();
    	int maxX = (int) r.getMaxX() - 1;
    	int maxY = (int) r.getMaxY() - 1;
    	int minX = (int) r.getMinX() + 1;
    	int minY = (int) r.getMinY() + 1;
    	
    	int x, y;
    	
    	
    	x = rand(minX, maxX);
    	y = rand(minY, maxY);  		
    	 
        if(x < maxX && x > minX && y < maxY && y > minY){
    	return !mouse.click(x, y, false); //This will return true as long as the client thinks it clicked
        }
        return false;
    }

 

There's nothing wrong with the code besides click() though. The method is generating the right coordinates fine. I could write just click(30, 30, false); in my onLoop() and it still would only click sometimes. Other people have posted this same problem in this subforum. Something honestly has to be wrong with click(), but I don't know of any workarounds.

Link to comment
Share on other sites

There's nothing wrong with the code besides click() though. The method is generating the right coordinates fine. I could write just click(30, 30, false); in my onLoop() and it still would only click sometimes. Other people have posted this same problem in this subforum. Something honestly has to be wrong with click(), but I don't know of any workarounds.

 

Might be worth creating a thread in the client bugs subforum, that way it will be fixed as soon as possible

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...