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 03/16/14 in all areas

  1. 5 points
    Scum bag, bye.
  2. Post whatever you want Annouce Winner 17-03 nuuuubs I am Using www.random.org ( thanks to arctic<3 ) WINNER Post 24!! qw3 Please add my skype to claim your price, Next month there will be another Give aways Cheers,
  3. This is the 2nd time this has happened within a month, he will be perm banned if not paid back in full within 48 hours. He keeps taking orders and deciding to ignore the customer time and time again. I don't care if he is busy, then he shouldn't take orders. User is also moved to the TWC group and not allowed to be ranked as a designer for atleast one month after this is over.
  4. caution isn't needed when dealing with a super star like me .
  5. I remember my first like.
  6. i see u tryna use that ore buyer doe
  7. 3 points
    + It was 2am ^.^
  8. No longer works past what ever update introduced the memory loader. 1.8? Short and sweet. Look at the image in the link. Then see the virus scan/text below that link. Image: Just click me for the image Scan: VirusTotal Requirements: Gmail account .Net 4.5 Download: Click me! If you would like to try the program out, post on this thread. Any feedback is GREATLY appreciated because I like to know how it is going. These messages have problems sending to UK numbers. Some of you are better off just sending to a normal e-mail linked to the phone.
  9. Hello everyone, I have just joined the community today and I figure I should probably start writing some code to start contributing to OSBot since it's such a fantastic program to use. I mainly program in C/C++ but recently I've been finding an interest in Scheme and Java. Java derives from C++ so picking up the syntax won't be an issue for me. I thought that programming a bot would be the best way to train my skills in Java. I have 2 years experience outside of school being self-taught computer science and I've been taking a game development course at an academy for the past year and a half. While I have dabbled with Java in the past I haven't done anything too committing with the language until now and I expect it to be a fun and rewarding experience. Thanks for reading my introduction!
  10. I have two of them and I really want them fixed! The white berry script: Since the wilderness update, lava drags were added! Although this is exciting, it causes a problem for the script. I die constantly from the lava dragons fire breath. A solution would be to make the bot pull an anti-dragon shield out of the bank and wear it every time it dies. And also maybe find a tile-by-tile path to go to maybe avoid less hits from the dragons? The Minotaur script: It constantly clicks the gate mistaking it for a minotaur and then is forever stuck behind it. I tried going to another room with the level 27s, but if it goes too far one direction the script stops and logs you out because it's an "unrecognized area". Fix this please I'd love to be able to bot on the level 27 minotaurs instead, more XP per hour.
  11. 2 points
    He scammed pin back to september, and pretended that it never happend. Futhermore he reported me as a scammer on osbot and other sites.
  12. 2 points
    Vouched. Followed all these steps and lost 20 pounds of fat in 2 weeks! Thank you
  13. 2 points
    My instinct is telling me this guy is a legit member, and not a vader at all.
  14. 2 points
    temp ban nice .
  15. 2 points
    The user requested a permanent ban and as such has been permanently banned. He can of course return whenever he wants.
  16. 2 points
    the real tragedy here is
  17. 2 points
    I could tell you were tiring of OSBot when you changed your avatar to Shikamaru. This thread is such a drag.....
  18. 2 points
    For one, there is nothing wrong with the way he's calling sleep using Script and MethodProvider being as you need to call that since it's a static reference. Using built functions in not terrible, unless they are not stable or is nonfunctional. Also if you want to criticize someone work, you then need to provided the correct way of doing things, and not just an ignorant "Just looks terrible.".
  19. Because jagex removing all clues from the game has more logic than you being unlucky?
  20. 2 points
    Didnt mean to imply it like that :P
  21. GG I got this. Why do I got this? Because today is my lucky day. I got OSD. I sold two vouchers. I sold the gp I made from the two vouchers. For me, sounds like a good fucking day.
  22. YOU'VE BEEN ON DAY 1 FOR THE PAST 2 WEEKS.
  23. 2 points
    Just a tip, when you're looking for a new girlfriend, don't compare her to your last. That's the worst thing you could do.
  24. 2 points
    Better 6 Months than 2 years
  25. 2 points
    this thread sucks really bad
  26. newfags dont count.....
  27. Nice tutorial, Enums were a bit tricky for me to grasp when I was learning a few years ago. I don't blame anyone, they are a bit confusing at first. You might want to explain why you would use Enums, for example the Skill Enum in the API, use that as an example.
  28. 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!
  29. Hello everyone! I'm opening my new BONDs shop. If you interested please pm me on skype or here. BONDS ALWAYS IN STOCK My skype: MrSomic Current price for BOND - 1,2 - 1,3m
  30. This shithead scammed me. I worked so hard for everything and he goes on and takes it all. http://osbot.org/forum/user/10920-rafid424/ Lost Cash stack. all my Armour.
  31. 1 point
    Fair enough, glad you're aware of what you've done. Don't take it too serious, end of the day it's only a few bucks. Better learn this over a botting site on the internet then stealing in real life and getting time so look at it from that point of view ^_^
  32. We will await his response within @Smart's given time period before proceeding with anything. Thank you.
  33. 1 point
    PROVE IT, request a ban that can't be reversed!. OT cya tomorrow.
  34. 1 point
    I've found usually if someone announces leaving, they don't leave. If they suddenly stop showing up/logging on without announcement, then they're usually gone within the month.
  35. 1 point
    It ain't simple, but there are tons of girls out there and there must be someone for you.
  36. 1 point
    Definitely not lol, already have a girl friend. But I still think it would be funny that she is is coming near where I live.
  37. 1 point
    Jungle Potion completed for adam k.
  38. 1 point
    It's highschool, imo, it's a waste of time. I wouldn't be keen on getting into a serious relationship till about 2nd year University (1st year is always the hardest with adjusting and whatnot). Nonetheless I'm sorry, I guess I can understand her situation, long distance relationships are terrible.
  39. 1 point
    Want to extend my sincerest thank you for all you've done for this site mate. As well as helping me out with an issue and fixing it for me in a matter of minutes when @Raflesia could not. Thank you for all you do @Alek
  40. 1 point
    Other cats fault. I got mugged and violated by other cats
  41. 1 point
    Bringing @Raflesia in to this was a bit disrespectful. You didn't need to mention that at all, but okay congratulations.
  42. None i'm a good person

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.