Jake Posted April 24, 2019 Share Posted April 24, 2019 Releasing this as a free script, since it doesn't use instanced rooms (don't ask me to add them...). With minimal tweaks, you could make it withdraw vote tickets and use the instance room. Start it anywhere with Trident of the Seas, and your choice of magic armor. It auto refills the staff when it runs out of charge, with coins either in your inventory, or from your pouch. Uses super restores, so make sure you have a lot of them in your bank. Post bugs if any. I'll try to get it on SDN in the future. compiled : https://ufile.io/z1xksdsh source : Spoiler import xobot.bot.Context; import xobot.client.callback.listeners.MessageListener; import xobot.client.callback.listeners.PaintListener; import xobot.client.events.MessageEvent; import xobot.script.ActiveScript; import xobot.script.Manifest; import xobot.script.methods.*; import xobot.script.methods.input.KeyBoard; import xobot.script.methods.tabs.Equipment; import xobot.script.methods.tabs.Inventory; import xobot.script.methods.tabs.Prayer; import xobot.script.methods.tabs.Skills; import xobot.script.util.Time; import xobot.script.util.Timer; import xobot.script.wrappers.interactive.GameObject; import xobot.script.wrappers.interactive.GroundItem; import xobot.script.wrappers.interactive.Item; import xobot.script.wrappers.interactive.NPC; import java.awt.*; import java.util.HashSet; /** * Created by HP xw8400 * Author: Jacob * Date: 4/24/2019. */ @Manifest(authors = {"Jake"}, name = "Kraken Killer", version = 1.0) public class Kraken extends ActiveScript implements PaintListener, MessageListener { private final int TENT_POOL = 8729; private final int KRAKEN_POOL = 8732; private final int KRAKEN = 8980; private final int DEPLETED_STAFF = 30016; private final int STAFF = 30014; private final int COINS = 995; private int kills = 0; private boolean depleted = false; private Timer timer; private final HashSet<Integer> loots = new HashSet<Integer>() {{ // staff // coins // elite effigy // tentacle add(DEPLETED_STAFF); add(COINS); add(18778); add(12004); }}; @Override public boolean onStart() { timer = new Timer(); return true; } @Override public int loop() { final GameObject bridge = GameObjects.getNearest(5456); if (bridge == null) { if (Inventory.Contains(3024)) { Game.teleport("kraken"); Time.sleep(6000); } else if (Bank.isOpen()) { Bank.depositAll(); if (Time.sleep(Inventory::isEmpty, 5000)) { Bank.withdraw(3024, 26); Time.sleep(() -> Inventory.Contains(3024), 4000); } } else { final GameObject bank = GameObjects.getNearest(26972); if (bank != null) { bank.interact("open"); Time.sleep(Bank::isOpen, 8000); } else { Game.teleport("edgeville"); Time.sleep(6000); } } } else if (bridge.isReachable()) { final Item vial = Inventory.getItem(229); if (vial != null) { vial.interact("drop"); Time.sleep(750); } final Item staff = Inventory.getItem(STAFF); if (staff != null) { staff.interact("wear"); Time.sleep(500); depleted = false; } if (depleted) { if (Inventory.isFull()) { dropRestore(); } final Item equip = Equipment.getItem(3); if (equip != null) { equip.interact("remove"); Time.sleep(500); } else { final Item depleted = Inventory.getItem(DEPLETED_STAFF); if (depleted != null) { final Item coins = Inventory.getItem(COINS); if (coins != null) { coins.interact("use"); Time.sleep(500); depleted.interact("use with"); Time.sleep(1200); } else { withdrawFromPouch(2500000); } } } } else { Prayer.Prayers.PROTECT_FROM_MAGIC.Activate(); if (Skills.PRAYER.getCurrentLevel() < 20) { final Item potion = Inventory.getItem(3030, 3028, 3026, 3024); if (potion != null) { potion.interact("drink"); Time.sleep(() -> Skills.PRAYER.getCurrentLevel() > 20, 3000); } else { Game.teleport("edgeville"); return 5500; } } final GroundItem loot = GroundItems.getNearest(item -> { return item.isReachable() && loots.contains(item.getItem().getID()); }); if (loot != null) { if (Inventory.isFull()) { dropRestore(); } final int count = Inventory.getRealCount(); loot.interact("take"); Time.sleep(() -> Inventory.getRealCount() > count, 7000); } final NPC kraken = NPCs.getNearest(KRAKEN); if (kraken != null) { if (Players.getMyPlayer().getInteractingIndex() != kraken.getIndex() && !kraken.isDead()) { kraken.interact("attack"); Time.sleep(() -> Players.getMyPlayer().getInteractingIndex() == kraken.getIndex(), 3000); } } else { final NPC[] pools = NPCs.getAll(npc -> !npc.isInCombat() && npc.getId() == TENT_POOL); if (pools.length > 0) { for (int i = 0; i < pools.length; i++) { if (pools[i].isInCombat() || Projectiles.getTargeting(pools[i]).length > 0) { continue; } pools[i].interact("disturb"); if (i == pools.length - 1) { Time.sleep(pools[i]::isInCombat, 4000); } else { Time.sleep(2000); } } } else { final NPC krakenPool = NPCs.getNearest(KRAKEN_POOL); if (krakenPool != null && NPCs.getAll().length > 1) { krakenPool.interact("disturb"); Time.sleep(() -> krakenPool.getId() != KRAKEN_POOL, 4000); } } } } } else { final GameObject crevice = GameObjects.getNearest(537); if (crevice != null) { crevice.interact("enter"); Time.sleep(() -> !crevice.isReachable(), 4000); } } return 100; } private void dropRestore() { final Item potion = Inventory.getItem(3030, 3028, 3026, 3024); if (potion != null) { potion.interact("drop"); Time.sleep(() -> !Inventory.isFull(), 3000); } } private boolean withdrawFromPouch(int quantity) { Item coins = Inventory.getItem(COINS); if (coins == null || coins.getStack() < quantity) { Packets.sendAction(4001, 0, 0, 26962); if (Time.sleep(() -> Context.client.getInputState() == 5, 3000)) { String input = String.valueOf(quantity); Context.client.setInputText(input); if (Context.client.getInputText().equals(input)) { KeyBoard.pressEnter(); return Time.sleep(() -> { final Item coin = Inventory.getItem(COINS); return coin != null && coin.getStack() >= quantity; }, 3000); } } } return true; } @Override public void repaint(Graphics graphics) { double conversion = 3600.0 / (timer.getElapsed() / 1000.0); graphics.setColor(Color.YELLOW); graphics.drawString("Time: " + timer.toElapsedString(), 5, 290); graphics.drawString("Kills: " + kills + " / " + Math.round(kills * conversion), 5, 310); } @Override public void MessageRecieved(MessageEvent message) { if (message.getType() == 0) { if (message.getMessage().contains("has run out of")) { depleted = true; } else if (message.getMessage().contains("KRAKEN kill")) { kills++; } } } } 1 Link to comment Share on other sites More sharing options...
peanut Posted April 24, 2019 Share Posted April 24, 2019 (edited) looks ugly but thanks i guess edit: does it support instanced? Edited April 24, 2019 by p3anut 1 Link to comment Share on other sites More sharing options...
botlluvr1 Posted April 24, 2019 Share Posted April 24, 2019 2 hours ago, p3anut said: looks ugly but thanks i guess edit: does it support instanced? instanced / prayer support would be good and magics Link to comment Share on other sites More sharing options...
Jake Posted May 27, 2019 Author Share Posted May 27, 2019 Added to Ikov. Have tons of Prayer potion(4), Magic Potion(4), and Sharks in bank. Have Tons of blood barrage runes already in inventory, and make sure Blood barrage is autocasted. It uses augury, so make sure you have 77 prayer and have unlocked it from dung. You won't get many kills if you don't use Chaotic staff and arcane stream. Mystics armor works fine. It's also way better to wear a range top than a mage one. This is the gear I have been using. http://prntscr.com/nu0qsm. Also make sure you are on old teleport system for ikov. Post here or bug me in discord if something doesn't work. Don't worry about dying (you'll only die if you dc), because you'll spawn in edge bank with all your items. e:it also requires 87 slayer 1 Link to comment Share on other sites More sharing options...
L R K Y Posted May 28, 2019 Share Posted May 28, 2019 (edited) Everything is working pretty well with this setup - I have noticed it sometimes does not pray on a trip resulting in a failed trip, but otherwise it is working pretty nicely actually it could have been me pausing the script and it running out of prayer points when checking gear stats, seems to be ok atm with 20kills. edit: I just witnessed it not pray when babysitting on the 21st run, just eats tps out then runs again. Edited May 28, 2019 by L R K Y Link to comment Share on other sites More sharing options...
Sucrax Posted May 28, 2019 Share Posted May 28, 2019 58 minutes ago, L R K Y said: Everything is working pretty well with this setup - I have noticed it sometimes does not pray on a trip resulting in a failed trip, but otherwise it is working pretty nicely actually it could have been me pausing the script and it running out of prayer points when checking gear stats, seems to be ok atm with 20kills. edit: I just witnessed it not pray when babysitting on the 21st run, just eats tps out then runs again. Why Karil's? Does it hit thru prayer now? Link to comment Share on other sites More sharing options...
L R K Y Posted May 28, 2019 Share Posted May 28, 2019 Yeah you need magic defence Link to comment Share on other sites More sharing options...
Sohan Posted May 30, 2019 Share Posted May 30, 2019 (edited) Possible to add few extra lootings to the list? Saw that it doesnt even loot key halves, rune bars(noted), raw sharks(noted), raw monkfish(noted), ancient effigies, oak planks (noted). Sure there are more to make big buck if you bot 24/7 Edited May 30, 2019 by Sohan Link to comment Share on other sites More sharing options...
coffee693 Posted June 1, 2019 Share Posted June 1, 2019 if possible can you add steel titan support with special? really speeds up kills Link to comment Share on other sites More sharing options...
Sohan Posted June 2, 2019 Share Posted June 2, 2019 On 1.6.2019 at 5:51 AM, coffee693 said: if possible can you add steel titan support with special? really speeds up kills Just wanted to drop by and and ask if its possible to add such feature as well. Can double or triple up kills per hour. Link to comment Share on other sites More sharing options...
Jake Posted June 2, 2019 Author Share Posted June 2, 2019 On 5/31/2019 at 10:51 PM, coffee693 said: if possible can you add steel titan support with special? really speeds up kills Yeah, I'd need an account with 99 summoning though Link to comment Share on other sites More sharing options...
Sohan Posted June 2, 2019 Share Posted June 2, 2019 1 hour ago, Jake said: Yeah, I'd need an account with 99 summoning though PM me your discord. Ill borrow you one Link to comment Share on other sites More sharing options...
Dscarpin65 Posted June 2, 2019 Share Posted June 2, 2019 What drops does it pick up? It just missed an effigy. Link to comment Share on other sites More sharing options...
tdubshockey Posted June 3, 2019 Share Posted June 3, 2019 The Compiled upload has expired, could we have another? Link to comment Share on other sites More sharing options...
asiandragon Posted June 4, 2019 Share Posted June 4, 2019 Is it possible to reupload? Thanks in advance Link to comment Share on other sites More sharing options...
Recommended Posts