Advertisement
Guest User

Dgaf - Chickens Pro - Beta

a guest
Aug 16th, 2013
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 11.22 KB | None | 0 0
  1. package scripts;
  2.  
  3.  
  4. import java.awt.Graphics;
  5. import java.awt.Point;
  6. import java.awt.Rectangle;
  7. import java.awt.event.KeyEvent;
  8. import java.awt.event.MouseEvent;
  9. import java.awt.image.BufferedImage;
  10. import java.io.IOException;
  11. import java.net.URL;
  12. import java.text.NumberFormat;
  13. import java.util.Locale;
  14.  
  15. import javax.imageio.ImageIO;
  16.  
  17. import org.tribot.api.DynamicClicking;
  18. import org.tribot.api.General;
  19. import org.tribot.api.Timing;
  20. import org.tribot.api.input.Mouse;
  21. import org.tribot.api2007.Camera;
  22. import org.tribot.api2007.GameTab;
  23. import org.tribot.api2007.GameTab.TABS;
  24. import org.tribot.api2007.NPCs;
  25. import org.tribot.api2007.Objects;
  26. import org.tribot.api2007.Player;
  27. import org.tribot.api2007.Skills;
  28. import org.tribot.api2007.types.RSNPC;
  29. import org.tribot.api2007.types.RSObject;
  30. import org.tribot.api2007.types.RSTile;
  31. import org.tribot.script.Script;
  32. import org.tribot.script.ScriptManifest;
  33. import org.tribot.script.interfaces.EventBlockingOverride;
  34. import org.tribot.script.interfaces.Painting;
  35. import org.tribot.script.interfaces.Pausing;
  36. import org.tribot.api2007.WebWalking;
  37.  
  38.  
  39. @ScriptManifest(authors = { "Dgaf" }, category = "Combat", name = "Chickens Pro")
  40. public class ChickensPro extends Script implements Painting, EventBlockingOverride, Pausing {
  41.    
  42.     int camAng = 30;
  43.    
  44.     String version = "1.0 Beta";
  45.    
  46.     int chickensAttacked = 0;
  47.    
  48.     boolean showPaint = true;
  49.    
  50.     private Rectangle ChickensArea;
  51.     private Rectangle ChickensArea2;
  52.    
  53.    
  54.     private final Rectangle toggleArea = new Rectangle(487, 308, 28, 29);
  55.    
  56.     RSTile playerPos;
  57.     Point playerPosPoint;
  58.    
  59.     BufferedImage backGround = null, toggle = null, toggle2 = null;
  60.    
  61.    
  62.     int status = 0;
  63.     //0 = Walking to chickens
  64.     //1 = Fighting
  65.      
  66.    
  67.     public int[] XP = {Skills.getXP("Attack"), Skills.getXP("Strength"), Skills.getXP("Defence"), Skills.getXP("Ranged"), Skills.getXP("Prayer"),
  68.             Skills.getXP("Magic"), Skills.getXP("Runecrafting"), Skills.getXP("Construction"), Skills.getXP("Hitpoints"), Skills.getXP("Agility"),
  69.             Skills.getXP("Herblore"), Skills.getXP("Thieving"), Skills.getXP("Crafting"), Skills.getXP("Fletching"), Skills.getXP("Slayer"),
  70.             Skills.getXP("Hunter"), Skills.getXP("Mining"), Skills.getXP("Smithing"), Skills.getXP("Fishing"), Skills.getXP("Cooking")
  71.             , Skills.getXP("Firemaking"), Skills.getXP("Woodcutting"), Skills.getXP("Farming")};
  72.    
  73.    
  74.     public final String[] Names = {"Attack", "Strength", "Defence", "Ranged", "Prayer", "Magic", "Runecrafting", "Construction", "Hitpoints", "Agility", "Herblore"
  75.                 , "Thieving", "Crafting", "Fletching", "Slayer", "Hunter", "Mining", "Smithing", "Fishing", "Cooking", "Firemaking", "Woodcutting"
  76.                 ,"Farming"};
  77.    
  78.     @Override
  79.     public void run() {
  80.        
  81.         try {
  82.             backGround = ImageIO.read(new URL("http://puu.sh/42V9A/2a9f72763f.png"));
  83.             toggle = ImageIO.read(new URL("http://puu.sh/42GGX/236f87f561.png"));
  84.             toggle2 = ImageIO.read(new URL("http://puu.sh/42GHc/04ea87e0d0.png"));
  85.         } catch (IOException e) {
  86.             e.printStackTrace();
  87.         }
  88.        
  89.         Mouse.setSpeed(140);
  90.        
  91.        
  92.         while(Player.getRSPlayer().getPosition() == null){ //check if logged in.
  93.             sleep(500);
  94.         }
  95.        
  96.         this.ChickensArea = new Rectangle();
  97.         this.ChickensArea2 = new Rectangle();
  98.        
  99.         this.ChickensArea.setFrameFromDiagonal(new Point(3225, 3295), new Point(3237, 3301));
  100.         this.ChickensArea2.setFrameFromDiagonal(new Point(3231, 3295), new Point(3236,3288));
  101.        
  102.         //3237,3299
  103.        
  104.         this.playerPos = Player.getRSPlayer().getPosition();
  105.         this.playerPosPoint = new Point(this.playerPos.getX(), this.playerPos.getY());
  106.        
  107.         if(this.ChickensArea.contains(this.playerPosPoint) || this.ChickensArea2.contains(this.playerPosPoint)){
  108.             this.status = 1;
  109.         }else{
  110.             this.status = 0;
  111.         }
  112.        
  113.         println("Starting Chickens Pro "+version);
  114.        
  115.         Loop();
  116.     }
  117.    
  118.    
  119.     public void Loop(){
  120.        
  121.         while(true){
  122.            
  123.             if(General.random(1, 100) == 1){
  124.                 AntiBan();
  125.             }
  126.            
  127.             this.playerPos = Player.getRSPlayer().getPosition();
  128.             this.playerPosPoint = new Point(this.playerPos.getX(), this.playerPos.getY());
  129.            
  130.             if(this.ChickensArea.contains(this.playerPosPoint) || this.ChickensArea2.contains(this.playerPosPoint)){
  131.                 this.status = 1;
  132.             }else{
  133.                 this.status = 0;
  134.             }
  135.            
  136.             switch (this.status){
  137.             case 0:
  138.                 if(WalkToChickens()) {
  139.                     println("We have arrived at Chickens!");
  140.                     this.status = 1;
  141.                 }
  142.                 break;
  143.             case 1:
  144.                 Fight();
  145.                 break;
  146.             }
  147.            
  148.             sleep(100);
  149.         }
  150.     }
  151.    
  152.     private boolean WalkToChickens(){
  153.         WebWalking.walkTo(new RSTile(3237, 3295));
  154.         WaitTillInActive(1);
  155.         if(passGate()){
  156.             this.status = 1;
  157.             return true;
  158.         }else{
  159.             WebWalking.walkTo(new RSTile(3230, 3297));
  160.             WaitTillInActive(1);
  161.         }
  162.        
  163.        
  164.         return false;
  165.     }
  166.    
  167.     private boolean passGate(){
  168.         RSObject[] Gate = Objects.find(5, 14403, 14405);
  169.         if (Gate != null && Gate.length > 0 && DynamicClicking.clickRSObject(Gate[0], "Open")){
  170.             WaitTillInActive(1);
  171.             WebWalking.walkTo(new RSTile(3230, 3297));
  172.             WaitTillInActive(1);
  173.             println("Sucessfully passsed wildy gate");
  174.             return true;
  175.         }else{
  176.             return false;
  177.         }
  178.     }
  179.    
  180.     public void Fight(){
  181.        
  182.         RSNPC[] chickens = NPCs.find(new String[] { "Chicken" });
  183.            
  184.          if ((chickens.length > 0) && (!Player.isMoving()) && (Player.getRSPlayer().getInteractingCharacter() == null)){
  185.             for (int i = 0; i < chickens.length; i++){
  186.               if ((!chickens[i].isInCombat()) && (Player.getRSPlayer().getInteractingCharacter() == null)){
  187.                
  188.                 if(!chickens[i].isOnScreen()){
  189.                     LookAtTile(chickens[i].getPosition());
  190.                     WaitTillInActive(1);
  191.                 }
  192.                
  193.                 if(!chickens[i].isOnScreen()){
  194.                     WebWalking.walkTo(chickens[i].getPosition());
  195.                     WaitTillInActive(1);
  196.                 }
  197.                
  198.                 if(chickens[i].isValid()){
  199.                    
  200.                     RSTile chickenTile;
  201.                     Point chickenPoint;
  202.                     chickenTile = chickens[i].getPosition();
  203.                     chickenPoint = new Point(chickenTile.getX(), chickenTile.getY());
  204.                    
  205.                     if(this.ChickensArea.contains(chickenPoint) || this.ChickensArea2.contains(chickenPoint)){
  206.                         try{
  207.                             DynamicClicking.clickRSNPC(chickens[i], "Attack");
  208.                             chickensAttacked++;
  209.                             WaitTillInActive(1);
  210.                         } catch (Exception e2){
  211.                            
  212.                         }
  213.                     }
  214.                    
  215.                 }
  216.                
  217.                 break;
  218.               }
  219.             }
  220.           }
  221.     }
  222.    
  223.    
  224.     private void LookAtTile(RSTile target){
  225.        
  226.         if(!target.isOnScreen()){
  227.             Camera.turnToTile(target);
  228.         }
  229.        
  230.         if ((!target.isOnScreen()) && (target != this.playerPos)){
  231.             this.camAng += 1;
  232.            
  233.             if (this.camAng > 30)
  234.             this.camAng = 0;
  235.             Camera.setCameraAngle(this.camAng);
  236.         }
  237.     }
  238.    
  239.     private boolean WaitTillInActive(int y){
  240.         for(int x = 0; x < y;){
  241.             if(!(Player.isMoving()) && !(Player.getRSPlayer().isInCombat()) && (Player.getRSPlayer().getInteractingCharacter() == null)){
  242.                 sleep(100+(int)(Math.random()*50));
  243.                 x++;
  244.             }else{
  245.                 sleep(190+(int)(Math.random()*50));
  246.             }
  247.            
  248.            
  249.         }
  250.         return true;
  251.     }
  252.    
  253.    
  254.    
  255.     public void AntiBan(){
  256.        
  257.         int number = General.random(1, 100);
  258.         int numRotation = General.random(1, 15);
  259.        
  260.         sleep(200, 1000);
  261.        
  262.         switch(number){
  263.         case 1:
  264.         case 2:
  265.             Camera.setCameraRotation(Camera.getCameraRotation() + numRotation);
  266.             break;
  267.         case 3:
  268.         case 4:
  269.         case 5:
  270.         case 20:
  271.         case 21:
  272.         case 22:
  273.             GameTab.open(TABS.STATS);
  274.             sleep(300);
  275.             Mouse.moveBox(553, 210, 725, 452);
  276.             sleep(9011, 1671);
  277.             GameTab.open(TABS.INVENTORY);
  278.             break;
  279.         case 23:
  280.         case 24:
  281.         case 25:
  282.         case 26:
  283.         case 27:
  284.             GameTab.open(TABS.STATS);
  285.             sleep(300);
  286.             Mouse.moveBox(553, 210, 725, 452);
  287.             sleep(1010, 1909);
  288.             GameTab.open(TABS.INVENTORY);
  289.             break;
  290.         case 28:
  291.         case 29:
  292.         case 30:
  293.         case 31:
  294.             Mouse.move(General.random(1, 755), General.random(1, 499));
  295.             sleep(200, 500);
  296.             break;
  297.         case 50:
  298.             GameTab.open(TABS.INVENTORY);
  299.             sleep(100,650);
  300.             break;
  301.         case 75:
  302.             GameTab.open(TABS.STATS);
  303.             sleep(200, 400);
  304.             Mouse.moveBox(553, 210, 725, 452);
  305.             sleep(1010, 1509);
  306.             GameTab.open(TABS.INVENTORY);
  307.             break;
  308.         case 76:
  309.         case 89:
  310.         case 90:
  311.             Camera.setCameraAngle(Camera.getCameraRotation() + numRotation);
  312.             sleep(250, 409);
  313.             break;
  314.         case 91:
  315.         case 92:
  316.         case 93:
  317.         case 94:
  318.            
  319.         case 95:
  320.         case 96:
  321.         case 97:
  322.         case 98:
  323.             GameTab.open(TABS.FRIENDS);
  324.             sleep(2100, 3700);
  325.             GameTab.open(TABS.INVENTORY);
  326.             break;
  327.         case 99:
  328.         case 100:
  329.             Camera.setCameraAngle(Camera.getCameraRotation() - numRotation);
  330.             sleep(210, 480);
  331.             break;
  332.         }
  333.     }
  334.    
  335.    
  336.     @Override
  337.     public void onPaint(Graphics g) {
  338.        
  339.         if (showPaint){
  340.            
  341.             long timeRan = getRunningTime();
  342.            
  343.             double secondsRan = (int) (timeRan/1000);
  344.             double hoursRan = secondsRan/3600;
  345.             int chickensPerHour = (int) (chickensAttacked/hoursRan);
  346.            
  347.             g.drawImage(backGround, 7, 345, null);
  348.            
  349.             g.drawString("Time Ran: "+Timing.msToString(getRunningTime()), 105, 400);
  350.             g.drawString("Chickens killed: "+chickensAttacked+"  |  ("+chickensPerHour+") p/h", 105, 420);
  351.            
  352.             switch(this.status){
  353.             case 0:
  354.                 g.drawString("Status: Walking to chickens!", 105, 440);
  355.                 break;
  356.             case 1:
  357.                 g.drawString("Status: Fighting chickens!", 105, 440);
  358.                 break;
  359.             }
  360.            
  361.             int x = 15;
  362.             for (int i = 0; i < XP.length; i ++)
  363.             {
  364.                 if (XP[i] != Skills.getXP(Names[i]))
  365.                 {
  366.                     g.drawString(Names[i] + ": " + NumberFormat.getNumberInstance(Locale.US).format(Math.round(((Skills.getXP(Names[i]) - XP[i]))/hoursRan)) + " Xp/h", 285, (385 + x));
  367.                     x += 15;
  368.                 }
  369.             }
  370.            
  371.         }
  372.         g.drawImage(showPaint ? toggle2 : toggle, 487, 308, null);
  373.        
  374.        
  375.     }
  376.    
  377.    
  378.     @Override
  379.     public void onPause()
  380.     {
  381.           //onpause
  382.     }
  383.    
  384.     @Override
  385.     public void onResume() {
  386.        
  387.         this.playerPos = Player.getRSPlayer().getPosition();
  388.         this.playerPosPoint = new Point(this.playerPos.getX(), this.playerPos.getY());
  389.        
  390.        
  391.     }
  392.  
  393.     @Override
  394.     public OVERRIDE_RETURN overrideKeyEvent(KeyEvent e) {
  395.         return OVERRIDE_RETURN.SEND; /*** returning send to allow keys to be pressed, (obv) ***/
  396.     }
  397.  
  398.  
  399.     @Override
  400.     public OVERRIDE_RETURN overrideMouseEvent(MouseEvent e) {
  401.         try{
  402.             if (toggleArea.contains(e.getPoint())){
  403.                 if (e.getID() == MouseEvent.MOUSE_CLICKED){
  404.                     e.consume();
  405.                     if (!showPaint){
  406.                         showPaint = true;
  407.                     } else{
  408.                         showPaint = false;
  409.                     }
  410.                     return OVERRIDE_RETURN.DISMISS;
  411.                 } else if (e.getID() == MouseEvent.MOUSE_PRESSED){
  412.                     return OVERRIDE_RETURN.DISMISS;
  413.                 }
  414.             }
  415.             return OVERRIDE_RETURN.PROCESS;
  416.                
  417.         } catch (Exception e2){
  418.             return OVERRIDE_RETURN.DISMISS;
  419.         }
  420.     }
  421. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement