Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.AlphaComposite;
- import java.awt.Color;
- import java.awt.Font;
- import java.awt.Graphics;
- import java.awt.Graphics2D;
- import java.awt.Rectangle;
- import org.powerbot.concurrent.Task;
- import org.powerbot.concurrent.strategy.Strategy;
- import org.powerbot.game.api.ActiveScript;
- import org.powerbot.game.api.Manifest;
- import org.powerbot.game.api.methods.Widgets;
- import org.powerbot.game.api.methods.input.Mouse;
- import org.powerbot.game.api.methods.interactive.Players;
- import org.powerbot.game.api.methods.tab.Inventory;
- import org.powerbot.game.api.methods.widget.Bank;
- import org.powerbot.game.api.util.Random;
- import org.powerbot.game.api.util.Time;
- import org.powerbot.game.bot.event.MessageEvent;
- import org.powerbot.game.bot.event.listener.MessageListener;
- import org.powerbot.game.bot.event.listener.PaintListener;
- @Manifest(name = "iTHornCrusher", description = "Grinds goat horns for money :D start near a bank.", version = 1.0, authors = {
- "xcvd", "phl0w" })
- public class iTHornCrusher extends ActiveScript implements PaintListener,
- MessageListener {
- private final int ITEM_ID_GOAT_HORN = 9735;
- private int ground;
- private long startTime;
- private boolean sleeping;
- @Override
- protected void setup() {
- provide(new ClickBank());
- provide(new DoBank());
- provide(new GrindChocolate());
- provide(new InteractWidget());
- startTime = System.currentTimeMillis();
- }
- private class ClickBank extends Strategy implements Task {
- @Override
- public boolean validate() {
- return Inventory.getCount(ITEM_ID_GOAT_HORN) == 0 && !Bank.isOpen();
- }
- @Override
- public void run() {
- while (!Bank.open()) {
- Time.sleep(Random.nextInt(80, 120));
- }
- Time.sleep(Random.nextInt(300, 400));
- }
- }
- private class DoBank extends Strategy implements Task {
- @Override
- public boolean validate() {
- return Bank.isOpen();
- }
- @Override
- public void run() {
- while (Inventory.getCount() > 0) {
- while (!Bank.depositInventory()) {
- Time.sleep(Random.nextInt(80, 120));
- }
- }
- Bank.withdraw(ITEM_ID_GOAT_HORN, 0);
- while (!Bank.close()) {
- Time.sleep(Random.nextInt(80, 120));
- }
- Time.sleep(Random.nextInt(300, 400));
- }
- }
- private class InteractWidget extends Strategy implements Task {
- @Override
- public boolean validate() {
- return Widgets.get(905, 14).validate();
- }
- @Override
- public void run() {
- while (!Widgets.get(905, 14).click(true)) {
- Time.sleep(Random.nextInt(80, 120));
- }
- Time.sleep(Random.nextInt(100, 200));
- while (Inventory.getCount(ITEM_ID_GOAT_HORN) > 0) {
- sleeping = true;
- }
- sleeping = false;
- }
- }
- private class GrindChocolate extends Strategy implements Task {
- @Override
- public boolean validate() {
- return !Bank.isOpen() && Players.getLocal().getAnimation() == -1
- && Inventory.getCount(ITEM_ID_GOAT_HORN) > 0
- && !Widgets.get(905, 14).validate() && !sleeping;
- }
- @Override
- public void run() {
- while (!Inventory.getItem(ITEM_ID_GOAT_HORN).getWidgetChild()
- .interact("Grind")) {
- Time.sleep(Random.nextInt(80, 120));
- }
- Time.sleep(Random.nextInt(300, 400));
- }
- }
- @Override
- public void messageReceived(MessageEvent me) {
- String msg = me.getMessage();
- if (msg.contains("grind the goat")) {
- ground++;
- }
- }
- private AlphaComposite makeComposite(float alpha) {
- int type = AlphaComposite.SRC_OVER;
- return (AlphaComposite.getInstance(type, alpha));
- }
- @Override
- public void onRepaint(Graphics g) {
- Graphics2D g2d = (Graphics2D) g;
- Font title = new Font("Monotype Corsiva", Font.PLAIN, 25);
- Font author = new Font("Monotype Corsiva", Font.PLAIN, 16);
- Font info = new Font("Book Antiqua", Font.PLAIN, 15);
- Rectangle bg = new Rectangle(10, 23, 240, 95);
- Rectangle border = new Rectangle(8, 21, 244, 99);
- g2d.setColor(Color.ORANGE);
- g2d.setComposite(makeComposite(0.5f));
- g2d.fill(bg);
- g2d.setColor(Color.BLACK);
- g2d.fill(border);
- g2d.setComposite(makeComposite(1.0f));
- g2d.setColor(Color.WHITE);
- g2d.fill(new Rectangle(Mouse.getX() + 1, Mouse.getY() - 4, 2, 15));
- g2d.fill(new Rectangle(Mouse.getX() - 6, Mouse.getY() + 2, 16, 2));
- int groundHour = (int) ((ground) * 3600000D / (System
- .currentTimeMillis() - startTime));
- int profit = ground * 47;
- int profitHour = groundHour * 47;
- g2d.setFont(title);
- g2d.drawString("iTHornCrusher", 20, 50);
- g2d.setFont(author);
- g2d.drawString("By: _phl0w (xcvd)", 20, 65);
- g2d.setFont(info);
- g2d.drawString("Ground: " + ground + " (" + groundHour + "/h).", 20, 85);
- g2d.drawString("Profit: " + profit + " gp (" + profitHour + " gp/h).", 20,
- 100);
- g2d.drawString(
- "Runtime: "
- + Time.format((System.currentTimeMillis() - startTime))
- + ".", 20, 115);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement