Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.*;
- import xobot.client.callback.listeners.MessageListener;
- import xobot.client.callback.listeners.PaintListener;
- import xobot.script.ActiveScript;
- import xobot.script.Manifest;
- import xobot.script.methods.*;
- import xobot.script.methods.input.KeyBoard;
- import xobot.script.methods.tabs.Inventory;
- import xobot.script.util.Time;
- import xobot.script.util.Timer;
- import xobot.script.wrappers.Area;
- import xobot.script.wrappers.Tile;
- import xobot.script.wrappers.WidgetChild;
- import xobot.script.wrappers.interactive.GameObject;
- import xobot.script.wrappers.interactive.NPC;
- @Manifest(authors = { "Cyan" }, name = "CyanEssence")
- public class CyanEssence extends ActiveScript implements PaintListener, MessageListener{
- private Timer t;
- private int essence;
- private Area essenceMine = new Area(new Tile(2884, 4859), new Tile(2935,4806));
- private String status;
- public boolean onStart() {
- t = new Timer(System.currentTimeMillis());
- essence = 0;
- return true;
- }
- @Override
- public int loop() {
- GameObject bankBooth = GameObjects.getNearest(6943);
- if(Inventory.isFull()) {
- if(bankBooth != null) {
- if (Bank.isOpen()) {
- System.out.println("Depositing...");
- status = "Depositing...";
- Bank.depositAll();
- essence += 28;
- return 1000;
- } else {
- System.out.println("Banking...");
- status = "Banking...";
- bankBooth.interact("bank");
- return 2000;
- }
- } else {
- System.out.println("Telporting home...");
- status = "Teleporting home...";
- Packets.sendAction(-1,11075586,41,0,"","Continue"); //incase of levelup (stops the home tele)
- teleHome();
- return 2000;
- }
- } else {
- if(isAtEssMine()) {
- if (!Players.getMyPlayer().isMoving() && Players.getMyPlayer().getAnimation() == -1) {
- System.out.println("Mining...");
- status = "Mining...";
- GameObject essenceRock = GameObjects.getNearest(7471);
- essenceRock.interact("mine");
- }
- } else {
- System.out.println("Teleporting to essence mine...");
- status = "Teleporting to esence mine...";
- teleport("essence mine");
- return 2000;
- }
- return 100;
- }
- }
- private boolean isAtEssMine(){
- Tile[] tiles = essenceMine.getTileArray();
- for(Tile t : tiles) {
- if(t.getX() == Players.getMyPlayer().getLocation().getX() && t.getY() == Players.getMyPlayer().getLocation().getY()){
- return true;
- }
- }
- return false;
- }
- private static void teleport(String location) {
- final NPC wizard = NPCs.getNearest(4397);
- if(wizard != null) {
- final WidgetChild prev = Widgets.getWidgetChild(42860954);
- if(prev != null && prev.getText().toLowerCase().startsWith(location.toLowerCase())) {
- wizard.interact("prev");
- return;
- }else {
- if(Widgets.isVisible(654)) {
- WidgetChild[] options = Widgets.get(654).getChildren();
- for(WidgetChild option : options) {
- final String text = option.getText();
- if(text != null && !text.isEmpty() && text.toLowerCase().trim().startsWith(location.toLowerCase())) {
- Packets.sendAction(0, option.getId(), 8, 0, "", "Ok");
- Time.sleep(150);
- Packets.sendAction(0, 42860643, 28, 0, "", "Close");
- }
- }
- }else {
- wizard.interact("talk-to");
- Time.sleep(() -> Widgets.isVisible(654), 750);
- Time.sleep(150);
- teleport(location);
- }
- }
- }
- }
- private final Color color1 = new Color(0, 255, 255);
- private final Font font1 = new Font("Arial", 0, 17);
- private final Font font2 = new Font("Arial", 2, 17);
- @Override
- public void repaint(Graphics render) {
- int ph = (int) ((essence) * 3600000D / (t.getElapsed()));
- Graphics2D g = (Graphics2D)render;
- g.setFont(font1);
- g.setColor(color1);
- g.drawString("Time: " + t.toElapsedString(), 16, 272);
- g.drawString("Essence: " + essence, 16, 297);
- g.drawString("Essence(h) " + ph, 135, 298);
- g.setFont(font2);
- g.drawString("Status: " + status, 50, 320);
- }
- @Override
- public void MessageRecieved(int i, String s, String s1, String s2) {
- }
- public void teleHome() {
- KeyBoard.typeWord("::home",true);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement