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/21/19 in Posts

  1. ๐Ÿ‘‘CzarScripts #1 Bots ๐Ÿ‘‘ ๐Ÿ‘‘ LATEST BOTS ๐Ÿ‘‘ If you want a trial - just post below with the script name, you can choose multiple too. ๐Ÿ‘‘ Requirements ๐Ÿ‘‘ Hit 'like' ๐Ÿ‘ on this thread
  2. NEW CURRENT RECORD: 294 HOURS RUNTIME! Shoutout to @Ruutihattu NEW: Sandstone mining + hopper support Humidify/water circlet/bandit unnote Ardy cloak tele support Setup Screen Preview Results 84 HOURS ON NEW LEVEL 20 ACCOUNT Suicided account with mirror mode near rock crabs, 81 mining! I will probably go for 99 Even supports Ancient Essence Crystal mining! Preview: Mine 1 drop 1 item drop pre-hover feature:
  3. 2 points
    NakedPotato#5350
  4. Your changes: When I said conditional, I meant more that only one line would run with any given onLoop iteration. The reason for this is that the API interacts with the live game - you cannot expect any API call to return successfully every time and as a result chained API calls which depend on one another (for example, opening the bank and then depositing an item) can fail. This is relevant in your code - you are calling getWalking#webWalk and immediately after you are interacting with the altar. What if the walking failed (for whatever reason)? Then you wouldn't be in range of the altar and the script would be stuck. Null checking: As for null checking, at the moment you are grabbing and interacting with the game objects as follows: getObjects().closest("Altar").interact("Craft-rune"); This is fine if getObjects().closest("Altar") always returned a game object, however this is not the case. If closest did not find any object matching your filter, it will simply return null, at which point you are calling 'interact' on null which will result in a Null-pointer error (for obvious reasons). Instead, do something like this: private boolean someMethod() { RS2Object altar = getObjects.closest("Altar"); return altar != null && altar.interact("Craft-rune"); } Sleeps: Again, the script is interacting with a live game, so there are all sorts of barriers between your script and game state. One of these is latency, fluctuations in which mean timing in your script is never going to be perfect. As a result, adding random sleeps here and there gives a false sense of security. Instead, to prevent bans, focus on making your script as reliable as possible, and then use the script carefully and keep a low profile. If you do add any randomisation, doing so in interaction timing is probably not the place. To make the script reliable, conditional sleeps are needed to retry actions only when needed, as well as to maximise script responsiveness (minimise the time the script spends sleeping, and maximise the time it is aware of game state). Stick with conditional sleeps --------------------- Good luck! -Apa Edit: Also, as @ProjectPact mentioned, avoid while loops. Why would you need a while loop if you already have a perfectly good one: onLoop()?
  5. NEW: Released Chop & Firemake plugin Added 8 Forestry events!!!!!!!! Easy 99, Next! Map Chooser System Progress Results! Help How to use this with Bot Manager? Script ID is 631, and the parameters will be the profile you saved in the setup window, e.g. oak15.txt I want a new feature added? Make a post below and I am always listening, within reason! The bot is doing something I don't like? Make a post below and I will adjust the code to match your play style!
  6. NEW! Added Gemstone Crab! 81 Hours at Cows Brutal Black Dragon support Sulphur Nagua support Blue Dragon 99 ranged 99 Ranged at Gemstone Crab 81 Range F2p Safespotting Hill Giants Hotkey List // F1 = set cannon tile // F2 = hide paint // F3 = Set afk tile // F4 = reset afk tile // F6 = Set safespot tile // F7 = activate tile selector // F8 = Reset tile selector // F9 and F10 used by the client, EDIT: will re-assign as they are no longer used by client // F11 = Set breaks tile // F12 = Reset breaks tile User Interface Banking Tab Demo (handles everything with banking) You can copy inventory (to avoid adding individual items...), you can insert item names which have Auto-Fill (for you lazy folk!) and you can choose whether to block an item and avoid depositing it in bank, ideal for runes and ammo. Looting Tab Demo (From looting to alchemy, noted/stackable items too) You can choose whether to alch an item after looting it simply by enabling a checkbox, with a visual representation. All items are saved upon exiting the bot, for your convenience! Tasking Demo (Not to be confused with sequence mode, this is an individual task for leveling) You can set stop conditions, for example to stop the bot after looting a visage, you can have a leveling streak by changing attack styles and training all combat stats, you can have windows alert bubbles when an event occurs and an expansive layout for misc. options! Prayer Flick Demo (Just example, I made it faster after recording this GIF) There are two settings: Safe mode and efficient mode, this is safe mode: Fight Bounds Demo Allows you to setup the fight bounds easily! Simplified NPC chooser Either choose nearby (local) NPCs or enter an NPC name to find the nearest fight location! Simple interface, just click! Level Task Switch Demo (Switching to attack combat style after getting 5 defence) You can choose how often to keep levels together! e.g. switch styles every 3 levels Cannon Demo (Cannon is still experimental, beta mode!) Choose to kill npcs with a cannon, recharges at a random revolution after around 20-24 hits to make sure the cannon never goes empty too! Results Caged Ogres: How does this bot know where to find NPCs? This bot will find far-away npcs by simply typing the NPC name. All NPCs in the game, including their spawn points have been documented, the bot knows where they are. You can type 'Hill giant' while your account is in Lumbridge, and the bot will find it's way to the edgeville dungeon Hill giants area! Here is a visual representation of the spawn system in action (this is just a visual tool, map mode is not added due to it requiring too much CPU) Fight Area Example (How the bot searches for the npc 'Wolf') Walking System The script has 2 main walking options which have distinctive effects on the script. The walking system is basically a map with points and connections linking each point. It tells the script where to go, and decides the routes to take when walking to fightzones. Walking system 1 This uses a custom walking API written by myself and is constantly being updated as new fightzones are added. Pros: - Updates are instant, no waiting times - More fightzones are supported Cons: - Sometimes if an object is altered, the changes are not instant - Restarting the script too many times requires loading this webwalker each time which adds unnecessary memory (there is no way to make it only load at client startup since I don't control the client) Walking system 2 This is the default OSBot webwalking API - it is relatively new and very stable since the developers have built it, but is currently lacking certain fightzones (e.g. stronghold) and other high level requirement zones. It is perfect for normal walking (no object interactions or stairs, entrances etc) and never fails. Pros: - Stable, works perfect for normal walking - All scripters are giving code to improve the client webwalker - More efficient when restarting the script since it is loaded upon client start Cons: - No stronghold support yet - Some new/rare fightzones not supported yet - If there is a game-breaking update or an unsupported fightzone, it may take some time to add/repair (less than 24 hours usually) So which system should I choose? Whichever one suits your chosen fightzone best! There really shouldn't be any problems - the sole purpose of these options are for backup and emergency purposes, if the script ever messes up there is always the next option to select. Note: If the script ever fails, there will be immediate updates to fix the walking systems! Script Queue/Bot Manager: Script ID is 758, and the parameters will be the profile name that you saved in the fighter setup! Bug Report templates: New feature request - What is the new feature - Basic description of what the script should do - Basic actions for the script: 'Use item on item' etc. For when the script gets stuck on a tile (or continuous loop): - Which exact tile does the script get stuck on? (exact tile, not 'near the draynor village') - Plugin or normal script? - Did you try all 3 walking options? Script has a logic bug (e.g. dies while safespotting) or (cannon mode doesn't pickup arrows) - What is the bug - How did you make the bug happen - (optional) recommendation for the bug, e.g. 'make the script walk back' or something - Tried client restart? - Normal script or a plugin? - Which exact setup options are enabled? Afk mode, cannon mode, etc etc.
  7. This is an AIO (All-in-one) bot that has almost every thieving style except blackjack, ask for a free trial by liking thread or making a post! Vyres and elves are now supported! Both can make solid profit per hour, decent passive income! BIG THANK YOU TO ALL OUR SUPPORTERS! WE ARE THE MOST SOLD THIEVING BOT IN OSBOT HISTORY. MOST REPLIES, MOST USERS, LONGEST PROGGIES #1 Thiever | Most Overall Sales | Most Total Replies | Most Results | 10+ Years Maintained | 'the intelligent choice' by Czar SUPPORTS VYRES 224M made in a single sitting of 77 hours 1.1B made from elves and vyres!! ELVES SUPPORTED TOO! (NEW) 2.1m/hr, 6 crystals in 7 hrs 99 THIEVING MANY MANY TIMES, 35M EXP IN ONE BOTTING RUN!! 99 thieving in ~43k xp (12 minutes remaining)! Just got 99 proggy! Gratz to @iz0n THIEVING PET AT LVL 22 FROM TEA STALLS 11.5 HOURS, WITH PET TOO!! 610k/hr getting 99s on deadman worlds!
  8. For trials please join the discord and request one using our discord bot! Want to purchase? Click here! Very easy to use! Features: Completes Tutorial Island in under 10 minutes! Mass Account Support! - Walking to banks not supported if using mass account support. Supports Resizable! Recognizes closest objects for fast completion! Organized script structure to ensure quick fixes for the endless changes Jagex makes to Tutorial Island! Walks to banks after completion! CLI Support Instructions: If you want to go to a bank after completion just tick off the checkbox and select your location! If you wish to use CLI parameters follow the template bellow To use the Mass Account Support you must have a txt file in the OSBOT Data Folder called "accounts.txt" The accounts must be formatted as follows: Launch the script from CLI and use the paramater "load" and you must -allow norandoms and you must enter a "dummy" bot EXAMPLE: java -jar "Desktop/OSBot.jar" -login LOGIN -bot SOMEBOT -script 1053:load -allow norandoms Bug reports: What is the bug? How did the bug happen? What does the OSBOT logger say? Injection or Mirrored? CLI Parameters: The ID for this script is: 1053 Paramaters (Type in the following to go to selected bank): 0 - No bank, Log out after completion VWest = Varrock West VEast = Varrock East GE = Grand Exchange Edge = Edgeville Draynor = Draynor FWest = Falador West FEast = Falador East Lumby = Lumbridge Upper load = LOADING ACCOUNTS - No walking to bank supported Example Usage: java -jar "Desktop\Bot\OSBot.jar" -login osbotuser:osbotpw -bot osrsun:osrspw:0000 -proxy IP:Port OR IP:Port:username:password -script 1053:GE
  9. So basically I've decided to start creating my own script for personal use, very basic script to Runecraft air runes, let me know what you think/any general improvements moving forwards, thanks. import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.map.constants.Banks; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "Jashy", info = "Air Runecrafter - First Script.", logo = "", version = 0.1, name = "Air Runecrafter") public final class Air extends Script { private final Area AIR_ALTAR = new Area(2989,3295,2982,3289); private final Area AIR_RUNES = new Area(2839, 4826, 2849, 4840); @Override public final int onLoop() throws InterruptedException { if (hasPureEssense()) { runecraft(); } else { bank(); } return random(2500, 4000); } private void runecraft() throws InterruptedException { if(!AIR_ALTAR.contains(myPosition())) { getWalking().webWalk(new Position(2987, 3294, 0)); sleep(random(2500, 4000)); useAltar(); sleep(random(2500, 4000)); } craftRunes(); sleep(random(3500, 5000)); } private boolean hasPureEssense() { return getInventory().contains("Pure essence"); } private boolean useAltar() { return getObjects().closest("Mysterious ruins").interact("Enter"); } private boolean craftRunes() { return getObjects().closest("Altar").interact("Craft-rune"); } private boolean usePortal() { return getObjects().closest("Portal").interact("Use"); } private void bank() throws InterruptedException { //Added this in case script was started inside air runes area. while(AIR_RUNES.contains(myPosition())) { usePortal(); sleep(random(1500, 2500)); } if (!Banks.FALADOR_EAST.contains(myPosition())) { getWalking().webWalk(Banks.FALADOR_EAST); } else if (!getBank().isOpen()) { getBank().open(); sleep(random(2000, 3000)); } else if (!getInventory().isEmptyExcept("Pure essence")) { getBank().depositAll(); sleep(random(2000, 3000)); } else if (getBank().contains("Pure essence")) { getBank().withdrawAll("Pure essence"); sleep(random(2000, 3000)); } else { stop(true); } } }
  10. Really nice! This code is, for the most part, well structured, readable and tidy. It's stateless and conditional which is nice. A few suggestions: Replace the static sleeps with conditional sleeps. This will ensure you only sleep as long as you have to. Null check the altar, portal and ruins, otherwise you'll end up with some nasty client crashing errors. You could always write a method to wrap that stuff in an Optional so you don't forget. Make the runecraft() method conditional, at the moment it is not Other than that, well done - this is great for a first script Apa
  11. You could save a lot on private scripts if you learn to write em yourself.
  12. 1 point
    Just for clarification, you're not expecting 40 runecrafting aswell, are you? Because if so I really don't think 2-3 weeks is possible.
  13. We're going back about 3 years now, so if I remember correctly I believe it was hunter. Though, I'm not too sure. It could have been a number of things. My account could have been watched for a while. I personally believe it was hunter though from what I can remember. I've always had a policy of not running scripts for too long in hot-spot areas. One of my accounts, a pure account I've been working on when I have spare time was actually banned a year ago or more. Though as luck would have it, I managed to get the account back. They detected an IP that wasn't mine on the account, though, I'm not sure how. I guess it was just luck more than anything. The account in question was banned for agility. I left the script running all day accidentally & forgot to put breaks on the profile. I digress, but I'll see if i can find old posts from me getting 99 agility, roughly 2/3 weeks after rooftops was released from botting 24/7.
  14. Is there any chance you can add it so that if there is gems in the inventory, instead of continuing to mine it will deposit them at the same time it deposits the pay-dirt?
  15. Ah... there was no mention of it on the first page (unless I'm blind) so I didn't realise that's all the parameters it needed!
  16. - Yeah, or give a 'drop old weapons' tick box that will bank if its not ticked. - If no banking is selected, theres no reason old weapons can't just sit in the inventory. The fact they don't have banking selected probably means they do not need food or need to lot non-stackable items so it's not hurting anyone. You could have this as an option like point 1. - This is a tough one, for me I would prefer to have them all and upgrade during the training as it'll make a big difference to xp/hr in the long term but I can see reasons why others wouldn't want that, especially with a large xp gap like addy to rune to dragon. CLI support would be great as well, I've had to stop using the script because I'm trying to automate the entire account training progress. Automatic muling, gearing based on account type etc all done so the only step left is training which is one less thing I'd need to program if CLI exists ๐Ÿ˜› I did actually PM you about this but you never read it haha
  17. Hey, can I get a trial
  18. All the features/tasks I added after the script's release need to be remodelled to fit the new script base architecture which I have planned, so expect script stability + performance to increase almost 10 times with this big update. I am going to finish off some features/fixes and then I will be working on the this update. ^^ As for trial, good luck Don't forget to use the plugin for stronghold (top menu in setup window) post some results too!
  19. I was typically at 40% CPU usage but now i'm it's running at a pretty steady 20%.
  20. Dude, how do I buy this? Can't see a buy button anywhere. Thanks while im at it, can I get a trial?
  21. Also would love a trial, thank you!
  22. Hey Czar may I please have a free trial, I have a few of your other scrips! Thank you very much in advance.
  23. Does this script have Shilo Village gem mining support?
  24. v1.17 - fixed the restocking bug that caused the bot to buy the wrong item Examples of this: Bot would buy leaping trout instead of trout or buy raw shark instead of shark.
  25. yeah haha its still going.
  26. Press Control. The list of F-numbers is the list of commands you can use with the script. Did it survive?
  27. i'm looking for the progress too
  28. can i ask you something?, sometimes my Exp. screen dissepears and then i get a list of F-numbers.. how can my Exp stats back.
  29. Any updates on the progress or is this thread dead?
  30. can I get a trial pls, thanks!
  31. That's the problem. If you want to do manual upgrades, you have to add them to the banking loadout, stop the script when you no longer need them and re-set up the banking loadout because guess what happens when it wants to bank and expects that upgraded weapon that is now equipped to be in the inventory/bank? ๐Ÿ˜‰ Hopefully that'll be a non issue with you added in weapon upgrades.
  32. I left this running whilst i was away over the weekend, I didn't set it up to do much, I just let it slaughter chickens, not bad.
  33. Odd you say that I have been using the script for the past couple of days with 20 minute breaks set after every hour and haven't been banned once and im using stun/alch which is way more click extensive you must be doing something wrong. And to be frank I have never been banned using any of Czar's scripts you just have to be smart with it and not bot like other bots and do things other bots do.
  34. hello sir can i have a trial to test it out?
  35. Everything is set up fine, it just withdraws too many earth talismans due to lag or sometimes not. Just need to program it to if it has more than 1 in invent then to bank and withdraw essence? No idea how you would do that but that's why you are the scripter and im not ๐Ÿ˜›
  36. Can i get a trial please
  37. Was the script started outside of a game? Also, which boat? I will run some tests and add another update, thanks for feedback ^^
  38. Hi, Just bought the script. Tried running it but keeps logging me out. Am I doing something wrong? - Edit. NVM I was being stupid. The script is working. Very excited to get dank look. Thanks.
  39. You are using IDs (1530) for finding the fishing spot and IDs always change. Perhaps look for names instead of IDs, change it to something like "getNpcs().closest("Fishing spot")", however I would also check if it has the option 'small net' too, but lumby shrimp doesn't really have any other types of fishing spots so you should be okay. After you get this working I highly recommend taking a look at filters, so you can do something like getNpcs().closest(a -> a.hasOption("random option") && a.getName().equalsIgnoreCase("Fishing spot")); EDIT: You should only ever use IDs as infrequently as possible, with the exception of items, item IDs never change.
  40. 1 point
    Could I have a trial?

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.