Patrickold Posted May 18, 2015 Posted May 18, 2015 (edited) Wanted to thieve the chest so i made this. Its not very efficient, it runs 12-16 seconds for a thieve from chest and you can min-max clicking at 8 seconds. All the scripts on the sdn dont support this chest so i threw this together real fast. import org.osbot.rs07.api.model.Entity; import org.osbot.rs07.api.ui.Skill; import org.osbot.rs07.script.Script; import org.osbot.rs07.script.ScriptManifest; import java.awt.*; import java.util.concurrent.TimeUnit; @ScriptManifest(name = "Ardougne Nature Chest", author = "Patrickold", version = 0.1, info = "Simple script to open the Nature Rune chest", logo = "") public class ArdyChest extends Script { private int natureRunes = 0; private int coins = 0; private long timeBegan; private long timeRan; private int beginningXP; private int currentXp; private int xpGained; private int currentLevel; private int beginningLevel; private int levelsGained; @Override public void onStart() { log("Script Starting."); natureRunes = (int) this.inventory.getAmount(561); coins = (int) this.inventory.getAmount(995); timeBegan = System.currentTimeMillis(); beginningXP = skills.getExperience(Skill.THIEVING); beginningLevel = skills.getStatic(Skill.THIEVING); lastChest = System.currentTimeMillis() - 5000; } @Override public void onExit() { log("Script Exited."); } private long lastChest = 0; @Override public int onLoop() throws InterruptedException { Entity chest = getObjects().closest("Chest"); sleep(random(100,200)); getCamera().moveYaw(random(10,150)); sleep(random(100,200)); if(chest.getId() == 11736 && chest.getX() == 2671 && chest.getY() == 3301 && lastChest <= System.currentTimeMillis() - 3000) { chest.interact("Search for traps"); getCamera().movePitch(random(100,200)); getCamera().moveYaw(random(10,150)); lastChest = System.currentTimeMillis(); } sleep(random(100,200)); getCamera().movePitch(random(100,200)); return(random(100,150)); } private String ft(long duration) { String res = ""; long days = TimeUnit.MILLISECONDS.toDays(duration); long hours = TimeUnit.MILLISECONDS.toHours(duration) - TimeUnit.DAYS.toHours(TimeUnit.MILLISECONDS.toDays(duration)); long minutes = TimeUnit.MILLISECONDS.toMinutes(duration) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS .toHours(duration)); long seconds = TimeUnit.MILLISECONDS.toSeconds(duration) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS .toMinutes(duration)); if (days == 0) { res = (hours + ":" + minutes + ":" + seconds); } else { res = (days + ":" + hours + ":" + minutes + ":" + seconds); } return res; } @Override public void onPaint(Graphics2D g) { timeRan = System.currentTimeMillis() - this.timeBegan; currentXp = skills.getExperience(Skill.THIEVING); xpGained = currentXp - beginningXP; currentLevel = skills.getStatic(Skill.THIEVING); levelsGained = currentLevel - beginningLevel; super.onPaint(g); g.setColor(Color.GREEN); g.drawString("Ardougne Nature Chest :3", 5, 290); g.drawString("Time Ran: "+ft(timeRan), 5, 302); g.drawString("Nature Runes: "+(this.inventory.getAmount(561) - natureRunes), 5, 314); g.drawString("Coins: "+(this.inventory.getAmount(995) - coins), 5, 326); g.drawString("Xp Gained: " + xpGained, 5, 338); g.drawString("Thieving LVL: "+currentLevel+(levelsGained > 0 ? " (+"+levelsGained+")" : ""), 5, 350); } } Second time running it, first time was for about a hour then i had to leave. I have only tested it on the Mirror client, so. No idea how the regular client will function. Edited May 18, 2015 by Patrickold 4
Embarrassment Posted July 15, 2015 Posted July 15, 2015 Is it possible to add world hopper to these sort of things? Script looks good, gonna have to try it.
Augury13 Posted July 22, 2015 Posted July 22, 2015 How profitable can this be? Not really profitable at all, but something that a script can focus on maintenance of the antiban and making less detected than making the method better seeing how the method is all that you can do. It's a way for you to thieve without having to worrying about the bot dying, and for you to make some money without banking or needing to reset on food. Breakdown of money /hr Nature runes: 259~ + Coins: 777 = 70k~ 1.5/hrs. 70k x 2 = 140k/3hrs 140k / 3 = ~45k/hr, while in mind not having to deal with deathwalking or food and still making profit. So am happy that someone made a script for this, as my autohotkey one has helped me a bunch when I need to leave for a couple of hours.