Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 07/16/18 in all areas

  1. 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!
    3 points
  2. It's almost that time. 8 more days until I go on my 2 week camping trip. Got a long list of things we are doing plus room for more Comment below on what I should do. Things already planned: Going to PlayLand (Vancouver Amusement park) Going to Vancouver Aquarium Going across one of the largest suspension bridges in Canada Taking 2-3 hours to float down a water channel in the town I grew up in Lots of beach time Target shooting with my pellet rifle Lots of off-roading
    3 points
  3. I sold drugs and went to jail! WTF!
    3 points
  4. Hey guys I made an abyss script and it works but it doesn't have a setup GUI and it has a few requirements. This script requires you have trout in the bank to heal, and plenty of glories of any charge to be used. I usually had 30 charged glories and would sell the uncharged for charged when I muled the gold over. Also you need to have a pickaxe. Here's a picture of a ideal setup (account is already banned dw): Alternative setup if you want to look different: Be combat lvl 30-40 if you want to avoid getting pk'd But even in that range you might still get pk'd (After this incident I added an anti-pk measure against mages [line 640]) And you might die inside the abyss But if you are interested here's the only progress report I saved: I have attached the script below and currently the script is configured for double cosmics. The exp value needs to be changed to reflect what rune you are crafting this is how I keep track of how many runes you craft. You need to setup the rune price just in case osbuddy exchange returns a null value. And finally change the rift to whatever rift you want. Change these values to your liking: runeExp = 4/*Cut exp in half for double cosmic calculation*/, runePrice = 110; //nature runes runeExp = 9, runePrice = 190;//set rune price if osbuddy fails private String craftRift = "Cosmic rift"; HashMap<String, Integer> exchangeInfo = getExchangeInfo(564);//Cosmic rune For the script to run you need to wear a shield, have a pick axe equipped, and have ring of life + glories in the bank. Also don't forget the trout! I found the ring of life SOMETIMES does save your life, but isn't really needed. You can remove this feature if you want, actually, you can do whatever you want! Enjoy the Shitty AbyssR fam. Features: Uses small pouches I never added the rest cause I never got them Loots the skill pet if you get lucky anti-mage pk custom interactions with objects sleeps inside bank when you get close to your breaks Tries to survive inside the abyss Eats trout when you get low Some unique statistics This script is getting no updates from me it is purely open source for your own edits. I've included a compiled .jar to test things out. Decompile it at http://www.javadecompilers.com/ if you don't trust it and then PM your favorite scripter to review the spaghetti! Good luck I hope my script will be of use to you in some way AbyssR.jar Main.java Pouch.java EssenceType.java
    2 points
  5. Make sure a ring of dueling is not a part of your equipment setup.
    2 points
  6. Stealth Quester Can also be purchased with OSRS gold using vouchers from here 70 Quests Supported Alfred Grimhand's Barcrawl Animal Magnetism A Porcine of Interest Big Chompy Bird Hunting Biohazard Black Knights Fortress Client Of Kourend Clock Tower Cook's Assistant Death Plateau Demon Slayer Dorics Quest Dragon Slayer Druidic Ritual Dwarf Cannon Elemental Workshop I Ernest The Chicken Fight Arena Fishing Contest Gertrude's Cat Goblin Diplomacy Hazeel Cult Holy Grail Imp Catcher Jungle Potion Lost City Merlin's Crystal Monkey Madness I Monk's Friend Mountain Daughter Nature Spirit Pirates Treasure Plague City Priest In Peril Prince Ali Rescue Regicide Rfd Cook Subquest Rfd Dwarf Subquest Rfd Evil Dave Subquest Rfd Goblin Subquest Rfd Pirate Subquest Rfd Ogre Subquest Romeo And Juliet Rune Mysteries Sea Slug Shadow Of The Storm Sheep Shearer Tears Of Guthix The Ascent Of Arceuus The Corsair Curse The Depths Of Despair The Dig Site The Feud The Golem The Grand Tree The Knights Sword The Restless Ghost The Tourist Trap Tree Gnome Village Tribal Totem Underground Pass Vampire Slayer Varrock Museum Quiz Waterfall Quest What Lies Below Witch's House Witch's Potion X Marks The Spot Instructions Click on quest names to queue them. Quests are completed in the order they are selected. Quests that are already completed will be skipped. Previously started quests/partially completed are not currently supported! Allow the script to finish the quest from start to finish for best results. In order to use armour/weapons/spells during quests, gear presets have to be created first. Equip the desired gear and set the attack style in game, then press the "Load Worn Equipment" button at the bottom left of the GUI, then give the preset a name. Click on the "Set Gear" button on the right side of a quest to set the gear preset to be used for that quest. If you want to use a combat spell for fights, make sure you are wielding a staff and have set the spell on offensive autocast. Only normal spells are currently supported. Ranged is not fully supported at this moment. Make sure you set the desired attack style in game to avoid gaining wrong XP. After selecting the desired options, either press the "Start" button to begin, or save the current settings by pressing "Save Current Settings" and giving the quest preset a name, and later running it faster by pressing "Run Saved Preset". You can delete gear/quest presets by right clicking them on the selection dialogue Special Mentions The script will stop upon death on all quests, except for Waterfall Quest. It is strongly recommended that you have decent Hitpoints level (20+) before attempting quests that contain boss fights. The script may not be able to continue previously started quests. If you really have to restart the script while it's doing a quest, use debug mode to continue that specific quest. This feature is accessed by pressing the F4 key while the GUI is in the foreground (focused application). The GUI title will change to Stealth Quester (debug mode) while in debug mode, and when started will not go to bank or Grand Exchange so all required items are assumed to be in the inventory. Monkey Madness I has a hard-coded requirement of 43 Prayer and 25 Hitpoints Underground Pass has a hard-coded requirement of 25 Hitpoints, and will use a bow as weapon. By default the script will use willow shortbow & mithril arrows. This can be configured on GUI throgh the "Configure Settings" button on the right side of the quest. Protect from melee will be used during the paladin fight if the account has 43 Prayer. The script will not use any weapon or ammo you set in the gear preset for this specific quest, as they will be replaced with a bow and arrows, and the attack style will be set to rapid. The script can complete this quest with level 1 Agility. The ability for the script to complete the quest will be limited by available food sources if it fails too many obstacles prior to reaching Iban's Lair where unlimited food is provided. Beta Testing Mode Enabled via script GUI using F3 key during startup Make sure the GUI window is focused and press F3 The quests which are currently in beta testing stage will be displayed on the list of available quests Debug Mode Enabled via script GUI using F4 key during startup Make sure the GUI window is focused and press F4 Title will change to Stealth Quester (debug mode) This can be used to resume the script execution after being interrupted. It is not guaranteed to work in all cases, but will work for over 95% of quest stages. You can also use this if you don't want the script to check bank/go to Grand Exchange. This means that you must have all items required by the script (not by quest guides), including the specific teleports it uses. It may work in some cases without teleports, but there is no guarantee. Ironman Mode Enabled via script GUI using F5 key during startup Make sure the GUI window is focused and press F5 Title will change to Stealth Quester (iron man mode) The script features a special ironman mode where it will automatically gather all required items. This mode supports at the present moment the following 9 quests: Cook's Assistant Romeo and Juliet The Restless Ghost Rune Mysteries Ernest the chicken Hazeel Cult Clock Tower The Corsair Curse X Marks the Spot No Food Mode Enabled via script GUI using F6 key during startup Make sure the GUI window is focused and press F6 Title will change to Stealth Quester (no food mode) Can be used for high level accounts when you are 100% sure you won't need food on some quests. There are quests like Underground Pass, Regicide, Monkey Madness, Shadow of the Storm, Holy Grail, Dragon Slayer and possibly others where this will not work. The script will stop when it fails to find food in bank in these cases. CLI Features Script ID is 845. The script supports CLI startup with custom user defined parameters. The parameters in this case are the name of the quest presets created on the GUI (with "Save Current Settings"). eg. -script 845:questpreset Bug Report Template 1. Stealth Injection or Mirror Mode: 2. Logger contents (press "Settings" on top right corner of the client, then "Toggle Logger", copy & paste on pastebin) : 3. Description: Skills required to run all quests: 51 Agility 49 Firemaking 41 Cooking 36 Woodcutting 35 Runecrafting 31 Crafting 30 Ranged 30 Thieving 20 Attack 20 Mining 20 Smithing 18 Slayer 12 Hunter 10 Fletching 10 Fishing The script can obtain a total of 117 QP on member worlds and 41 QP on free to play worlds. Additional Info by @krisped
    1 point
  7. Thank you everyone for all the support and feedback, this script officially is the most sold magic script on the market! Since 2015 it has been continually updated all the way to 2025! #1 SOLD MAGIC SCRIPT #1 MOST FEATURES MAGIC SCRIPT ESC MODE, HOVER-CLICK, NEAREST ITEM CLICK, FLAWLESS JMod nearby and we still alive. Anti-ban and Optimal script usage Anti-ban: - Don't go botting more than 3 hours at once, take breaks! Otherwise the ban-rate is highly increased! - Bans also depend on where you bot, for the best results: bot in unpopular locations Banking-related spells are the lowest ban-rate (spells which require banking or can be casted near a bank, e.g. superheating, maybe alching, jewelry enchanting etc etc) since you can just go to a full world and blend in with other non-bots (humans), for example: world 2 grand exchange If casting spells on npcs, then unpopular locations reduce the banrate by alot, So make sure not to go to botting hotspots otherwise you may be included in ban waves. - Some good areas used to be (until some got popular): grizzly bear, yanille stun-alching, any overground tiles (upstairs etc) but once the areas are overpopulated, try to go to another location which is similar to the aforementioned locations. This is a very popular thread with many many users so if a new location is mentioned, the location will be populated very quickly so I can only suggest examples of good locations - Don't go botting straight after a game update, it can be a very easy way to get banned. Wait a few hours! If you ever get banned, just backtrack your mistakes and avoid them in the future: you cannot be banned without making botting mistakes. Keep in mind you can be delay-banned from using previous scripts, so don't go using free/crap scripts for 24 hours then switching to a premium script, because the free/crap previous script can still get you banned! For more anti-ban information, see this thread which was created by an official developer: http://osbot.org/forum/topic/45618-preventing-rs-botting-bans/
    1 point
  8. Brought to you by the #1 most sold script series on the market. Come and see why everyone's choosing Czar Scripts! This is the most advanced Agility bot you will find anywhere. BUY NOW $9.99 NEW! Added Both Wyrm Courses! SCRIPT INSTRUCTIONS Optimal Setup for the bot: Please set the mouse zoom to far away (to the left, like below) so that more obstacles can be seen in the view, and so the script can be more stable and reliable Also, make sure to have roofs toggled off (either go to settings tab or type ::toggleroof) for optimal results
    1 point
  9. Want to buy with OSGP? Contact me on Discord! Detailed feature list: - Supports banking at 99% of the locations - Task based setup (1-99) - Supports every fish (Shrimps, sardine, herring, anchovies, mackerel, trout, cod, pike,salmon, tuna, lobster, bass, Leaping trout/salmon/sturgeon, swordfish, monkfish, shark, dark crab, angler fish, sacred eel, infernal eel) - Supports almost every bank location (New ones can be requested) (Lumbridge swamp, Al-Kharid Sea, Draynor, Lumbrdige river, barbarian village, shilo village, Catherby, corsair cove, fishing guild, piscatoris, port piscarilius, karamja, jatizso, seers, gnome stronghold, Lands' end, Zul andra, Mor Ul rek) - Fish & bank (Preset) - Fish & bank (Custom) supports almost every location - Fish & Drop (Custom) supports every fishing spot - Barbarian fishing (Select leaping fish at fish & drop) - Cook fish when fire is nearby (Fish & Drop Only) - Minnows support - Karambwans + Karambwanji support - Aerial fishing support - Drift net fishing support - Humanlike idles - Dragon harpoon special - Barehand fishing option - Fishing barrel support - Spirit flakes support - Drop clue bottles support - CLI support for goldfarmers Custom Breakmanager: - Setup Bot and break times - Randomize your break times - Stop script on certain conditions (Stop on first break, Stop after X amount of minutes, Stop when skill level is reached) - Worldhopping - Crucial part to botting in 2023! Script queueing: - Support queueing multiple script in a row - All Khal scripts support flawless transitions in between scripts - Start creating your acc in a few clicks from scratch to multiple 99's - Flawless CLI support - Learn more here: How to use CLI parameters: - Example Usage: -script 571:ScriptFile.BreakFile.DiscordFile SAVEFILE = Saved Filename BREAKFILE = Breakmanager Filename - SAVEFILE: Save file can be created in the GUI. Navigate to the tab you want to run and press "Save As CLI file". Please choose your filename wisely (No special characters) - BREAKFILE (Optional): Breakfile can also be create in the GUI, set the breaksettings you wish to use and press "Save new CLI BreakFile". Please choose your filename wisely (No special characters) - Final form (Note that with some bot managers you do not need to specify -script 571): -script 571:TaskList1.4515breaks (With breaks) -script 571:TaskList1.4515breaks.discord1 (With breaks & discord) -script 571:TaskList1..discord1 (NO breaks & discord) Proggies:
    1 point
  10. CURRENT RECORD: 201 HOURS RUNTIME 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:
    1 point
  11. APA Chest Thiever Deadman mode & Level 3 friendly! $3.99 $2.99 _______________________________________________________ Demo Video: Please note: This video was made before support for alching was released. Please refer to below for the new GUI and paint changes Requirements: 13 Thieving for basic chests, 28 for Nature rune chests Features: Rapid reaction speeds mean script will never fail to loot a chest Wide range of chest locations including Ardougne and Rellekka Easy to set up with highly customisable user interface Attractive and informative paint tells you everything you need to know Self-generating paint means it's only as big as it needs to be Real-time profit tracker using live grand exchange data Supports alching while looting (free magic exp!) High and low alching supported Alchs any item you can think of Profit tracker keeps account of alching expenses, calculating net change Customisable anti-ban system ensures script acts like a human Supports food (misclicks can happen (very rarely!) - this is just a failsafe!) Informative location tracker tells you details of every chest Looting system picks up any stray nature runes / coins should anyone die! Dynamic signatures allow you to keep track of your total progress ...and much more! Chest Locations: Example Setup: Screenshots:
    1 point
  12. DISCLAIMER: USE AT YOUR OUR OWN RISK!! THIS SCRIPT WORKS BUT WILL GET YOU BANNED!! Link: http://www.mediafire.com/file/u7uddd9ifyg0f1t/ChinHunter.jar/file Hello, guys. About 2 months ago I started working on my first ever bot script. I had no clue what the OsBot API was like, but I went in and tried it anyways. This script in particular does a rather good job of hunting chins. You can expect anywhere from 150-300 chins per hour with this script. The script is very bulky, with lots of "Human-like Anti-Ban" measures to prevent ban. However most of the anti-ban measures are unfinished and still look incredibly bot-like (particularly the acceleration and timing intervals of the mouse movements). The script got me a 1-day ban, but it lasted for about 2 weeks with no ban. FEATURES: -picking up all fallen traps on ground, whether it is yours or another player's -never lays a trap in a position where another player's trap exists -placing traps in new/ random positions (about 5% or so chance per trap collected) -only placing traps in the "HuntArea", which is a 25-tile zone in the popular red chin spawn area in Feldip Hills -random mouse movements such as: random idle movement, afk off screen movement, random box trap hovering, random player position hovering, random inventory trap placement -traps can also be placed for Grey chins as well, but to do this the code of the script itself must be edited to initialize different trap positions upon initialization of the script. This is very easy and works flexibly within the program. Any user could easily edit the source to make a GUI to select which HuntArea gets defined to support chin hunting for Red and Grey chins. The positions for the Grey Chin Hunt area are already programmed within the script, but there is no way of choosing which area. ERRORS: -randomly runs south and attempts to pick up a random box trap set by another player (Even though I put in precautionary code that never walked the player to the next trap position if it wasn't in the pre-defined 'hunt area' Position. Must be a bug with the API or Jagex has ID swapping code, not sure). -not picking up a failed trap before placing another trap, or getting stuck between the priority of picking up a trap and laying/collecting a trap. -will not know if another player laid the trap down before you successfuly laid your trap at the same time, otherwise never lays a trap in a position with a trap already placed by another player. -sometimes attempts to collect 2 traps at the same time. -CPU intensive, about 10-25% for 1 instance of the script running on 3.1 GHz quad core HERE IS THE SOURCE CODE: package scripts.ChinHunter; import java.awt.Font; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.text.NumberFormat; import java.util.Arrays; import java.util.Collections; import java.util.Locale; import java.util.Random; import javax.imageio.ImageIO; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.GroundItem; import org.osbot.rs07.api.model.Player; import org.osbot.rs07.api.model.RS2Object; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.event.WalkingEvent; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "TheManWhoBots", info = "Hunts Chins", name ="Fedora Chinner", version = 1.0, logo = "https://i.imgur.com/B9VsT1v.png") public class ChinHunter extends Script { String state; public Rectangle playerHoverZone; long actionTimer; boolean[] collectATrap; boolean[] layATrap; boolean allTrapsLaid = false; int hunterXP, hxph; int hunterLevel; boolean maxTrapsLaid; int maxTraps = 1; int trapsLaid = 0; Area huntArea; Position[] positions; Position[] trapPositions; double chinsPerHour; boolean[] trapIsLaid; boolean changeTrapLayout = true; boolean greyChins = false, redChins = true, blackChins = false; int chinPrice = 1650, chinXp = 265; boolean[] doesInventorySlotHaveBoxTrap; boolean hoveringOverBox = false; int maxTrapPositionLength = 0; boolean reset = false; long resetTimer; BufferedImage img; public static long resetTimeThreshold; int randomPositioningOffset1 = 0, randomPositioningOffset2 = 0, randomPositioningOffset3 = 0, randomPositioningOffset4 = 0, randomPositioningOffset5 = 0; public void onStart() { resetTimeThreshold = 40000; // time in ms it takes to reset program if stuck in method (40 seconds, by defaul) doesInventorySlotHaveBoxTrap = new boolean[28]; hunterLevel = skills.getDynamic(Skill.HUNTER); maxTrapsLaid = false; trapsLaid = 0; calculateMaxTraps(); collectATrap = new boolean[maxTraps]; layATrap = new boolean[maxTraps]; trapPositions = new Position[maxTraps]; trapIsLaid = new boolean[maxTraps]; initializePositions(); initializeTrapPositions(); Random r = new Random(); int ra = r.nextInt(maxTraps); randomizeTrapPositionsWithinRange(ra, 1, 2); resetTimer = System.currentTimeMillis(); String directory = getDirectoryData(); log(directory); try{ img = ImageIO.read((new File("C:\\Users\\Ryan\\OSBot\\Data\\scriptOverlays\\ScriptOverlay1.png"))); } catch(IOException e){ log(e); } experienceTracker.start(Skill.HUNTER); } public void checkResetTimer(long x) { Random r = new Random(); int ra = r.nextInt(5000+1); if ((System.currentTimeMillis() - resetTimer) > x + ra) { reset(); } } public void reset() { for (int i =0; i < maxTraps; i++) { // reset variables to exit while loops if program is stuck allTrapsLaid = true; trapIsLaid[i] = false; layATrap[i] = true; collectATrap[i] = false; } pickUpAllFallenTraps(); // pick up fallen traps try { resetAllTraps(); // dismantle all traps in trap positions allTrapsLaid = false; } catch (InterruptedException e) { e.printStackTrace(); } initializeTrapPositions(); // re-initialize trap positions for (int i =0; i < maxTraps; i++) { randomizeTrapPosition(i); // randomize trap positions to any position in HuntArea } try { sleep(random(123,321)); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } walk(new Position(huntArea.getRandomPosition())); // walk to new random spot resetTime(); // reset timer } public void resetTime() { resetTimer = System.currentTimeMillis(); } public void checkIfTrapPositionHasAPlayer(int positionIndex) { if (positionHasPlayer(trapPositions[positionIndex])) { randomizeTrapPositionsWithinRange(positionIndex, 1, 3); } } public void checkIfTrapPositionsHavePlayers() { for (int i= 0; i < maxTraps; i++) { if (positionHasPlayer(trapPositions[i])) { randomizeTrapPositionsWithinRange(i, 1, 3); } } } public boolean positionHasPlayer(Position p) { java.util.List<Player> players = getPlayers().getAll(); for (int i=0; i < players.size(); i++) { if (players.get(i).getPosition().equals(p) && !players.get(i).equals(myPlayer())) { return true; } } return false; } public void scanAreaToCollectTraps() throws InterruptedException { java.util.List<RS2Object> objects = getObjects().getAll(); for (int i = 0; i < objects.size(); i++) { if ((objects.get(i).getId() == 9385 || objects.get(i).getName().contains("Shaking box"))) { for (int x = 0; x < trapPositions.length; x++) { if (objects.get(i).getPosition().equals(trapPositions[x]) && trapIsLaid[x] && objects.get(i).getName().contains("Shaking box")) { // scans to see if positon has YOUR trap collectATrap[x] = true; collectTrap(x, true); } if (objects.get(i).getPosition().equals(trapPositions[x]) && trapIsLaid[x] && objects.get(i).getId() == 9385) { // scans to see if positon has YOUR trap collectATrap[x] = true; collectTrap(x, false); } else if ((objects.get(i).getId() == 9385 || objects.get(i).getName().contains("Shaking box")) // randomizes position if your position has OTHER PLAYER'S trap && objects.get(i).getPosition().equals(trapPositions[x]) && !trapIsLaid[x]) { randomizeTrapPositionsWithinRange(x, 1, 3); layTrap(x); } } } } } public void scanAreaToLayTraps() { while (!allTrapsLaid) { for (int y=0; y < trapPositions.length; y++) { // checks if each trap position has a trap checkResetTimer(resetTimeThreshold); if (!positionHasTrap(trapPositions[y]) && !trapIsLaid[y]) { checkResetTimer(resetTimeThreshold); log("Laying trap at position [" + y + "]"); layATrap[y] = true; // adds this position to the trap lay Queue collectATrap[y] = false; layTrap(y); trapIsLaid[y] = true; } else if (positionHasTrap(trapPositions[y]) && !trapIsLaid[y]) { log("Position has a trap from another player, randomizing position ["+y+"]"); checkResetTimer(resetTimeThreshold); randomizeTrapPositionsWithinRange(y, 1, 3); //pickUpFallenTraps(); layATrap[y] = true; collectATrap[y] = false; layTrap(y); trapIsLaid[y] = true; } } int o = 0; for (int j = 0; j < trapIsLaid.length; j++) { checkResetTimer(resetTimeThreshold); if (trapIsLaid[j]) { o++; if (o == trapIsLaid.length ) { allTrapsLaid = true; } } } } } public void doubleCheckIfTrapIsLaid() { for (int y=0; y < trapPositions.length; y++) { checkResetTimer(resetTimeThreshold); if (!positionHasTrap(trapPositions[y])) { trapIsLaid[y] = false; layATrap[y] = true; collectATrap[y] = false; } } } public void collectTrap(int i, boolean f) throws InterruptedException { long firstTime = System.currentTimeMillis(); int increment = 0; long loopTime = System.currentTimeMillis(); boolean loop = false; Random r = new Random(); int randomElement = r.nextInt(4920+572); Random ra = new Random(); int randomMaxLoop = ra.nextInt(3+1); Random rara = new Random(); int randomTime = rara.nextInt(12); boolean fbc = false, sbc = false; while (collectATrap[i]) { checkResetTimer(resetTimeThreshold); if (!myPlayer().getPosition().equals(trapPositions[i])) { //log("Walking to position [" +i+"] to collect trap"); checkResetTimer(resetTimeThreshold); walk(trapPositions[i]); sleep(random(37,85)); } else { if(f) { checkResetTimer(resetTimeThreshold); if ((System.currentTimeMillis() - loopTime) > (67 + randomTime) && increment <= randomMaxLoop) { loop = true; } //log("Entering loop for collecting chin.."); RS2Object chinCaught = getObjects().closest("Shaking box"); if (collectATrap[i] && f && loop) { checkResetTimer(resetTimeThreshold); log("Collecting shaking box at position [" + i + "]"); chinCaught.getPosition().hover(this.bot); sleep(random(0,12)); chinCaught.interact("Check"); sleep(random(20,30)); // executeChanceToRandomlyHoverOverBoxTrapInInventory(9, 28); sleep(random(27,92)); allTrapsLaid = false; trapIsLaid[i] = false; layATrap[i] = true; increment++; loopTime = System.currentTimeMillis(); checkIfTrapPositionHasAPlayer(i); loop = false; } else if (!positionHasTrap(trapPositions[i]) && !sbc) { checkResetTimer(resetTimeThreshold); executeChanceToRandomizeTrapPositionWithinRange(3, i, 1, 3); log("Laying trap at position[" + i +"] after collecting Shaking box"); layTrap(i); sbc = true; executeChanceToHoverOverRandomTrapPosition(42); int b = r.nextInt(2+1); if (b==1) { executeChanceToHoverOverClosestShakingBox(823); } else { executeChanceToHoverOverClosestFailedTrap(485); } resetTime(); } if (positionHasTrap(trapPositions[i]) && sbc) { collectATrap[i] = false; } } else if (!f) { checkResetTimer(resetTimeThreshold); if ((System.currentTimeMillis() - loopTime) > (67 + randomTime) && increment <= randomMaxLoop) { loop = true; } //log("entering loop for collecting a trap.."); RS2Object failedTrap = getObjects().closest(9385); if (collectATrap[i] && !f && loop) { checkResetTimer(resetTimeThreshold); log("Collecting failed Box trap at position [" + i + "]"); failedTrap.interact("Dismantle"); sleep(random(19,34)); hoverOverPlayerPosition(); // executeChanceToRandomlyHoverOverBoxTrapInInventory(12, 12); sleep(random(34,82)); allTrapsLaid = false; trapIsLaid[i] = false; layATrap[i] = true; increment++; loopTime = System.currentTimeMillis(); loop = false; } else if (!positionHasTrap(trapPositions[i]) && !fbc) { checkResetTimer(resetTimeThreshold); executeChanceToRandomlyPickRandomTrapPositionWithOrWithoutRangeRestriction(i, 4, 4, 3, 8); log("Laying trap at position[" + i +"] after collecting failed Box trap"); layTrap(i); fbc = false; executeChanceToHoverOverRandomTrapPosition(29); executeChanceToHoverOverRandomPosition(42); resetTime(); collectATrap[i] = false; } } if ((System.currentTimeMillis() - firstTime) >= 5723 + randomElement) { resetTime(); log("Idled too long during collect trap phase, stage has reset"); increment = 0; loopTime = System.currentTimeMillis(); loop = true; sbc = false; fbc = false; pickUpFallenTraps(); doubleCheckIfTrapIsLaid(); collectATrap[i] = false; } } } } public void layTrap(int i) { long firstTime = System.currentTimeMillis(); Random r = new Random(); int randomElement = r.nextInt(6620+372); while (layATrap[i]) { checkResetTimer(resetTimeThreshold); if (positionHasPlayer(trapPositions[i])) { randomizeTrapPositionsWithinRange(i, 2, 7); } if (!myPlayer().getPosition().equals(trapPositions[i])) { checkResetTimer(resetTimeThreshold); walk(trapPositions[i]); } else if (myPlayer().getPosition().equals(trapPositions[i]) && !trapIsLaid[i]){ checkResetTimer(resetTimeThreshold); log("Player is laying a trap at position [" + i + "]"); clickRandomBoxTrapInInventory(); try { sleep(random(124,235)); } catch (InterruptedException e) { e.printStackTrace(); } executeChanceToHoverOverRandomTrapPosition(142); trapIsLaid[i] = true; } else if (positionHasTrap(trapPositions[i]) && trapIsLaid[i]) { checkResetTimer(resetTimeThreshold); try { sleep(random(72,161)); } catch (InterruptedException e) { e.printStackTrace(); } hoverOverPlayerPosition(); resetTime(); layATrap[i] = false; } else if ((System.currentTimeMillis() - firstTime) > 6821 + randomElement) { log("Idled too long during lay trap phase, stage has reset"); trapIsLaid[i] = false; allTrapsLaid = false; hoveringOverBox = false; collectATrap[i] = false; pickUpFallenTraps(); doubleCheckIfTrapIsLaid(); firstTime = System.currentTimeMillis(); r = new Random(); randomElement = r.nextInt(4620+372); resetTime(); layATrap[i] = false; } } } public boolean positionHasFallenTrap(Position position) { GroundItem fallenTrap = getGroundItems().closest("Box trap"); if (fallenTrap.getPosition().equals(position)) { return true; } return false; } public void executeChanceToHoverOverRandomTrapPosition(int target) { Random ra = new Random(); int rara = ra.nextInt(1000 +1); if (rara <= target) { log("Executing random chance to hover over a random TRAP position"); hoverOverRandomTrapPosition(); } } public void executeChanceToHoverOverRandomPosition(int target) { Random ra = new Random(); int rara = ra.nextInt(100 +1); if (rara <= target) { log("Executing random chance to hover over a random POSITION"); hoverOverRandomPosition(); } } public void hoverOverRandomTrapPosition() { Random ra = new Random(); int r = ra.nextInt(maxTraps); Position p = new Position(trapPositions[r]); p.hover(this.bot); } public void hoverOverRandomPosition() { Position p = new Position(huntArea.getRandomPosition()); p.hover(this.bot); } public void hoverOverPlayerPosition() { log("Moving mouse to player position"); Random r = new Random(); int randomOffsetX = r.nextInt(30+1); int randomOffsetY = r.nextInt(62+1); getMouse().move((int)playerHoverZone.getX() + randomOffsetX, (int)playerHoverZone.getY() + randomOffsetY); try { sleep(random(randomOffsetX + 20, randomOffsetY + 75)); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (randomOffsetX >= 15){ randomOffsetX *= -1; } if (randomOffsetY >= 24){ randomOffsetY *= -1; } getMouse().move((int)playerHoverZone.getX() + (int)(randomOffsetX / 1.45), ((int)playerHoverZone.getY() + (int)(randomOffsetY /1.3) + (randomOffsetX))); } public void clickRandomBoxTrapInInventory() { updateBoxTrapSlotsInInventory(); boolean conditionMet = false; while (!conditionMet) { int ra = generateRandomCalculatedBoxTrapInventorySlot(); if (doesInventorySlotHaveBoxTrap[ra]) { log("Executing random chance to click random box trap in inventory"); hoverOnInventorySlot(ra); try { sleep(random(67, 121)); } catch (InterruptedException e) { e.printStackTrace(); } getMouse().click(false); try { sleep(random(67, 121)); } catch (InterruptedException e) { e.printStackTrace(); } conditionMet = true; } } } public void randomlyHoverOverBoxTrapInInventory(boolean shouldCompletelyRandomize, int min, int max) { int ra = 0; updateBoxTrapSlotsInInventory(); boolean conditionMet = false; while (!conditionMet) { if (!shouldCompletelyRandomize) { ra = generateRandomCalculatedBoxTrapInventorySlot(); } else if (shouldCompletelyRandomize) { ra = (new Random().nextInt(28+1)); } if (doesInventorySlotHaveBoxTrap[ra]) { if (getInventory().getItemInSlot(ra).nameContains("Box trap")) { log("Executing random chance to click random box trap in inventory"); hoverOnInventorySlot(ra); try { sleep(random(min, max)); } catch (InterruptedException e) { e.printStackTrace(); } conditionMet = true; } } } } public int generateRandomCalculatedBoxTrapInventorySlot() { Random r = new Random(); int ra = r.nextInt(1000+1); if (ra <= 20) { return r.nextInt(28); } else if (ra <= 35) { int randomValue = r.nextInt(3+1); if (randomValue == 0) { int rx = r.nextInt(100+1); if (rx <= 34) { return 10; } else if (rx <= 46) { return 11; } else if (rx <= 100) { return 13; } } } else if (ra <= 73) { int randomValue = r.nextInt(3+1); if (randomValue == 0) { int rx = r.nextInt(100+1); if (rx <= 15) { return 8; } else if (rx <= 27) { return 7; } else if (rx <= 100) { return 9; } } } else if (ra <= 174) { int randomValue = r.nextInt(3+1); if (randomValue == 0) { int rx = r.nextInt(100+1); if (rx <= 17) { return 6; } else if (rx <= 33) { return 5; } else if (rx <= 100) { return 4; } } } else if (ra <= 975) { int randomValue = r.nextInt(3+1); if (randomValue == 0) { int rx = r.nextInt(100+1); if (rx <= 11) { return 3; } else if (rx <= 23) { return 2; } else if (rx <= 100) { return 1; } } } else { return r.nextInt(28); } return r.nextInt(28); } public void broadcastInventorySlotsIfTrap() { for (int i =0; i < 28; i++ ) { updateBoxTrapSlotsInInventory(); log (i + " is "+ doesInventorySlotHaveBoxTrap[i]); } } public void updateBoxTrapSlotsInInventory() { for (int i=0; i < 28; i++) { if (getInventory().getItemInSlot(i) != null) { if (getInventory().getItemInSlot(i).getName().contains("Box trap")) { doesInventorySlotHaveBoxTrap[i] = true; } } else { doesInventorySlotHaveBoxTrap[i] = false; } } } public void executeChanceToRandomlyHoverOverBoxTrapInInventory(int target, int min, int max) { Random r = new Random(); int ra = r.nextInt(100+1); if(ra <= target) { log("Executing random chance to HOVER over box trap in INVENTORY"); randomlyHoverOverBoxTrapInInventory(false, min, max); hoveringOverBox = true; } } public void hoverOnInventorySlot(int i) { getInventory().hover(i); } public boolean playerIsInHuntArea() { if (huntArea.contains(myPlayer().getPosition())) { return true; } return false; } public void walk(Position position) { log("WALKING TO TARGETED POSITION"); if (!myPlayer().getPosition().equals(position)) { WalkingEvent event = new WalkingEvent(position); event.setMiniMapDistanceThreshold(10); event.setMinDistanceThreshold(0); execute(event); } } public void resetAllTraps() throws InterruptedException { java.util.List<RS2Object> objects = getObjects().getAll(); for (int x = 0; x < objects.size(); x++) { if (objects.get(x).getName().equals("Shaking Box")) { for (int i=0; i < trapPositions.length; i++) { if (objects.get(x).getPosition().equals(trapPositions[i])) { sleep(random(31,94)); objects.get(x).interact("Check"); sleep(random(321,564)); } } } else if (objects.get(x).getId() == 9385){ for (int i=0; i < trapPositions.length; i++) { if (objects.get(x).getPosition().equals(trapPositions[i])) { sleep(random(21,84)); objects.get(x).interact("Dismantle"); sleep(random(341,614)); } } } } } public void pickUpAllFallenTraps() { while (anyPositionHasFallenTrap()) { pickUpFallenTraps(); } } public boolean anyPositionHasFallenTrap() { GroundItem item = getGroundItems().closest("Box trap"); for (int x=0; x < positions.length; x++) { if (item!=null) { if (item.getPosition().equals(positions[x]) && item.getName() == "Box trap") { return true; } } } return false; } public void pickUpFallenTraps() { Random r = new Random(); int ra = r.nextInt(100+1); int rar = r.nextInt(20+1); GroundItem fallenTrap = getGroundItems().closest("Box trap"); if (fallenTrap != null) { if (huntArea.contains(fallenTrap)) { if (ra <= 72) { walk(fallenTrap.getPosition()); try { sleep(random(67,121)); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } try { sleep(random(67,121)); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } log("PICKING UP FALLEN TRAPS"); fallenTrap.interact("Box trap", "Take"); } try { sleep(random(367,612)); } catch (InterruptedException e) { e.printStackTrace(); } } } public void executeChanceToMoveMouseOffScreen(int target) { Random r = new Random(); int ra = r.nextInt(1000 + 1); int rara = r.nextInt(10000+1); if (rara <= 50) { rara = 32750; } else { rara = 27; } if (ra <= target) { getMouse().moveOutsideScreen(); try { sleep(random(2233 + ra, 7454 + ra + rara +target)); } catch (InterruptedException e) { e.printStackTrace(); } } } public void executeChanceToIdle(int target) throws InterruptedException { Random r = new Random(); int ra = r.nextInt(1000+1); if (ra <= target) { sleep(random(target + 4482, 12447)); } else { sleep(random(12,37)); } } public void executeChanceToMoveToRandomPositionWithinRange(int target) { Random r = new Random(); int ra = r.nextInt(1000); if (ra <= target) { log("IDLE: Moving to random position"); walkToRandomPositionWithinRange(getNewRandomPositionToWalkToWithinRange()); } } public void walkToRandomPositionWithinRange(Position p) { walk(p); } public Position getNewRandomPositionToWalkToWithinRange() { Random r = new Random(); int ra = r.nextInt(8); int base = r.nextInt(3); Position randomPosition = new Position(base, base, base); for (int i = 0; i < positions.length; i++) { if (myPlayer().getPosition().equals(positions[i])) { int min = i -( base + ra); if (min < 0) { min = 0; } int max = i + (base +ra); if (max > 24) { max = 24; } int rarara = r.nextInt((max - min) + (min+1)); randomPosition = new Position(positions[rarara]); // randomizes position adjacent to player from range of +/- 11 tiles } } return randomPosition; } public boolean anyTrapsPresent() { for (int i=0; i < maxTraps; i++) { if (positionHasTrap(trapPositions[i])) { return true; } } return false; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public int onLoop() throws InterruptedException { Random ra = new Random(); int rara = ra.nextInt(30+1); //randomizeTrapPositionPriority(); pickUpAllFallenTraps(); doubleCheckIfTrapIsLaid(); scanAreaToLayTraps(); scanAreaToCollectTraps(); if(!anyTrapsPresent()) executeChanceToMoveToRandomPositionWithinRange(92 + rara); if(!anyTrapsPresent()) executeChanceToHoverOverRandomPosition(12 + rara); executeChanceToMoveMouseOffScreen(87 + rara); if(!anyTrapsPresent()) executeChanceToIdle(15 + rara); return 27 + rara; } //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// public void initializePositions() { if (greyChins) { maxTrapPositionLength = 25; chinPrice = 950; huntArea = new Area(2337,3591,2341,3587); positions = new Position[25]; positions[0] = new Position(2337,3591,0); positions[1] = new Position(2338,3591,0); positions[2] = new Position(2339,3591,0); positions[3] = new Position(2340,3591,0); positions[4] = new Position(2341,3591,0); positions[5] = new Position(2337,3590,0); positions[6] = new Position(2338,3590,0); positions[7] = new Position(2339,3590,0); positions[8] = new Position(2340,3590,0); positions[9] = new Position(2341,3590,0); positions[10] = new Position(2337,3589,0); positions[11] = new Position(2338,3589,0); positions[12] = new Position(2339,3589,0); positions[13] = new Position(2340,3589,0); positions[14] = new Position(2341,3589,0); positions[15] = new Position(2337,3588,0); positions[16] = new Position(2338,3588,0); positions[17] = new Position(2339,3588,0); positions[18] = new Position(2340,3588,0); positions[19] = new Position(2341,3588,0); positions[20] = new Position(2337,3587,0); positions[21] = new Position(2338,3587,0); positions[22] = new Position(2339,3587,0); positions[23] = new Position(2340,3587,0); positions[24] = new Position(2341,3587,0); } else if (redChins) { maxTrapPositionLength = 25; huntArea = new Area(2553,2937,2557, 2933); chinPrice = 1550; positions = new Position[maxTrapPositionLength]; positions[0] = new Position(2553,2937,0); positions[1] = new Position(2554,2937,0); positions[2] = new Position(2555,2937,0); positions[3] = new Position(2556,2937,0); positions[4] = new Position(2557,2937,0); positions[5] = new Position(2553,2936,0); positions[6] = new Position(2554,2936,0); positions[7] = new Position(2555,2936,0); positions[8] = new Position(2556,2936,0); positions[9] = new Position(2557,2936,0); positions[10] = new Position(2553,2935,0); positions[11] = new Position(2554,2935,0); positions[12] = new Position(2555,2935,0); positions[13] = new Position(2556,2935,0); positions[14] = new Position(2557,2935,0); positions[15] = new Position(2553,2934,0); positions[16] = new Position(2554,2934,0); positions[17] = new Position(2555,2934,0); positions[18] = new Position(2556,2934,0); positions[19] = new Position(2557,2934,0); positions[20] = new Position(2553,2933,0); positions[21] = new Position(2554,2933,0); positions[22] = new Position(2555,2933,0); positions[23] = new Position(2556,2933,0); positions[24] = new Position(2557,2933,0); //positions[30] = new Position(2553,2931,0); //positions[31] = new Position(2554,2931,0); //positions[32] = new Position(2555,2931,0); //positions[33] = new Position(2556,2931,0); //positions[34] = new Position(2557,2931,0); //positions[35] = new Position(2553,2930,0); //positions[36] = new Position(2554,2930,0); //positions[37] = new Position(2555,2930,0); //positions[38] = new Position(2556,2930,0); //positions[39] = new Position(2557,2930,0); //positions[40] = new Position(2553,2929,0); //positions[41] = new Position(2554,2929,0); //positions[42] = new Position(2555,2929,0); //positions[43] = new Position(2556,2929,0); //positions[44] = new Position(2557,2929,0); //positions[45] = new Position(2553,2928,0); //positions[46] = new Position(2554,2928,0); //positions[47] = new Position(2555,2928,0); //positions[48] = new Position(2556,2928,0); //positions[49] = new Position(2557,2928,0); } } public void executeChanceToRandomlyPickRandomTrapPositionWithOrWithoutRangeRestriction(int positionIndex, int target1, int target2, int base, int zz) { Random r = new Random(); int ra = r.nextInt(100); if(ra <= 75) { executeChanceToRandomizeTrapPositionWithinRange(target1, positionIndex,base, zz); } else { executeChanceToRandomizeTrapPosition(target2, positionIndex); } } public void executeChanceToRandomizeTrapPositionWithinRange(int target, int positionIndex, int base, int zz) { Random r = new Random(); int ra = r.nextInt(100+1); if (ra <= target) { log("Executing random chance to RANDOMIZE TRAP POSITION"); randomizeTrapPositionsWithinRange(positionIndex, base, zz); } } public void randomizeTrapPositionsWithinRange(int positionIndex, int base, int xx) { boolean trapNotSet = true; while (trapNotSet) { Random r = new Random(); int ra = r.nextInt(xx); for (int i = 0; i < positions.length; i++) { if (trapPositions[positionIndex].equals(positions[i])) { int min = i -( base + ra); if (min < 0) { min = 0; } int max = i + (base +ra); if (max > 24) { max = 24; } int rarara = r.nextInt((max - min) + (min+1)); if (!positionHasTrap(positions[rarara])) { trapPositions[positionIndex] = new Position(positions[rarara]); // randomizes position adjacent to player from range of +/- (x + xx) tiles trapNotSet = false; } } } } } public void executeChanceToRandomizeTrapPosition(int target, int positionIndex) { Random r = new Random(); int ra = r.nextInt(100); if (ra <= target && !(positionHasTrap(trapPositions[positionIndex]))) { log("Executing random chance to RANDOMIZE TRAP POSITION"); randomizeTrapPosition(positionIndex); } } public void randomizeTrapPosition(int positionIndex) { boolean r = true; if (!(positionHasTrap(trapPositions[positionIndex]))) { while (r) { Random t = new Random(); int transitionPosition = t.nextInt(positions.length); if (!positionHasTrap(positions[transitionPosition])) { trapPositions[positionIndex] = positions[transitionPosition]; r = false; } else r = true; } } } public void onPaint(Graphics2D g) { // if (img != null) { // g.drawImage(img, 7, 344, img.getWidth(), img.getHeight(), null); // } g.setFont(new Font("Chin Hunter", Font.BOLD, 15)); g.drawString("ULTIMATE CHIN HUNTER -TheManWhoBots", 10, 20); hunterXP = experienceTracker.getGainedXP(Skill.HUNTER); hxph = experienceTracker.getGainedXPPerHour(Skill.HUNTER); chinsPerHour =(int) hxph / chinXp; g.drawString("Hunter Experience Gained: " + hunterXP + " (" + NumberFormat.getNumberInstance(Locale.US).format(hxph) + "xp/h)", 10, 80); g.drawString("Chins caught per hour: " + (int)chinsPerHour + ", Profit per hour: " + (int)chinsPerHour *chinPrice, 10, 50); } public boolean moreThanTwoPlayers() { if (getPlayers().getAll().size() > 2) { return true; } return false; } public void initializeTrapPositions() { Random r = new Random(); int random = r.nextInt(1000 +1); if (random >= 1) { trapPositions[0] = positions[7 + randomPositioningOffset1]; if (maxTraps >=2) { trapPositions[1] = positions[9 + randomPositioningOffset2]; } if (maxTraps >= 3) { trapPositions[2] = positions[13 + randomPositioningOffset3]; } if (maxTraps >= 4) { trapPositions[3] = positions[18 + randomPositioningOffset4]; } if (maxTraps >= 5) { trapPositions[4] = positions[20 + randomPositioningOffset5]; } } else if (random >= 810) { } changeTrapLayout = false; } public void calculateMaxTraps() { if (hunterLevel >= 80) maxTraps = 5; else if (hunterLevel >= 60) maxTraps = 4; else if (hunterLevel >= 40) maxTraps = 3; else if (hunterLevel >= 20) maxTraps = 2; else maxTraps = 1; } public boolean positionHasTrap(Position position) { java.util.List<RS2Object> g = getObjects().getAll(); for (int i = 0; i <g.size(); i++) { if (g.get(i).getName().contains("Box trap") || g.get(i).getName().contains("Shaking box")) { if (position.equals((g.get(i).getPosition()))) { return true; } } } return false; } public void onExit() { for (int i = 0; i < collectATrap.length; i++) { collectATrap[i] = false; allTrapsLaid = true; } for (int x = 0; x < layATrap.length; x++) { layATrap[x] = false; allTrapsLaid = true; } } public void hoverOverClosestShakingBox() { RS2Object chinCaught = getObjects().closest("Shaking box"); if (chinCaught != null) { chinCaught.getPosition().hover(this.bot); try { sleep(random(12,27)); } catch (InterruptedException e) { e.printStackTrace(); } } } public void hoverOverClosestFailedTrap() { RS2Object failedTrap = getObjects().closest(9385); if (failedTrap != null) { failedTrap.getPosition().hover(this.bot); try { sleep(random(24,42)); } catch (InterruptedException e) { e.printStackTrace(); } } } public void executeChanceToHoverOverClosestFailedTrap(int target) { Random r = new Random(); int ra = r.nextInt(1000+1); if (ra <= target) { hoverOverClosestShakingBox(); } } public void executeChanceToHoverOverClosestShakingBox(int target) { Random r = new Random(); int ra = r.nextInt(1000+1); if (ra <= target) { hoverOverClosestShakingBox(); } } } Sorry for the incredibly long post, and 1100 lines of code. The script is free to use, and it is somehow decent. It is a script that may require babysitting, but will most definitely be more than enough for a FREE script. I've given up on the script months ago, as I've undergone other botting endeavours. There are better scripts out there, but as far as I'm aware there is no other functioning red chin script for free. So, Enjoy! *EDIT: Removed approximately 100-150 lines of code of useless methods and variables that were never used, updated source and download link*
    1 point
  13. CTrawler Made this real quick, so expect major revisions! Loot tracker does not work for now. Plays the Fishing Trawler Minigame Have Swamp Tar in Inventory Be at Port Khazard Download Link CTrawler 1.00 Change Log Todo Pictures
    1 point
  14. Download Link: http://osbot.org/devbuilds/osbot 2.5.10.jar Added a handful of links and walking improvements to Web Walker, more web walker updates are coming soon. Please let me know how the new AutoLogin system is working/not working for you guys. Changelog: -Updated AutoLogin -Added amulet of passage @Lordsthan -Settings API works on resizable -Quests API works on resizable -Map API works on resizable -Main interface dependency works on resizable --Pending new game screen clipping -Added Killerwatt portal (w/ dialogue) (web walking) -Added Mort Myre gate override (checks warning and quest started) (web walking) -Improved Lumbridge Swamp cave link, checks warning message -Added third floor Security of Stronghold links to web walker -Various small web walking improvements related to walkability -Removed Skills closeGuide() -Removed Skills isGuideOpen() -Removed Widgets getGameScreen() (only a wrapper method) --Use getWidgets(GraphicUtilites.getMainInterfaceId())
    1 point
  15. What do you need? : Quests Payment method? : osrsgp Going first or middleman? : first What's your Discord ID? : Do you agree to my TOS? : yes
    1 point
  16. all the agility scripts are rigged
    1 point
  17. no they are free pc
    1 point
  18. These threads should be automatically deleted.
    1 point
  19. Whenever i bot agility i get either 2day or perm ban. Just pay for a hand done service and if its a real nice acc have them put a deposit with a mm incase they lie and get ur acc banned.
    1 point
  20. 1 point
  21. It costs 20$ at walmart lmao
    1 point
  22. 1 point
  23. Oh yeah didn't notice OP was looking for the ID of a free script. Note that inspecting element will only work for free scripts.
    1 point
  24. 1006 Can get it from the scripts page, the add now button has an onclick event that passes the script id as a param: <button class="button basic_script_label blue" onclick="window.location='/mvc/sdn2/scripts/21?action=add&amp;scriptID=1006'"> Add </button>
    1 point
  25. Worken like a charm, thank you:)
    1 point
  26. Idk if this has ever been brought up on osbot but was wondering if any of the developers are planning to add resizable support on osbot? Perosnally I think it might reduce the bans a little.
    1 point
  27. yes alek has been working on it for some time afaik
    1 point
  28. Are you referring to Penticton? Ayye Canadians
    1 point
  29. Bring some beers or other beverages and just enjoy nature , fishing is a good one. walking in the nature if you enjoy that kinda stuff too.
    1 point
  30. bring condoms bring condoms bring condoms bring condoms
    1 point
  31. 1 point
  32. Fishing. Can try cook any of your catches too
    1 point
  33. Things to do on vacation
    1 point
  34. What do you need? : Monkey Madness - 2.5M Lost Tribe - 600K Making History - 500KMerlin's Crystal - 750K Monk's Friend - 300K Sea Slug - 400K Wanted! - 1.8MPayment method? : osrsgpGoing first or middleman? : firstWhat's your Discord ID? :ZiiNJa#9579Do you agree to my TOS? : YES
    1 point
  35. hi im after prices on below from level 3. 1-18 slayer ( 9 off museum 15 off rfd dwarf completion ) 1-36 wc 1-31 crafting 1-30 range 1-10 fishing 1-10 cooking 1-25 agility Vampire slayer Fight arena Mountain daughter Lost city Tree gnome village Restless ghost Ernest chicken Priest in peril Animal mag Fishing contest Rfd dwarf looking for a few at a time. let me know prices.
    1 point
  36. Most likely you're seeing the total CPU usage, however Java is probably only running on one core. So if you max out one core on a 4 core cpu, your usage will say 25%.
    1 point
  37. congrats. definitely well deserved, much more than @RoomScape
    1 point
  38. 1 point
  39. Such an achievement, @D Bolter! Praises my good friend!
    1 point
  40. Exactly! My customer service skills are impeccable and my professional skills are through the roof. I wear a suit whenever I PM people and have things completed on the specified time or earlier. I’ve met thousands of people and done thousands more in trades and have had to adjust my personality slightly for each trade. I’m not fake, I’m just a salesman and so I need to make my customer happy, thus amazing customer service skills.
    1 point
  41. Okay so I have this account it has been perm banned in 2010 and after logging back on it last year it suddenly was playable (with no rollback) but still with the perm ban on the offences did this happen to any1 of you ?
    0 points
  42. http://osrsbanrates.com/
    0 points
  43. Yeah so true. But thy did increase membership prices so now we are going to have better servers!
    0 points
×
×
  • Create New...