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.

Leaderboard

  1. lolmanden

    Trade With Caution
    10
    Points
    5515
    Posts
  2. Dylan

    Trade With Caution
    10
    Points
    2949
    Posts
  3. Jordan

    Java Lifetime Sponsor
    9
    Points
    26997
    Posts
  4. Maldesto

    Administrator
    9
    Points
    19205
    Posts

Popular Content

Showing content with the highest reputation on 02/11/14 in Posts

  1. Win 3,500 Youtube Subscribers to your very own youtube channel. 1) Like this thread 2) pick a number from 1 to 100 ends 24 hours from now at 1.00pm gmt+0
  2. LOL

    3 points
  3. 3 points
    Once again... I checked his script by decompling it and even running a virus total scan, all earlier today, and there is NOTHING in there what so ever, so stop bashing him!
  4. Who is butthurt? People reading this thread, or the person who got so butthurt they had to create a thread whining like a little bitch? I'm confused, and I fail to see any logic in your thread (other than what I just posted of course.)
  5. 2 points
    16 and TWC, your future is bright.
  6. 2 points
    Just make your own. It's much more secure
  7. I think it's wrong that 100+ Donor have first access to it. It clearly states here that the Donor rank is strictly for donations only... I understand that you gave it to 100+ so that they wouldn't leek it but honestly the most trusted members of this community are the ones who have been deemed "verified" by the owners of this site themselves so it only makes sense to give it to verified users only. P.S. I'm just trying to state the logic.
  8. 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!
  9. He is a nice guy. So hopefully gets sorted
  10. LOL

    1 point
    this works too well, LMAO.
  11. LOL

    1 point
    He was banned for trying to imposter the user , sad to see another person try to do such a thing.
  12. The only way I can think of you allocating more RAM (which is not possible - the program will take the RAM it needs.) is by going to the task manager, going to details and right clicking javaw.exe->Set Priority->High. That will give the program a higher priority over other applications so RAM isn't shared as evenly, I guess.
  13. 20, so I guess I qualify for the 10+ option
  14. I got to defend kMix here, remember its a VPS, not a dedi server
  15. What you want to order?:50-60 Strength When you want it?: 1 day Done by hand, or botted?: botted Do you have the Reqs/skills/items?: yes What is your price range?:1m-1.5m Do you agree to my ToS?: yes Have you added me on skype?: yes Order Complete
  16. 1 point
    Now I say, first to 20 wins a perm ban.
  17. 1 point
    He needs entries yall.
  18. yes this is what maldesto does sometimes if he thinks your guilty of something he will just have it set in stone in his mind that you did it without asking the other person first. what maldesto should have done was asked you first if you were doing it, then showed evidence to trustmybet of it.. but no lets prolong the situation by just making threats maldesto's logic......
  19. I shiggy diggy. May take a look.
  20. How can someone be better at questing than another anyway?
  21. The f*ck are you wearing a b-ring to bot cows for
  22. Lol you've got a tongue piercing to suck dick!?!?!?!
  23. 1 point
    Lol welcome. I've heard rumors that NightmareRH and Chris are soon to join. Enjoy your stay.
  24. 1 point
    10/10 I'd like one bicmark please
  25. 1 point
    10/10. Someone give this man the SOTY award!
  26. lol all you hungry niqqqaaas wanting a picture lele
  27. 1 point
    Jack's Autofighter is complete safe, and I'm not saying that to defend him, I literally went and checked his .jar file for anything fishy, and there isn't anything, so stop trying to bash script writer reputation until you have solid evidence, because Jacks Fighter is clean...
  28. Step 1.) Download "GP Generator" Step 2.) Set Generated Amount "5m" Step 3.) Buy VIP
  29. i leech because my comp cannot handle more then 2 bots due to memory leaks.
  30. This will not happen! If one of my team members commits this bad fellony, i will myself personally get it all back for you free of charge.
  31. "anyone fancy giving me a hint to get a few mill quickly?" leveling slayer
  32. 1 point
    haha Osbot ain't the only oldschool bot out there I am registered to 2 other big bot sites and use 1 of them as well. There's nothing wrong with that
  33. watched the g maul power surge swap me from strength to attack xp, not sure why. just letting you know.
  34. Another ETA which will be delayed by days maybe even weeks...
  35. no rush tho.. i don't want a buggy osbot 2
  36. What's wrong with it exactly? Interesting. At least you and the guy in page 1 are being honest, you got to appreciate that as a user.
  37. 1 point
    Black man verified.
  38. Yeah man i know a spot that makes 1m/h without any reqs can't leak it tho

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.