Advertisement
Guest User

PowerChop

a guest
Aug 27th, 2015
912
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package powerchop;
  2.  
  3. import org.dreambot.api.methods.Calculations;
  4. import org.dreambot.api.methods.skills.Skill;
  5. import org.dreambot.api.methods.tabs.Tab;
  6. import org.dreambot.api.script.AbstractScript;
  7. import org.dreambot.api.script.Category;
  8. import org.dreambot.api.script.ScriptManifest;
  9. import org.dreambot.api.utilities.Timer;
  10. import org.dreambot.api.wrappers.interactive.GameObject;
  11.  
  12.  
  13.  
  14.  
  15.  
  16. import java.awt.*;
  17.  
  18.  
  19. @ScriptManifest(category = Category.WOODCUTTING, name = "PowerChop", author = "Diddy", version = 1.0)
  20. public class MainClass extends AbstractScript{
  21.    
  22.     private final Color color1 = new Color(51, 51, 51, 147);
  23.     private final Color color2 = new Color(138, 54, 15);
  24.     private final Color color3 = new Color(255, 255, 255);
  25.     private final BasicStroke stroke1 = new BasicStroke(5);
  26.     private final Font font1 = new Font("Arial", Font.BOLD, 13);
  27.     private final Font font2 = new Font("Arial", Font.BOLD, 0);
  28.     private final Font font3 = new Font("Arial", 0, 13);
  29.     private Timer t = new Timer();
  30.  
  31.  
  32.     private int logsgained;
  33.  
  34.  
  35. String Status = " ";
  36. Timer timer;
  37. static String status = null;
  38.     @Override
  39.     public void onStart(){
  40.         getSkillTracker().start(Skill.WOODCUTTING);
  41.         log("Hi");
  42.     }
  43.  
  44.     private enum State{
  45.         CHOP,
  46.         DROP,
  47.         MOVE,
  48.         WAIT
  49.     }
  50.    
  51.    
  52.    
  53.     private State getState(){
  54.         GameObject tree = getGameObjects().closest("Willow");
  55.         if(!getInventory().isFull() && !getLocalPlayer().isAnimating()){
  56.             return State.CHOP;
  57.         }
  58.         if (getInventory().isFull()){
  59.             return State.DROP;
  60.         }
  61.        
  62.         if (!tree.isOnScreen()){
  63.             return State.MOVE;
  64.            
  65.         }
  66.        
  67.         if(getLocalPlayer().isAnimating()){
  68.             return State.WAIT;
  69.         }
  70.         return null;
  71.     }
  72.    
  73.    
  74.     @Override
  75.     public int onLoop() {
  76.  
  77.                          GameObject tree = getGameObjects().closest("Willow");
  78.        
  79.          switch( getState() ) {
  80.          
  81.  
  82.  
  83.          case CHOP:
  84.  
  85.              log("Chopping new tree.");
  86.              tree.interact("Chop down");
  87.              if(getLocalPlayer().isAnimating()){
  88.                  sleepUntil(getLocalPlayer().isAnimating());
  89.                  antiBan();
  90.                 sleep(100, 1000);}
  91.              log("Tree chopped.");
  92.              break;
  93.  
  94.          case MOVE:
  95.              log("getting new tree.");
  96.              if(tree.distance() < 5) {
  97.                 Status = "Moving camera";
  98.                 getCamera().rotateToEntity(tree);
  99.                 getCamera().rotateToPitch(Calculations.random(32, 39));}
  100.              else {
  101.                   Status = "Walking to stuff";
  102.                   if (tree != null) {
  103.                           getWalking().walk(tree);
  104.                           sleep(Calculations.random(100, 200));
  105.                           }
  106.              break;
  107.              }
  108.          case DROP:
  109.              if(!getTabs().isOpen(Tab.INVENTORY)){
  110.                 getTabs().open(Tab.INVENTORY);
  111.             }
  112.             getInventory().dropAll("Willow logs");
  113.             sleep(Calculations.random(130, 210));
  114.              break;
  115.              
  116.          case WAIT:
  117.              sleep(Calculations.random(1200,1750));
  118.  
  119.      }
  120.  
  121.      return Calculations.random(250,350);
  122.  }
  123.  
  124.        
  125.        
  126.  
  127.    
  128.     private void sleepUntil(boolean animating) {
  129.         // TODO Auto-generated method stub
  130.        
  131.     }
  132.     private void antiBan(){
  133.         int rando = Calculations.random(1, 100);
  134.         switch(rando){
  135.         case 1: if(!getTabs().isOpen(Tab.STATS)){
  136.             getTabs().open(Tab.STATS);
  137.         }
  138.         break;
  139.         case 2: if(!getTabs().isOpen(Tab.INVENTORY)){
  140.             getTabs().open(Tab.INVENTORY);
  141.         }
  142.         break;
  143.         default: sleep(100, 1000);
  144.         }
  145.     }
  146.  
  147.  
  148.     /*
  149.      * Paint
  150.      */
  151.     public long getGainedExperience(Skill woodcutting){         //gained experience
  152.         long fm;
  153.         fm = getSkillTracker().getGainedExperience(Skill.WOODCUTTING);
  154.         return fm;
  155.     }
  156.  
  157.     public long getGainedExperiencePerHour(Skill woodcutting){  //gained experience per hour
  158.         long fm;
  159.         fm = getSkillTracker().getGainedExperiencePerHour(Skill.WOODCUTTING);
  160.         return fm;
  161.     }
  162.  
  163.     public long getStartLevel(){  //Start level
  164.         long fm;
  165.         fm = getSkillTracker().getStartLevel(Skill.WOODCUTTING);
  166.         return fm;
  167.     }
  168.  
  169.     public long getGainedLevels(){  //gained levels
  170.         long fm;
  171.         fm = getSkillTracker().getGainedLevels(Skill.WOODCUTTING);
  172.         return fm;
  173.     }
  174.  
  175.     public long getExperienceToLevel(){  //Exp to level
  176.         long fm;
  177.         fm = getSkills().getExperienceToLevel(Skill.WOODCUTTING);
  178.         return fm;
  179.     }
  180.  
  181.     public long getTimeToLevel() {
  182.         long fmxp;
  183.         long xphr;
  184.         fmxp = getExperienceToLevel();
  185.         xphr = getGainedExperiencePerHour(Skill.WOODCUTTING);
  186.         return fmxp/xphr;
  187.     }
  188.  
  189.     public void onPaint(Graphics g1) {
  190.         logsgained = (int)Math.floor(getSkillTracker().getGainedExperience(Skill.WOODCUTTING)/67.5); //Detects chopped logs
  191.  
  192.         if(t == null){
  193.             t = new Timer(0);
  194.         }
  195.         Graphics2D g = (Graphics2D)g1;
  196.         Stroke stroke = g.getStroke();
  197.         g.setColor(color1);
  198.         g.fillRect(3, 4, 205, 160);
  199.         g.setColor(color2);
  200.         g.setStroke(stroke1);
  201.         g.drawRect(3, 4, 205, 160);
  202.         g.setFont(font1);
  203.         g.setColor(color3);
  204.         g.drawString(getManifest().name() + "         " + "v" + getManifest().version(), 12, 29);
  205.         g.setFont(font2);
  206.         g.setFont(font3);
  207.         g.drawString("Time running: " + Timer.formatTime(t.elapsed()), 12, 59);
  208.         g.drawString("XP gained: " + getGainedExperience(Skill.WOODCUTTING) + "(" + getGainedExperiencePerHour(Skill.WOODCUTTING) + ")", 12, 99);
  209.         g.drawString("Levels gained: " + getSkills().getRealLevel(Skill.WOODCUTTING) + "(+" + getGainedLevels() + ")", 12, 79);
  210.         g.drawString("XP to level: " + getExperienceToLevel(), 12, 121);
  211.         g.drawString("Chopped [P/H]: " + logsgained + " [" + t.getHourlyRate(logsgained) + "]", 12, 141);
  212.         g.setStroke(stroke);
  213.     }
  214. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement