Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.dreambot.api.methods.Calculations;
- import org.dreambot.api.methods.skills.Skill;
- import org.dreambot.api.script.AbstractScript;
- import org.dreambot.api.script.Category;
- import org.dreambot.api.script.ScriptManifest;
- import org.dreambot.api.script.listener.PaintListener;
- import org.dreambot.api.utilities.Timer;
- import org.dreambot.api.wrappers.interactive.GameObject;
- import java.awt.*;
- /**
- * Created by Hitsuu on 11/14/2015.
- */
- @ScriptManifest(author = "Hitsuu", name = "Advanced Miner Script", category = Category.MINING, version = 1.10)
- public class stateminer extends AbstractScript implements PaintListener{
- private long startTime = System.currentTimeMillis();
- //private int oresmined = 0;
- private boolean started = false;
- public State state;
- public enum State{
- MINE, BANK, GET_PICKAXE
- }
- @Override
- public void onStart() {
- getCamera().rotateToPitch(383);
- getSkillTracker().start(Skill.MINING);
- startTime = System.currentTimeMillis();
- setStartTile(getLocalPlayer().getTile());
- }
- public State getState() {
- if (getInventory().isFull()) {
- return State.BANK;
- }
- else if(!getInventory().contains(item -> item.getName().contains("pickaxe"))) {
- return State.GET_PICKAXE;
- }
- else return State.MINE;
- }
- private String stateParser() {
- if (state == State.MINE) {
- return "Mining";
- }
- else if (state == State.BANK) {
- return "Banking";
- }
- else if (state == State.GET_PICKAXE) {
- return "Getting Pickaxe";
- }
- return "wtf is going on?";
- }
- @Override
- public int onLoop() {
- final GameObject myORE = getGameObjects().closest(ore -> ore.getID() == 13445);
- if(started){
- if(!getWalking().isRunEnabled() && getWalking().getRunEnergy() > Calculations.random(30,70)){
- getWalking().toggleRun();
- }
- if(getLocalPlayer().isMoving() && getClient().getDestination() != null && getClient().getDestination().distance(getLocalPlayer()) > 5)
- return Calculations.random(300, 600);
- if(getLocalPlayer().isInCombat())
- return Calculations.random(300,600);
- }
- state = getState();
- switch(state){
- case MINE:
- //int oreID = 440;
- if ((getStartTile()).distance(getLocalPlayer()) > 8) {
- getWalking().walk(getStartTile());
- sleepUntil(() -> getClient().getDestination().distance(getLocalPlayer()) < 8, Calculations.random(4500, 6500));
- }
- else if (getLocalPlayer().distance(myORE) >3) {
- getWalking().walk(myORE);
- sleepUntil(() ->!getLocalPlayer().isMoving()|| getClient().getDestination().distance(getLocalPlayer()) < 8, Calculations.random(4500, 6500));
- }
- else if (myORE.exists() && myORE.isOnScreen()) {
- myORE.interact("Mine");
- //int oreCount = getInventory().count(438);
- sleepUntil(() ->!myORE.exists(), Calculations.random(10000, 15000));
- sleepUntil(() -> myORE.exists(), Calculations.random(2000, 4000));
- }
- break;
- case BANK:
- if (getBank().isOpen()) {
- sleepUntil(() -> getBank().isOpen(), Calculations.random(800, 1000));
- getBank().depositAllExcept(f -> f.getName().contains("pickaxe"));
- getBank().close();
- sleepUntil(() -> !getBank().isOpen(), Calculations.random(800, 1000));
- }
- else {
- if((getLocalPlayer().distance(getBank().getClosestBankLocation().getCenter()) > 5)) {
- if(getWalking().walk(getBank().getClosestBankLocation().getCenter())){
- sleepUntil(() -> !getLocalPlayer().isMoving()
- || getLocalPlayer().distance(getClient().getDestination()) < 8
- , Calculations.random(1500, 3500));
- if(getBank().open()) {
- sleepUntil(() -> getBank().isOpen(), Calculations.random(800, 1000));
- getBank().depositAllExcept(f -> f.getName().contains("pickaxe"));
- getBank().close();
- sleepUntil(() -> !getBank().isOpen(), Calculations.random(800, 1000));
- }
- }
- }
- else{
- if(getBank().open()) {
- sleepUntil(() -> getBank().isOpen(), Calculations.random(800, 1000));
- getBank().depositAllExcept(f -> f.getName().contains("pickaxe"));
- getBank().close();
- sleepUntil(() -> !getBank().isOpen(), Calculations.random(800, 1000));
- }
- }
- }
- break;
- case GET_PICKAXE:
- if (getLocalPlayer().distance(getBank().getClosestBankLocation().getCenter()) > 5) {
- if (getWalking().walk(getBank().getClosestBankLocation().getCenter())) {
- sleepUntil(() -> !getLocalPlayer().isMoving()|| getClient().getDestination().distance(getLocalPlayer()) < 8, Calculations.random(4500, 6500));
- }
- }
- if (getBank().isOpen()) {
- if (getBank().withdraw(i -> i.getName().contains("pickaxe"))) {
- sleep(Calculations.random(400, 800));
- getBank().close();
- }
- }
- if(getBank().open()){
- sleepUntil(() -> getBank().isOpen(), Calculations.random(2000, 2500));
- if (getBank().withdraw(i -> i.getName().contains("pickaxe"))) {
- sleep(Calculations.random(400, 800));
- getBank().close();
- }
- }
- break;
- }
- return 200;
- }
- @Override
- public void onExit()
- {
- }
- private double progressBar()
- {
- return ((double) (getSkills().getExperience(Skill.MINING) - getSkills().getExperienceForLevel(getSkills().getRealLevel(Skill.MINING)))
- / (getSkills().getExperienceForLevel(getSkills().getRealLevel(Skill.MINING) + 1) - getSkills().getExperienceForLevel(getSkills().getRealLevel(Skill.MINING)))) * 100;
- }
- @Override
- public void onPaint(Graphics g)
- {
- g.setColor(new Color(48, 48, 48, 180));
- g.fillRect(5, 240, 370, 99);
- g.setFont(new Font(Font.MONOSPACED, Font.ROMAN_BASELINE, 14));
- g.setColor(Color.WHITE);
- g.drawString("Private Miner -", 10, 260);
- g.drawString("Runtime: " + Timer.formatTime(System.currentTimeMillis() - startTime), 220, 260);
- g.drawString("Exp/hr: " + getSkillTracker().getGainedExperiencePerHour(Skill.MINING) , 10, 280);
- g.drawString("Exp gained: " + getSkillTracker().getGainedExperience(Skill.MINING), 10, 300);
- g.drawString("Levels gained: " + getSkillTracker().getGainedLevels(Skill.MINING) , 220, 320);
- g.drawRect(10, 310, 100, 15);
- g.fillRect(10, 310, (int) progressBar(), 15);
- //g.drawString("Ores mined: " + oresmined, 220, 300);
- g.drawString("State: " + stateParser(), 220, 280);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement