colby__ Posted August 26, 2016 Share Posted August 26, 2016 How can I enable the use of the Java Robot class in my scripts? Thanks. Quote Link to comment Share on other sites More sharing options...
Token Posted August 26, 2016 Share Posted August 26, 2016 You can't Quote Link to comment Share on other sites More sharing options...
colby__ Posted August 26, 2016 Author Share Posted August 26, 2016 (edited) You can't I need it, otherwise this bot is totally useless to me as I need to implement my own mouse methods to get the ban rate down to something acceptable There is always a way.. Can I get direct access to the robot osbot already uses? Edited August 26, 2016 by colby__ Quote Link to comment Share on other sites More sharing options...
Token Posted August 26, 2016 Share Posted August 26, 2016 I need it, otherwise this bot is totally useless to me as I need to implement my own mouse methods to get the ban rate down to something acceptable There is always a way.. Can I get direct access to the robot osbot already uses? Mouse data is not sent to jagex, it's legacy code. Can't you just generate mouse movements using the associated ClientMouseEventHandler instance? Quote Link to comment Share on other sites More sharing options...
colby__ Posted August 26, 2016 Author Share Posted August 26, 2016 Mouse data is not sent to jagex, it's legacy code. Can't you just generate mouse movements using the associated ClientMouseEventHandler instance? Uhh mouse detection is the core of their bot detection system no? Where did you hear they do not analyze mouse movements? How else would they detect bots? Also I want to simulate a different type of mouse input, some cases it will need to move instantly across the screen which this mouse arbitrarily does not support as far as I can tell. Where is the ClientMouseEventHandler instance ? The class is obfuscated.. lol 2 Quote Link to comment Share on other sites More sharing options...
jackshow Posted August 26, 2016 Share Posted August 26, 2016 Mouse data is not sent to jagex, it's legacy code. Can't you just generate mouse movements using the associated ClientMouseEventHandler instance? Mouse data is sent to jagex. There's literally code to send mouse data to the server in the gamepack https://github.com/SasukeFan203/R74/blob/29ecae1f1255c94d3be0ba848a7426083a8bc916/src/com/jagex/ClientData.java#L98 If you want proof that mouse data is sent to the server, there. 1 Quote Link to comment Share on other sites More sharing options...
Dog_ Posted August 26, 2016 Share Posted August 26, 2016 (edited) I need it, otherwise this bot is totally useless to me as I need to implement my own mouse methods to get the ban rate down to something acceptable There is always a way.. Can I get direct access to the robot osbot already uses? osbot doesnt use Robot for input, events are dispatched directly to the canvas Edited August 26, 2016 by Dog_ 1 Quote Link to comment Share on other sites More sharing options...
colby__ Posted August 26, 2016 Author Share Posted August 26, 2016 osbot doesnt use Robot for input, events are dispatched directly to the canvas So how can I make the mouse move instantly to a location? Also, how can I make the client think that the mouse has left the game window? IE someone actually playing runescape would be using other apps at the same time in this day and age. But the mouse seems to stop at the bounds. of the client. Quote Link to comment Share on other sites More sharing options...
The Hero of Time Posted August 26, 2016 Share Posted August 26, 2016 Uhh mouse detection is the core of their bot detection system no? Where did you hear they do not analyze mouse movements? How else would they detect bots? Also I want to simulate a different type of mouse input, some cases it will need to move instantly across the screen which this mouse arbitrarily does not support as far as I can tell. Where is the ClientMouseEventHandler instance ? The class is obfuscated.. lol Haha, not really. I abused a mouse recorder(same path, every time) on osbuddy day and night for 6 months straight. It took them that long to ban me, and it was a 14-day... that's less on the ban meter than a 2-day i really , really doubt that jagex bases bans on mouse data. 6 months day in day out Quote Link to comment Share on other sites More sharing options...
Solution Posted August 26, 2016 Share Posted August 26, 2016 Haha, not really. I abused a mouse recorder(same path, every time) on osbuddy day and night for 6 months straight. It took them that long to ban me, and it was a 14-day... that's less on the ban meter than a 2-day i really , really doubt that jagex bases bans on mouse data. 6 months day in day out It's just a flag, they collect the data, but won't ban on that data alone. (That's just my guess though.) Honestly, jagex isn't that retarded. They're not going to let us know what got us banned. (Just my theory btw) If I were them, I would just collect a list of all these flags, albeit via client, mouse, ip, or any other detection method, put em on a list and only start banning them when they've been in that bowl for a while. just grab a random number of accounts and pce them out of the game. Otherwise we'd just be able to determine what gets you banned via trial and error by editing pieces of code one thing at a time, almost like a super long and frustrating game of mastermind. Quote Link to comment Share on other sites More sharing options...
colby__ Posted August 26, 2016 Author Share Posted August 26, 2016 So nobody knows how to move the mouse instantly? Quote Link to comment Share on other sites More sharing options...
FrostBug Posted August 28, 2016 Share Posted August 28, 2016 (edited) So nobody knows how to move the mouse instantly? It has already been mentioned. ClientMouseEventHandler class The methods you're looking for is generateBotMouseEvent EDIT: An instance can be obtained thru getBot().getMouseEventHandler() Also on the discussion of jagex looking at mouse movements. If you take a look at the network traffic that leaves the client, you'll quickly notice that the only thing actually sent to jagex is clicks (and w/e other events, not including mouse-movement, though). That's not to say that they don't have the ability to look at it; but I haven't noticed any large or small dumps of mouse movement data leaving the client yet, so at least it can't be a common occurence. Edited August 28, 2016 by FrostBug Quote Link to comment Share on other sites More sharing options...
Lemons Posted August 28, 2016 Share Posted August 28, 2016 (edited) So how can I make the mouse move instantly to a location? Also, how can I make the client think that the mouse has left the game window? IE someone actually playing runescape would be using other apps at the same time in this day and age. But the mouse seems to stop at the bounds. of the client. From the API for ClientMouseEventHandler: generateBotMouseEvent(int id, long time, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int button, boolean botInput)An example of moving the mouse instantly: getBot().getMouseEventHandler().generateBotMouseEvent(MouseEvent.MOUSE_MOVED, System.currentTimeMillis(), 0, x, y, 0, false, 0, true);Just noticed the move outside the screen thing: getMouse().moveOutsideScreen() Edited August 28, 2016 by Lemons Quote Link to comment Share on other sites More sharing options...
colby__ Posted August 28, 2016 Author Share Posted August 28, 2016 (edited) It has already been mentioned. ClientMouseEventHandler class The methods you're looking for is generateBotMouseEvent EDIT: An instance can be obtained thru getBot().getMouseEventHandler() Also on the discussion of jagex looking at mouse movements. If you take a look at the network traffic that leaves the client, you'll quickly notice that the only thing actually sent to jagex is clicks (and w/e other events, not including mouse-movement, though). That's not to say that they don't have the ability to look at it; but I haven't noticed any large or small dumps of mouse movement data leaving the client yet, so at least it can't be a common occurence. From the API for ClientMouseEventHandler: generateBotMouseEvent(int id, long time, int modifiers, int x, int y, int clickCount, boolean popupTrigger, int button, boolean botInput)An example of moving the mouse instantly: getBot().getMouseEventHandler().generateBotMouseEvent(MouseEvent.MOUSE_MOVED, System.currentTimeMillis(), 0, x, y, 0, false, 0, true);Just noticed the move outside the screen thing: getMouse().moveOutsideScreen() Thanks guys great help! One last question. The method to move the mouse outside of the screen has a lot of extra functionality I do not want, such as actually moving the mouse to get it outside of the screen, so I assume I can just use mouseExited and mouseClicked etc and it will fire directly to the client correct? Also what is the botInput popupTrigger and time variables for exactly? The API is blank haha Edited August 28, 2016 by colby__ Quote Link to comment Share on other sites More sharing options...
FrostBug Posted August 28, 2016 Share Posted August 28, 2016 (edited) Thanks guys great help! One last question. The method to move the mouse outside of the screen has a lot of extra functionality I do not want, such as actually moving the mouse to get it outside of the screen, so I assume I can just use mouseExited and mouseClicked etc and it will fire directly to the client correct? Also what is the botInput popupTrigger and time variables for exactly? The API is blank haha MouseClicked is all you need really AFAIK. It will fire the event directly yes. EDIT: scratch that, I believe the proper procedure is: MousePressed MouseReleased MouseClicked In that order botInput indicates whether this mouse event was generated by the bot, or by the user popuptrigger indicates whether or not this event triggers a popup (it does not) time is the timestamp for which this event occured (now) From AWT MouseEvent: Edited August 28, 2016 by FrostBug Quote Link to comment Share on other sites More sharing options...