Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.text.NumberFormat;
- import java.util.Locale;
- import java.awt.Color;
- import java.awt.Graphics;
- import xobot.script.wrappers.Widget;
- import xobot.script.wrappers.WidgetChild;
- import xobot.script.wrappers.interactive.GameObject;
- import xobot.script.wrappers.interactive.Item;
- import xobot.script.wrappers.interactive.NPC;
- import xobot.script.methods.GameObjects;
- import xobot.script.methods.NPCs;
- import xobot.script.methods.Bank;
- import xobot.script.methods.tabs.Inventory;
- import xobot.script.methods.tabs.Skills;
- import xobot.script.util.Time;
- import xobot.script.methods.Players;
- import xobot.script.methods.Packets;
- import xobot.script.methods.Widgets;
- import xobot.script.util.Timer;
- import xobot.script.Manifest;
- import xobot.client.callback.listeners.PaintListener;
- import xobot.script.ActiveScript;
- @Manifest(authors = { "Simmy" }, name = "Astral Rune Crafter", description = "Will Make Astral Runes @ Home")
- public class AstralRuneCrafter extends ActiveScript implements PaintListener
- {
- private Timer timer;
- private int Item = 1436;
- private int RCExp = 0;
- public static int Rune_Crafted = 0;
- String status = "Loading Data..";
- public boolean onStart() {
- this.timer = new Timer();
- this.RCExp = Skills.RUNECRAFTING.getCurrentExp();
- return true;
- }
- //Add Variables Under Here
- NPC Banker = NPCs.getNearest(494);
- GameObject Altar = GameObjects.getNearest(17010);
- Item Essence = Inventory.getItem(1436);
- public int loop() {
- //FailSafe, If Not At Home;
- if (Altar == null & Banker == null) {
- status = "We Are Going Home!";
- teleport("Edgeville");
- Time.sleep(() -> Banker != null, 5000);
- }
- //Banking Stage;
- if (Essence == null & Banker != null & Widgets.getOpenInterface() == -1) {
- status = "Opening Banker!";
- Banker.interact("Bank");
- Time.sleep(() -> Widgets.getOpenInterface() == 5292, 3000);
- }
- //Withdrawing Stage;
- if (Essence == null & Widgets.getOpenInterface() == 5292) {
- status = "Withdrawing Essence!";
- Time.sleep(850);
- Bank.withdraw(Item, 28);
- Time.sleep(() -> Inventory.isFull(), 600);
- }
- //Trying To Craft Rune;
- if (Inventory.Contains(Item) & Altar != null & Players.getMyPlayer().getAnimation() == -1) {
- status = "Attempting To Craft Runes!";
- Altar.interact("Craft-rune");
- Time.sleep(() -> Players.getMyPlayer().getAnimation() == 791, 2000);
- }
- //Pointless Wait Really;
- if (Players.getMyPlayer().getAnimation() == 791) {
- status = "Currently Runecrafting!";
- Rune_Crafted += 27;
- Time.sleep(() -> Essence == null, 500);
- }
- return 0;
- }
- //Paint Stage;
- public void repaint(final Graphics g) {
- final int RCXP = Skills.RUNECRAFTING.getCurrentExp() - this.RCExp;
- final int RCXPs = (int) (RCXP * 3600000.0D / this.timer.getElapsed());
- g.setColor(Color.white);
- g.drawString("Runtime: " + this.timer.toElapsedString(), 330, 310);
- g.drawString("Status: " + status, 330, 325);
- g.drawString("Astrals Crafted: " + Rune_Crafted, 330, 357);
- g.drawString("RC Exp Gained: " + NumberFormat.getNumberInstance(Locale.US).format(RCXP), 330, 372);
- g.drawString("RC Exp(hr): " + NumberFormat.getNumberInstance(Locale.US).format(RCXPs), 330, 387);
- g.drawString("Astral Crafter by Simmy", 330, 402);
- }
- //Teleporting Stage;
- public boolean teleport(final String destination) {
- final Widget container = Widgets.get(25411);
- if (container != null) {
- final WidgetChild[] children = container.getChildren();
- WidgetChild[] array;
- for (int length = (array = children).length, i = 0; i < length; ++i) {
- final WidgetChild child = array[i];
- final WidgetChild[] grandChildren = child.getChildren();
- WidgetChild[] array2;
- for (int length2 = (array2 = grandChildren).length, j = 0; j < length2; ++j) {
- final WidgetChild grandChild = array2[j];
- final String text = grandChild.getText();
- if (text != null && !text.isEmpty() && text.trim().toLowerCase().equals(destination.toLowerCase())) {
- Packets.sendAction(315, 0, 0, grandChild.getParentId() - 1);
- Time.sleep(500);
- return true;
- }
- }
- }
- }
- return false;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement