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 12/09/18 in all areas

  1. Hey, This release is a quick bug fix for tutorial island tab opening API CHANGES: - Added Character#getAnimationSpot() FIXES: - Fixed tabs not opening on tutorial island WEB WALKER: - Added support for fairy rings - The OSBot Team
  2. Hey, This update brings the following changes, on top of the dev build 2.5.29 : API CHANGES: - Added Tabs#open(Tab tab, boolean useBind). useBind true will attempt to use the key bound to the tab to open it, but will use the mouse if no key is bound. - Added Projectiles#targeted(Character target) - Added Client#getAccountType(). This can be used to check for ironman status FIXES: - Fixed the bot freezing during the loading process - Fixed the bot crashing when trying to close a tab - Fixed item depositing on the bank on resizable mode - Fixed the login handler for resizable - Fixed a bug where inventory items weren't loaded on resizable after a relog. - Fixed charter links in the webwalker - Fixed a bug with GrandExchange#buyItem where it would spam type the name of the item - Fixed a crash when trying to use a shop with only 1 item in stock - Fixed a crash in Tabs#open() when no tabs are visible WEB WALKER: - Added royal seed pod support - Added burning amulet support MISC: - Improved memory usage - Added a new Config Debugger to more easily debug configs - Updated the Quest list to support the latest quests - The OSBot Team
  3. as i got my 100 feedback today and christmas is coming i will be giving away 5 proxies which can be used for 30 days. the proxies will be bought when the winners are rolled. winners will be picked by a random picker. winners will be picked 16 december
  4. ────────────── PREMIUM SUITE ────────────── ─────────────── FREE / VIP+ ─────────────── ──────────────────────────────────────────────────────────── ⌠ Sand crabs - $4,99 | Rooftop Agility - $5,99 | AIO Smither - $4,99 | AIO Cooker - $3,99 | Unicow Killer - £3,99 | Chest Thiever - £2,99 | Rock crabs - $4,99 | Rune Sudoku - $9,99 ⌡ ⌠ AIO Herblore - FREE & OPEN-SOURCE | Auto Alcher - FREE | Den Cooker - FREE | Gilded Altar - FREE | AIO Miner - VIP+ ⌡ ──────────────────────────────────── What is a trial? A trial is a chance for you to give any of my scripts a test run. After following the instructions below, you will receive unrestricted access to the respective script for 24 hours starting when the trial is assigned. Your trial request will be processed when I log in. The trial lasts for 24 hours to cater for time zones, such that no matter when I start the trial, you should still get a chance to use the script. Rules: Only 1 trial per user per script. How to get a trial: 'Like' this thread AND the corresponding script thread using the button at the bottom right of the original post. Reply to this thread with the name of the script you would like a trial for. Your request will be processed as soon as I log in. If i'm taking a while, i'm probably asleep! Check back in the morning Once I process your request, you will have the script in your collection (just like any other SDN script) for 24 hours. Private scripts: Unfortunately I do not currently offer private scripts. ________________________________________ Thanks in advance and enjoy your trial! -Apaec.
  5. 👑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
  6. View in store $5.99 for lifetime access _____________________________________________________________ Key Features: Progressive mode - The script will traverse the xp-optimum course for your current level; walking to the next course as your level increases. Reliability - The script was developed and rigidly tested with superior reliability in mind. Human replication - Designed around human simulation - behaviour tuned to replicate common rooftop play styles. Alching / Magic Imbue - The script can be configured to High/Low Alch items, or cast Magic Imbue as it traverses the course. Target system - Can be optionally configured with a target. Once this target is achieved, the script will stop. Available targets (variable λ): Stop when λ agility exp gained. Stop when agility level λ reached. Stop when λ magic exp gained. Stop when magic level λ reached. Stop when λ minutes passed. Healing - The script will consume edible items in your inventory to restore health, stopping if you run out of food. Mark of Grace looting - All marks of grace are looted while the script traverses the rooftop. Randomisation - All thresholds (including but not limited to Run energy and Critical Hp) are dynamically randomised. Energy restoration - The script will consume energy restoring items/potions when needed, provided they are available in the inventory. Web-Walking - The script utilises the OSBot Web to navigate the OSRS map, meaning it can be started from almost anywhere. Course detection - If you are on/near a rooftop course before setup, the course will automatically be loaded into the GUI. Error correction - The script will detect when it has made a mistake (e.g. climbed ladder in seers' bank) and will attempt to return to the course. ...and many more! Supported Rooftops: (Level 10) Draynor ✓ (Level 20) Al-Kharid ✓ (Level 30) Varrock ✓ (Level 40) Canifis ✓ (Level 50) Falador ✓ (Level 60) Seers' Village ✓ (Level 70) Pollnivneach ✓ (Level 80) Rellekka ✓ (Level 90) Ardougne ✓ Things to consider before trying/buying: Avoiding bans - while I have done my utmost to make the script move and behave naturally, bans do occasionally happen, albeit rarely. To minimise your chances of receiving a ban, I would strongly suggest reviewing this thread written by the lead content developer of OSBot. If you take on board the advice given in that thread and run sensible botting periods with generous breaks, you should be fine. That being said, please keep in mind that botting is against the Oldschool Runescape game rules, thus your account will never be completely safe and you use this software at your own risk. Web-walking - alongside a network of paths, the script moves around with the OSBot web-walking system, using it when in unknown territory. While it has proven very reliable, there are naturally some areas for which the web-walker may struggle. As a result, prior to starting the script, I would strongly recommend manually navigating your player to/close to the desired rooftop course. Progressive mode - the script features 'Progressive mode' which will cause the script to advance rooftop courses as you level up. Progressive mode relies on the aforementioned web-walking system for inter-rooftop navigation. Consequently, I would highly recommend monitoring the script as it traverses between courses to ensure the web-walking process correctly executes. Healing & Energy restoration - the script will automatically heal or restore run energy when needed. It will do so by consuming items in the inventory - this script will not bank. For optimal exp rates, I would strongly suggest keeping energy restoring items in the inventory (energy/super energy/stamina/fruits/summer pies/purple sweets/...). To prevent the script stopping prematurely, bring a few bites of food along. Using magic - The script supports the periodic casting of a magic spell while traversing a course to maximise experience rates. To determine whether or not you can cast a spell, the script checks your magic level as well as which runes are in your inventory and which stave you have equipped (if any). It is worth noting that, at this time, the script does not recognise any of the following items as rune sources, so avoid using them while running this script: Bryophyta's Staff, Tome of Fire, Rune Pouch. Script trials: I believe that trying a script before buying is paramount. After trying the script, hopefully you will be convinced to get a copy for yourself, but if not you will have gained some precious agility experience! If you're interested in a trial, please follow the instructions on my trials thread which can be found here. Gallery: Review (by Eduardino): Start up GUI (Graphical User Interface): Paint (optional, movable and self-generating): User screenshots: Testimonials:
  7. WOOP WOOP - We Have 8 WINNERS! @Icebot - Firecape (Main Account) @Nintendo Switch - Bond (Received - http://prntscr.com/lsr7ns) @GeneralMayor - Bond @totes - NMZ Quest Pack @Sp00ns - Bond @kazemaru - Firecape (Pure Account - Can be substituted for Main/Zerker) @jesenican - Bond (Received) @KevinOG - Bond (Received - http://prntscr.com/lt1cv5) https://gyazo.com/068e5cccf2e67d8bf38c5a48e67da35b (Picking of the Winning Names) https://gyazo.com/f515a4b43addc0b1cfa39fca58fe7628 (Picking Order of the Prizes) P.S. Banned Users were not part of the Giveaway. How I worked this out - All Names were inputted into an Online Contest Picker and 8 Winners were made to be chosen Randomly. According to how they were chosen they were given a Number from 1 to 8. I then listed all the 8 Prizes Randomly in another Pick and were assigned to the Winners in the Order they were brought up. If you watch the Gyazo Gif's you'll understand what I mean easily How to Claim Your Reward! Message me from the WINNING OSBOT Account (I'm sorry I will not accept any requests from other accounts saying "Hey it's me "X", I can't access the winning account". Message Subject has to be - CHRISTMAS Giveaway (For the sake of helping me sort through my Messages easily)
  8. 2 points
    @Aguero Do as you please and don't let these guys bother you. YOU set your own terms and if no one applies then you can always adjust
  9. 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.
  10. First of all let me start by saying this has been long overdue. I recently got promoted at work, furthermore increasing my workload hence my lurking now and then but not really contributing/being active. Currently I work as a network administrator in a Psychiatric Hospital for a world-wide organisation (+/- 12 hospitals alone in Belgium). Bought a house with my girlfriend and we got a renovation loan as well, totaling to around €400k in a mortgage @ 1.85% for 25y, feel free to do the math :]. I then unfortunately had my car break down (Volvo V50 1.6D - rip), so I had to get a new one in order to be able to still go to work, get the groceries, do my hobbies… I went over to several dealers, and eventually bought a brand new Volkswagen T-Roc, which is roughly another €25K “down the drain”. The last few months, May – December, have been really exciting, but also had me under a lot of stress. Being able to pay the bills (I taught myself a lot of budgeting), longer hours at work, visiting each and every contractor several times to get the most out of our budget, handling delays, … TL:DR = Got promoted at work, bought a house and going to renovate it, bought a new car, all this resulting in me not having any time to write this, nor post this, hence my lurking... I am planning on becoming an active part of this community again, in the near future, so expect me back soon™. If you have any questions you would like me to answer, shoot!
  11. If you wish to get in contact with me, please use any of the following: My discord: Tony.#9649 Please ask for an Osbot PM to verify my identity if you are unsure. Worker: @leony @GodChild Please note there is a 10% fee for collecting items and ironman orders ~~Questing Prices~~ ~~Skilling/Powerleveling Prices~~ ~~Minigames/Quest Packages/Tut Services/Account Builds/Defenders~~ Terms of Service - You will provide everything needed for the service. When ordering with my service, you agree that you will remove all unneeded wealth. Upon failure to remove (unless given a valid reason) myself and my workers are not responsible for any "possible" loss of anything due to the nature of not knowing if you have removed it by default. You will pay upfront for your work, or a middleman will be used at your expense. I have the right to decline any orders. If I am unable to complete a service, you will be refunded for what is left. Any bans/mutes to the account(s) whilst doing services are not my responsibility. You will not log in whilst a service is being done, unless told you can. You will feedback upon completion of your order. Please note, OSbots TOS also comes into affect - Credit to @Dbuffedfor the TOS Credit to @Hope for the packages
  12. Christmas is right around the corner! I have been blessed to have been welcomed into such a warm community. For such a warm welcome and a bit of a celebration of my recent Scripter status, I would like to give back to you guys by giving away a simple private script to one lucky winner! To enter, just comment below! Say anything you'd like and LIKE THE POST I will enter everyone into an IDE with their own number and I will roll a random number based on how many people are entered in the giveaway. If you are the lucky winner of this giveaway we will have to reach an agreement to the script you'd like me to write. I will offer you 3 months of maintenance on this script. The script will be your choice, but again, agreed upon. The roll takes place Christmas Day at 2pm PST!
  13. Hi, just finished up my first script, looking for feedback on how I can improve. It completes Cooks Assistant and also the baking break achievement diary. Should be able to start from any point in the quest. Big shout-out to @The Viking for his Timing class! Also @Explv for the area map, extremely helpful. import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.ui.RS2Widget; import org.osbot.rs07.script.MethodProvider; public class Helper { private MethodProvider provider; public Helper(MethodProvider p) { provider = p; } public RS2Widget cooksAssistant() { return provider.getWidgets().get(399, 9, 1); } public RS2Widget progressPage() { return provider.getWidgets().get(119, 3); } public RS2Widget dialogBoxCook() { return provider.getWidgets().get(231, 2); } public RS2Widget dialogBoxMe() { return provider.getWidgets().get(217, 2); } public RS2Widget optionOne() { return provider.getWidgets().get(219, 1, 1); } public RS2Widget lineMilk() { return provider.getWidgets().get(119, 7); } public RS2Widget lineFlour() { return provider.getWidgets().get(119, 8); } public RS2Widget lineEgg() { return provider.getWidgets().get(119, 9); } public RS2Widget lumbyDiary() { return provider.getWidgets().get(259, 10, 83); } public RS2Widget achievementDiary() { return provider.getWidgets().get(399, 3); } public RS2Widget cookBreadAchievement() { return provider.getWidgets().get(119, 18); } public RS2Widget breadOption() { return provider.getWidgets().get(270, 14, 29); } public NPC cook() { return provider.getNpcs().closest(4626); } public RS2Object cow() { return provider.getObjects().closest(8689); } public RS2Object wheat() { return provider.getObjects().closest("Wheat"); } public RS2Object hopper() { return provider.getObjects().closest("Hopper"); } public RS2Object lever() { return provider.getObjects().closest("Hopper controls"); } public RS2Object flourBin() { return provider.getObjects().closest("Flour bin"); } public RS2Object range() { return provider.getObjects().closest("Cooking range"); } public RS2Object sink() { return provider.getObjects().closest("Sink"); } } import org.osbot.rs07.api.Quests; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.ui.*; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; @ScriptManifest(info = "Cooks assistant", version = 1.0, logo = "", name = "Cooks assistant", author = "Matt") public class Main extends Script { enum Progress { unsure, needToStart, needToGetMilk, needToGetFlour, needToGetEgg, needToGiveMilk, needToGiveFlour, needToGiveEgg, needToTalk, doDiary, bakeBread, completed } enum FlourProgress { getGrain, putInHopper, pullLever, getFlour } public Progress progress = null; public FlourProgress flourProgress = null; public GroundItem tempitem = null; public int tempint = 0; public Helper helper = null; public final Area startArea = new Area(3205, 3217, 3212, 3212); public final Area bucketArea = new Area(3211, 9624, 3216, 9620); public final Area eggArea = new Area(3227, 3301, 3233, 3296); public final Area milkArea = new Area( new int[][]{ { 3251, 3278 }, { 3251, 3274 }, { 3254, 3271 }, { 3256, 3271 }, { 3256, 3278 } } ); public final Area flourArea = new Area( new int[][]{ { 3157, 3295 }, { 3162, 3290 }, { 3164, 3292 }, { 3164, 3295 } } ); public final Area hopperArea = new Area( new int[][]{ { 3166, 3311 }, { 3168, 3311 }, { 3171, 3308 }, { 3171, 3306 }, { 3168, 3303 }, { 3166, 3303 }, { 3163, 3306 }, { 3163, 3308 } } ); public boolean isAtStart() { return startArea.contains(myPlayer()); } public boolean isAtBucketArea() { return bucketArea.contains(myPlayer()); } public boolean isAtEggArea() { return eggArea.contains(myPlayer()); } public boolean isAtMilkArea() { return milkArea.contains(myPlayer()); } public boolean isAtFlourArea() { return flourArea.contains(myPlayer()); } public boolean isAtHopperArea(int plane) { return hopperArea.setPlane(plane).contains(myPlayer()); } public boolean isReady(int pots, int buckets, int eggs) { return inventory.getAmount("Pot") >= pots && inventory.getAmount("Bucket") >= buckets && inventory.getAmount("Egg") >= eggs; } public void getPot() { if (!isAtStart()) { walking.webWalk(startArea); } else if ((tempitem = getGroundItems().closest("Pot")) != null) { tempint = getInventory().getEmptySlotCount(); tempitem.interact("Take"); Timing.waitCondition(() -> getInventory().getEmptySlotCount() < tempint, 3000); } } public void getBucket() { if (!isAtBucketArea()) { walking.webWalk(bucketArea); } else if ((tempitem = getGroundItems().closest("Bucket")) != null) { tempint = getInventory().getEmptySlotCount(); tempitem.interact("Take"); Timing.waitCondition(() -> getInventory().getEmptySlotCount() < tempint, 3000); } } public void getEgg() { if (!isAtEggArea()) { walking.webWalk(eggArea); } else if ((tempitem = getGroundItems().closest("Egg")) != null) { tempint = getInventory().getEmptySlotCount(); tempitem.interact("Take"); Timing.waitCondition(() -> getInventory().getEmptySlotCount() < tempint, 3000); } } public void getMilk() { if (!isReady(0, (int)(1 - inventory.getAmount("Bucket of milk")), 0)) { getSupplies(0, (int)(1 - inventory.getAmount("Bucket of milk")), 0); } else if (!isAtMilkArea()) { walking.webWalk(milkArea); } else if (helper.cow() != null) { tempint = (int) inventory.getAmount("Bucket of milk"); helper.cow().interact("Milk"); Timing.waitCondition(() -> inventory.getAmount("Bucket of milk") > tempint, 10000); } } public void getFlour(int count) { if (!isReady((int)(count - inventory.getAmount("Pot of flour")), 0, 0)) { getSupplies((int)(count - inventory.getAmount("Pot of flour")), 0, 0); } else if (flourProgress == null) { flourProgress = FlourProgress.getGrain; } switch (flourProgress) { case getGrain: if (inventory.getAmount("Grain") >= count - inventory.getAmount("Pot of flour")) { flourProgress = FlourProgress.putInHopper; } else if (!isAtFlourArea()) { walking.webWalk(flourArea); } else if (helper.wheat() != null) { tempint = (int) inventory.getAmount("Grain"); helper.wheat().interact("Pick"); Timing.waitCondition(() -> inventory.getAmount("Grain") > tempint, 3000); } break; case putInHopper: if (!isAtHopperArea(2)) { walking.webWalk(hopperArea.setPlane(2)); } else if (helper.hopper() != null && inventory.getItem("Grain").interact("Use")) { tempint = (int) inventory.getAmount("Grain"); helper.hopper().interact("Use"); Timing.waitCondition(() -> inventory.getAmount("Grain") < tempint && !myPlayer().isAnimating(), 5000); Timing.waitCondition(() -> false, 2000); flourProgress = FlourProgress.pullLever; } break; case pullLever: if (!isAtHopperArea(2)) { walking.webWalk(hopperArea.setPlane(2)); } else if (helper.lever() != null && helper.lever().interact("Operate")) { Timing.waitCondition(() -> !myPlayer().isMoving() && myPlayer().isAnimating(), 3000); flourProgress = FlourProgress.getFlour; } break; case getFlour: if (!isAtHopperArea(0)) { walking.webWalk(hopperArea.setPlane(0)); } else if (helper.flourBin() != null) { tempint = (int) inventory.getAmount("Pot of flour"); helper.flourBin().interact("Empty"); Timing.waitCondition(() -> inventory.getAmount("Pot of flour") > tempint, 3000); flourProgress = null; } break; } } public void getSupplies(int pots, int buckets, int eggs) { log("getting supplies"); if (inventory.getAmount("Pot") < pots) { getPot(); } else if (inventory.getAmount("Bucket") < buckets) { getBucket(); } else if (inventory.getAmount("Egg") < eggs) { getEgg(); } } @Override public void onStart() throws InterruptedException { log("Starting"); progress = Progress.unsure; helper = new Helper(this); } @Override public int onLoop() throws InterruptedException { log(progress); switch (progress) { case unsure: if (getQuests().isComplete(Quests.Quest.COOKS_ASSISTANT)) { progress = Progress.doDiary; } else if (!getQuests().isStarted(Quests.Quest.COOKS_ASSISTANT) && !getQuests().isComplete(Quests.Quest.COOKS_ASSISTANT)) { progress = Progress.needToStart; } else if (!getTabs().isOpen(Tab.QUEST) && getTabs().open(Tab.QUEST)) { Timing.waitCondition(() -> getTabs().isOpen(Tab.QUEST), 2000); } else if (helper.progressPage() == null) { helper.cooksAssistant().interact("Read Journal:"); Timing.waitCondition(() -> helper.progressPage() != null, 2000); } else if (helper.lineMilk() != null && helper.lineMilk().getMessage().contains("I need to find")) { progress = Progress.needToGetMilk; } else if (helper.lineMilk() != null && helper.lineMilk().getMessage().contains("give to the cook")) { progress = inventory.getAmount("Bucket of milk") < 2 ? Progress.needToGetMilk : Progress.needToGiveMilk; } else if (helper.lineFlour() != null && helper.lineFlour().getMessage().contains("I need to find")) { progress = Progress.needToGetFlour; } else if (helper.lineFlour() != null && helper.lineFlour().getMessage().contains("give to the cook")) { progress = inventory.getAmount("Pot of flour") < 2 ? Progress.needToGetFlour : Progress.needToGiveFlour; } else if (helper.lineEgg() != null && helper.lineEgg().getMessage().contains("I need to find")) { progress = Progress.needToGetEgg; } else if (helper.lineEgg() != null && helper.lineEgg().getMessage().contains("give to the cook")) { progress = Progress.needToGiveEgg; } else if (helper.lineMilk() != null && helper.lineFlour() != null && helper.lineEgg() != null && helper.lineMilk().getMessage().contains("I have given") && helper.lineFlour().getMessage().contains("I have given") && helper.lineEgg().getMessage().contains("I have given")) { progress = Progress.needToTalk; } break; case needToStart: if (!isAtStart()) { walking.webWalk(startArea); } else if (!getDialogues().inDialogue() && helper.cook() != null) { helper.cook().interact("Talk-to"); Timing.waitCondition(() -> getDialogues().inDialogue(), 3000); } else if ((helper.dialogBoxCook() != null && helper.dialogBoxCook().getMessage().equals("Cook")) || (helper.dialogBoxMe() != null && helper.dialogBoxMe().getMessage().equals(myPlayer().getName()))) { getKeyboard().pressKey(32); } else if (helper.optionOne() != null && helper.optionOne().getMessage().equals("What's wrong?")) { getDialogues().selectOption("What's wrong?"); } else if (helper.optionOne() != null && helper.optionOne().getMessage().equals("I'm always happy to help a cook in distress.")) { getDialogues().selectOption("I'm always happy to help a cook in distress."); Timing.waitCondition(() -> getQuests().isStarted(Quests.Quest.COOKS_ASSISTANT), 2000); progress = Progress.needToGetMilk; } break; case needToGetMilk: if (inventory.getAmount("Bucket of milk") < 2) { getMilk(); } else { progress = Progress.needToGiveMilk; } break; case needToGiveMilk: if (inventory.getAmount("Bucket of milk") < 2) { progress = Progress.unsure; } else if (!isAtStart()) { walking.webWalk(startArea); } else if (!getDialogues().inDialogue() && helper.cook() != null) { helper.cook().interact("Talk-to"); } else if ((helper.dialogBoxCook() != null && helper.dialogBoxCook().getMessage().equals("Cook")) || (helper.dialogBoxMe() != null && helper.dialogBoxMe().getMessage().equals(myPlayer().getName()))) { getKeyboard().pressKey(32); } break; case needToGetFlour: if (inventory.getAmount("Pot of flour") < 2) { getFlour(2); } else { progress = Progress.needToGiveFlour; } break; case needToGiveFlour: if (inventory.getAmount("Pot of flour") < 2) { progress = Progress.unsure; } else if (!isAtStart()) { walking.webWalk(startArea); } else if (!getDialogues().inDialogue() && helper.cook() != null) { helper.cook().interact("Talk-to"); } else if ((helper.dialogBoxCook() != null && helper.dialogBoxCook().getMessage().equals("Cook")) || (helper.dialogBoxMe() != null && helper.dialogBoxMe().getMessage().equals(myPlayer().getName()))) { getKeyboard().pressKey(32); } break; case needToGetEgg: if (!isReady(0, 0, 1)) { getEgg(); } else { progress = Progress.needToGiveEgg; } break; case needToGiveEgg: if (!getInventory().contains("Egg")) { progress = Progress.unsure; } else if (!isAtStart()) { walking.webWalk(startArea); } else if (!getDialogues().inDialogue() && helper.cook() != null) { helper.cook().interact("Talk-to"); } else if ((helper.dialogBoxCook() != null && helper.dialogBoxCook().getMessage().equals("Cook")) || (helper.dialogBoxMe() != null && helper.dialogBoxMe().getMessage().equals(myPlayer().getName()))) { getKeyboard().pressKey(32); } break; case needToTalk: if (getQuests().isComplete(Quests.Quest.COOKS_ASSISTANT)) { progress = Progress.doDiary; } else if (!isAtStart()) { walking.webWalk(startArea); } else if (!getDialogues().inDialogue() && helper.cook() != null) { helper.cook().interact("Talk-to"); } else if ((helper.dialogBoxCook() != null && helper.dialogBoxCook().getMessage().equals("Cook")) || (helper.dialogBoxMe() != null && helper.dialogBoxMe().getMessage().equals(myPlayer().getName()))) { getKeyboard().pressKey(32); } break; case doDiary: if (!getWorlds().isMembersWorld()) { log("Not on members world, cannot complete achievement diary"); progress = Progress.completed; } else if (helper.progressPage() == null && !getTabs().isOpen(Tab.QUEST) && getTabs().open(Tab.QUEST)) { Timing.waitCondition(() -> getTabs().isOpen(Tab.QUEST), 2000); } else if (helper.progressPage() == null && helper.lumbyDiary() == null && helper.achievementDiary() != null) { helper.achievementDiary().interact("View Achievement Diaries"); } else if (helper.progressPage() == null) { helper.lumbyDiary().interact("Open Lumbridge & Draynor Journal"); Timing.waitCondition(() -> helper.progressPage() != null, 2000); } else if (helper.cookBreadAchievement() != null) { progress = helper.cookBreadAchievement().getMessage().contains("<str>") ? Progress.completed : Progress.bakeBread; } break; case bakeBread: if (!getInventory().contains("Bread dough") && !getInventory().contains("Bucket of water") && !getInventory().contains("Bucket")) { getSupplies(0, 1, 0); } else if (!getInventory().contains("Bread dough") && !getInventory().contains("Pot of flour")) { getFlour(1); } else if (!isAtStart()) { walking.webWalk(startArea); } else if (!getInventory().contains("Bread dough") && !getInventory().contains("Bucket of water") && helper.sink() != null) { inventory.getItem("Bucket").interact("Use"); tempint = (int) inventory.getAmount("Bucket"); helper.sink().interact("Use"); Timing.waitCondition(() -> inventory.getAmount("Bucket") < tempint, 5000); } else if (!getInventory().contains("Bread dough") && helper.breadOption() == null) { inventory.getItem("Bucket of water").interact("Use"); tempint = (int) inventory.getAmount("Bread dough"); inventory.getItem("Pot of flour").interact("Use"); Timing.waitCondition(() -> helper.breadOption() != null, 2000); } else if (!getInventory().contains("Bread dough") && helper.breadOption() != null) { helper.breadOption().interact("Make"); } else if (!getInventory().contains("Break") && helper.range() != null && !helper.range().isVisible()) { walking.walk(new Area(3210, 3216, 3211, 3215)); } else if (!getInventory().contains("Break") && helper.range() != null) { inventory.getItem("Bread dough").interact("Use"); tempint = (int) inventory.getAmount("Bread"); helper.range().interact("Use"); if (Timing.waitCondition(() -> inventory.getAmount("Bread") > tempint, 7000)) { progress = Progress.completed; } } break; case completed: log(getWidgets().get(119, 6).getMessage()); log("Completed quest"); stop(false); break; } return 600; } }
  14. Dear Community, It's the Season to be Jolly! Something I'd like to say, but this will not be a negative post I promise! I know that I've done bad shit in the past, and have hurt many members due to my irresponsible actions, however as can be seen evidently, I'm here with all my debts paid and am doing good things in the Service Section in the Community. My Motive for doing this giveaway is not to Attract People, Show-off Wealth, or anything of the sort, but my main purpose was to celebrate Christmas with you all but most importantly GIVE BACK to those around Jolly good fun! So that's included? - 5 Bonds - 1 Free Main Firecape - 1 Free Pure Firecape - 1 NMZ Quest Pack (Quests Only - Lost City, Grand Tree, Vamp Slayer, Mountain Daughter, Fight Arena + Rock Cake) How to Win? 1. Like this Post 2. Leave a comment describing a typical day in Christmas for you 3. Pray for Good RNG (?) Winners will be Selected on the 8th of December which happens to be a Saturday! ????????????????????????????????
  15. Congrats on your first script, good job As for feed back: That Helper class should not exist, it doesn't add any benefit. You should just make the getWidgets() and getObjects() calls in the "Main" class Don't use IDs for widgets, the IDs can change and then your script will break. You should find the widgets based on text, actions etc. Your functions like isAtBucketArea don't really add anything, it's just as clear to read milkArea.contains(myPlayer()) You should use configs for quests rather than using your Progress enum and setting after each completed task You should only sleep if an interaction is successful, for example if (blah.interact()) { sleep } tempitem variable should be removed, just create a local variable when required If you follow the above advice your script will be far more succinct and maintainable.
  16. is there any particular reason we should buy a magic only account from you for the same price we could get a mage+range zulrah account serviced?
  17. Script updated to V2.43: - Added a checkbox to disable painting models Should be online soon I assume using abyss? Enjoy
  18. Bought your script, so far so good. Could you add some antiban features like checking stats and stuff? Thanks.
  19. No scam occurred so it doesnt warrant a negative feedback. Removed.
  20. Nothing else you can do. Scripts already use a very small amount of cpu. Most of your cpu usage comes from simply running the game. Or by performance you meant having more fps instead of lowering cpu usage?
  21. 1 point
    You need to talk to Drezel one more time to be able to pass the portal to Morytania.
  22. One was about a year old found it saved in some notepad, and the other was about 2 weeks old. yr old acc botted for 2 weeks, the other only a day lol.
  23. Jagex bans in waves. Most bans occur between 3am-8am eastern time. Most bans all come at the same time. It's a group thing, not an individual thing. The bot detection detects your bot and then jagex presses the red button to ban all the bots they detected. They do this to prevent you from knowing when you were detected. It could have been sometime in the past 3-5 days, usually within the last 2 days
  24. that is his farm to create the accounts as far as I understood. And OP : maybe ~5m if only stats.
  25. I can do this for 25m. I work for panda. Please get in touch with him here
  26. When i start the script to attack a npc it just repeatedly clicks it.
  27. Please fix the the safespot / several loot function
  28. 1 point
    One can only assume. People say yes, people say no. I have used both and haven't really seen that much difference between the two other than the price. It all just depends on where you get proxies imo.
  29. 1 point
    can i have a trial plz? and does blackjacking still work?
  30. Staff has decided that you are responsible to refund the cost of the service + the full cost of the account. You bought Fruity NMZ a week ago, 2 days after opening your service thread: We have more than sufficient evidence to believe you botted this non-botted order, and lied to staff in a dispute. @NeonAsura please provide the stats of the account so that we can calculate a refund amount.
  31. 1 point
    you also need 100 posts to sell an account Sorry
  32. He's made over 100 posts in the last 2 days. + tried to sell his account twice <100 posts.
  33. Well food isn't supported, the script will just eat whatever food you have in inventory. I still need to add food re-stocking via noted food -> general store un-note. Will be adding jug of wine buying nearby too. How was the actual blackjacking part? Pickpocketing too fast/too slow?
  34. how'd you get all those botting bans quashed...?
  35. Czar, maybe you can help me. Currently I set my character to a 2 sand crab tile. I start the script (mirror mode, mirror and RuneScape client in same monitor), select 1 and 1 on the sliders, hit avoid-retaliate, no food, hop on crashed time, and anti-pattern. The bit stands still but after I lose aggro it seems to either run to the bank and stay there or just stand by the in-aggroed crabs. Idk what I’m doing wrong.
  36. if i pick it not to use food it will just open and close the bank all the time
  37. I fucking hate myself for buying this but it works
  38. Thanks man! I own most of your scripts and they all work amazing!
  39. Can I have a trail please? Bought Perfect Fighter yesterday, works good!
  40. Interesting services, goodluck. However, your ToS seem quite greedy (the item keeping part).
  41. 1 point
    Valid reason or not, I gave my opinions on my personal user experience upon using this script. Yes, factors vary but I have chosen to pin it on this whether you are skeptical or not. I am not diminishing the prowess of this script, but perhaps jagex already has a system in place that detects the motions in this script. Then again, these are all personal speculations and derivatives based on own usage. People are free to view and observe the comments and reviews and decide for themselves. Good day sir.
  42. 1 point
    Don't bot on accounts you don't want to lose. You're always risking a ban when starting up a script. That is not a valid reason to advise others not to buy the script; bans are based on more factors then just the script itself

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.