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.

House

Trade With Caution
  • Joined

  • Last visited

Everything posted by House

  1. Hello there people who jump to conclusions! First of all you did not purchase the script i have given to @Badluckgp under the name "HGoldAmuletSlave AND HGoldAmuletMule". The only involvement you had with the script "HGoldAmuletSlave AND HGoldAmuletMule" was me giving a copy of it to you for use granted i receive a % of it. I did i not sell you that script or grant you unique usage for it. What you probably saw was the README.txt file which contained the names "HFlax" which is a placeholder for the setup guide i give with all my scripts. The only scripts Xylate has purchased from me are scripts called "HFlaxSlave AND HFlaxMule" which have not been sold to anyone else. You have not mentioned the name of the script in this entire dispute and while helping @badluckgp set up his VPS you stumbled upon what you believe to be "your script" which is completely not true. Thus you made @badluckgp post "yes i bought the script off him" but that is an invalid proof because @badluckgp does not even know which script i gave you. Please post any proof here that @badluckgp has received the script "HFlaxSlave AND HFlaxMule" from ME through purchase or any means here if you wish to pursue this dispute. You need to realize i sold him a script which is not the one i sold you what so ever. @Xylate left negative feedback and have not contacted me about it and waited for a reply. @Xylate contacted me today 4 hours ago and i have no been online till now. @Xylate also posted in my thread for private scripts trying to throw mud on my name. I see this as unacceptable^ Thanks, House EDIT: Had some text that was not supposed to be public.
  2. I like the part where its a static number for packs bought.
  3. What am i advertising exactly? I don't see an ad.
  4. Added by random guy. ok. @Furreal no thanks. Please just no.
  5. Its maybe an error in the api which causes errors and your scripts are all using the common method that causes it?
  6. Meanwhile lowcpu on my end.. Time for an upgrade / better script?
  7. Create an instance in your main class that extends Script and pass it into the constructor of your tasks
  8. House replied to Sysm's topic in Spam/Off Topic
    How not to get unbanned from chat^ Also use discord.
  9. House replied to Sysm's topic in Spam/Off Topic
    Lots of water and some snack
  10. Same as passing in false, means there is no interrupt. Alternative use: hHopper.hop(86, () -> me.isUnderAttack()); This would return right away or while scrolling the worlds list if you are under attack and given you a chance to eat for example instead of continuing trying to hop.
  11. aka Matt's Quester?
  12. FrostHopper is cool and all but i needed this for a specific project and thought i would share. Credits to @@FrostBug EDIT: Added interrupt to whole method not just scrolling. derp /** * Simplified version of FrostHopper by FrostBug on OSBot. * Hops to a specific world with an interrupt condition when scrolling worlds. * Credits: FrostBug * * @author House */ public class HHopper { private final static int WIDGET_INDEX_ROOT = 14; private final static int WIDGET_ROOT = 69; private final static int WIDGET_SCROLL = 15; private final static int WIDGET_SCROLL_UP = 4; private final static int WIDGET_SCROLL_DOWN = 5; private final static int MIN_FRAME_Y = 230; private final static int MAX_FRAME_Y = 416; private final int NOT_LOADING_STATE = 30; Script script; public HHopper(Script script) { this.script = script; } public boolean hop(int world, BooleanSupplier condition) { if(condition.getAsBoolean()) return false; if (script.getClient().getLoginStateValue() != NOT_LOADING_STATE) return false; if (trimWorldNumber(script.getWorlds().getCurrentWorld()) == world) return true; if (script.getTabs().getOpen().equals(Tab.LOGOUT)) { if (isQuickhopOpen()) { if (loadingWorlds()) return false; RS2Widget worldWidget = getWorld(world); if (worldWidget == null) return false; if (isSelectable(worldWidget)) { Rectangle rect = worldWidget.getRectangle(); rect.translate(0, 2); rect.setSize((int) rect.getWidth(), (int) rect.getHeight() - 4); RectangleDestination dest = new RectangleDestination(script.getBot(), rect); if (script.getMouse().click(dest, false)) return false; } else scrollToWidget(worldWidget, condition); } else openQuickhop(); } else script.getTabs().open(Tab.LOGOUT); return false; } private boolean scrollToWidget(RS2Widget widget, BooleanSupplier condition) { RS2Widget scroll; if (widget.getPosition().getY() < MIN_FRAME_Y) { scroll = script.getWidgets().get(WIDGET_ROOT, WIDGET_SCROLL, WIDGET_SCROLL_UP); } else if (widget.getPosition().getY() > MAX_FRAME_Y) { scroll = script.getWidgets().get(WIDGET_ROOT, WIDGET_SCROLL, WIDGET_SCROLL_DOWN); } else { return false; } if (scroll != null) { final long startTime = System.currentTimeMillis(); WidgetDestination wDest = new WidgetDestination(script.getBot(), scroll); script.getMouse().continualClick(wDest, new Condition() { @[member=Override] public boolean evaluate() { return isSelectable(widget) || (System.currentTimeMillis() - startTime) >= 6000 || condition.getAsBoolean(); } }); } return true; } private boolean isSelectable(RS2Widget widget) { return widget.getPosition().getY() >= MIN_FRAME_Y && widget.getPosition().getY() <= MAX_FRAME_Y; } private RS2Widget getWorld(int world) { @SuppressWarnings("unchecked") RS2Widget worldWidget = script.getWidgets().filter(WIDGET_ROOT, (Filter<RS2Widget>) (RS2Widget w) -> { if (!w.isThirdLevel() || w.getSecondLevelId() != WIDGET_INDEX_ROOT || w.getThirdLevelId() <= 300 || w.getThirdLevelId() > 400 || w.getHiddenUntilMouseOver()) { return false; } int worldNumber = trimWorldNumber(w.getThirdLevelId()); return worldNumber == world; }).get(0); return worldWidget; } private int trimWorldNumber(int number) { return (number > 300) ? number - 300 : number; } public boolean loadingWorlds() { return !script.getWidgets().containingText("Loading...").isEmpty(); } private boolean isQuickhopOpen() { return script.getTabs().getOpen() == Tab.LOGOUT && script.getWidgets().containingText("World Switcher").isEmpty(); } private boolean openQuickhop() { List<RS2Widget> list = script.getWidgets().containingText("World Switcher"); if (!list.isEmpty()) { return list.get(0).interact(); } return false; } } Usage: hHopper.hop(86, () -> false);
  13. I just wanted a PC out of curiosity This account is valuable to me to test my script so i wont be selling it.
  14. I'm actually dying laughing atm
  15. Tell him to activate his windows :^)
  16. Some have purchasable time-periods.
  17. Jamflex spy confirmed!
  18. Clicked on link, was not disappointed.
  19. What are you doing here? Not that you are not welcome
  20. Instructions unclear, dick stuck in blender
  21. You literally buy a private script. put it into C:\Users\<NAME>\OSBot\Scripts.

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.