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.

harrypotter

Trade With Caution
  • Joined

  • Last visited

Everything posted by harrypotter

  1. This is 100% caused by the way the code is executed. You need to structure it in a way that if it does fail it will simply try again on the next loop. Here is an example of one of my banking methods: if (!script.inventory.contains("Coins")) { if (!Banks.LUMBRIDGE_UPPER.contains(script.myPosition())) { script.getWalking().webWalk(Banks.LUMBRIDGE_UPPER); } else { if (!script.getBank().isOpen()) { if (script.getBank().open()) { Sleep.sleepUntil(() -> script.getBank().isOpen(), Script.random(5000, 10000)); } } else { if (script.getBank().contains("Coins")) { if (script.getBank().withdrawAll("Coins")) { Sleep.sleepUntil(() -> script.inventory.contains("Coins"), Script.random(5000, 10000)); } } else { script.stop(false); } } } }
  2. Make hans static (However I'm sure that's a bad idea unless they're final) or in your main class have a method that's responsible for updating the value? I.e: public class Main { public boolean hans = false; public void setHansValue(boolean val) { this.hans = val; } public int onLoop() { Processing p = new Processing(); p.exchangeContext(getBot(); log("Hans is" + hans); p.Loop(); return 500; } } public class Processing { public void Loop() { m.exchangeContext(getBot()); log("Switching hans to true)" Main.setHansValue(true); } }
  3. Try something like this: public void openBank() throws InterruptedException { if (!getBank.isOpen()) { if (getBank.open()) { Timing.waitCondition(() -> getBank.isOpen(), 6000); } } else { // Bank is open } } I've never had problems with handling banks in this way.
  4. Would I have to separate a path that has two separate stairs into separate paths? for example would this work: if at first stairs handle stairs walk to second stair area else if at second stairs handle second stairs else walk path
  5. Can somebody show me an example of walking a path - without using web walking - that handles doors or stairs? I can't really find any good examples or tuts on how these are handled for paths containing multiple objects. An example path would be from lummy cow pen to top floor bank in lummy. Thank you all in advanced!
  6. I suggest reading @Explv's Scripting 101 Tut: All this plus a lot more useful info can be found there.
  7. I know the API has: inventory.contains(); However this will return true as long as 1 item from the selected exists. I want to confirm that the inventory contains all of the items however. What's the best way to do this rather than a statement for each item? Thanks for your help!
  8. harrypotter replied to kEzyv's topic in Spam/Off Topic
    there's nothing more annoying than a faggot on a scooter.
  9. Unfortunately not, still stuck trying to right click a set of stairs that are hidden because of the popup
  10. How do I detect and close the quest completed popup dialog? I've tried closing via the "X" widget as well as continuing the dialog via the API but can't seem to find the correct solution. Can anyone please point me in the correct direction?
  11. 17 hours, excellent!
  12. Of course not, but I have to use those as there's no way for me to know what they will actually sell for
  13. Using osbuddy prices you will lose money with greendhide: 1 Green dragon hide is: 1,730 gp * 1.1 = 1903 1 Green dragon leather sells for: 1,881 gp * 0.95 = 1787 Tan cost is 20gp per hide. 1787 - 1903 - 20 = -136gp per hide
  14. Which hides? this suggests that you are losing money based on those prices.
  15. Not sure if this is the best way but I would do something like: if (invetory.isEmptyExcept(ItemID) && invetory.contains(ItemID)) { }
  16. Hotfix pushed - download v1.3
  17. I'm unable to reproduce this, do you have skype so we can talk there?
  18. Thanks for the report, it sounds like there is an issue getting the prices so it's defaulting to 1gp. I stupidly didn't push my latest code to my repo so I can't access the latest code from the machine I'm currently one! I'll work on a fix once I'm home and let you know! You can manually buy for now and disable GE Mode if you like!
  19. Strange, does it do that with all hides? I'll release a fix later tonight once I'm home.
  20. Can you send me a screenshot of your setup (gui)
  21. What did you have the input buy multiplyer set at?
  22. You could be right, flew straight over my head the naming there haha!
  23. Sorry my snippet should read: NPC juliet = script.npcs.closest("Juliet"); log(getDoorHandler().canReachOrOpen(juliet.getPosition())); This still returns true for the position, even if behind a door.
  24. According to the API I can check if an entity is reachable: https://osbot.org/api/org/osbot/rs07/api/DoorHandler.html#canReachOrOpen-org.osbot.rs07.api.model.Entity- However the following always returns true even if it should return false: NPC juliet = script.npcs.closest("Juliet"); log(getDoorHandler().canReachOrOpen(juliet.getPosition()));
  25. It's something I can add, I'm adding it to my planker so I can just copy+paste that logic across!

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.