Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Utils.Timer;
- import org.osbot.rs07.api.Walking;
- import org.osbot.rs07.api.map.Position;
- import org.osbot.rs07.api.map.constants.Banks;
- import org.osbot.rs07.api.model.Entity;
- import org.osbot.rs07.api.model.RS2Object;
- import org.osbot.rs07.event.WalkingEvent;
- import org.osbot.rs07.script.Script;
- import java.awt.Image;
- import java.awt.geom.Area;
- import java.awt.image.BufferedImage;
- import java.io.IOException;
- import java.awt.Graphics2D;
- import java.net.MalformedURLException;
- import java.net.URL;
- import javax.imageio.ImageIO;
- import org.osbot.rs07.api.ui.Skill;
- import org.osbot.rs07.script.Script;
- import org.osbot.rs07.script.ScriptManifest;
- import org.osbot.rs07.utility.ConditionalSleep;
- import java.awt.*;
- @ScriptManifest(author = "DarkBinded", info = "DarkBinded's Progressive Woodcutter", name = "Progressive WoodCutter", version = 0.1, logo = "")
- public class WoodCutting extends Script {
- private long timeBegan, timeRan;
- BufferedImage Image;
- private int currentLevel;
- private int beginningLevel;
- private int levelsGained;
- private int beginningXp;
- private int currentXp;
- private int xpGained;
- private int xpHour;
- private String state;
- @Override
- public void onStart() {
- log("Thank you for choosing DarkBinded's Progressive Woodcutter!");
- timeBegan = System.currentTimeMillis();
- Image = getImage("https://i.imgur.com/3UBnMLM.png");
- beginningLevel = skills.getStatic(Skill.WOODCUTTING);
- beginningXp = skills.getExperience(Skill.WOODCUTTING);
- }
- @Override
- public void onExit() {
- log("Thank you for using DarkBinded's Progressive Woodcutter!");
- }
- @Override
- public int onLoop() throws InterruptedException {
- if (skills.getDynamic(Skill.WOODCUTTING) >= 15) {
- state = "Walking to East Varrock";
- getWalking().webWalk((Banks.VARROCK_EAST));
- if (!myPlayer().isAnimating()) {
- if (getInventory().isFull()) {
- state = "Walking to East Varrock Bank";
- getWalking().webWalk((Banks.VARROCK_EAST));
- if (!getBank().isOpen()) {
- getBank().open();
- } else {
- state = "Depositing logs";
- getBank().depositAllExcept("Bronze Axe");
- getBank().close();
- state = "Walking to trees";
- WalkingEvent treearea = new WalkingEvent(new Position(3280, 3427, 0));
- treearea.setMinDistanceThreshold(5);
- treearea.setMiniMapDistanceThreshold(5);
- treearea.setEnergyThreshold(30);
- execute(treearea);
- }
- }
- else {
- Entity tree = getObjects().closest("Tree");
- if (tree != null && tree.interact("Chop down")) {
- state = "Chopping down trees";
- new ConditionalSleep(5000) {
- @Override
- public boolean condition() {
- return myPlayer().isAnimating() || !tree.exists();
- }
- }.sleep();
- }
- }
- }
- }
- if (skills.getDynamic(Skill.WOODCUTTING) <= 15) {
- state = "Walking to East Varrock";
- getWalking().webWalk((Banks.VARROCK_EAST));
- if (!myPlayer().isAnimating()) {
- if (getInventory().isFull()) {
- state = "Walking to East Varrock Bank";
- getWalking().webWalk((Banks.VARROCK_EAST));
- if (!getBank().isOpen()) {
- getBank().open();
- } else {
- state = "Depositing Oak logs";
- getBank().depositAllExcept("Bronze Axe");
- getBank().close();
- state = "Walking to Oak trees";
- WalkingEvent treearea = new WalkingEvent(new Position(3280, 3427, 0));
- treearea.setMinDistanceThreshold(5);
- treearea.setMiniMapDistanceThreshold(5);
- treearea.setEnergyThreshold(30);
- execute(treearea);
- }
- }
- else {
- Entity tree = getObjects().closest("Oak");
- if (tree != null && tree.interact("Chop down")) {
- state = "Chopping down Oak trees";
- new ConditionalSleep(5000) {
- @Override
- public boolean condition() {
- return myPlayer().isAnimating() || !tree.exists();
- }
- }.sleep();
- }
- }
- }
- }
- if (skills.getDynamic(Skill.WOODCUTTING) <= 30) {
- state = "Walking to Draynor";
- getWalking().webWalk((Banks.DRAYNOR));
- if (!myPlayer().isAnimating()) {
- if (getInventory().isFull()) {
- state = "Walking to Draynor Bank";
- getWalking().webWalk((Banks.DRAYNOR));
- if (!getBank().isOpen()) {
- getBank().open();
- } else {
- state = "Depositing Willow logs";
- getBank().depositAllExcept("Bronze Axe");
- getBank().close();
- state = "Walking to Willow trees";
- WalkingEvent treearea = new WalkingEvent(new Position(3087, 3235, 0));
- treearea.setMinDistanceThreshold(5);
- treearea.setMiniMapDistanceThreshold(5);
- treearea.setEnergyThreshold(30);
- execute(treearea);
- }
- }
- else {
- Entity tree = getObjects().closest("Willow");
- if (tree != null && tree.interact("Chop down")) {
- state = "Chopping down Willow trees";
- new ConditionalSleep(5000) {
- @Override
- public boolean condition() {
- return myPlayer().isAnimating() || !tree.exists();
- }
- }.sleep();
- }
- }
- }
- }
- if (skills.getDynamic(Skill.WOODCUTTING) <= 75) {
- state = "Walking to the Grand Exchange";
- getWalking().webWalk((Banks.GRAND_EXCHANGE));
- if (!myPlayer().isAnimating()) {
- if (getInventory().isFull()) {
- state = "Walking to Grand Exchange";
- getWalking().webWalk((Banks.GRAND_EXCHANGE));
- if (!getBank().isOpen()) {
- getBank().open();
- } else {
- state = "Depositing Yew logs";
- getBank().depositAllExcept("Bronze Axe");
- getBank().close();
- state = "Walking to Yew trees";
- WalkingEvent treearea = new WalkingEvent(new Position(3183, 3508, 0));
- treearea.setMinDistanceThreshold(5);
- treearea.setMiniMapDistanceThreshold(5);
- treearea.setEnergyThreshold(30);
- execute(treearea);
- }
- }
- else {
- Entity tree = getObjects().closest("Yew tree");
- if (tree != null && tree.interact("Chop down")) {
- state = "Chopping down Yew trees";
- new ConditionalSleep(5000) {
- @Override
- public boolean condition() {
- return myPlayer().isAnimating() || !tree.exists();
- }
- }.sleep();
- }
- }
- }
- }
- return 1000; //The amount of time in milliseconds before the loop starts over
- }
- @Override
- public void onPaint(Graphics2D g) {
- timeRan = System.currentTimeMillis() - timeBegan;
- g.setColor(Color.white);
- //mouse
- Point mP = getMouse().getPosition();
- g.drawLine(mP.x - 5, mP.y + 5, mP.x + 5, mP.y - 5);
- g.drawLine(mP.x + 5, mP.y + 5, mP.x - 5, mP.y - 5);
- //background image
- g.drawImage(Image, -4, 335, null);
- g.setColor(Color.black);
- //text area
- g.drawString("Runtime: " + timeFormatDHMS(timeRan), 30, 400);
- currentLevel = skills.getStatic(Skill.WOODCUTTING);
- levelsGained = currentLevel - beginningLevel;
- currentXp = skills.getExperience(Skill.WOODCUTTING);
- xpGained = currentXp - beginningXp;
- xpHour = 0;
- g.drawString("State: " + state, 230, 400);
- g.drawString("Current Level: " + currentLevel + " (+" + levelsGained + ")", 30, 430);
- g.drawString("XP Gained: " + xpGained + "(" + xpHour + "/Hr)", 30, 460);
- }
- public String timeFormatDHMS(long time) {
- int sec = (int) (time / 1000), d = sec / 86400, h = sec / 3600 % 24, m = sec / 60 % 60, s = sec % 60;
- return (d < 10 ? "0" + d : d) + ":" + (h < 10 ? "0" + h : h) + ":"
- + (m < 10 ? "0" + m : m) + ":" + (s < 10 ? "0" + s : s);
- }
- public static BufferedImage getImage(String url) {
- try {
- URL imageUrl = new URL(url);
- BufferedImage image = ImageIO.read(imageUrl);
- return image;
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return null;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement