Advertisement
Guest User

Untitled

a guest
Nov 18th, 2015
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.71 KB | None | 0 0
  1. import org.dreambot.api.methods.Calculations;
  2. import org.dreambot.api.methods.skills.Skill;
  3. import org.dreambot.api.script.AbstractScript;
  4. import org.dreambot.api.script.Category;
  5. import org.dreambot.api.script.ScriptManifest;
  6. import org.dreambot.api.script.listener.PaintListener;
  7. import org.dreambot.api.utilities.Timer;
  8. import org.dreambot.api.wrappers.interactive.GameObject;
  9.  
  10. import java.awt.*;
  11.  
  12. /**
  13.  * Created by Hitsuu on 11/14/2015.
  14.  */
  15.  
  16. @ScriptManifest(author = "Hitsuu", name = "Advanced Miner Script", category = Category.MINING, version = 1.10)
  17.  
  18. public class stateminer extends AbstractScript implements PaintListener{
  19.  
  20.     private long startTime = System.currentTimeMillis();
  21.     //private int oresmined = 0;
  22.     private boolean started = false;
  23.     public State state;
  24.     public enum State{
  25.         MINE, BANK, GET_PICKAXE
  26.     }
  27.  
  28.     @Override
  29.     public void onStart() {
  30.         getCamera().rotateToPitch(383);
  31.         getSkillTracker().start(Skill.MINING);
  32.         startTime = System.currentTimeMillis();
  33.         setStartTile(getLocalPlayer().getTile());
  34.     }
  35.  
  36.  
  37.     public State getState() {
  38.         if (getInventory().isFull()) {
  39.             return State.BANK;
  40.         }
  41.         else if(!getInventory().contains(item -> item.getName().contains("pickaxe"))) {
  42.             return State.GET_PICKAXE;
  43.         }
  44.         else return State.MINE;
  45.     }
  46.  
  47.     private String stateParser() {
  48.         if (state == State.MINE) {
  49.             return "Mining";
  50.         }
  51.         else if (state == State.BANK) {
  52.             return "Banking";
  53.         }
  54.         else if (state == State.GET_PICKAXE) {
  55.             return "Getting Pickaxe";
  56.         }
  57.         return "wtf is going on?";
  58.     }
  59.  
  60.     @Override
  61.     public int onLoop() {
  62.         final GameObject myORE = getGameObjects().closest(ore -> ore.getID() == 13445);
  63.         if(started){
  64.             if(!getWalking().isRunEnabled() && getWalking().getRunEnergy() > Calculations.random(30,70)){
  65.                 getWalking().toggleRun();
  66.             }
  67.             if(getLocalPlayer().isMoving() && getClient().getDestination() != null && getClient().getDestination().distance(getLocalPlayer()) > 5)
  68.                 return Calculations.random(300, 600);
  69.             if(getLocalPlayer().isInCombat())
  70.                 return Calculations.random(300,600);
  71.         }
  72.         state = getState();
  73.         switch(state){
  74.             case MINE:
  75.                 //int oreID = 440;
  76.                 if ((getStartTile()).distance(getLocalPlayer()) > 8) {
  77.                     getWalking().walk(getStartTile());
  78.                     sleepUntil(() -> getClient().getDestination().distance(getLocalPlayer()) < 8, Calculations.random(4500, 6500));
  79.                 }
  80.                 else if (getLocalPlayer().distance(myORE) >3) {
  81.                         getWalking().walk(myORE);
  82.                         sleepUntil(() ->!getLocalPlayer().isMoving()|| getClient().getDestination().distance(getLocalPlayer()) < 8, Calculations.random(4500, 6500));
  83.                 }
  84.                 else if (myORE.exists() && myORE.isOnScreen()) {
  85.                         myORE.interact("Mine");
  86.                         //int oreCount = getInventory().count(438);
  87.                         sleepUntil(() ->!myORE.exists(), Calculations.random(10000, 15000));
  88.                         sleepUntil(() -> myORE.exists(), Calculations.random(2000, 4000));
  89.                 }
  90.                 break;
  91.             case BANK:
  92.                 if (getBank().isOpen()) {
  93.                     sleepUntil(() -> getBank().isOpen(), Calculations.random(800, 1000));
  94.                     getBank().depositAllExcept(f -> f.getName().contains("pickaxe"));
  95.                     getBank().close();
  96.                     sleepUntil(() -> !getBank().isOpen(), Calculations.random(800, 1000));
  97.                 }
  98.                 else {
  99.                     if((getLocalPlayer().distance(getBank().getClosestBankLocation().getCenter()) > 5)) {
  100.                         if(getWalking().walk(getBank().getClosestBankLocation().getCenter())){
  101.                             sleepUntil(() -> !getLocalPlayer().isMoving()
  102.                                             || getLocalPlayer().distance(getClient().getDestination()) < 8
  103.                                     , Calculations.random(1500, 3500));
  104.                             if(getBank().open()) {
  105.                                 sleepUntil(() -> getBank().isOpen(), Calculations.random(800, 1000));
  106.                                 getBank().depositAllExcept(f -> f.getName().contains("pickaxe"));
  107.                                 getBank().close();
  108.                                 sleepUntil(() -> !getBank().isOpen(), Calculations.random(800, 1000));
  109.                             }
  110.                         }
  111.                     }
  112.                     else{
  113.                         if(getBank().open()) {
  114.                             sleepUntil(() -> getBank().isOpen(), Calculations.random(800, 1000));
  115.                             getBank().depositAllExcept(f -> f.getName().contains("pickaxe"));
  116.                             getBank().close();
  117.                             sleepUntil(() -> !getBank().isOpen(), Calculations.random(800, 1000));
  118.                         }
  119.                     }
  120.                 }
  121.                 break;
  122.             case GET_PICKAXE:
  123.                 if (getLocalPlayer().distance(getBank().getClosestBankLocation().getCenter()) > 5) {
  124.                     if (getWalking().walk(getBank().getClosestBankLocation().getCenter())) {
  125.                         sleepUntil(() -> !getLocalPlayer().isMoving()|| getClient().getDestination().distance(getLocalPlayer()) < 8, Calculations.random(4500, 6500));
  126.                     }
  127.                 }
  128.                 if (getBank().isOpen()) {
  129.                     if (getBank().withdraw(i -> i.getName().contains("pickaxe"))) {
  130.                         sleep(Calculations.random(400, 800));
  131.                         getBank().close();
  132.                     }
  133.                 }
  134.                 if(getBank().open()){
  135.                     sleepUntil(() -> getBank().isOpen(), Calculations.random(2000, 2500));
  136.                     if (getBank().withdraw(i -> i.getName().contains("pickaxe"))) {
  137.                         sleep(Calculations.random(400, 800));
  138.                         getBank().close();
  139.                     }
  140.                 }
  141.                 break;
  142.         }
  143.         return 200;
  144.     }
  145.  
  146.     @Override
  147.     public void onExit()
  148.     {
  149.     }
  150.  
  151.     private double progressBar()
  152.     {
  153.         return ((double) (getSkills().getExperience(Skill.MINING) - getSkills().getExperienceForLevel(getSkills().getRealLevel(Skill.MINING)))
  154.                 / (getSkills().getExperienceForLevel(getSkills().getRealLevel(Skill.MINING) + 1) - getSkills().getExperienceForLevel(getSkills().getRealLevel(Skill.MINING)))) * 100;
  155.     }
  156.  
  157.     @Override
  158.     public void onPaint(Graphics g)
  159.     {
  160.  
  161.         g.setColor(new Color(48, 48, 48, 180));
  162.         g.fillRect(5, 240, 370, 99);
  163.         g.setFont(new Font(Font.MONOSPACED, Font.ROMAN_BASELINE, 14));
  164.         g.setColor(Color.WHITE);
  165.         g.drawString("Private Miner   -", 10, 260);
  166.         g.drawString("Runtime: " + Timer.formatTime(System.currentTimeMillis() - startTime), 220, 260);
  167.         g.drawString("Exp/hr: " + getSkillTracker().getGainedExperiencePerHour(Skill.MINING) , 10, 280);
  168.         g.drawString("Exp gained: " + getSkillTracker().getGainedExperience(Skill.MINING), 10, 300);
  169.         g.drawString("Levels gained: " + getSkillTracker().getGainedLevels(Skill.MINING) , 220, 320);
  170.         g.drawRect(10, 310, 100, 15);
  171.         g.fillRect(10, 310, (int) progressBar(), 15);
  172.         //g.drawString("Ores mined: " + oresmined, 220, 300);
  173.         g.drawString("State: " + stateParser(), 220, 280);
  174.     }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement