Skip 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.

Tutorials

Looking to learn or teach about scripting? You've found the right place.

  1. ROADMAP TO Learning JAVA and Becoming an OSBot Scripter (ABSOLUTE BEGINNERS) INTRO As I’m writing this guide, I’m a total noob to scripting and probably will be for many years to come. Also English is not my first language so please be kind =] I love this community and I feel that the road from absolute zero experience in Java to becoming a scripter that can produce high quality scripts and use them for advancing his account or setting up farms, is something I always wanted to master. There are great guides to be found written by helpful people that contribute to our forum, discord and beyond. I certainly learned a lot from these posts but I’ve al…

  2. I'm using Intellij and next to the arguments to functions I have this text: "liliiiliiii : ". For instance, "log("ShrimpBot exiting.");" will show up as "log( liliiiliiii : "ShrimpBot exiting.");". Or at the end of the onLoop() function it will show up as "return random( liliiiliiii : 2000, liliiiliiii : 4000);". Does this have something to do with the osbot library or something? My google-fu came up with nothing.

  3. Started by BelethDev,

    Sorry for a noob question, I'm a C dev so all this OOP is melting my brain. I'm working on a GUI for my script, but everytime I press the start button and the gui destroys itself, the script kills itself instead of running. Any ideas on how to solve it?

  4. I am trying to make a simple agility script for Faldor which has two consecutive "Jump Ledges" and the bot currently chooses the previous one as its the closest whern using private String[] names = {"Rough wall", "Tightrope", "Hand holds", "Gap", "Gap", "Tightrope","Tightrope","Gap","Ledge","Ledge","Ledge","Ledge","Edge"}; // private int[] names = {14898, 14899, 14901, 14903, 14904, 14905,14911,14919,14920,14921,14923,14924,149251}; Entity previous; @Override public void onStart() { getExperienceTracker().start(Skill.AGILITY); } @Override public int onLoop() throws InterruptedException { int starting = getExperienceTr…

    • 3 replies
    • 1.2k views
  5. Started by Psybration,

    Hey, how can I load a custom font into my script? I've tried the following but to no success, what am I doing wrong? Create a resources folder in the same level as the src folder and mark it as a resources root directory + include the files in the JAR. place the font inside resources/fonts/Speedy.ttf load the font with the following code: try { InputStream is = getClass().getClassLoader().getResourceAsStream("fonts/Speedy.ttf"); speedy = Font.createFont(Font.TRUETYPE_FONT, is); } catch (FontFormatException | IOException e) { api.log(e.getMessage()); throw new RuntimeEx…

    • 2 replies
    • 1.1k views
  6. Can't seem to get this working correctly. The value (groundTinderbox) always seems to come back as 1 no matter how many ground items there are as long as it isn't 0. I'm almost certain it could be because it isn't a stackable item, but not sure. Here is the snippet: public void shouldPickUpTinderboxes() throws InterruptedException { GroundItem groundTinderbox = groundItems.closest(areaDraynorVillageWiseOldManFrontOfTinderboxBookshelf, "Tinderbox"); int emptyInventorySlots = inventory.getEmptySlots(); if (!boolShouldPickUpTinderboxes && !boolShouldSpeakToWiseOldMan && !boolShouldBank && stringMethodSelector.contai…

  7. Started by chillie,

    I am very interested in learning to write my own scripts and i think it would be awesome to find a few friends to work with! "chilliepip#4702" thats my discrod send me an add and a dm. Thanks xD

    • 4 replies
    • 894 views
  8. So I created custombreakmanager and is there a way to track the time until the break/break duration on my mining script's paint? I've provided my custombreak manager/miner script's paint. package Breaks; import org.osbot.rs07.script.RandomEvent; import org.osbot.rs07.script.RandomSolver; import java.util.Random; public class CustomBreakManager extends RandomSolver { private long breakStartTime = 0; private long breakDuration = 0; private long remainingBreakTime = 0; private long nextLongBreakTime = System.currentTimeMillis() + longBreakInterval(); private long nextMediumBreakTime = System.currentTimeMillis() + mediumBreakInterval(); priva…

  9. Hey there, I am working on a f2p quest script. I only need around 5 quests more. Anyway all quests are easy to check if they are done except for demon slayer. Probaly because the 5 words are used in shadow of the storm. Normally I use the config of the quest to check if it is on it's done number to check if the quest is done but since demon slayer uses varbits it is hard to tell... Is there a good way to check if the quest is done? I already made x marks the spot which also uses varbits but I found a good way to check if it is done there. Any help is appreciated! Thanks for reading and hope you have a wonderful day.

      • Like
    • 1 reply
    • 879 views
  10. I'll be teaching you how to send messages to your discord channel from your botting script. This can be useful for a number of things; Level messages, PvE drops, Out of food and a lot of other things. I'll be using this json library, but you can re-write the code snippet so you won't need the library (If you know how). If you want to know how you can "import" the library to your compiled script, just watch this spoiler. Spoiler Official Discord webhook API is here Let's get started The following code is the function to send a discord message. You want to add this anywhere in your code. It has come to …

  11. 1. Follow this tutorial! Script Development Setup 2. Create your base class script inside of src directory @ScriptManifest(name = "Example", author = "Example", version = 1.0, info = "Example", logo = "") class OsbotScriptTemplate : Script() { override fun onLoop(): Int { TODO("Not yet implemented") } } 3. Build your project. (Build > Build Project) 4. You should see a lib folder with a bunch of kotlin library in it 5. Go back to File > Project Structure > Artifacts, assuming you followed step one correctly, you should already have an artifact. If not, go back to step 1! 6. On the right side under Available Elemen…

  12. Started by Clayplug,

    Hi, I've been looking at other GUI tutorials on the forums and some of them don't even use layout managers or can't stay open during script execution. I'm looking for something that can help with having a GUI box follow the chatbox, and resize accordingly. Every time I try to do it, it doesn't give the right size, doesn't show the tabbed panes (which I want over the chat tabs), and is dozens of pixels above the chatbox. It would also be nice to know how to customize the graphics in the GUI and have it be openable and closeable. Also, how do I make a GUI that doesn't need to be closed for the script behaviors to start? I've been working on this for a couple …

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

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.