Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 11/10/21 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!
    1 point
  2. A FREE open source basic Mort Myre fungus picking script How to start Start at Clan wars with a Silver sickle (b) equipped. Have Ring of duelings in your bank. If using the Arceuus method start with one Law rune and two Soul runes within your inventory, if using Salve graveyard teleport tablets, have them in your bank. Features Teleports if under or equal to 3 HP Supports Salve graveyard teleport tablet Supports Arceuus spellbook teleport Replenishes stats in Clan Wars Free-for-all portal Available here: https://github.com/castro-free-scripts/OSBot-Mort-Myre-Fungus/releases
    1 point
  3. where the best spot to start lvl 1 fishing
    1 point
  4. CAn I try this out? does it work f2p?
    1 point
  5. Osbot is working fine, you could try; shutting the client down, deleting your osbot folder from C:\Users\ restarting the client to see if that fixes it, other alternates could be your firewall blocking access
    1 point
  6. Thanks will check over Gargs soon! Finally maxed melee now also WIll probably switch to range for rest of slayer grind
    1 point
  7. Activated gl sir, please use breaks especially if training at lumbridge, otherwise in p2p you can easily squeeze in more botting hours ^^ EDIT: @lkihazzardjust lowered the delay after killing a gargoyle, lmk if you want it to be tweaked, increased or decreased. Also if you notice it not looting their drops please also confirm
    1 point
  8. Hi there Can I please have a trial of this? Thanks.
    1 point
  9. whats the difference between this and the script in your perfect fighter? I bought both not seeing perfect fighter had a crab tool
    1 point
  10. Take it from someone with experience in IT. Trust me you don't want to be fixing teacher's projectors for the rest of your life. lol.
    1 point
  11. LOVE the script. Super easy way to keep an account bonded. EDIT: My post said something else, but I figured it out later. I'm an idiot.
    1 point
  12. Today is MY(your) day! As you perhaps already know of me I will try my bloody best to give the best quality script possible. I am working my ass off and am trying to walk on paths that have not yet been walked on before. Today I will be developing the 2 next features until they are freaking done! - Thieving for members as a moneymaker - Fishing until sharks for members This is content of which I in the forum mentioned that will raise the price. BUUUT... I decided that this piece of content will not. Reason being? Yes a little extra payment in the end is nice, but I develop these kinds of things for you guys! I will keep you up to date on how everything is going in my Discord channel! As always enjoy your day and HAPPY BOTTING! Kind regards, MW
    1 point
  13. v2.31: Added wildcard support to #slotContains in Inventory Added #getDynamicSkillLevelCompare to Skills Added β€œGROUP_IRONMAN” and β€œHARDCORE_GROUP_IRONMAN” to AccountType Minor fixes
    1 point
  14. Fixed the script, for anyone who's actively looking for a NMZ script. I had to remove a few things, not sure if they're older code that the client doesn't recognize anymore. I've tested the script for 25 minutes and it works fine. You can find the .jar at the end of the post. package core; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Point; import java.awt.RenderingHints; import java.util.ArrayList; import java.util.List; import org.osbot.rs07.api.map.Area; import org.osbot.rs07.api.map.Position; import org.osbot.rs07.api.model.NPC; import org.osbot.rs07.api.model.Player; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.api.ui.Tab; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; @ScriptManifest(author = "Mgt Madness", info = "Nightmare Zone", name = "Nmz", version = 1.1, logo = "") public class Main extends Script { private final Color BACKGROUND_COLOUR = new Color(0, 0, 0, 80); private final Color BACKGROUND_OUTLINE_CLOUR = new Color(0, 0, 0, 80); private final Color MAIN_TEXT_COLOUR = new Color(102, 188, 255); private final BasicStroke stroke1 = new BasicStroke(1); private final Font font1 = new Font(Font.SANS_SERIF, 0, 12); private final int X = -134; private final int Y = 85; private final int BOX_ARC_AMOUNT = 8; private final String[] ABSORBTION_POTIONS = {"Absorption (1)", "Absorption (2)", "Absorption (3)", "Absorption (4)"}; private final String[] OVERLOAD_POTIONS = {"Overload (1)", "Overload (2)", "Overload (3)", "Overload (4)"}; private long timeScriptStarted = System.currentTimeMillis(); private String status = ""; private ArrayList<String> skillsExperienceStart = new ArrayList<String>(); private ArrayList<String> skillsExperienceGained = new ArrayList<String>(); private long timeToDrinkOverload; private int absorbtionDosesToDrink; private long timeCanCake; @Override public void onStart() { setStatus("Script started."); for (Skill data : Skill.values()) { skillsExperienceStart.add(data.name() + ":" + skills.getExperience(data)); } } @Override public int onLoop() throws InterruptedException { if (skills.getDynamic(Skill.HITPOINTS) == 0) { setStatus("Player is 0 hp."); } if (areaHasPlayers()) { setStatus("Area has players, stop script"); stop(); } updateExperienceGained(); overload(); absorbtion(); antiBan(); cake(); return random(500, 1000); } private void cake() { if (System.currentTimeMillis() < timeCanCake) { return; } if (System.currentTimeMillis() < timeToDrinkOverload) { return; } if (skills.getDynamic(Skill.STRENGTH) > skills.getStatic(Skill.STRENGTH)) { if (skills.getDynamic(Skill.HITPOINTS) > 2) { setStatus("Eat"); inventory.interact(random(1, 15) == 1 ? "Guzzle" : "Eat", "Dwarven rock cake"); moveMouse(3); } else if (skills.getDynamic(Skill.HITPOINTS) == 2) { long delay = random(61000, 170000); if (random(1, 7) == 1) { delay = random(170000, 360000); } if (random(1, 6) == 1) { // Do not guzzle. } else { setStatus("Eat"); inventory.interact("Guzzle", "Dwarven rock cake"); } moveMouse(3); timeCanCake = System.currentTimeMillis() + delay; } } } private void moveMouse(int i) { // TODO Auto-generated method stub } private void antiBan() throws InterruptedException { if (random(1, 200) == 1) { setStatus("Anti-ban random mouse movement"); moveMouse(1); } if (random(1, 300) == 1) { moveMouse(2); if (skills.getCombat().getSpecialPercentage() >= 55) { skills.getCombat().toggleSpecialAttack(true); setStatus("Anti-ban special attack activated"); } } if (random(1, 300) == 1) { int random = random(1, 50); if (random <= 5) { absorbtionDosesToDrink = random(1, 2); setStatus("Anti-ban drink abosrbtion"); sleep(random(2000, 10000)); skills.getMouse().moveOutsideScreen(); } else if (random <= 25) { attackRandomTarget(); } else if (random <= 30) { getWalking().walk(new Position((myPlayer().getX() - 10) + random(0, 10), (myPlayer().getY() - 10) + random(0, 10), myPlayer().getHeight())); setStatus("Anti-ban walk"); sleep(random(2000, 10000)); skills.getMouse().moveOutsideScreen(); } else if (random <= 40) { random = random(1, 10); if (random <= 4) { setStatus("Anti-ban friends"); getTabs().open(Tab.FRIENDS); sleep(random(3000, 10000)); getTabs().open(Tab.INVENTORY); } else if (random <= 7) { setStatus("Anti-ban attack tab"); getTabs().open(Tab.ATTACK); sleep(random(3000, 7000)); getTabs().open(Tab.INVENTORY); } else if (random <= 10) { setStatus("Anti-ban skills tab"); getTabs().open(Tab.SKILLS); sleep(random(4000, 12000)); getTabs().open(Tab.INVENTORY); } sleep(random(2000, 10000)); skills.getMouse().moveOutsideScreen(); } else if (random <= 50) { if (System.currentTimeMillis() < timeCanCake) { attackRandomTarget(); return; } if (skills.getDynamic(Skill.HITPOINTS) > 1) { setStatus("Anti-ban eat"); inventory.interact(random(1, 2) == 1 ? "Guzzle" : "Eat", "Dwarven rock cake"); } sleep(random(2000, 10000)); skills.getMouse().moveOutsideScreen(); } } } private void attackRandomTarget() throws InterruptedException { List<NPC> allNpcs = npcs.getAll(); for (int index = 0; index < allNpcs.size(); index++) { NPC npc = allNpcs.get(index); if (npc == null) { continue; } if (!npc.exists()) { continue; } if (!npc.isOnScreen()) { continue; } if (random(1, 2) == 1) { continue; } npc.interact("Attack"); setStatus("Anti-ban switch target"); sleep(random(2000, 10000)); skills.getMouse().moveOutsideScreen(); break; } } private void absorbtion() { if (absorbtionDosesToDrink > 0) { setStatus("Drinking absorbtion"); inventory.interact("Drink", ABSORBTION_POTIONS); moveMouse(10); absorbtionDosesToDrink--; if (absorbtionDosesToDrink == 0) { timeCanCake = System.currentTimeMillis() + random(500, 7000); } } } private void overload() throws InterruptedException { if (skills.getDynamic(Skill.HITPOINTS) < 51) { return; } if (timeToDrinkOverload == 0) { if (skills.getDynamic(Skill.STRENGTH) == skills.getStatic(Skill.STRENGTH)) { setStatus("Will overload shortly"); long delay = random(2000, 20000); if (random(1, 6) == 1) { delay = random(20000, 120000); setStatus("Will overload longly"); } timeToDrinkOverload = System.currentTimeMillis() + delay; } return; } if (System.currentTimeMillis() > timeToDrinkOverload) { setStatus("Drinking overload"); timeCanCake = System.currentTimeMillis() + random(10000, 25000); inventory.interact("Drink", OVERLOAD_POTIONS); timeToDrinkOverload = 0; moveMouse(3); sleep(random(1000, 8000)); absorbtionDosesToDrink = random(2, 7); } } @Override public void onExit() { setStatus("Script ended."); } @Override public void onPaint(Graphics2D g) { int ySize = skillsExperienceGained.size() * 16; g.setColor(BACKGROUND_COLOUR); g.fillRoundRect(143 + X, 8 + Y, 211, 40 + ySize, BOX_ARC_AMOUNT, BOX_ARC_AMOUNT); g.setColor(BACKGROUND_OUTLINE_CLOUR); g.setStroke(stroke1); g.drawRoundRect(143 + X, 8 + Y, 211, 40 + ySize, BOX_ARC_AMOUNT, BOX_ARC_AMOUNT); g.setFont(font1); g.setColor(MAIN_TEXT_COLOUR); g.drawString("Duration: " + getRuntime(), 147 + X, 24 + Y); g.drawString("Last action: " + status, 147 + X, 40 + Y); for (int index = 0; index < skillsExperienceGained.size(); index++) { g.drawString(skillsExperienceGained.get(index), 147 + X, 40 + Y + ((index + 1) * 16)); } drawMouse(g); } private void setStatus(String status) { log("Status: " + status); this.status = status; } /** * Get time since script started. */ private String getRuntime() { long seconds = (System.currentTimeMillis() - timeScriptStarted) / 1000; if (seconds < 60) { return seconds + "s"; } else if (seconds < 3600) { int remainder = (int) (seconds / 60); if (60 * remainder < seconds) { remainder = (int) (seconds - (60 * remainder)); } else { remainder = 0; } return (seconds / 60) + "m " + remainder + "s"; } else { int remainderMinutes = (int) seconds / 3600; int seconds1 = 0; if (3600 * remainderMinutes < seconds) { remainderMinutes = (int) (seconds - (3600 * remainderMinutes)); seconds1 = remainderMinutes; remainderMinutes /= 60; int remainder = (int) (seconds1 / 60); if (60 * remainder < seconds1) { remainder = (int) (seconds1 - (60 * remainder)); } else { remainder = 0; } seconds1 = remainder; } else { remainderMinutes = 0; } return (seconds / 3600) + "h " + remainderMinutes + "m " + seconds1 + "s"; } } /** * @return * The number in thousands with k at the end. */ private String getFormattedRunescapeNumber(int amount) { if (amount >= 1000) { return (amount / 1000) + "k"; } else { return amount + ""; } } private void updateExperienceGained() { int index = 0; skillsExperienceGained.clear(); for (Skill data : Skill.values()) { int currentXp = skills.getExperience(data); String[] parse = skillsExperienceStart.get(index).split(":"); int startXp = Integer.parseInt(parse[1]); if (currentXp > startXp) { int totalXp = currentXp - startXp; skillsExperienceGained.add(capitalize(parse[0]) + " xp: " + getFormattedRunescapeNumber(totalXp) + " (" + getFormattedRunescapeNumber(getExperienceperHour(totalXp)) + "/h)"); } index++; } } public int getExperienceperHour(int totalExperienceGained) { int minutes = (int) ((System.currentTimeMillis() - timeScriptStarted) / 60000); int beforeSeconds = 0; double multiplier = 1.0; if (minutes < 60) { beforeSeconds = (int) ((System.currentTimeMillis() - timeScriptStarted) / 1000); multiplier = 3600.0 / (double) beforeSeconds; minutes = 60; } double convert = (double) minutes; convert = convert / 60.0; return (int) ((totalExperienceGained / convert) * multiplier); } /** * Capitalize the first letter and other letters that before it is a space. * @param s * @return */ public static String capitalize(String s) { s = s.toLowerCase(); for (int i = 0; i < s.length(); i++) { if (i == 0) { s = String.format("%s%s", Character.toUpperCase(s.charAt(0)), s.substring(1)); } if (!Character.isLetterOrDigit(s.charAt(i))) { if (i + 1 < s.length()) { s = String.format("%s%s%s", s.subSequence(0, i + 1), Character.toUpperCase(s.charAt(i + 1)), s.substring(i + 2)); } } } return s; } public boolean areaHasPlayers() { Area area = myPlayer().getArea(10);//create your own area int amount = 0; for (Player player : players.getAll()) { if (player != null && !player.getName().equalsIgnoreCase(myPlayer().getName())) { if (area.contains(player)) { amount++; } } } return amount > 0; } public void drawMouse(Graphics g) { ((Graphics2D) g).setRenderingHints(new RenderingHints(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON)); Point p = mouse.getPosition(); Graphics2D spinG = (Graphics2D) g.create(); Graphics2D spinGRev = (Graphics2D) g.create(); spinG.setColor(new Color(255, 255, 255)); spinGRev.setColor(Color.cyan); spinG.rotate(System.currentTimeMillis() % 2000d / 2000d * (360d) * 2 * Math.PI / 180.0, p.x, p.y); spinGRev.rotate(System.currentTimeMillis() % 2000d / 2000d * (-360d) * 2 * Math.PI / 180.0, p.x, p.y); final int outerSize = 20; final int innerSize = 12; spinG.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); spinGRev.setStroke(new BasicStroke(1.0f, BasicStroke.CAP_ROUND, BasicStroke.JOIN_ROUND)); spinG.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize, outerSize, 100, 75); spinG.drawArc(p.x - (outerSize / 2), p.y - (outerSize / 2), outerSize, outerSize, -100, 75); spinGRev.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2), innerSize, innerSize, 100, 75); spinGRev.drawArc(p.x - (innerSize / 2), p.y - (innerSize / 2), innerSize, innerSize, -100, 75); } } NMZ.jar
    1 point
Γ—
Γ—
  • Create New...