Share Pastebin
Guest
Public paste!

Untitled

By: a guest | Mar 21st, 2010 | Syntax: None | Size: 8.54 KB | Hits: 204 | Expires: Never
This paste has a previous version, view the difference. Copy text to clipboard
  1. import java.awt.*;
  2. import java.util.*;
  3. import java.util.List;
  4. import java.lang.reflect.Method;
  5.  
  6.  
  7. import java.util.logging.Level;
  8. import javax.accessibility.*;
  9. import javax.swing.*;
  10.  
  11. import org.rsbot.bot.*;
  12. import org.rsbot.bot.input.*;
  13. import org.rsbot.script.*;
  14. import org.rsbot.script.wrappers.*;
  15. import org.rsbot.accessors.*;
  16. import org.rsbot.event.listeners.*;
  17. import org.rsbot.event.events.*;
  18. import org.rsbot.event.listeners.PaintListener;
  19. import org.rsbot.event.listeners.ServerMessageListener;
  20. import org.rsbot.event.events.ServerMessageEvent;
  21. import org.rsbot.util.ScreenshotUtil;
  22.  
  23. @ScriptManifest(authors = { "Charlie" }, category = "CSeries", name = "CMonkGrabber", version = 1.00, description
  24.  
  25. = "Start in Edgeville bank or near Monastery!")
  26.  
  27. public class CMonkGrabber extends Script implements PaintListener {
  28.  
  29.     private final ScriptManifest properties = getClass().getAnnotation(ScriptManifest.class);
  30.  
  31.         private final RSTile[] toChurch = new RSTile[] { new RSTile(3092, 3497), new RSTile(3085, 3503), new
  32.  
  33. RSTile(3073, 3505), new RSTile(3068, 3512), new RSTile(3058, 3512), new RSTile(3051, 3507), new RSTile(3051,
  34.  
  35. 3500), new RSTile(3053, 3491), new RSTile(3058, 3485)};
  36.         private final RSTile[] toBank = new RSTile[] {new RSTile(3058, 3485), new RSTile(3053, 3491), new RSTile
  37.  
  38. (3051, 3500), new RSTile(3051, 3507),new RSTile(3058, 3512), new RSTile(3068, 3512), new RSTile(3073, 3505), new
  39.  
  40. RSTile(3085, 3503), new RSTile(3092, 3497), new RSTile(3097, 3496)};
  41.  
  42.         private final RSArea roomArea = new RSArea(new RSTile(3056, 3486), new RSTile(3059, 3492));
  43.        
  44.         private final RSTile ladderTile = new RSTile(3057, 3483);      
  45.         public int robesGrabbed;
  46.         //private int bottomPrice, topPrice, missed, stung; //needed for paint & such
  47.         private int randCam;
  48.         public long startTime = System.currentTimeMillis();
  49.         private long idleStart;
  50.        
  51.         @Override
  52.         protected int getMouseSpeed() {
  53.                 return random(5, 7);
  54.         }
  55.                
  56.         private enum State {
  57.                 ANTI_BAN, WALK_TO_CHURCH, CLIMB_UP, CLIMB_DOWN, OPEN_DOOR, PICK_ROBES, WALK_TO_ROBES,
  58.  
  59. WALK_TO_BANK, BANK
  60.     }
  61.        
  62.         private State getState() {
  63.                 if(getPlane() == 1) {
  64.                         if(roomArea.contains(getLocation())) {                         
  65.                                 if(isInventoryFull()) {
  66.                                         if(getObjectAt(3058, 3486) != null) {
  67.                                                 //log("CLIMB DOWN2");
  68.                                                 return State.CLIMB_DOWN;
  69.                                         } else {
  70.                                                 //log("OPEN DOOR - CLIMB DOWN");
  71.                                                 return State.OPEN_DOOR;
  72.                                         }
  73.                                 } else if(getNearestGroundItemByID(542, 544) == null) {
  74.                                         RSTile myLoc = getLocation();
  75.                                         if(myLoc.getX() != 3058 || myLoc.getY() != 3488 || myLoc.getY() != 3489)
  76.  
  77. {
  78.                                                 onTile(new RSTile(3058, random(3487, 3488)), "Scorp", "Walk ");
  79.                                                 wait(random(100, 350));
  80.                                         }
  81.                                         //log("ANTIBAN 2");
  82.                                         return State.ANTI_BAN;
  83.                                 } else {
  84.                                         //log("PICK ROBES");
  85.                                         return State.PICK_ROBES;
  86.                                 }
  87.                         } else {
  88.                                 if(getObjectAt(3058, 3485) != null) {
  89.                                         //log("OPEN DOOR");
  90.                                         return State.OPEN_DOOR;
  91.                                 } else if(getObjectAt(3058, 3486) != null) {
  92.                                         if(isInventoryFull()) {
  93.                                                 //log("CLIMB DOWN");
  94.                                                 return State.CLIMB_DOWN;
  95.                                         } else {
  96.                                                 //log("WALK TO ROBES");
  97.                                                 return State.WALK_TO_ROBES;
  98.                                         }
  99.                                 }
  100.                         }
  101.                 } else if(getNearestNPCByName("Banker") != null) {
  102.                         if(getInventoryCount() > 0) {
  103.                                 //log("BANK");
  104.                                 return State.BANK;
  105.                         } else {
  106.                                 //log("WALK CHURCH");
  107.                                 return State.WALK_TO_CHURCH;
  108.                         }
  109.                 } else if(tileOnScreen(ladderTile) && getPlane() == 0 && !isInventoryFull()) {
  110.                         //log("CLIMB UP 1");
  111.                         return State.CLIMB_UP;
  112.                 } else if(!isIdle()) {
  113.                         if(getDestination() != null && distanceTo(getDestination()) <= random(6, 8) && !
  114.  
  115. isLastTile()) {
  116.                                 if(isInventoryFull()) {
  117.                                         //log("WALK BANK");
  118.                                         return State.WALK_TO_BANK;
  119.                                 } else {
  120.                                         //log("WALK CHURCH");
  121.                                         return State.WALK_TO_CHURCH;
  122.                                 }
  123.                         }
  124.                 } else if(isInventoryFull() && getPlane() == 0) {
  125.                         //log("WALK BANK 3");
  126.                         return State.WALK_TO_BANK;
  127.                 }
  128.                 //log("ANTIBAN 1");
  129.                 return State.ANTI_BAN;
  130.         }
  131.        
  132.         private boolean isLastTile() {
  133.                 return distanceBetween(getDestination(), toChurch[toChurch.length-1]) < 5 || distanceBetween
  134.  
  135. (getDestination(), toBank[toBank.length-1]) < 5;
  136.         }
  137.  
  138.     public int loop() {
  139.                 if(getPlane() == 1) {
  140.                         idleStart = -1;
  141.                         if(getCameraAngle() > 3 && getCameraAngle() < 355) {
  142.                                 //log("setrot");
  143.                                 setCameraRotation((random(1,6) == 2 ? random(0, 3) : random(355, 359)));
  144.                                 return random(25, 100);
  145.                         }
  146.                 }
  147.                 if(random(1, 15) == 3) {
  148.                         //log("mouse speed");
  149.                         getMouseSpeed();
  150.                         return random(10,30);
  151.                 }
  152.                 if(getPlane() == 0) {
  153.                         if(isIdle()) {
  154.                                 //log("isIdle() == true");
  155.                                 if(idleStart == -1) {
  156.                                         //log("idleStart set");
  157.                                         idleStart = System.currentTimeMillis();
  158.                                 } else {
  159.                                         //log("idleTime = "+(System.currentTimeMillis() - idleStart));
  160.                                         if(System.currentTimeMillis() - idleStart >= random(3000, 5000)) {
  161.                                                 if(isInventoryFull()) {
  162.                                                         //log("walktobank");
  163.                                                         walkTo(toBank[toBank.length-1]);
  164.                                                 } else {
  165.                                                         //log("walktochurch");
  166.                                                         walkTo(toChurch[toChurch.length-1]);
  167.                                                 }
  168.                                                 return random(100, 300);
  169.                                         }
  170.                                 }
  171.                         } else {
  172.                                 idleStart = -1;
  173.                         }
  174.                 } else {
  175.                         Point m = getMouseLocation();
  176.                         if(getPlane() == 1 && (((m.x < 280 || m.x > 305) || (m.y < 155 || m.y > 175)) || random
  177.  
  178. (1,50) == 3)) {
  179.                                 //log("fix mouse");
  180.                                 moveMouse(random(280, 305), random(155, 175));
  181.                                 return random(20, 70);
  182.                         }
  183.                 }
  184.                 if(randCam == -1 || randCam == random(1, 75)) {
  185.                         randCam = random(1, 75);
  186.                         //log("cam alt");
  187.                         setCameraAltitude(true);
  188.                 }
  189.                 final int invCount = getInventoryCount();
  190.         switch(getState()) {
  191.                         case ANTI_BAN:
  192.                                 antiban();
  193.                                 return random(50, 300);
  194.                         case WALK_TO_CHURCH:
  195.                                 walkPathMM(toChurch);
  196.                                 return random(50, 150);
  197.                         case CLIMB_UP:
  198.                                 if(atTile(ladderTile, "Climb-up")) {
  199.                                         return random(750, 1500);
  200.                                 } else {
  201.                                         return random(100, 300);
  202.                                 }
  203.                         case CLIMB_DOWN:
  204.                                 if(!tileOnScreen(ladderTile)) {
  205.                                         walkTo(ladderTile);
  206.                                         return random(100, 400);
  207.                                 }
  208.                                 if(atTile(ladderTile, "Climb-down")) {
  209.                                         return random(750, 1500);
  210.                                 } else {
  211.                                         return random(100, 300);
  212.                                 }
  213.                         case OPEN_DOOR:
  214.                                 atDoor(30864, 'N');
  215.                                 return random(100, 300);
  216.                         case PICK_ROBES:
  217.                                 RSItemTile toPick = getNearestGroundItemByID(542, 544);
  218.                                 if(toPick != null && onTile(toPick, "Scorp", "Take")) {
  219.                                         wait(random(7500, 17500));
  220.                                         onTile(new RSTile(3058, (getLocation().getY() == 3488 ? 3487 : 3488)),
  221.  
  222. "Scorp", "Walk ");
  223.                                         return random(100, 400);
  224.                                 } else {
  225.                                         return random(100, 300);
  226.                                 }
  227.                         case WALK_TO_ROBES:
  228.                                 walkTo(new RSTile(3058, random(3487, 3488)));
  229.                                 return random(100, 300);
  230.                         case WALK_TO_BANK:
  231.                                 walkPathMM(toBank);
  232.                                 return random(50, 150);
  233.                         case BANK:
  234.                                 if(getInventoryCount() == 0) {
  235.                                         if(bank.isOpen() && random(1, 9) == 7) {
  236.                                                 bank.close();
  237.                                                 return random(100, 300);
  238.                                         }
  239.                                         return random(50, 100);
  240.                                 }
  241.                                 if(!bank.isOpen()) {
  242.                                         if(bank.open()) {
  243.                                                 return random(700, 1400);
  244.                                         } else {
  245.                                                 return random(100, 300);
  246.                                         }
  247.                                 }
  248.                                 bank.depositAll();
  249.                                 robesGrabbed++;
  250.                                 return random(300, 750);
  251.                 }
  252.                 return random(100, 750);
  253.     }
  254.        
  255.         public void antiban() {
  256.                 if(getPlane() == 1) {
  257.                         return;
  258.                 }
  259.                 int random = random(1, 24);
  260.                 switch (random) {
  261.                 case 1:
  262.                         if (random(1, 10) != 1)
  263.                                 break;
  264.                         moveMouse(random(10, 750), random(10, 495));
  265.                         break;
  266.                 case 2:
  267.                         if (random(1, 40) != 1)
  268.                                 break;
  269.                         int angle = getCameraAngle() + random(-90, 90);
  270.                         if (angle < 0 || angle > 359) {
  271.                                 angle = random(0, 10);
  272.                         }
  273.                         if(angle > 3 && angle < 355) {
  274.                                 setCameraRotation(angle);
  275.                         }
  276.                         break;
  277.                 case 3:
  278.                         if (random(1, 3) != 1)
  279.                                 break;
  280.                         moveMouseSlightly();
  281.                         break;
  282.                 default:
  283.                         break;
  284.                 }
  285.         }
  286.        
  287.         public boolean onStart(Map<String, String> args) {
  288.                 return true;
  289. }
  290.    
  291.    
  292.         public void onRepaint(Graphics g) {
  293.                 long millis = System.currentTimeMillis() - startTime;
  294.                 int y = 211;
  295.                
  296.                        
  297.                         long hours = millis / (1000 * 60 * 60);
  298.                         millis -= hours * (1000 * 60 * 60);
  299.                         long minutes = millis / (1000 * 60);
  300.                         millis -= minutes * (1000 * 60);
  301.                         long seconds = millis / 1000;
  302.                        
  303.                        
  304.                         g.setFont(new Font("Arial", Font.BOLD, 12));
  305.                         g.setColor(Color.green);
  306.                         g.setColor(Color.black);
  307.                         g.drawString("CMonkGrabber - Beta      Runtime: " + hours + ":" + minutes + ":" +
  308.  
  309. seconds,
  310.                                                  15, y += 14);
  311.                         g.drawString("Trips: " + robesGrabbed, 15, y += 14);
  312.                        
  313.                                
  314.                                
  315.                                
  316.         }
  317.    
  318.     public void onFinish() {
  319.     }
  320. }