Advertisement
phl0w

iTHornCrusher

Jun 1st, 2012
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.80 KB | None | 0 0
  1. import java.awt.AlphaComposite;
  2. import java.awt.Color;
  3. import java.awt.Font;
  4. import java.awt.Graphics;
  5. import java.awt.Graphics2D;
  6. import java.awt.Rectangle;
  7.  
  8. import org.powerbot.concurrent.Task;
  9. import org.powerbot.concurrent.strategy.Strategy;
  10. import org.powerbot.game.api.ActiveScript;
  11. import org.powerbot.game.api.Manifest;
  12. import org.powerbot.game.api.methods.Widgets;
  13. import org.powerbot.game.api.methods.input.Mouse;
  14. import org.powerbot.game.api.methods.interactive.Players;
  15. import org.powerbot.game.api.methods.tab.Inventory;
  16. import org.powerbot.game.api.methods.widget.Bank;
  17. import org.powerbot.game.api.util.Random;
  18. import org.powerbot.game.api.util.Time;
  19. import org.powerbot.game.bot.event.MessageEvent;
  20. import org.powerbot.game.bot.event.listener.MessageListener;
  21. import org.powerbot.game.bot.event.listener.PaintListener;
  22.  
  23. @Manifest(name = "iTHornCrusher", description = "Grinds goat horns for money :D start near a bank.", version = 1.0, authors = {
  24.         "xcvd", "phl0w" })
  25. public class iTHornCrusher extends ActiveScript implements PaintListener,
  26. MessageListener {
  27.     private final int ITEM_ID_GOAT_HORN = 9735;
  28.     private int ground;
  29.     private long startTime;
  30.     private boolean sleeping;
  31.  
  32.     @Override
  33.     protected void setup() {
  34.         provide(new ClickBank());
  35.         provide(new DoBank());
  36.         provide(new GrindChocolate());
  37.         provide(new InteractWidget());
  38.         startTime = System.currentTimeMillis();
  39.     }
  40.  
  41.     private class ClickBank extends Strategy implements Task {
  42.         @Override
  43.         public boolean validate() {
  44.             return Inventory.getCount(ITEM_ID_GOAT_HORN) == 0 && !Bank.isOpen();
  45.         }
  46.  
  47.         @Override
  48.         public void run() {
  49.             while (!Bank.open()) {
  50.                 Time.sleep(Random.nextInt(80, 120));
  51.             }
  52.             Time.sleep(Random.nextInt(300, 400));
  53.         }
  54.     }
  55.  
  56.     private class DoBank extends Strategy implements Task {
  57.  
  58.         @Override
  59.         public boolean validate() {
  60.             return Bank.isOpen();
  61.         }
  62.  
  63.         @Override
  64.         public void run() {
  65.             while (Inventory.getCount() > 0) {
  66.                 while (!Bank.depositInventory()) {
  67.                     Time.sleep(Random.nextInt(80, 120));
  68.                 }
  69.             }
  70.             Bank.withdraw(ITEM_ID_GOAT_HORN, 0);
  71.             while (!Bank.close()) {
  72.                 Time.sleep(Random.nextInt(80, 120));
  73.             }
  74.             Time.sleep(Random.nextInt(300, 400));
  75.         }
  76.     }
  77.  
  78.     private class InteractWidget extends Strategy implements Task {
  79.  
  80.         @Override
  81.         public boolean validate() {
  82.             return Widgets.get(905, 14).validate();
  83.         }
  84.  
  85.         @Override
  86.         public void run() {
  87.             while (!Widgets.get(905, 14).click(true)) {
  88.                 Time.sleep(Random.nextInt(80, 120));
  89.             }
  90.             Time.sleep(Random.nextInt(100, 200));
  91.             while (Inventory.getCount(ITEM_ID_GOAT_HORN) > 0) {
  92.                 sleeping = true;
  93.             }
  94.             sleeping = false;
  95.         }
  96.     }
  97.  
  98.     private class GrindChocolate extends Strategy implements Task {
  99.  
  100.         @Override
  101.         public boolean validate() {
  102.             return !Bank.isOpen() && Players.getLocal().getAnimation() == -1
  103.                     && Inventory.getCount(ITEM_ID_GOAT_HORN) > 0
  104.                     && !Widgets.get(905, 14).validate() && !sleeping;
  105.         }
  106.  
  107.         @Override
  108.         public void run() {
  109.             while (!Inventory.getItem(ITEM_ID_GOAT_HORN).getWidgetChild()
  110.                     .interact("Grind")) {
  111.                 Time.sleep(Random.nextInt(80, 120));
  112.             }
  113.             Time.sleep(Random.nextInt(300, 400));
  114.         }
  115.     }
  116.  
  117.     @Override
  118.     public void messageReceived(MessageEvent me) {
  119.         String msg = me.getMessage();
  120.         if (msg.contains("grind the goat")) {
  121.             ground++;
  122.         }
  123.     }
  124.  
  125.     private AlphaComposite makeComposite(float alpha) {
  126.         int type = AlphaComposite.SRC_OVER;
  127.         return (AlphaComposite.getInstance(type, alpha));
  128.     }
  129.  
  130.     @Override
  131.     public void onRepaint(Graphics g) {
  132.         Graphics2D g2d = (Graphics2D) g;
  133.  
  134.         Font title = new Font("Monotype Corsiva", Font.PLAIN, 25);
  135.         Font author = new Font("Monotype Corsiva", Font.PLAIN, 16);
  136.         Font info = new Font("Book Antiqua", Font.PLAIN, 15);
  137.  
  138.         Rectangle bg = new Rectangle(10, 23, 240, 95);
  139.         Rectangle border = new Rectangle(8, 21, 244, 99);
  140.         g2d.setColor(Color.ORANGE);
  141.         g2d.setComposite(makeComposite(0.5f));
  142.         g2d.fill(bg);
  143.         g2d.setColor(Color.BLACK);
  144.         g2d.fill(border);
  145.         g2d.setComposite(makeComposite(1.0f));
  146.  
  147.         g2d.setColor(Color.WHITE);
  148.  
  149.         g2d.fill(new Rectangle(Mouse.getX() + 1, Mouse.getY() - 4, 2, 15));
  150.         g2d.fill(new Rectangle(Mouse.getX() - 6, Mouse.getY() + 2, 16, 2));
  151.  
  152.         int groundHour = (int) ((ground) * 3600000D / (System
  153.                 .currentTimeMillis() - startTime));
  154.         int profit = ground * 47;
  155.         int profitHour = groundHour * 47;
  156.         g2d.setFont(title);
  157.         g2d.drawString("iTHornCrusher", 20, 50);
  158.         g2d.setFont(author);
  159.         g2d.drawString("By: _phl0w (xcvd)", 20, 65);
  160.  
  161.         g2d.setFont(info);
  162.         g2d.drawString("Ground: " + ground + " (" + groundHour + "/h).", 20, 85);
  163.         g2d.drawString("Profit: " + profit + " gp (" + profitHour + " gp/h).", 20,
  164.                 100);
  165.         g2d.drawString(
  166.                 "Runtime: "
  167.                         + Time.format((System.currentTimeMillis() - startTime))
  168.                         + ".", 20, 115);
  169.     }
  170.  
  171. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement