Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Feedback


Everything posted by IceKontroI

  1. Look into more realistic sleep times. Currently you always sleep for 50 milliseconds between actions, which is a major red flag. Don't add pure randomness to it either, look into using General.randomSD(average, deviation) because it's a random normal distribution and mimics the natural bell curve of human distributions. You should be using small delays between actions of your script too, so between any two method calls that physically interact with the game world (moving the mouse, clicking, typing on the keyboard, rotating the camera) there needs to be some delay. I personally recorded myself performing some tasks in-game then looked at my own delays and modeled some generator functions around that but you could probably get away with just guessing. I hope this was useful, and happy scripting! @will6100
  2. I just sneak into peoples' houses and plug ethernet cables into their routers when they're not home to get my IP addresses.
  3. If the account is valuable to you, then probably shouldn't use keep botting, just be happy you still have it. Otherwise, might as well keep botting and see what happens.
  4. Yes, the framework is completely finished, but a few things are preventing me from releasing it for public use. There are 4 major roadblocks: I'm unsure of what the best way to dispatch events is. Currently I get the OSRS Client's Canvas and call canvas.dispatch(event) but that method is pretty rudimentary and isn't tab proof. I'm sure there's a significantly more realistic way of doing it but I lack the TRiBot and RuneScape framework knowledge to improve on it. I don't know when the OSRS Client has Java AWT Focus (KeyEvents should only be sent when in focus). I'm unable to set the "scancode" value of a KeyEvent because Reflection cannot be used in TRiBot Scripts. KeyEvents all have an int variable called "modifier" which is an indication of what mouse buttons and keyboard keys were being held down at the time of a KeyEvent being generated. I don't have access to this value and I know TRiBot tracks it. I'd need a method that returns that value in order to create proper KeyEvents. First two I've opened up suggestion issues on Gitlab, the third will be tricky to implement. All Windows machines have scancode values, so it's a red flag that a Windows OS bot doesn't send KeyEvents with values on that variable.
  5. On Windows, when a key is held down, the OS waits 500 milliseconds before repeatedly typing the key on a 33 millisecond loop cycle. If this behavior or something similar is not represented in the method you are using, you shouldn't use it.
  6. EDIT: Might be a small issue, if you're using tabs to run your farm the key press events will likely be messed up. I've not yet been able to find a workaround for this issue yet. There are tons of small bugs like this I need to fix, will be in contact when I do.
  7. It's integrated into other systems I designed, but If there's demand for it I can isolate it and publish a standalone version open source for all to see and use. I do need to be 100% confident it won't cause bans though, so validating may take a good long while.
  8. It's in development, working prototype is almost complete. I'll need to do significant testing before I can release this publicly, however, to ensure safety.
  9. Haha, can't really give that up. But I'm now at a stage where I'm analyzing all the components of the script, looking for optimizations. Tribot typing was the first thing that struck me as unrealistic.
  10. Currently, TRiBot's Keyboard class types as if the player only has one finger. I wrote an alternative set of functions to get around this. Asynchronous typing (multiple keys held down independently) Uses the standard american keyboard system (TRiBot uses some non-standard values) When you are trying to send a KeyEvent to a Java AWT Component, it needs to be the focus holder. So if the last thing you clicked on was your computer's desktop, and then tried to type a message in-game, it wouldn't type anything. You'd have to click on the game client, and then type the message. Currently I have no way of knowing if the game is "in focus" like that. I can't release this framework without that feature because it could increase banrates. Can we get an API method implemented "Game.hasFocus()"? This would be extremely useful in checking things like that.
  11. @Rileyz One thing that really bugs me is that it's hard to develop my own version of TRiBot methods because of lack of access to basic building block methods. For example, in writing my own typing functions, I found I couldn't continue because the functions that are supposed to simulate key events either weren't available directly, or were attached to other methods so I couldn't use them without making compromises. I also have no way of checking if the game client has the mouse's focus, which is necessary when sending key events, or checking if a mouse wheel event can be sent. I've got tons of reworked TRiBot methods that incorporate extremely detailed and realistic antibans but I can't release them to the community in their current incomplete state. I also can't complete my own personal scripts to a satisfactory level for this reason.
  12. I have no hard evidence for or against Jagex monitoring KeyEvents. I'm doing this to be thorough, and to future-proof against them doing it in the future.
  13. I can perfectly emulate human KeyEvents (I think). There's just one difference that I'm aware of: java.awt.event.KeyEvent[KEY_PRESSED,keyCode=81,keyText=Q,keyChar='q',keyLocation=KEY_LOCATION_STANDARD,rawCode=81,primaryLevelUnicode=113,scancode=16,extendedKeyCode=0x51] on canvas1 java.awt.event.KeyEvent[KEY_PRESSED,keyCode=81,keyText=Q,keyChar='q',keyLocation=KEY_LOCATION_STANDARD,rawCode=81,primaryLevelUnicode=113,scancode=0,extendedKeyCode=0x51] on canvas1 First is human, second is bot. I can't change the scancode value. It's a private transient field in the KeyEvent class. I was able to change rawCode, primaryLevelUnicode, and extendedKeyCode using AWTAccessor.getKeyEventAccessor(), but there's nothing for scancode there. Anyone know how to do this without reflection? Or how to use reflection in a TRiBot script? Thanks! PS: Anyone know why the OSRS Canvas keeps changing? It seems to get replaced by a new Canvas every so often, especially when a new TRiBot tab is generated. I dynamically retrieve it for each event I generate to ensure it's correct, but I was just curious.
  14. Oh yeah boy am I deep in the weeds. That's interesting, it means Jagex is monitoring KeyEvents as they should. It would certainly be a useful thread to read, if you stumble upon it please PM me, I'd be 100% interested. As far as integration, I'm only using the raw typing methods, but I'm using them frequently. Analyzing TRiBot's Keyboard class revealed it wasn't asynchronous (player basically types with 1 finger). I made my own typing function that uses sendType(), sendPress(), and sendRelease() assuming that they would only send the events, and nothing else. Turns out they press shift if the char to type requires it (and sometimes even if it doesn't), and have some issues with timestamps being 1000+ millis off from when the event should have fired. In the end, I figure things would just be smoother for me if I just did everything myself. Currently I can generate KeyEvents that are indistinguishable (I think) from human ones. I use AWTAccessor.getKeyEventAccessor() to change the RawCode, PrimaryLevelUnicode, and ExtendedKeyCode which are otherwise private fields. Still can't change ScanCode value though unfortunately. Sometimes I notice that the canvas variable name changes from canvas1 to canvas2 which makes me think I'm using the wrong canvas cause it changes on me (more testing needed).
  15. Using the following code, I'm able to grab the OSRS Canvas directly: Note that getTRiBotComponents() is just a function that iterates over all the Components of TRiBot. I can post that code if requested, but it's not optimized. I'm also sure this method isn't tab-proof, it's just for the experiment right now. Once I have the canvas, I can cache it and fire events from it as I please. I'm writing some custom key typing methods and since TRiBot's methods for sending Type/Press/Release events isn't properly decoupled and isolated from other functions, I need to create my own versions. When I generate events, I'm going to use the cached canvas as a fake source. I'll tweak the events so that they're indistinguishable from events sent from actual human interaction. Once I have an event properly generated, I'll send it via the canvas.dispatchEvent(myEvent) method. My question is, is this way of generating events indistinguishable from human event generation? Essentially, can anyone more knowledgeable in Java events vouch for the legitimacy of my way of doing it?
  16. kms Those posts are for a different issue, probably caused by the same core problem though
  17. I bought VIP to work on a local script I've had in the making for a while. None of my local scripts are showing up. I've been working with local scripts for years and I hadn't changed anything about my setup, java version, or folder structure. All the scripts were compiled to the correct directories. When I click "view local scripts folder" it takes me to the folder where all my stuff is. I've done everything, changed settings, recompiled stuff, using JRE at launch instead of JDK. I'm using Java Version 8 Update 162 (build 1.8.0_162-b12). Repository scripts are showing up for me but local scripts are not. I have VIP as you can see from my profile. Has something changed? I swear I'm not doing anything differently than before. EDIT 1: Is something off about the VIP registration on tribot servers? Sometimes when I reload this page it shows 0 with recurring, others it's 30 with recurring. This is genuinely frustrating. EDIT 2: And now I'm starting to get this:
  18. I'd be curious to see most expensive in-game items scammed
  19. That's actually a hilarious form of sabotage
  20. Now let's be objective here, correlation does not necessarily imply causation.
  21. But guys, market manipulation is very clearly stated to be against the RuneScape rules. What gives?
  • Create New...