Advertisement
Rudie221

PowerWillow V 1.0

Jul 4th, 2011
407
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.15 KB | None | 0 0
  1. import java.awt.*;
  2. import java.io.IOException;
  3. import java.net.URL;
  4.  
  5. import javax.imageio.ImageIO;
  6.  
  7. import org.rsbot.event.events.MessageEvent;
  8. import org.rsbot.event.listeners.MessageListener;
  9. import org.rsbot.event.listeners.PaintListener;
  10. import org.rsbot.script.Script;
  11. import org.rsbot.script.ScriptManifest;
  12. import org.rsbot.script.methods.Skills;
  13. import org.rsbot.script.wrappers.RSObject;
  14.  
  15. @ScriptManifest(
  16.         authors = {"Rudie"},
  17.         version = 1.0,
  18.         keywords = ("woodcutter, woodcutting, rudie"),
  19.         description = "Powerchops willows between lummy and draynor.",
  20.         name = "PowerWillow",
  21.         website = "www.Rscripts.tk"
  22. )
  23. public class PowerWillow extends Script implements PaintListener, MessageListener {
  24.  
  25.     int[] hatchetID = {1351, 15298, 1353, 1361, 1357, 1359, 6739};
  26.     int[] treeID = {142, 2210, 2372};
  27.    
  28.     int expGained = 0;
  29.     int startExp = 0;
  30.     int logsChopped = 0;
  31.     int lvlsGained = 0;
  32.     long startTime;
  33.     private String Status = "Loading...";
  34.    
  35.     public boolean onStart() {
  36.         log(new Color (65, 105, 225), "Welcome to PowerWillow V 1.0");
  37.         startTime = System.currentTimeMillis();
  38.         mouse.setSpeed(random(3, 5));
  39.         startExp = skills.getCurrentExp(Skills.WOODCUTTING);
  40.         return true;
  41.     }
  42.    
  43.     @Override
  44.     public int loop() {
  45.         mouse.setSpeed(random(1, 3));
  46.         if(inventory.isFull()) {
  47.             inventory.dropAllExcept(hatchetID);
  48.             Status = "Dropping Logs.";
  49.             AntiBanCamera();
  50.             } else {
  51.                 mouse.setSpeed(random(3, 5));
  52.             if(atTree()) {
  53.                 chopTree();
  54.             }
  55.         }
  56.         return random(300, 500);
  57.     }
  58.  
  59.     private void chopTree() {
  60.         RSObject tree = objects.getNearest(treeID);
  61.         if (tree != null && getMyPlayer().getAnimation() == -1) {
  62.             tree.interact("Chop");
  63.             Status = "Chopping Tree.";
  64.             AntiBanCamera();
  65.             AntiBan();
  66.         }
  67.     }
  68.    
  69.     private boolean atTree() {
  70.         RSObject tree = objects.getNearest(treeID);
  71.         if(tree != null) {
  72.             if(tree.isOnScreen()) {
  73.                 return true;
  74.             }
  75.         }
  76.         return false;
  77. }  
  78.    
  79.     public void onFinish() {
  80.         log(new Color (65, 105, 225), "Thank you for using PowerWillow");
  81.         env.saveScreenshot(true);
  82.     }
  83.    
  84.     private Image getImage(String url) {
  85.         try {
  86.             return ImageIO.read(new URL(url));
  87.         } catch(IOException e) {
  88.             return null;
  89.         }
  90.     }
  91.  
  92.     private final Color color1 = new Color(51, 51, 51, 130);
  93.     private final Color color2 = new Color(0, 0, 204);
  94.     private final Color color3 = new Color(51, 51, 51);
  95.     private final Color color4 = new Color(255, 255, 255);
  96.     private final Color color5 = new Color(51, 102, 255);
  97.  
  98.     private final BasicStroke stroke1 = new BasicStroke(1);
  99.  
  100.     private final Font font1 = new Font("Comic Sans MS", 2, 21);
  101.     private final Font font2 = new Font("Comic Sans MS", 1, 15);
  102.  
  103.     private final Image img1 = getImage("http://www.runescape.com/img/main/kbase/items/trees/willow1.gif");
  104.    
  105.         @Override
  106.     public void onRepaint(Graphics g) {
  107.         expGained = skills.getCurrentExp(Skills.WOODCUTTING) - startExp;
  108.        
  109.         long millis = System.currentTimeMillis() - startTime;
  110.         long hours = millis / (1000 * 60 * 60);
  111.         millis -= hours * (1000 * 60 * 60);
  112.         long minutes = millis / (1000 * 60);
  113.         millis -= minutes * (1000 * 60);
  114.         long seconds = millis / 1000;
  115.        
  116.         float xpsec = 0;
  117.         if((minutes > 0 || hours > 0 || seconds > 0)&& expGained > 0) {
  118.             xpsec = ((float) expGained)/(float)(seconds + (minutes*60) + (hours*60*60));
  119.         }
  120.         float xpmin = xpsec * 60;
  121.         float xphour = xpmin * 60;
  122.        
  123.         float logsec = 0;
  124.         if((minutes > 0 || hours > 0 || seconds > 0)&& logsChopped > 0) {
  125.             logsec = ((float) logsChopped)/(float)(seconds + (minutes*60) + (hours*60*60));
  126.         }
  127.         float logmin = logsec * 60;
  128.         float loghour = logmin * 60;
  129.        
  130.         Graphics2D g1 = (Graphics2D)g;
  131.         g1.setColor(color1);
  132.         g1.fillRoundRect(544, 205, 193, 259, 16, 16);
  133.         g1.setColor(color2);
  134.         g1.setStroke(stroke1);
  135.         g1.drawRoundRect(544, 205, 193, 259, 16, 16);
  136.         g1.setColor(color3);
  137.         g1.fillRect(7, 457, 83, 15);
  138.         g1.setColor(color2);
  139.         g1.drawRect(7, 457, 83, 15);
  140.         g1.setFont(font1);
  141.         g1.setColor(color4);
  142.         g1.drawString("PowerWillow V 1.0", 555, 225);
  143.         g1.setFont(font2);
  144.         g1.setColor(color5);
  145.         g1.drawString("RunTime: " + hours + ":" + minutes + ":" + seconds, 555, 245);
  146.         g1.drawString("Logs Chopped: " + logsChopped, 555, 260);
  147.         g1.drawString("Logs/H: " + (int) loghour, 555, 275);
  148.         g1.drawString("Exp Gained: " + expGained, 555, 290);
  149.         g1.drawString("Exp/H: " + (int) xphour, 555, 305);
  150.         g1.drawString("Current lvl: " + skills.getCurrentLevel(Skills.WOODCUTTING), 555, 320);
  151.         g1.drawString("Lvls Gained: " + lvlsGained, 555, 335);
  152.         g1.drawString("%/TNL: " + skills.getPercentToNextLevel(Skills.WOODCUTTING) + "%", 555, 350);
  153.         g1.drawString("Exp/TNL: " + skills.getExpToNextLevel(Skills.WOODCUTTING), 555, 365);
  154.         g1.drawString("Status: " + Status, 555, 380);
  155.         g1.drawImage(img1, 366, 324, null);
  156.         g1.setColor(new Color (65, 105, 225));
  157.         g1.drawLine(0, (int)(mouse.getLocation().getY()), 800, (int)(mouse.getLocation().getY()));
  158.         g1.drawLine((int)(mouse.getLocation().getX()), 0, (int)(mouse.getLocation().getX()), 800);
  159.     }
  160.          @Override
  161.         public void messageReceived(MessageEvent e) {
  162.             String txt = e.getMessage().toLowerCase();
  163.             if(txt.contains("willow")) {
  164.                 logsChopped++;
  165.             }
  166.             if(txt.contains("advanced")) {
  167.                 lvlsGained++;
  168.         }
  169.     }
  170.          private void AntiBan() {
  171.                 int randomProd = random(1, 60);
  172.                 if (randomProd == 1) {
  173.                   int randomMore = random(1, 5);
  174.                   if (randomMore == 1) {
  175.                       sleep(350, 500);
  176.                       mouse.move(random(678, 728), random(213, 232));
  177.                       sleep(2000, 3500);
  178.                     } else {
  179.                       mouse.move(random(678, 728), random(213, 232));
  180.                       sleep(2000, 3500);
  181.                     }
  182.                   } else {
  183.                     sleep(1200, 2500);
  184.                   }
  185.                 if (randomProd == 2 || randomProd == 3 || randomProd == 4) {
  186.                   sleep(1000, 2500);
  187.                 }
  188.                 if (randomProd >= 52) {
  189.                   mouse.moveRandomly(65, 350);
  190.                 } else
  191.                   sleep(10, 30);
  192.               }
  193.  
  194.               private void AntiBanCamera() {
  195.                 int randomNum = random(1, 50);
  196.                 if (randomNum == 1 || randomNum == 2 || randomNum == 3) {
  197.                   camera.moveRandomly(random(2000, 5500));
  198.                 }
  199.                 if (randomNum == 4 || randomNum == 5) {
  200.                   camera.setAngle(random(10, 40));
  201.                 }
  202.                 if (randomNum == 6) {
  203.                   camera.setPitch(random(40, 68));
  204.                 }
  205.                 if (randomNum == 7) {
  206.                   camera.setPitch(random(20, 45));
  207.                 }
  208.                 if (randomNum == 8) {
  209.                   camera.setPitch(random(68, 90));
  210.                 } else
  211.                   sleep(50, 70);
  212.             }
  213. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement