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.

Naked

Suspended
  • Joined

  • Last visited

Everything posted by Naked

  1. Accounts like this are worth a few bil if the seller has rep. Probably not much in this case. Standard "you need 100 post count to sell accounts"
  2. A lot goes into bans. IP, # of accounts per IP, account age, method, etc. Personally, I won't take any script as anti-ban as a requirement, unless you can define anti-ban (afk for 10-20mins after every 20-40mins of botting, etc.). That being said, I always try to give suggestions on debugging bans and how interactions can be minimized, which I personally believe helps tremendously. We can't guarantee any outcome, however.
  3. It's been a week. The giveaway auth expired.
  4. The SDN is down
  5. It's still a solution.
  6. I suggest bribing @Muffins for the fix https://osbot.org/forum/topic/159967-got-mirror-mode-working-on-linux/
  7. Naked replied to MGI's topic in Releases
    You need to chill my dude
  8. same
  9. 4 per 4 hours per IP is what I limit to
  10. It *works*, but it's bad practice. Here's how I suggest writing it: private final Position ALTAR_POS = new Position(2985,3293,0); JFrame frame = new JFrame("InputDialog Example #1"); String pName = JOptionPane.showInputDialog(frame, "What's your player name?"); String pFinal = pName.replace(' ', '\u00A0'); @Override public int onLoop() throws InterruptedException { if(getTrade().isCurrentlyTrading()){ if(getTrade().isSecondInterfaceOpen()){ if(getTrade().acceptTrade()){ Sleep.sleepUntil(() -> !getTrade().isCurrentlyTrading(), 5_000); } }else{ if(!getTrade().getOurOffers().contains("Pure essence")){ if(getTrade().offerAll("Pure essence")){ Sleep.sleepUntil(() -> getTrade().getOurOffers().contains("Pure essence"), 5_000); } }else{ if(getTrade().acceptTrade()){ Sleep.sleepUntil(() -> getTrade().isSecondInterfaceOpen(), 5_000); } } } }else if(getInventory().contains("Pure essence")){ if(portalExists()){ sendTradeRequest(); }else{ walkToAltar(); } }else{ if(portalExists()){ exitRuins(); }else { bank(); } } return 250; } private boolean portalExists(){ return getObjects().closest("Portal") != null; } private void bank() throws InterruptedException { if (!Banks.FALADOR_EAST.contains(myPosition())) { getWalking().webWalk(Banks.FALADOR_EAST); } else if (!getBank().isOpen()) { if(getBank().open()){ Sleep.sleepUntil(() -> getBank().isOpen(), 5_000); } } else if(bank.contains("Pure essence")) { if(getBank().withdrawAll("Pure essence")){ Sleep.sleepUntil(() -> getInventory().contains("Pure essence"), 5_000); } }else{ getWalking().webWalk(Banks.GRAND_EXCHANGE); } } public void walkToAltar() throws InterruptedException { RS2Object ruins = getObjects().closest("Mysterious ruins"); if(ruins != null){ if(ruins.interact("Enter")){ Sleep.sleepUntil(() -> portalExists(), 5_000); } }else{ getWalking().webWalk(ALTAR_POS.getArea(5)); } } public void exitRuins() throws InterruptedException { RS2Object portal = getObjects().closest("Portal"); if(portal != null){ if(portal.interact("Use")){ Sleep.sleepUntil(() -> !portalExists(), 5_000); } } } public void sendTradeRequest() throws InterruptedException { Player player = getPlayers().closest(pFinal); if (player != null) { if(player.interact("Trade with")){ Sleep.sleepUntil(() -> getTrade().isCurrentlyTrading(), 10_000); } } } I obviously didn't test this, but it should work. No method gets called without validation. It also removed a bunch of possible bottlenecks (for example, if the player isn't visible in your code, it will just sit there. The interactor will adjust the camera so that it is visible.
  11. https://osbot.org/forum/java/ should fix it
  12. I'd say 3/10. It's a really solid start, but logically it needs some work. You want to validate that a function should run before calling it. For example, it doesn't make sense to run finalTrade if you're not trading.
  13. Naked replied to Album's topic in General Help
    45785 is probably the http port, while 45786 is the socks port. If port 45786 works, then use that port. If you're getting locked within 30 seconds, you probably need better proxies, however.
  14. For the JMods reading this, personally, I bot tutorial island, AFK for exactly 32mins and 17 seconds, walk 2 steps south (one at a time - 3 tick delay between clicks), and afk for another 47 minutes and 7 seconds. I then mine 3 copper and 71 tin ore, randomizing which rock I pick every time. Some say this is controversial, but I think afk for another 2 hours, 8 minutes, and 16 seconds. Afterwards, I mercilessly murder goblins while examining every player and object surrounding me. I afk approximately 17 seconds between the death of one goblin before attacking another, with a 37.2% chance to bury the bones of my fallen enemy. I make my way to varrock and pick 1 cadava berry and 2 redberries. I talk to Romeo. Between dialogues, I get banned. Fuck this game.
  15. Hello sir may i interest you in Naked Scripts (best scripts)?
  16. WebWalkEvent can use teleports if attached to a PathPreferenceProfile WebWalkEvent walkEvent = new WebWalkEvent(STAFF_POS); walkEvent.setPathPreferenceProfile(getPPF()); execute(walkEvent); private PathPreferenceProfile getPPF(){ PathPreferenceProfile profile = new PathPreferenceProfile(); profile.checkInventoryForItems(true); profile.checkEquipmentForItems(true); profile.setAllowTeleports(true); return profile; }
  17. Penguins can swim at over 20mph
  18. I can sell
  19. Nice.
  20. Naked replied to Chris's topic in Money Making
    My dude. You replied to a post from 2018
  21. I'm not weird
  22. 1000 posts. And only 500 are spam, unlike @Malcolm
  23. Specifically, you can't sell: Hacker items like keyloggers, phishers and RAT's. Any other program or tool used for hacking. Hacked accounts (forum, game, paypal accounts, etc..). Stolen items (accounts, guides, methods, tutorials, etc..) Accounts and/or subscriptions for porn websites. Torrents. Loans of any sort and/or donation requests. Account rentals Private servers. Physical items. Any type of Educational Services. Private Server Account/Gold Anything illegal by law Methods Account Giveaways Gambling Twitch Prime Accounts
  24. There's a bunch of things here. 1) Never user a while loop in a script. There's always an alternative. 2) You don't need to explicitly close most interfaces or open a tab for world hopping. 3) You should use if else statements wherever possible. Realistically, your script should look something like: log("Time to hop!"); if(getWorlds().getCurrentWorld() == 302){ if(worlds.hop(303)){ Sleep.sleepUntil(() -> getWorlds().getCurrentWorld() == 303, 5_000); } }else if(getWorlds().getCurrentWorld() == 303){ if(worlds.hop(304)){ Sleep.sleepUntil(() -> getWorlds().getCurrentWorld() == 304, 5_000); } } You could also use a switch statement, or make a nice clean algorithm for the next members worlds in the list, but I'm too lazy to write that.

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.