Jump to content
Patrickold

Ardougne Nature Chest

Recommended Posts

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);
		
	}

}

mCWnHVj.png

 

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 by Patrickold
  • Like 4
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...