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.

Leaderboard

Popular Content

Showing content with the highest reputation on 07/24/14 in Posts

  1. Hello community, even though I've released the updated hooks for revision #55, it seems that our interface injections have broken and therefore many trivial things do not work! I am currently investigating the problem with the injector and will release what would have been yesterday's update. Also, to those who are upset that no update was released yesterday, two updates will be released today. One after the injector is fixed (which also includes lots of changes by Ericthecmh & Alek) and another one today to catch up. Thanks for your patience! The bot should be updated shortly!
  2. Ericthecmh committed it. Please talk to me in private if you or dreamliner have any concerns. Edit: Both you and DreamLiner have been paid for it.
  3. People should stop complaining about the client to be detectable. It's not the client its fault that the majority of the community is botting on areas with a high banrate. Try to find something unique (maybe a slower leveling method) instead of the main ways to train various skills,switch tasks (don't bot 24/7 at the same skill/thing). I'm botting with like 3-4 accounts now (goldfarming) and didn't recieve a ban at the past 2 months. and/or use proxies instead of always using the same IP. OT: @Laz, i reported a bug a while ago which should have been fixed in the 2.2.9 release, which is the world hopping issue: http://osbot.org/forum/topic/57172-osbot-2-world-hopping-issueerror/#entry637454 Can you please take a look at this? I would really appreciate this when it's fixed. EDIT: I see it's trying to hop to world 301.. Can you please make it disable hopping to world 301? thanks
  4. U got raped by jagex
  5. Hello community, this release is one of the best updates ever released, providing definite improvements to the realism & stability of the bot! Also previous builds of OSBot are unstable because an injector broke as a result of the latest #55 RS update. Here's the list of changes: New, more realistic mouse algorithm!@author DreamLiner Issue with minimap clicking has been fixed!It was too slow to move the mouse before when running/walking/moving the camera around! @author Laz Interaction events are now more stable! Maze random solver has been patched! Bank.depositAllExcept has been patched! a new DepositBox API has been added!@author Ericthecmh Added Settings.areRoofsEnabled() && Settings.toggleRoofs(boolean) Combat API has been rewritten and contains new features!@author Alek Thanks, have fun botting! Sincerely, Laz and the OSBot Team! Edit (@Alek): Combat: -Deprecated setSpecialAttack -Deprecated activateAutoRetaliate -Added toggleAutoRetaliate -Added toggleSpecialAttack -Updated isMultiway -Updated isWilderness Settings: -Added areRoofsEnabled -Added toggleRoofs P.S. A YouTube video will be released this weekend demonstrating OSBot's future web walking capabilities!
  6. Umm the depositAllExcept methods seem to be completely broken O_o Oh and this mouse sucks. @Dreamliner must not have completed it because there's no way in hell he would make something like that.
  7. You must be retarded , Botting is against the rules. You risked it for the biscuit however you got banned. Dont whine that it's OSBot's fault that it was your decision to bot?
  8. thats why u go with me
  9. 2 points
    People just care too much about what other people say. Like who cares. If it bothers you, walk away.
  10. Wednesday update: MIA
  11. i can't think of anybody who'd actually want to dev for osbot (even if they were paid)
  12. I disagree - If my deadlines are consistently missed, I'd get fired.
  13. Yeah, i tried to download the gold generator plugin for orion aswell, but didn't work..
  14. Updated for OSBot 2's API! Hello again everyone! I hope you enjoyed my first tutorial, and I hope you'll enjoy this on as well. All feedback is appreciated, so feel free to post your thoughts! This tutorial will use some of my methods for simple banking and path walking! We’ll expand upon our script we were working on last time, so you'll need the source. Step I: Converting to a Banking Script Now as we all know, this script isn’t only boring, it will keep trying to click the rocks after we mine them, even if that vein isn’t ready! To remedy this, we’ll be searching for the rocks using object IDs instead of names. Since we’ll be using specific IDs, we have to choose what and where we’ll be mining! For this second tutorial, we’ll make a script that mines tin in the mines south-east of Varrock: Finding Object IDs Finding object IDs in OSBot is very simple, stand near the object you want the ID of, press Settings: Then press Advanced Settings: Then finally press Object Info: This will lag your client a lot, but don’t worry, you can shut it off as soon as you get the IDs. To get the ID, just look for the number near/on the object you’re looking for: Note: Some objects and NPCs in Runescape have deviations of themselves (like tin), so the same object/NPC may have different IDs (make sure to get all the IDs of whatever you’re using). Now that we have tin’s ID, we’ll make a constant in our script: private static final int[] TIN_ID = { 7140, 7141, 7142 }; We’ll put this line right after this: public class BasicMiner extends Script { Now that we have the object ID found and defined, let’s change our original code to use the ID instead of a name, simply by changing this line: RS2Object vein = objects.closest("Rocks”); to this: RS2Object vein = objects.closest(TIN_ID); Step II: Area Based State For this script, we’ll see which state we should be in with the help of OSBot’s Area class, which is defined as Area(int x1, int y1, int x2, int y2). Simply stand on two opposite corners and fill in the x and y. For the areas, put this after our path variable: private static final Area MINE_AREA = new Area(3277, 3358, 3293, 3371); private static final Area BANK_AREA = new Area(3250, 3419, 3257, 3423); Step II: Path Making The first step to path walking, would be path making! We’ll be making a path by enabling the “Player Position” setting (same place we enabled Object Info): Now, I like to open notepad, or some other text editor while finding my path, so do that now. Alright, finding a path to the bank is pretty simple, but can be slightly confusing at first. Start at the tin veins, and add the position you’re current at (this will be used when we reverse the path to walk from the bank back): Then act like you’re walking to the bank, but only press ONCE on the minimap. Let your player walk to that position and stop, then write down your first position to that path. Then keep doing that until you’re in the bank, here’s what I got: 3283, 3363 3290, 3374 3292, 3386 3290, 3374 3291, 3401 3287, 3413 3282, 3427 3270, 3429 3256, 3429 3254, 3421 To turn this path into something we can use in our script, we’ll be using an array (collection of a type of variable). We’ll put this line of code right after where we defined TIN_ID: private Position[] path = { new Position(3283, 3363, 0), new Position(3290, 3374, 0), new Position(3292, 3386, 0), new Position(3290, 3374, 0), new Position(3291, 3401, 0), new Position(3287, 3413, 0), new Position(3282, 3427, 0), new Position(3270, 3429, 0), new Position(3256, 3429, 0), new Position(3254, 3421, 0) }; Yay! We now have a full path from the mines to the bank, which we’ll reverse to go from the bank to the mines (saving us a step)! Step IV: Path Walking Now that we have a path, let’s put it to use! First of all, let’s change our enum by removing the DROP constant, and adding WALK_TO_BANK, BANK, WALK_TO_MINES: private enum State { MINE, WALK_TO_BANK, BANK, WALK_TO_MINE }; Now it’s time to change our getState() function to return what exact state we should be in: private State getState() { if (inventory.isFull() && MINE_AREA.contains(myPlayer())) return State.WALK_TO_BANK; if (!inventory.isFull() && BANK_AREA.contains(myPlayer())) return State.WALK_TO_MINE; if (inventory.isFull() && BANK_AREA.contains(myPlayer())) return State.BANK; return State.MINE; } Now that the script knows what state we should be in, let’s handle the actual path walking, with a pretty simple method to traverse the whole path: private void traversePath(Position[] path, boolean reversed) throws InterruptedException { if (!reversed) { for (int i = 1; i < path.length; i++) if (!walkTile(path[i])) i--; } else { for (int i = path.length-2; i > 0; i--) if (!walkTile(path[i])) i++; } } You can put this method after getState() if you’d like, and the walkTile(path) will be underlined red, because we’re about to make that method too! I’ll explain this method, as it may look confusing: If the path isn’t reversed, we’ll iterate through the path starting at position 1 (note that arrays start at 0, but remember, our 0 is in the mine) until we end in the bank. If the path is reversed, we’ll simply do the opposite! We’ll start at the 2nd to last position (path.length - 2) and continue to decrease through the path until we end up back in the mine! The reason we aren’t using OSBot’s walk() method is because, well, it doesn’t work nicely at all. It tends to continue clicking the position til you’re there, and many other problems can happen. So here’s the walkTile(Position p) method, put this after the traversePath() method: private boolean walkTile(Position p) throws InterruptedException { client.moveMouse(new MinimapTileDestination(bot, p), false); sleep(random(150, 250)); client.pressMouse(); int failsafe = 0; while (failsafe < 10 && myPlayer().getPosition().distance(p) > 2) { sleep(200); failsafe++; if (myPlayer().isMoving()) failsafe = 0; } if (failsafe == 10) return false; return true; } Simply put, we move the mouse to where the tile is on the minimap, then press the mouse button. After that, we’ll sit around and wait until we’re pretty close to the tile we’re walking to. I also implemented a simple failsafe here, just incase we misclicked or something, that will reclick the same position until we're actually near that position. Step V: Preparing for Banking Now let’s actually make the walking states actually walk, by changing our onLoop() to this: @Override public int onLoop() throws InterruptedException { switch (getState()) { case MINE: if (!myPlayer().isAnimating()) { RS2Object vein = objects.closest(TIN_ID); if (vein != null) { if (vein.interact("Mine")) sleep(random(1000, 1500)); } } break; case WALK_TO_BANK: traversePath(path, false); sleep(random(1500, 2500)); break; case WALK_TO_MINE: traversePath(path, true); sleep(random(1500, 2500)); break; } return random(200, 300); } Step VI: Banking Now that we’ve managed to walk to and from the bank, let’s actually do some banking! If we’re in the bank state, that means we’re already in the bank! Now, let’s add this case to our onLoop() function (as seen above), by simply adding this after the last “break;” and before the ‘}’: case BANK: RS2Object bankBooth = objects.closest("Bank booth"); if (bankBooth != null) { if (bankBooth.interact("Bank")) { while (!bank.isOpen()) sleep(250); bank.depositAll(); } } break; This looks for the bank booth, if it isn’t null and if we actually managed to click on it, we’ll wait til it’s open, then deposit everything except our pickaxe, which is hardcoded so you’ll have to change this to whatever pickaxe you’re using. We’ll automatically detect which pickaxe we’re using in the next tutorial. Conclusion If you managed to get through this whole tutorial without error, congratulations! If not, you can find the full source here. I hope you've learned something from this, and if you didn’t, don’t worry! Programming takes time to learn, look this over a few times, I promise you’ll get it! Thanks for viewing my second tutorial, stay tuned for future tutorials!
  15. Want to see my work? Add me on skype: alexander.dumon97
  16. Updated for OSBot 2's API! Hello future script writers and other OSBot members! This will be my first OSBot script writing tutorial, and it's geared toward beginners with at least some understanding of Java (however, I'll still be covering some fundamentals). So, let us begin. Step I: Getting the IDE An IDE (integrated development environment) is software that makes programming much easier on you, the programmer. There are many Java IDE's to choose from (IntelliJ, NetBeans, Eclipse, and many more), but for this tutorial, we'll be using Eclipse. You can download Eclipse here. Simply choose the Eclipse Standard and download the version for your computer (32 or 64 bit). Once downloaded, use a program to decompress the archive, and move the eclipse folder to wherever you'd like (C:\, your desktop, it honestly doesn't matter). To open Eclipse, go into that folder and open the Eclipse application. Congratulations, your one step closer to making OSBot scripts! Step II: Basic Java Fundamentals Java, like C++, PHP, and Javascript, is a high-level programming language, which simply means it's very readable by humans (we use English while programming in these languages) and therefore much simpler to write code. If you're an absolute beginner, with no background in programming at all, this is going to go by extremely fast, and I will likely skip over some important topics. If you fall into this category, you absolutely NEED to read these tutorials by Oracle. I'm not sure about most of you, but I feel that a great way to learn something is to dive right in, and worry about the little things after you've started to understand the bare essentials. With that in mind, let's take a look at a simple HelloWorld class: public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World, I'm learning Java!"); } } Now looking at that might be intimidating if you're new to this, but believe me it's very simple! I'll break down some of the common words used above: public: This could be public, private, protected, or default. It simply states the visibility of this class/method/variable. Public items can be seen from outside of your package, private items can't be seen by other classes in your package, protected items can only be seen by the subclasses of your package, and default can only be seen by your package. class: A class is like a blueprint from which objects are created (Oracle). static: This is a keyword that simply means that only one instance of it will ever exist, even if you recreate it infinitely. void: This is the return type of this method. Void methods return nothing, int methods return integers, String methods return strings, and so on. String[]: This is an array. Arrays are just containers that hold a specific number of items (of one type). For example, this method takes an array of strings as a parameter. System.out.println: This is just a method that prints a message to the console and then prints the newline character. ;: Semi-colons are used at the end of any Java statement (note: conditionals and loops do not count as statements), without them, your compiler will give you errors. { }: These curly braces are used to surround/contain the contents of a class/method/etc. This is all of the Java basics I will teach, simply because there are already many resources out there (see above). Step III: Setting up a Java Project Setting up a Java project in Eclipse for making OSBot scripts is simple, just follow these steps: Step 1: Press File>New Java Project and name your project, then press finish Step 2: Add the OSBot .JAR file to your build path Step 3: Add a class to your new project And you're ready to actually start script writing! Step IV: Creating Your Script Now here's where we actually start making your script! For this example, we'll be creating a very simple mining script that will mine and drop everything once the inventory is full (please note: this example is hardly usable for a script, but it shows the basics. With a real mining script, you'll want to replace the object name with the ID(s) of the rocks, so you don't try mining empty veins). Here's the full source: import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; @ScriptManifest(author = "You!", info = "I made this script!", name = "Basic Miner", version = 0, logo = "") public class BasicMiner extends Script { private enum State { MINE, DROP }; private State getState() { if (inventory.isFull()) return State.DROP; return State.MINE; } @Override public void onStart() { log("I can't believe script writing is this easy! I love learning!"); } @Override public int onLoop() throws InterruptedException { switch (getState()) { case MINE: if (!myPlayer().isAnimating()) { RS2Object vein = objects.closest("Rocks"); if (vein != null) { vein.interact("Mine"); } } break; case DROP: inventory.dropAll(); break; } return random(200, 300); } @Override public void onExit() { log("Thanks for using this wonderful script!"); } @Override public void onPaint(Graphics2D g) { } } Now most of that will be confusing, but don't worry, I'm here to help you! I'll break this down for you. import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; These lines import other classes for their use in your script. @ScriptManifest(author = "You!", info = "I made this script!", name = "Basic Miner", version = 0, logo = "") This is the script manifest, which simply tells OSBot your script's author, info, name, and current version (for use in their class loader). public class BasicMiner extends Script { ... } This just defines our class, and extends OSBot's Script class, so we can use all of their fancy API methods. private enum State { MINE, DROP }; private State getState() { if (inventory.isFull()) return State.DROP; return State.MINE; } Here we make an enum (collection of constants) called State which holds two states: mine and drop. Then we have a method that's return type is State (so it returns a State, which we just made). If your inventory is full, this method will return the dropping state, otherwise it will return the mining state. @Override public void onStart() { log("I can't believe script writing is this easy! I love learning!"); } This method is part of OSBot's Script class (which we're extending from). The onStart() method is only called once, and is called at the beginning of the script. This is where you should define some variables that only need defined once (the start time, start experience/level, etc.). @Override public int onLoop() throws InterruptedException { switch (getState()) { case MINE: if (!myPlayer().isAnimating()) { RS2Object vein = objects.closest("Rocks"); if (vein != null) { vein.interact("Mine"); } } break; case DROP: inventory.dropAll(); break; } return random(200, 300); } This is another method from OSBot's Script class (see that @Override?). onLoop() returns an integer, or how many milliseconds to wait before doing onLoop() again. We then use a switch statement to see what we should be doing. If we're to mine, we check if our player is currently animating (mining). If we aren't, we find the closest rock to mine, if that doesn't exist (or is null), we stop right there. But if it isn't null, we interact with the rocks by pressing "Mine". If we're to drop, we simply drop everything in your inventory (you did have your pickaxe equipped, right?). @Override public void onExit() { log("Thanks for using this wonderful script!"); } @Override public void onPaint(Graphics2D g) { } onExit() and onPaint(Graphics g) are two more methods from the Script class. onExit() is called once your script is stopped, and onPaint(Graphics g) is called every time the screen is updated. Step V: Exporting Your Script The final step to this tutorial will be exporting the script we just made so we can actually test it out! Step 1. Right click your project and press Export... Step 2: Choose JAR file Step 3: Choose your OSBot's scripts directory and export it! Well that's all for this tutorial, thanks for reading! You can find Part II here! Also: post suggestions for future tutorials, and I'll definitely consider it!
  17. I was trying to get my Smithing up, so i bought steel bars. After a while of doing it, i decided to buy gold ore to speed up the leveling. I went to Zybez, looked for gold bars, bought 5 k bars for 800 k, only to realize i was supposed to buy Gold ORE, not bars. I went back, spent 1,4 million on ores, but it wasn't over yet. I checked my bank and saw that i had cooking gauntlets and i needed goldsmith gauntlets. Went to Varrock to make the change, paid 25 k to one of the Family Crest brothers only to get Chaos Gauntlets. Finally, i went to Al-Kharid, paid another 25 k to the right guy this time. Money well spent or what? I must have taken 5 marijuanas, because this is just moronic lmao.
  18. 1 point
    Well, cleared cache,cookies etc,. didin't help, after 5minutes it workd like a charm. Solved. Thanks.
  19. I like how you're keeping us updated, you should have a log in OP
  20. With only like 4 accounts running, I made ~$2.5k in 3-4 months, and that was when gold was at like $2/m It really isn't hard aha
  21. holy sht ! gl o.o!
  22. Solid start, good luck.
  23. Good luck If he's dedicated, it really doesn't take that long.
  24. But hes gotta sell that account tho
  25. Dont get shot down putinsmile.jpg
  26. Yeah. He wasn't real big or anything so this is mostly just another scam report, but I know what you mean.
  27. Disputed member: nike Thread Link: http://osbot.org/forum/topic/57289-selling-maxed-main/ Explanation: It pains me to see someone get scammed for a large sum of money. Therefore, I want to put out a warning because the user selling that account is a scammer. Quick overview: I participate in staking cc's in game. People trade a maxed account rank(Ranks are bought for 200-400m) their gold in a trusted cc, and the ranks go and stake other maxed mains for a 50/50 chance to win. If the rank wins, he gives the winnings to the stakers, but keeps 5% as commission. For example, I give 10m to a rank, they go and win, They give me 19m and keep 1m for themselves. Evidence: The account nike is selling used to be a rank in a staking CC. He scammed 500M and got deranked, and now I see the account for sale here. These are the stats posted on the thread: These stats match up with: Here is another rank giving me an explanation of why nike is not a rank: This is proof that he is indeed a rank so what he's saying is legitimate: This can be moved to what appropriate section it belongs in. I just want to put it out there because a scammer is a scammer, period. If he scammed once, he'll scam again. If this evidence is not enough, take 2 minutes and go in the cc and ask, and everyone will tell you that nike scammed 500m. Btw, in the entire history of the cc, only one rank had "nike" in their name, so that's proof of the rank talking about the same "Nike Gains" character I'm accusing. Hopefully this will save someone 100M if they wanted to buy the account...
  28. 1 point
    I have also been scammed!
  29. Ty m8y I explained both the questions fully though over Skype to him
  30. Haha your posts are entertaining lol! You going to keep doing a update check each day?
  31. Hello community, this release is for yesterday as I started promising daily updates for OSBot. This build features a couple of fixes I've been working on including a much more accurate isVisible() method which improves interaction handling significantly. Also the mouse algorithm has been tweaked slightly to show more realistic slow-downs and to look more human-like. For strange plant the bot now waits until the fruit is nearly or ready to be picked based on the plant's height. The internal antiban in the client has been adjusted slightly to behave differently. Another update is coming tonight (specifically the auto-updater w/ improved bank scrolling). Thanks, Sincerely, Laz and the OSBot Team.
  32. For all you One Piece nerds out there.
  33. what a dck... he's like: umad?
  34. Start > Programs > Accessories > Notepad I believe.
  35. A lot , however since you're not VIP (unless you're getting it or you are from another site) you can only do two. ^^
  36. I am sorry I am at work so its hard to reply to your questions. For number 8 consider this: (n+1)! = n! * (n+1) now rewrite that expression as ((n!) * (n + 1) / n!) - n You can then cancel out the top n! with the bottom n! leaving us with: n + 1 - n from there its obvious that the answer is just 1 Ok now that I have time to answer your second question, a variable to a negative power is 1/variable^positive power eg: v^-2 = 1/(v^2) Using that you first add up all exponents, resulting in the condensed expression: r^(2+2/3) * t^(-1) = r^(8/3) * (1/t) = (r^(8/3)) / t If I am unclear or said something stupid I apoligize, I am standing up outside in 100 degree heat on a computer at work l0l It is quite difficult to make proofs in these conditions xD
  37. The people who are saying the bot is detectable haven't a clue what theie talking about. Even if it is, you all aound like dumbasses with yoir lack of reasoning and technical proof.
  38. Lol, there's rules against undercutting now you know
  39. Explain why I haven't got banned even though I have been running the bot 10h+ a day for the last 11 days? Just because you got banned doesn't mean the bot is shit. Botting comes at a risk and if you don't bot smart enough, you will get banned.

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.