Advertisement
illpastethat

ZezDraynorWillows.java

Aug 12th, 2011
277
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 8.32 KB | None | 0 0
  1. import java.util.Map;
  2. import org.rsbot.script.Script;
  3. import org.rsbot.script.ScriptManifest;
  4. import org.rsbot.script.wrappers.RSObject;
  5. import org.rsbot.script.wrappers.RSTile;
  6. import org.rsbot.script.wrappers.RSArea;
  7. import org.rsbot.script.wrappers.RSNPC;
  8. import org.rsbot.script.wrappers.RSItem;
  9. import org.rsbot.script.methods.Skills;
  10. import org.rsbot.script.util.Filter;
  11. import java.awt.*;
  12. import javax.swing.JFileChooser;
  13. import javax.swing.JOptionPane;
  14. import java.io.BufferedReader;
  15. import java.io.BufferedWriter;
  16. import java.io.FileWriter;
  17. import java.io.InputStreamReader;
  18. import java.net.URLConnection;
  19. import org.rsbot.event.events.ServerMessageEvent;
  20. import org.rsbot.event.listeners.PaintListener;
  21.  
  22. @ScriptManifest(authors = { "Zezerex" }, keywords = { "Draynor Willow Chopper with banking." }, name = "ZezDraynorWillows", version = 1.0, description = "Cuts Willow Trees and banks the logs.")
  23. public class ZezDraynorWillows extends Script implements PaintListener {
  24.    
  25.     private int willowlogsID = (1519);
  26.     RSTile[] banktoTrees = { new RSTile(3092, 3243), new RSTile(3086, 3234),};
  27.    
  28.     private int bankboothID[] = {2213, 9398};
  29.     private int willowID[] = {5551, 5552, 5553};
  30.     public int startExp = 0;
  31.     public int gainedExp = 0;
  32.     public int startLvl = 0;
  33.     RSTile[] Treestobank = { new RSTile(3086, 3234), new RSTile(3092, 3243),};
  34.     private int hatchetsID[] = {1351, 1349, 1353, 1361, 1355, 1357, 1359};
  35.     private String status = "Loading...";
  36.     public long startTime = System.currentTimeMillis();
  37.     public boolean onStart() {
  38.         mouse.setSpeed(6);
  39.        
  40.         log("Zez draynor willows v1.0!");
  41.         return true;
  42.     }
  43.    
  44.     private boolean atTrees(){
  45.         RSArea area = new RSArea(new RSTile(3081, 3240), new RSTile(3091, 3225));
  46.         return area.contains(getMyPlayer().getLocation());
  47.     }
  48.    
  49.     private boolean atBank(){
  50.         RSArea area = new RSArea(new RSTile(3092, 3246), new RSTile(3095, 3240));
  51.         return area.contains(getMyPlayer().getLocation());
  52.     }
  53.    
  54.     private boolean walkToTreesFromBank(){
  55.         RSTile[] randompath = walking.randomizePath(banktoTrees, 1, 1);
  56.         return walking.walkPathMM(randompath, 15);
  57.     }
  58.    
  59.     private boolean walkToBankFromTrees(){
  60.         RSTile[] randompath = walking.randomizePath(Treestobank, 1, 1);
  61.         return walking.walkPathMM(randompath, 15);
  62.     }
  63.    
  64.  
  65.  
  66.  
  67.                     //START: Code generated using Enfilade's Easel
  68.     private final Color color1 = new Color(0, 0, 0, 218);
  69.     private final Color color2 = new Color(0, 255, 255);
  70.  
  71.     private final BasicStroke stroke1 = new BasicStroke(2);
  72.  
  73.     private final Font font1 = new Font("Comic Sans MS", 0, 12);
  74.     private final Font font2 = new Font("Comic Sans MS", 0, 10);
  75.  
  76.     public void onRepaint(Graphics g1) {
  77.        
  78.         long millis = System.currentTimeMillis() - startTime;
  79.              long hours = millis / (1000 * 60 * 60);
  80.              millis -= hours * (1000 * 60 * 60);
  81.              long minutes = millis / (1000 * 60);
  82.              millis -= minutes * (1000 * 60);
  83.              long seconds = millis / 1000;
  84.              Graphics2D g = (Graphics2D)g1;
  85.              
  86.              
  87. int gainedExp = 0;
  88.         if (startExp == 0) {
  89.             startExp = skills.getCurrentExp(skills.WOODCUTTING);
  90.         }
  91.         gainedExp = skills.getCurrentExp(skills.WOODCUTTING) - startExp;
  92.        
  93.         g.setColor(color1);
  94.         g.fillRect(363, 268, 153, 69);
  95.         g.setColor(color2);
  96.         g.setStroke(stroke1);
  97.         g.drawRect(363, 268, 153, 69);
  98.         g.setFont(font1);
  99.         g.drawString("Zez Draynor Willows", 381, 280);
  100.         g.setFont(font2);
  101.         g.drawString("Levels Gained:" + startLvl, 365, 292);
  102.         g.drawString("Exp Gained:" + gainedExp, 365, 303);
  103.         g.drawString("Time Running:" + hours + ":" + minutes + ":" + seconds, 364, 314);
  104.         g.drawString("Status:" + status, 365, 325);
  105.         g.drawString("v1.0", 494, 333);
  106.        
  107.         Point tempPoint = mouse.getLocation();
  108.         int tempXCoordinate = (int)tempPoint.getX();
  109.         int tempYCoordinate = (int)tempPoint.getY();
  110.         g.setColor(new Color(0,255,0,100));
  111.             g.drawLine(tempXCoordinate,0,tempXCoordinate,501);
  112.             g.drawLine(0,tempYCoordinate,764,tempYCoordinate);
  113.        
  114.     }
  115.     //END: Code generated using Enfilade's Easel
  116.        
  117.     public void antiban(){
  118.        
  119.         int b = random(0, 10);
  120.         switch (b) {
  121.         case 1:
  122.             if(random (0, 10) == 5) {
  123.                 log("Antiban- Moving mouse");
  124.                
  125.                 mouse.moveSlightly();
  126.                 sleep(200, 600);
  127.                 mouse.moveRandomly(200, 450);
  128.             }
  129.             break;
  130.         case 2:
  131.             if (random (0, 8) == 4) {
  132.                 log("Antiban- Turning screen");
  133.                 status = "Antiban";
  134.                 camera.setAngle (random (30, 70));
  135.                 sleep(400, 1200);
  136.             }
  137.             break;
  138.         case 3:
  139.             if (random (0, 12) == 7) {
  140.                 log("Antiban- Small AFK");
  141.                 status = "Antiban";
  142.                 mouse.moveOffScreen();
  143.                 sleep(random(5600, random(7200, 9000)));
  144.             }
  145.             break;
  146.         case 4:
  147.             if (random (0, 10) == 3) {
  148.                 log("Antiban- Checking experience");
  149.                 status = "Antiban";
  150.                 game.openTab(1);
  151.                 skills.doHover(Skills.INTERFACE_WOODCUTTING);
  152.                 sleep(random(3000, 4500));
  153.             }
  154.             break;
  155.         case 5:
  156.             if (random (1, 18) == 15) {
  157.                 log("Antiban- Checking experience");
  158.                 status = "Antiban";
  159.                 game.openTab(1);
  160.                 skills.doHover(Skills.INTERFACE_WOODCUTTING);
  161.                 sleep(random(3000, 4500));
  162.             }
  163.             break;
  164.            
  165.         case 6:
  166.             if (random (1, 19) == 5) {
  167.                 log("Antiban- Checking experience");
  168.                 status = "Antiban";
  169.                 game.openTab(1);
  170.                 skills.doHover(Skills.INTERFACE_WOODCUTTING);
  171.                 sleep(random(3000, 4500));
  172.             }
  173.             break;
  174.            
  175.         case 7:
  176.             if (random (1, 17) == 15) {
  177.                 log("Antiban- Checking experience");
  178.                 status = "Antiban";
  179.                 game.openTab(1);
  180.                 skills.doHover(Skills.INTERFACE_MINING);
  181.                 sleep(random(3000, 4500));
  182.             }
  183.             break;
  184.        
  185.             default:
  186.                 break;
  187.         }
  188.     }
  189.    
  190.    
  191.    
  192.     private void useBank(){
  193.         RSObject bankBooth = objects.getNearest(bankboothID);
  194.         if(bankBooth != null && inventory.contains(willowlogsID)){
  195.            
  196.             bankBooth.doAction("Use-quickly");
  197.             sleep(800, 1000);
  198.         }
  199.     }
  200.    
  201.     private void depositWillowLogs(){
  202.         if(bank.isOpen()){
  203.             bank.deposit(willowlogsID, 0);
  204.             sleep(300, 600);
  205.         }
  206.     }
  207.    
  208.     private void closeBank(){
  209.         if(bank.isOpen()){
  210.             mouse.move(490, 36, 3, 3);
  211.             sleep(300, 600);
  212.             mouse.click(true);
  213.         }
  214.     }
  215.    
  216.     private void Bank(){
  217.         useBank();
  218.        
  219.         depositWillowLogs();
  220.         closeBank();
  221.     }
  222.    
  223.     private void Chop(){
  224.         if (getMyPlayer().getAnimation() != 867){
  225.             RSObject tree = objects.getNearest(willowID);
  226.             if(tree != null);
  227.             status = "Chopping Willows!";
  228.             tree.doAction("Chop");}
  229.             antiban();
  230.             sleep(1200, 1500);
  231.     }
  232.    
  233.     public void onFinish(){
  234.        
  235.         log("Finished Zez Draynor Abuse!");
  236.        
  237.     }
  238.    
  239.     @Override
  240.     public int loop() {
  241.         if(atTrees() && inventory.isFull()){
  242.             status = "Walking to Bank!";
  243.             walkToBankFromTrees();
  244.         }else if(atBank() && inventory.contains(willowlogsID)){
  245.             status = "Banking your logs!";
  246.             Bank();
  247.         }else if(atTrees() && !inventory.isFull()){
  248.             status = "Chopping Willows!";
  249.             Chop();
  250.         }else if(atBank() && !inventory.contains(willowlogsID)){
  251.             status = "Walking to Willows!";
  252.             walkToTreesFromBank();
  253.        
  254.         }
  255.        
  256.         return random(500, 1300);
  257.     }
  258. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement