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.

Leaderboard

Popular Content

Showing content with the highest reputation on 02/23/16 in all areas

  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. 3 points
    Molly's Thiever This script is designed to quickly and efficiently level your thieving! Check out the features below. Buy HERE Features: - Capable of 200k+ per hour and 30k+ exp/ph on mid-level thieving accounts. - Quickly reaches 38 thieving to get started on those master farmers for ranarr and snap seeds! - Fixes itself if stuck. - Hopping from bot-worlds. - Stun handling so the bot doesn't just continually spam click the npc. - Drops bad seeds if inventory is full at master farmers. - Eats any food at the hp of your choosing. Supports: -Lumbridge men -Varrock tea -Ardougne cake -Ardougne silk -Ardougne fur -Kourend Fruit Stalls -Ardougne/Draynor master farmer -Ardougne/Varrock/Falador guards -Ardougne knight -Ardougne paladin -Ardougne hero -Blackjacking bandits as well as Menaphite thugs, this has limitations, click the spoiler below to see them Setup: Select your option from the drop down menu, it will tell you the location where the target is located. Fill out the gui and hit start. Simple setup! Proggies: Proggy from an acc started at 38 theiving:
  3. 3 points
    1. Find a off-site download of Cinema 4D, I currently have R16 2. Download a 'lightroom' from Youtube or just google "c4d lightroom download" 3. You can use the one I provide here. When you open it up with C4D, your screen should be like: Now since we want some text, go the top menu bar and go to "MoGraph" and click "MoText": To the right, you should see this area when you click on your text: Here you can change the depth (thickness), font, size, spacing, and so forth. Change to whatever font you want and the depth to 40-60. What I have (font is: Big John): To see how it looks (and other quick controls): Now, if we want to add some pizazz, we can add some materials, in the ones you see at the bottom, there is a grand amount of materials to choose from. If you have a few in mind, just drag it into the layer that says "MoText" or you can drag it onto your text: Now we can do a quick render to see if we like it: Could be better but for the sake of showing it, there it is! Now with this light room, do not feel like you have to keep the text in that spot. For example, you want all your text 'jumbled and random', just repeat the above process, you can copy and paste the original motext (ONE LETTER) then paste it for a new letter and scale/rotate to your liking and repeat again. Once satisfied, click the 'full render' button and it will render (give time depending on your system), then right click the title on the right hand side and a box will pop up: MAKE SURE "Alpha Channel" is CHECKED, this will allow the image to be transparent (no background), keep it PNG and 8bits is fine. Keep DPI at 72. Click OK, name your file, and save it where you want. Upload to anywhere, and congrats, u made some bomb ass 3d text. **post help or ideas or explanations if you need any
  4. Decided I would share my solutions for Banking to help beginners as well as to receive critiques to improve my code. Firstly, I typically do two things before I start banking. I generate a list of items that I DON'T want to be deposited (Banking Exceptions) & a list of items that my character will need to withdraw from the bank (Needed Supplies). Here is my method to generate the Deposit Exceptions: public LinkedList<String> getDepositExceptions() { LinkedList<String> neededItems = new LinkedList<String>(); if (Config.enableAttPot){ neededItems.add("Attack potion(4)"); } if (Config.enableStrPot){ neededItems.add("Strength potion(4)"); } if (Config.enableSupAttPot){ neededItems.add("Super attack(4)"); } if (Config.enableSupStrPot){ neededItems.add("Super strength(4)"); } if (Config.enableCombatPot){ neededItems.add("Combat potion(4)"); } neededItems.add("Lobster"); return neededItems; } Explained: So I'm creating a list of items which I do not want to deposit into my bank. This list will be used later when I want to deposit all of the items in my inventory (except for those found in this list). I'm using if statements for some items because the items may not be relevant for all users. This is handy if you have a GUI for your script where not everyone will have the same banking exceptions. Then for items which will be universal for your script (in this example, Lobster) you can simply add them to the list. My method to Deposit All items (with the exception of those found in the getDepositExceptions() method above): public void depositUnwanted() throws InterruptedException{ for (Item i : S.getInventory().getItems()) { if (i != null && !getDepositExceptions().contains(i.getName())) { S.log("Banking: " + i.getName()); i.interact("Deposit-All"); Script.sleep(Script.random(350,500)); } } } Explained: This will simply create a for loop which will look through all the items found in your inventory. If the item isn't an item found in the list generated by getDepositExceptions, it will deposit all of that item. May be beneficial to use a conditional sleep after the deposit instead of my way. My method to generate a list of Needed Supplies: public Entry<String, Integer> getNeededSupplies() { LinkedHashMap<String, Integer> neededItems = new LinkedHashMap<String, Integer>(); if (Config.enableAttPot && (!S.inventory.contains("Attack potion(4)") || (S.getInventory().getAmount("Attack potion(4)") < Config.attAmt) )){ neededItems.put(Constants.ATTACK_B[0], (Config.attAmt - (int) S.getInventory().getAmount("Attack potion(4)"))); } if (Config.enableStrPot && (!S.inventory.contains("Strength potion(4)") || (S.getInventory().getAmount("Strength potion(4)") < Config.strAmt))){ neededItems.put(Constants.STRENGTH_B[0], (Config.strAmt - (int) S.getInventory().getAmount("Strength potion(4)"))); } if (Config.enableSupAttPot && (!S.inventory.contains("Super attack(4)") || (S.getInventory().getAmount("Super attack(4)") < Config.supAttAmt))){ neededItems.put(Constants.SUPER_ATTACK_B[0], (Config.supAttAmt - (int) S.getInventory().getAmount("Super attack(4)"))); } if (Config.enableSupStrPot && (!S.inventory.contains("Super strength(4)") || (S.getInventory().getAmount("Super strength(4)") < Config.supStrAmt))){ neededItems.put(Constants.SUPER_STRENGTH_B[0], (Config.supStrAmt - (int) S.getInventory().getAmount("Super strength(4)"))); } if (Config.enableCombatPot && (!S.inventory.contains("Combat potion(4)") || (S.getInventory().getAmount("Combat potion(4)") < Config.combatAmt))){ neededItems.put(Constants.COMBAT_B[0], (Config.combatAmt - (int) S.getInventory().getAmount("Combat potion(4)"))); } if (S.getInventory().getAmount("Lobster") < Config.foodAmt){ neededItems.put(Config.foodName, (Config.foodAmt - (int) S.getInventory().getAmount("Lobster"))); } final Set<Entry<String, Integer>> values = neededItems.entrySet(); final int maplength = values.size(); final Entry<String, Integer>[] test = new Entry[maplength]; values.toArray(test); if (test.length > 0){ return test[0]; } else return null; } Explained: So here I am creating a Linked Hash Map (From my understanding, this is similar to a List). I've done this so that I can store the Item name & the amount that should be withdrawn in the same grouping to be used for later. This time, it is best to use an if statement for EVERY item because we need to check if your inventory doesn't already contain the item. We're also doing some math to determine the correct amount to withdraw by subtracting the current amount in inventory from the maximum amount you should have. For me, I store the maximum in a Config class which grabs the data from my GUI (IE. config.attAmt) My method for withdrawing item(s): private void withdraw(String itemName, int amt) throws InterruptedException { Item item = this.S.bank.getItem(itemName); if (S.getBank().contains(itemName)) { S.getBank().withdraw(item.getName(), amt); Script.sleep(Script.random(350, 600)); } else { S.log("Ran out of " + itemName + ", stopping."); S.stop(); } } Explained: A simple method with 2 parameters, the name of the item, and the amount to be withdrawn. If the bank contains your item, it will withdraw the amount given. If the bank does not contain your item, it will print into the Logger that you have run out of the item name, and will end your script. Again, it may be useful to add a conditional sleep instead of this random integer sleep. My method to open the nearest bank: private void openBank() throws InterruptedException { S.getBank().open(); new ConditionalSleep(5000) { @Override public boolean condition() throws InterruptedException { return S.getBank().isOpen(); } }.sleep(); S.log("Banking"); } Explained: Will simply open the nearest bank, and have a 5-second conditional sleep which will wait 5 seconds if the bank is not open, or will cut the sleep off short when it sees that the bank is, in fact, open. Putting it all together: if (S.getBank() != null) { if (!S.getBank().isOpen()) openBank(); else { //Deposits all items except bank exceptions for (Item i : S.getInventory().getItems()) { if (i != null && !getDepositExceptions().contains(i.getName())) { S.log("Banking: " + i.getName()); i.interact("Deposit-All"); Script.sleep(Script.random(350,500)); } } if (getNeededSupplies() != null){ S.log("Need to withdraw: " + getNeededSupplies().getKey() + ", " + getNeededSupplies().getValue() ); //.getKey() will return our LinkedHashMap String / itemName //& .getValue() will return our Integer / Amount to withdraw withdraw(getNeededSupplies().getKey(), getNeededSupplies().getValue()); } } } Explained: This is essentially a fully working Banking Class now. It will open the nearest bank if it's not already open. Then it will deposit all the items found in the inventory which aren't needed / desired. Then it will withdraw all of the items / supplies which will be needed for the task. Hopefully, this is useful to you guys. I'm looking to improve my knowledge as well so if you see anything in this thread that can be optimized / improved, I would love to hear it!
  5. \ added dynamic sig 03/19/16 Current active testers: rk9 progamerz piamia lukey372 dutchxxje gojordygo Progress pictures Core Osbot Web walker w/ Conditional Walking (Low health, etc) Anti-Ban Randomized Actions (Randomized eating etc.) Mirror Mode Support Range/Magic/Melee Support World Hopping Dragons [Started | Done | Not Done] Features Mirror client support Supports shortcut for those with >=70 agility Supports dusty key Safe spot support for those who use magic/ranged Eats any food selected Potion support - attack, strength, super attack & super strength, ranging Antifire potion support Special attack support (Dragon Scimitar, dragon longsword, whip) Object handling (climbing wall, ladder, gates) Loots dragon bones, Dragon hide, Ranarr Weed, Rune items, Ores, Equipment, Runes, Clue scrolls + Rare table World hopping - hopping world when there are more than X players at dragon locations or safespot! Randomly attacking new dragon before looting (ANTI-PATTERN) Camera movements while fighting dragons (ANTI-PATTERN) Random mouse movements while fighting dragons (ANTI-PATTERN) Randomly examining other players (ANTI-PATTERN) Randomly Eats At # w/ Randomizer (ANTI-PATTERN) Instructions GUI Update log
  6. My trial ran out.
  7. 2 points
    M8 work on less cheese and more meat.
  8. 2 points
  9. 2 points
    whats up with the S on the far right
  10. efficient & flawless Link: Script now live: Here Features Bypasses Jagex's camera movement bot trap. new! Uses ESC key to close the interface new! Uses the higher xp method (aligns the camera to the target so it closes the menu when it pops up) NEVER gets in combat, 'tower' method of getting out of combat isn't even there (deliberately). Logs out when no money left Equips bronze arrows when necessary Displays 'goal' information, e.g. (at 77 range it will also show details for 80 range, time left, xp left, etc) Automatically equips higher level gear such as d'hide chaps and vambs Runs away just in case of emergency! ................................................................................................................................ With the bots on OSBot, Czar promises to deliver yet another incredible piece to the CzarBot empire. This means you will get to run the script with no worries about bans and xp waste. LEGENDARY HALL OF FAME 100 hour progress report Configuring the bot and the result: Set the npc attack option to 'Hidden' if you want to avoid deaths forever! For extra XP FAQ Why should I use this script when there are millions out there? It is the best script. Simply. Why are you releasing this now? It's time to make it public, it was privately shared with some friends and has been working flawlessly. Instructions There are no instructions. We do the all the work for you. CzarScriptingโ„ข Tips If you are low level, you can use a ranging potion at level 33 ranged to get in the ranging guild. Try and have as high ranged bonus as possible. Gallery ANOTHER 1M TICKETS GAINED !!
  11. I have found one small bug with Falconry, not a big deal. Went ahead and patched it and released a version 1.2.
  12. 1 point
    I've asked multiple designers and they liked my work. 1, it is not too cracked. 2, I clearly mentioned that my smoke isn't the best nor my animating skills when it comes to animating smoke. In fact I'm still a beginner with animations :p 3, I checked your work and I will admit that ur work is pretty average. I don't feel appealed by it. Note: If that is how you really feel, then okay that is your opinion tbh. Thank you.
  13. Yes just select zombies (and their combat level) and the appropriate location and it will kill them ;) Also, the update should be live now, let me know how it goes If anything goes wrong, I will revert back to the last version so everything goes back to normal. But I had no problems testing goblins, rats etc. on floor 1 :P
  14. I hadn't touched the script since I reported this a month ago, as you didn't respond. I'll try it soon and report back.
  15. Would it be worth implimenting an option to hop worlds when someone is using a cannon? Or does it not effect XP drastically enough to warrant doing so? I have the script and it's working flawlessly btw
  16. 1 point
    Hey m8 was wondering if I could get a free trial plox XD?
  17. 1 point
    al kharid style xdd nice btw
  18. 1 point
    Nice dude, maybe as some glows to it?
  19. 1 point
    Don't know why but looks something like a youtube video intro
  20. I have to say your code is very readable and the presentation of your question makes it fun to answer it. A few tips: Config.enableCombatPot) Avoid using static variables to store configuration or instance-specific state values, when running multiple instances of the same script the last launched script's values will override the values of all older instances. Create a configuration file for each script instance. http://stackoverflow.com/questions/413898/what-does-the-static-keyword-do-in-a-class getDepositExceptions().contains(i.getName()) A small tip: "contains" tends to be less efficient than "starts with" or even "equals". https://docs.oracle.com/javase/tutorial/java/data/comparestrings.html i.interact("Deposit-All"); Script.sleep(Script.random(350,500)); Sadly enough, interactions do fail sometimes, you sleep should be conditioned by the success of the triggering interaction. if(interact()) { sleep(); } Not a big deal though. getNeededSupplies() This method contains the least elegant code of the snippet, it would greatly benefit from some struct magic. ... Init Supply lobster = new Supply("Lobster", 15); Supply attackPotion = new Supply("Attack potion(3)", 1); List<Supply> supplies = new ArrayList(); ... Feed list supplies.add(lobster); supplies.add(attackPotion); ... In bank for each(Supply s; supplies) if(s.shouldRestock()) getBank().withdraw(s.getName(), s.calculateRestockValue()); Your map solution works, but there's so much duplicate code that it could become hard to maintain after a while.
  21. If you are happy to accept something with lower combat stats... I have a fully quested main with torso Firecape void range with melee helm dragon defender Lunar /DT / Regicide / Kings ransom etc completed 71 att 80 str 70 def 70 pray 75 hp 71 range 94 Mage Not sure if this interests you, basically everything done just needs melee training up to desired stats Pm me if interested
  22. dont bot agility its high ban rate i always get a 2 day ban when i bot it
  23. would you give me a trial?
  24. 1 point
    possible for 24h tryout?
  25. I was diagnosed this past fall
  26. very nice script just bought it . i think u should make some hunter and farming scripts. people really need these Glory to Khaleesi !!!!!
  27. OP when my post gets more likes than his joke:
  28. Philadelphia Eagles obviously. finnaly got rid of chip kellys faggot ass
  29. Thanks god! Glad to read that... I will try without registration.
  30. 1 point
    I'm not sure how he "got you dced". But as I see the situation we cannot prove you took anything from his account. You however did lie about logging in, in the picture you state "I need to log out and in again", then later claim you hadn't logged in. Looks to me like a scam attempt gone wrong due to authenticator therefore I'm putting you on TWC.
  31. Version 0.81 - Waterbirth is now re-introduced to this bot, good luck all please allow a few hours for this update to be registered Waterbirth rock crabs is now being sold as a separate bot. All users who own this bot can have it for free. I am forced to do this unfortunately, I must release it as a separate bot completely due to the market.

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.