May 6, 201510 yr 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
May 6, 201510 yr 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
May 6, 201510 yr Author 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 May 6, 201510 yr by SESH
May 6, 201510 yr 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.
May 6, 201510 yr Author 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. The bounds come from the Shape given when the method is called...
May 6, 201510 yr 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. Rectangle r = region.getBounds();
May 6, 201510 yr 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 May 6, 201510 yr by Tom
May 6, 201510 yr Author 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.
May 6, 201510 yr 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
May 6, 201510 yr Author Might be worth creating a thread in the client bugs subforum, that way it will be fixed as soon as possible Alright thanks man
May 6, 201510 yr This is indeed an issue, the interact methods os osbot itself also have trouble clicking sometimes. It seems to skip the method once in a while. got idea how to solve ... It's something you have to live with Khaleesi
Create an account or sign in to comment