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 05/23/15 in all areas

  1. This update is to try and bring mouse movements and interactions closer to near flawlessness. There are a few modifications I need to make, but this is definitely a great start in the right direction. The most noticeable change is interactions with large objects such as trees, dragons, etc. Additionally by popular request, the connection error from Auto-Login response code is now on a cycle. The event will take multiple fails before giving up instead of ending on the first attempt. Please expect another release either this weekend or early next week for World hopping and World instant-hopping. Please thank @Zach for his continued support. Changelog: -Added GraphicUtilities method getSuitablePointFor(Bot bot, int gridX, int gridY, int z, Model model) -Updated MoveMouseEvent to utilize new suitable point method --Patches a variety of issues specifically with large models such as trees and dragons -Removed multiple move attempts from MoveMouseEvent -Improved MoveMouseEvent movement algorithm --Patches divide by zero error as well -AutoLogin connection response code error runs on cycles instead of instant failure -Reverted inventory changes from 2.3.68 -Updated LogoutTab logout() to account for World Switcher being open -Added LogoutTab method worldSwitch() -Updated OSBot updater Happy Botting -The OSBot Staff
  2. 4 points
    This class uses the recently added instant hop feature to switch worlds. FrostHopper.java Example usage:
  3. I put the user in TWC group, he has until June 6th to pay or he will be ip banned and when he refunds he can be unbanned.
  4. For a single moment we where the same. Life felt so real. Like im as cool as Roomscape. If he can be Twc then so can I.
  5. 3 points
    Sounds interesting
  6. Can you try again now? I have overridden your permission set and gave you the lifetime sponsor rank back.
  7. This is a support section not the spam forum so GF infraction. If I wanted spam I would have posted in the spam forum. FYI im lifetime sponsor.
  8. Lel

    3 points
    hi
  9. Those 2 tabs are not splitting the data correctly. Both tabs using the same variables. Script has no idea what's going on, use 2 clients please. (not 2 tabs) Will see how to fix this About the lagg: The fps lagg is something else you see then the scripts executes... This should not be an issue with the script since 2 updates ago. EDIT: Using multiple clients won't work, you can only use multiple tabs. Khaleesi
  10. 3 points
    public class worldSwitcher { public static final int WIDGET_PARENT = 69; public static final int WIDGET_INTERFACE_CHILD = 4; public static final int WIDGET_CLOSE_CHILD = 3; public static final int WIDGET_SWITCHER_BUTTON_PARENT = 182; public static final int WIDGET_SWITCHER_BUTTON_CHILD = 5; //Worlds public static final int WIDGET_WORLD_CHILD_START = 13; public static final int WIDGET_WORLD_CHILD_END = 82; public static final int WIDGET_WORLD_GRANDCHILD_SPRITE = 1; public static final int WIDGET_WORLD_GRANDCHILD_NUMBER = 2; public static final int WIDGET_WORLD_GRANDCHILD_FLAG = 3; public static final int WIDGET_WORLD_GRANDCHILD_NAME = 4; public static final int FREE_SPRITE = 1130; public static final int MEMBER_SPRITE = 1131; public static final int GERMANY_FLAG_SPRITE = 1140; public static final int AMERICA_FLAG_SPRITE = 1133; public static final int BRITAIN_FLAG_SPRITE = 1135; //Favourite worlds public static final int WIDGET_FAVOURITE_WORLD_CHILD_START = 114; public static final int WIDGET_FAVOURITE_WORLD_CHILD_END = 115; //Sort buttons public static final int WIDGET_SORT_MEMBER_BUTTON_CHILD = 9; public static final int WIDGET_SORT_WORLD_BUTTON_CHILD = 10; public static final int WIDGET_SORT_FLAG_BUTTON_CHILD = 11; public static final int WIDGET_SORT_NAME_BUTTON_CHILD = 12; public static final int WIDGET_SORT_BUTTON_GRANDCHILD_SPRITE = 0; public static final int WIDGET_SORT_BUTTON_GRANDCHILD_ALPHA = 0; public static final int ALPHA_ON = 0; public static final int ALPHA_OFF = 100; public static final int UP_SPRITE = 1050; public static final int DOWN_SPRITE = 1051; //Scroll buttons public static final int WIDGET_SCROLL_BUTTON_CHILD = 113; public static final int WIDGET_SCROLL_BUTTON_UP_GRANDCHILD = 4; public static final int WIDGET_SCROLL_BUTTON_DOWN_GRANDCHILD = 5; public boolean isOpen() { RS2Widget iFace = getWidgets().get(WIDGET_PARENT, WIDGET_INTERFACE_CHILD); if(iFace != null) { if(iFace.getPosition().x != -1 && iFace.getPosition().y != -1) { return true; } } return false; } public boolean open() throws InterruptedException { if(!isOpen()) { if(getTabs().open(Tab.LOGOUT)) { Script.sleep(Script.random(150, 350)); RS2Widget button = getWidgets().get(WIDGET_SWITCHER_BUTTON_PARENT, WIDGET_SWITCHER_BUTTON_CHILD); if(button != null) { if(button.interact("World Switcher")) { Script.sleep(Script.random(1000, 1350)); return isOpen(); } } else { Script.sleep(Script.random(350, 650)); return isOpen(); } } } else { return true; } return false; } public boolean close() { if(isOpen()) { RS2Widget button = getWidgets().get(WIDGET_PARENT, WIDGET_CLOSE_CHILD); if(button != null) { return getMouse().click(new RectangleDestination(getBot(), new Rectangle(button.getPosition().x, button.getPosition().y, 22, 22))); } } return false; } public RS2Widget getWorld(int world) throws InterruptedException { if(isOpen()) { for(int worldIndex = WIDGET_WORLD_CHILD_START; worldIndex <= WIDGET_WORLD_CHILD_END; worldIndex++) { RS2Widget widgetWorld = getWidgets().get(WIDGET_PARENT, worldIndex); if(widgets != null) { RS2Widget childWorld = widgetWorld.getChildWidget(WIDGET_WORLD_GRANDCHILD_NUMBER); if(childWorld != null) { int worldNumber = Integer.parseInt(childWorld.getMessage()); if(worldNumber == world) { return widgetWorld; } } } } } return null; } public boolean isVisible(int world) throws InterruptedException { RS2Widget widgetWorld = getWorld(world); return isVisible(widgetWorld); } public boolean isVisible(RS2Widget widget) throws InterruptedException { if(widget != null) { RS2Widget iFace = getWidgets().get(WIDGET_PARENT, WIDGET_INTERFACE_CHILD); if(iFace != null) { if(iFace.getRectangle().contains(widget.getRectangle())) { return true; } } } return false; } public boolean scrollToTop() throws InterruptedException { RS2Widget button = getWidgets().get(WIDGET_PARENT, WIDGET_SORT_MEMBER_BUTTON_CHILD); if(button != null) { return scrollTo(button); } return false; } public boolean scrollTo(final int world) throws InterruptedException { if(isVisible(world)) { return true; } RS2Widget widgetWorld = getWorld(world); if(widgetWorld != null) { return scrollTo(widgetWorld); } return false; } public boolean scrollTo(final RS2Widget widgetWorld) throws InterruptedException { if(isVisible(widgetWorld)) { return true; } RS2Widget iFace = getWidgets().get(WIDGET_PARENT, WIDGET_INTERFACE_CHILD); if(iFace != null) { if(widgetWorld.getPosition().y > iFace.getPosition().y) { RS2Widget buttonDown = getWidgets().get(WIDGET_PARENT, WIDGET_SCROLL_BUTTON_CHILD, WIDGET_SCROLL_BUTTON_DOWN_GRANDCHILD); if(buttonDown != null) { getMouse().continualClick(new RectangleDestination(getBot(), buttonDown.getRectangle()), new Condition() { @Override public boolean evaluate() { try { if(isVisible(widgetWorld)) { Script.sleep(Script.random(0, 880)); return true; } else { return false; } } catch (InterruptedException e) { e.printStackTrace(); } return true; } }); } } else { RS2Widget buttonUp = getWidgets().get(WIDGET_PARENT, WIDGET_SCROLL_BUTTON_CHILD, WIDGET_SCROLL_BUTTON_UP_GRANDCHILD); if(buttonUp != null) { getMouse().continualClick(new RectangleDestination(getBot(), buttonUp.getRectangle()), new Condition() { @Override public boolean evaluate() { try { if(isVisible(widgetWorld)) { Script.sleep(Script.random(0, 880)); return true; } else { return false; } } catch (InterruptedException e) { e.printStackTrace(); } return true; } }); } } } return isVisible(widgetWorld); } public boolean switchWorld(int world) throws InterruptedException { String sWorld = ""+getClient().getCurrentWorld(); sWorld = sWorld.replaceFirst("3", "0"); int currentWorld = Integer.parseInt(sWorld); if(currentWorld == world) { return true; } if(open()) { RS2Widget widgetWorld = getWorld(world); if(widgetWorld != null && scrollTo(world)) { if(widgetWorld.interact("Switch")) { Script.sleep(Script.random(500, 850)); return getDialogues().completeDialogue("Yes."); } } } return false; } } I don't added every function for the switcher but I added every information for you to add other functions. How to use: worldSwitcher switcher = new worldSwitcher(); switcher.switchWorld(83);
  11. So, those of you that have been here for a while already know this. OSBot can't fix randoms, was always at least one broken = Jagex makes randoms optional OSBot world hopper is/was broken, mirror hopping broken 100% = Jagex adds quickhopper JageX = OSBot confirmed, watch Mod Mark delete this topic! Those of you that do get to read this in time, spread it! Knowledge is power, spread the power to the people before I get MLK'd!
  12. I am graduating college today in only three years, tons of leadership roles on campus including formerly being a mod from December until May, and I am still graduating with Summa cum laude (that is an honorable status for those graduating with 3.90-4.00 GPAs, which is a perfect grade-point average) =).
  13. Selling 2000M+ 1.75$/m No level 3's 400m+ trades BTC Paypal trusted only Skype : road_to_1m
  14. 2 points
    ur poor u has 0 gp , def scam
  15. 2 points
    Script udpated to V0.11: - Added option in GUI to avoid other players Enjoy! Khaleesi
  16. Congrats on the new computer its always exciting getting a new one
  17. Looks Awesome ! And for music i always used spotify
  18. 2 points
    Stop spamming on his thread
  19. 2 points
    Hello, i'm looking for a pretty basic website to be designed from scratch, with around 6-7 pages. contact me on skype; oldschool.deals ty edit - got someone for now. thanks for interest!
  20. Winning at eBay In this guide I will be teaching how to turn over £12k+/18k$ per month. Proggys can be found at the bottom This is not a easy task and does take a little time and effort to complete, but I will break it up into easy bite size chunks. Part 1 Getting started Part 2 Day to Day running. (not finished yet, will update tonight) Paying low amounts of TAX (UK ONLY) Helpful hints and tips FAQ Proggys I will update this further later today when i have some spare time If you liked this guide and would like to see more like it, Tap that like button ->
  21. Looking to buy 20m 07 gp for 1.9 per mil. Post your skypes below or PM me your skypes. Payment will be made with Paypal.
  22. 1 point
    nike didn't scam to get twc, and you have 0fb so rip newfag
  23. I believe it is because of my TWC but can my sponsor override the services please so I am able to open more than 1 bot client?
  24. Heres my proggie. Not giving any fucks on weekends!
  25. Not sure what happened, but my 'about me' went to shit after anne infracted/twc'd me. Any way to fix/undo?
  26. Graduating high school in a month. Im happy for you tho !! U did great
  27. but is there a solution to this? It keeps mirroring the client that's already being mirrored...
  28. ORANGE!!!!!!!!!! I should stop now ;)
  29. I did go through, I fixed it now.
  30. Mirror client, 2 tabs. Normally it only starts lagging with 3 so I stick with 2 tabs. I don't think its due to the mirror-client lag though.
  31. 1 point
    sharks at the fishing guild
  32. Proggy: http://ctrlv.cz/Jhjz
  33. Script requested: Khal Motherlode Member number: 156605 Thanks, have also purchased your agility and ogres script in the past. Hopefully this will be next after a good review from trial.
  34. It doesn't log back in after dcs, am I doing something wrong or it just like that?
  35. Bought of Nike, thanks buddy. Sorry, bought off another person, I'm impatient lol, thank you though.
  36. probably because of the dc's the servers have been experiencing
  37. We can look at: if(hasTwoLogs) without needing extra cognition to work out the getInventory().getAmount(...) == 2 in our heads. If we really care about how we determine we have two logs (which there is no reason to, unless there's a bug), we can look at the assignment, but now we aren't forced to; we are instead given an actual name to read. It's a lot more useful when the condition has multiple expressions (|| or &&), but I still prefer it over placing the expression in the if statement. Slightly lowers the amount of thinking needed, as we can ignore the assignment (of the expression) without any confusion about the code. Compilers will inline the value if they see it's effectively final (not modified after initialization), so there's no performance impact; it's just to make things easier to understand when it comes to reading the actual processing part. On top of that, worrying about such small changes should be avoided (micro-optimizations) as they can consume quite a bit of time over the course of a project, while giving no noticable performance boost. You should never pre-optimize anyways: always monitor your program AFTER writing it, to see where optimization is really needed Keep in mind, that expression is a boolean, we are just storing it somewhere and giving it a name. Either way you do it, a single boolean is being allocated to the stack.
  38. paint is bugged!! it says I do 8m xp/hr lmao, and that I did 3m xp in 20mins
  39. 1 point
    http://www.reddit.com/r/2007scape/comments/36uwaa/how_i_made_38066_return_in_15_minutes/
  40. just relax and enjoy it, the more you panic the worse it gets, go drink some water and go eat lmao
  41. In case your bank interaction misclicks ^^ //close collectionbox (by Botre) RS2Widget collectionBox = getWidgets().get(402, 2, 11); if (collectionBox != null && collectionBox.isVisible()) { collectionBox.interact("Close"); } And this one by @Novak //close noticeboard (by Novak) RS2Widget noticeBoard = script.getWidgets().get(220, 16); if(noticeBoard != null && noticeBoard.isVisible()) { noticeBoard.interact("Close"); }
  42. just to add to this, i notice sometimes if the camera is just right it will open the notice boards that some banks have too. use this to close: //close noticeboard RS2Widget noticeBoard = script.getWidgets().get(220, 16); if(noticeBoard != null && noticeBoard.isVisible()) { noticeBoard.interact("Close"); }

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.