Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 27th, 2012  |  syntax: None  |  size: 6.48 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  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.imageio.ImageIO;
  13. import javax.swing.JFileChooser;
  14. import javax.swing.JOptionPane;
  15.  
  16. import java.io.BufferedReader;
  17. import java.io.BufferedWriter;
  18. import java.io.FileWriter;
  19. import java.io.IOException;
  20. import java.io.InputStreamReader;
  21. import java.net.URL;
  22. import java.net.URLConnection;
  23.  
  24. import org.rsbot.event.events.ServerMessageEvent;
  25. import org.rsbot.event.listeners.PaintListener;
  26.  
  27. @ScriptManifest(authors = { "YoshiFue" }, keywords = { "Draynor Willow Chopper" }, name = "YF Draynor Willow Chopper", version = 1.0, description = "Cuts Willow Trees and banks the logs.")
  28. public class YFPowerChopperDraynor extends Script implements PaintListener {
  29.        
  30.         private int willowlogsID = (1519);
  31.         RSTile[] banktoTrees = { new RSTile(3092, 3243), new RSTile(3086, 3234),};
  32.        
  33.         private int bankboothID[] = {2213, 9398};
  34.         private int willowID[] = {5551, 5552, 5553};
  35.         RSTile[] Treestobank = { new RSTile(3086, 3234), new RSTile(3092, 3243),};
  36.         private int hatchetsID[] = {1359, 1351, 1353, 1349, 1355};
  37.         private String status = "Loading...";
  38.         public long startTime = System.currentTimeMillis();
  39.         public boolean onStart() {
  40.         mouse.setSpeed(random(7, 9));
  41.        
  42.         log("Welcome to YoshiFue's Draynor Willow Chopper v1.0!");
  43.         return true;
  44.     }
  45.        
  46.         private boolean atTrees(){
  47.                 RSArea area = new RSArea(new RSTile(3081, 3239), new RSTile(3091, 3225));
  48.                 return area.contains(getMyPlayer().getLocation());
  49.         }
  50.        
  51.         private boolean atBank(){
  52.                 RSArea area = new RSArea(new RSTile(3092, 3246), new RSTile(3095, 3240));
  53.                 return area.contains(getMyPlayer().getLocation());
  54.         }
  55.        
  56.         private boolean walkToTreesFromBank(){
  57.                 RSTile[] randompath = walking.randomizePath(banktoTrees, 1, 1);
  58.                 return walking.walkPathMM(randompath, 15);
  59.         }
  60.        
  61.         private boolean walkToBankFromTrees(){
  62.                 RSTile[] randompath = walking.randomizePath(Treestobank, 1, 1);
  63.                 return walking.walkPathMM(randompath, 15);
  64.         }
  65.        
  66.         private Image getImage(String url) {
  67.             try {
  68.                 return ImageIO.read(new URL(url));
  69.             } catch(IOException e) {
  70.                 return null;
  71.             }
  72.         }
  73.        
  74.         private final Color color1 = new Color(0, 0, 255, 152);
  75.     private final Color color2 = new Color(255, 255, 0);
  76.  
  77.     private final BasicStroke stroke1 = new BasicStroke(3);
  78.  
  79.     private final Font font1 = new Font("Comic Sans MS", 1, 12);
  80.     private final Font font2 = new Font("Comic Sans MS", 0, 13);
  81.  
  82.     private final Image img1 = getImage("http://runescape.siteguides.net/database/item/images/1519.gif");
  83.     private final Image img2 = getImage("http://i87.photobucket.com/albums/k145/widdleguy10/RuneaddictGuideImages/WillowTree.gif");
  84.        
  85.         public void onRepaint(Graphics g1) {
  86.                 long millis = System.currentTimeMillis() - startTime;
  87.             long hours = millis / (1000 * 60 * 60);
  88.             millis -= hours * (1000 * 60 * 60);
  89.             long minutes = millis / (1000 * 60);
  90.             millis -= minutes * (1000 * 60);
  91.             long seconds = millis / 1000;
  92.             Graphics2D g = (Graphics2D)g1;
  93.            
  94.             g.setColor(color1);
  95.             g.fillRoundRect(544, 336, 196, 130, 16, 16);
  96.             g.setColor(color2);
  97.             g.setStroke(stroke1);
  98.             g.drawRoundRect(544, 336, 196, 130, 16, 16);
  99.             g.setFont(font1);
  100.             g.drawString("YF Draynor Willow Chopper v1.0", 549, 352);
  101.             g.setFont(font2);
  102.             g.drawString("Status: " + status, 548, 368);
  103.             g.drawString("Running Time: " + hours + ":" + minutes + ":" + seconds, 548, 382);
  104.             g.drawString("Logs Chopped:", 548, 398);
  105.             g.drawString("Levels Gained:", 549, 414);
  106.             g.drawImage(img1, 424, 254, null);
  107.             g.drawImage(img2, -5, 190, null);}
  108.            
  109.            
  110.         public void antiban(){
  111.                
  112.                 int b = random(0, 10);
  113.                 switch (b) {
  114.                 case 1:
  115.                         if(random (0, 10) == 5) {
  116.                                 log("[Antiban] move mouse");
  117.                                
  118.                                 mouse.moveSlightly();
  119.                                 sleep(200, 600);
  120.                                 mouse.moveRandomly(200, 450);
  121.                         }
  122.                         break;
  123.                 case 2:
  124.                         if (random (0, 8) == 4) {
  125.                                 log("[Antiban] turn screen");
  126.                                 status = "Antiban";
  127.                                 camera.setAngle (random (30, 70));
  128.                                 sleep(400, 1200);
  129.                         }
  130.                         break;
  131.                 case 3:
  132.                         if (random (0, 12) == 7) {
  133.                                 log("[Antiban] mouse off screen");
  134.                                 status = "Antiban";
  135.                                 mouse.moveOffScreen();
  136.                                 sleep(random(600, random(1200, 2000)));
  137.                         }
  138.                         break;
  139.                 case 4:
  140.                         if (random (0, 10) == 3) {
  141.                                 log("[Antiban] checking experience");
  142.                                 status = "Antiban";
  143.                                 game.openTab(1);
  144.                                 skills.doHover(Skills.INTERFACE_WOODCUTTING);
  145.                                 sleep(random(3000, 4500));
  146.                         }
  147.                         break;
  148.                 case 5:
  149.                         if (random (1, 18) == 15) {
  150.                                 log("[Antiban] checking experience");
  151.                                 status = "Antiban";
  152.                                 game.openTab(1);
  153.                                 skills.doHover(Skills.INTERFACE_FIREMAKING);
  154.                                 sleep(random(3000, 4500));
  155.                         }
  156.                         break;
  157.                 case 6:
  158.                         if (random (0, 9) == 3) {
  159.                                 log("[Antiban] checking experience");
  160.                                 status = "Antiban";
  161.                                 game.openTab(1);
  162.                                 skills.doHover(Skills.INTERFACE_COOKING);
  163.                                 sleep(random(3000, 4500));
  164.                         }
  165.                         break;
  166.                         default:
  167.                                 break;
  168.                 }
  169.         }
  170.        
  171.        
  172.        
  173.         private void useBank(){
  174.                 RSObject bankBooth = objects.getNearest(bankboothID);
  175.                 if(bankBooth != null && inventory.contains(willowlogsID)){
  176.                         bankBooth.doAction("Use-quickly");
  177.                         sleep(800, 1000);
  178.                 }
  179.         }
  180.        
  181.         private void depositWillowLogs(){
  182.                 if(bank.isOpen()){
  183.                         bank.deposit(willowlogsID, 0);
  184.                         sleep(300, 600);
  185.                 }
  186.         }
  187.        
  188.         private void closeBank(){
  189.                 if(bank.isOpen()){
  190.                         mouse.move(490, 36, 3, 3);
  191.                         sleep(300, 600);
  192.                         mouse.click(true);
  193.                 }
  194.         }
  195.        
  196.         private void Bank(){
  197.                 useBank();
  198.                 status = "Banking...";
  199.                 depositWillowLogs();
  200.                 closeBank();
  201.         }
  202.        
  203.         private void Chop(){
  204.                 if (getMyPlayer().getAnimation() != 867){
  205.                         RSObject tree = objects.getNearest(willowID);
  206.                         if(tree != null);
  207.                         tree.doAction("Chop");}
  208.         }
  209.        
  210.         public void onFinish(){
  211.                
  212.                 log("Finished YF Draynor Willow Chopper v1.0");
  213.                
  214.     }
  215.        
  216.         @Override
  217.         public int loop() {
  218.                 if(atTrees() && inventory.isFull()){
  219.                         walkToBankFromTrees();
  220.                 }else if(atBank() && inventory.contains(willowlogsID)){
  221.                         Bank();
  222.                 }else if(atTrees() && !inventory.isFull()){
  223.                         Chop();
  224.                 }else if(atBank() && !inventory.contains(willowlogsID)){
  225.                         walkToTreesFromBank();
  226.                
  227.                 }
  228.                
  229.                 return random(500, 1300);
  230.         }
  231. }