Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

FrostBug

Scripter III
  • Joined

  • Last visited

Everything posted by FrostBug

  1. FrostBug replied to FrostBug's topic in Snippets
    return list.isEmpty() ? null : list.get(random(list.size()));
  2. FrostBug replied to Valkyr's topic in Archive
    if (highAlch.canUse()) { highAlch.canUse(); } EDIT: Also, make a rune requirement enum, you lazy bum
  3. The users would need the libraries as well, which they do not have. You'll need to include the library sources or remove the library
  4. Probably has configs, try playing around with the clients config debugger tool
  5. You have to specify equipment to use against all enemy types.
  6. Looks like the update broke some things, thanks for reporting it. I just pushed a hotfix, should be live within 12 hours
  7. Your way of doing it is not really incorrect. Tho I find it highly strange that you do the same thing in 2 very different ways in those 2 halves of the if statement.. The else block has a bunch of unnecessary array/list conversions. You can avoid all the conversions using an approach like such: String[] itemArr = new String[Constants.ARMOR.length + Constants.TOKENS.length]; System.arrayCopy(Constants.ARMOR, 0, itemArr, 0, Constants.TOKENS.length); System.arrayCopy(Constants.TOKENS, 0, itemArr, Constants.ARMOR.length, Constants.TOKENS.length); return itemArr; (wrote that out in hand, mite have some typos). Do what you want tho, the difference in performance wont be noticable if its just gonna be used once
  8. live:frostbug_1
  9. I can't reproduce the issue, can you add me on skype?
  10. FrostBug replied to FrostBug's topic in Hunter
    Please show the logger output
  11. Run it on the same client version as you're compiling against. Also please don't perform actual interactions within a condition. Do it after the condition interrupts the walker.
  12. FrostBug replied to FrostBug's topic in Hunter
    Not too sure; what did it say in the logger?
  13. The reasons this doesn't work are too many to list. Don't create your own webwalker, use the one osbot has made for you. INodeRouteFinder nodeFinder = INodeRouteFinder.createSimple(); WebWalkEvent evt = new WebWalkEvent(nodeFinder, position); evt.setBreakCondition(new Condition() { @Override public boolean evaluate() { return getObjects().closest("Gate") != null; } }); execute(evt); In addition to this however, you also need to check that you're on the wrong side of the gate. Otherwise it's gonna keep breaking and going thru the gate even after passing it.
  14. Looks like you're just stopping the script? And the thread is killed as a result since it's busy.
  15. Developer at an IT consulting company Also student
  16. If you load it from a resource included in your jar, then you're fine. If you simply specify the font name/family, it will look for it in the system running the script. If it can't find it, it'll probably fall back to its default font
  17. You should promote loose coupling where you can. The majority of image drawing methods in Graphics2D (mostly inherited from Graphics) take Image, as they do not require any specific methods located in BufferedImage. For this reason, returning Image is the less restrictive option. Saying that people should return BufferedImage just because that's the specific implementation of the Image is pretty much your own preference. Would you also use LinkedList or ArrayList as a return type rather than List? It's fine if you do, but at least when writing API for others to use, you should use the highest level class or interface you can. Also to add to the 3 (identical) previous answers; some image hosts may have browser checks to prevent automated use. This can be bypassed by adding the User-Agent property. public static Image loadImageByURL(String surl) { Image img = null; try { URL url = new URL(surl); URLConnection urlc = url.openConnection(); urlc.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"); img = ImageIO.read(urlc.getInputStream()); } catch (IOException ex) { Logger.getLogger(ResourceLoader.class.getName()).log(Level.SEVERE, null, ex); } return img; }
  18. No template, no like
  19. Thursday is the supposed "Bot if you want to be banned" day
  20. the sleep method in ConditionalSleep returns true if the condition was met before it timed out
  21. Seems like it was removed from the documentation for some reason; my bad. You can still use it, though. It has not been deprecated
  22. You're not looking very hard then. new ConditionalSleep(TIMEOUT_IN_MS) { @Override public boolean condition() throws InterruptedException { return !myPlayer().isMoving(); } }.sleep();
  23. uh.. you define the old one the same was as you would the new one. You only really need one variable Alternatively, it might be possible to do it async using a config listener
  24. ConditionalSleep? You'll have to define what 'idle' is, though.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.