Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import org.dreambot.api.methods.Calculations;
- import org.dreambot.api.methods.map.Area;
- import org.dreambot.api.methods.map.Tile;
- import org.dreambot.api.methods.skills.Skill;
- import org.dreambot.api.script.AbstractScript;
- import org.dreambot.api.script.Category;
- import org.dreambot.api.script.ScriptManifest;
- import org.dreambot.api.utilities.Timer;
- import org.dreambot.api.wrappers.interactive.GameObject;
- import org.dreambot.api.wrappers.widgets.WidgetChild;
- import java.awt.*;
- @ScriptManifest(author = "Bitcoin", category = Category.CRAFTING, name = "BitGoldAmulet", version = 1.0, description = "Crafts gold amulet")
- public class Main extends AbstractScript {
- private Timer timer = new Timer();
- private final Area BANK_AREA = new Area(3269, 3173, 3271, 3161);
- private final Area FURNANCE_AREA = new Area(3274, 3188, 3279, 3184);
- private Tile BANK_TILE = new Tile(3270, 3167, 0);
- private Tile FURNACE_TILE = new Tile(3276, 3186, 0);
- private String status = "";
- private boolean smelting;
- public enum State {
- NOTHING,WALK_TO_BANK, WALK_TO_FURNACE, BANK, SMELT,
- }
- private State getState() {
- if (getInventory().contains("Gold bar")) {
- if (FURNANCE_AREA.contains(getLocalPlayer())) {
- return State.SMELT;
- } else {
- smelting = false;
- return State.WALK_TO_FURNACE;
- }
- } else {
- if (BANK_AREA.contains(getLocalPlayer())) {
- smelting = false;
- return State.BANK;
- } else {
- smelting = false;
- return State.WALK_TO_BANK;
- }
- }
- }
- @Override
- public int onLoop() {
- if (!getWalking().isRunEnabled() && getWalking().getRunEnergy() > 50){
- getWalking().toggleRun();
- }
- if (getInventory().isItemSelected()){
- getInventory().deselect();
- }
- switch (getState()) {
- case NOTHING:
- break;
- case WALK_TO_BANK:
- status = "Walking to bank";
- getWalking().walk(BANK_TILE);
- sleepUntil(() -> getLocalPlayer().distance(BANK_TILE) < 5, 5000);
- break;
- case WALK_TO_FURNACE:
- status = "Walking to furnace";
- getWalking().walk(FURNACE_TILE);
- sleepUntil(() -> getLocalPlayer().distance(FURNACE_TILE) < 5, 5000);
- break;
- case BANK:
- status = "Banking";
- if (getBank().isOpen()){
- getBank().depositAllExcept("Amulet mould");
- sleepUntil(() -> getInventory().onlyContains("Amulet mould"), 5000);
- if (!getInventory().contains("Amulet mould")){
- getBank().withdraw("Amulet mould");
- sleepUntil(() -> getInventory().contains("Amulet mould"), 5000);
- }
- if (!getInventory().contains("Gold bar")){
- if (getBank().contains("Gold bar")){
- getBank().withdrawAll("Gold bar");
- sleepUntil(() -> getInventory().contains("Gold bar"), 5000);
- } else {
- getBank().close();
- sleepUntil(() -> !getBank().isOpen(), 5000);
- getTabs().logout();
- stop();
- }
- }
- } else {
- getBank().open();
- sleepUntil(() -> getBank().isOpen(), 5000);
- }
- break;
- case SMELT:
- status = "Crafting gold amulet";
- WidgetChild makeAll = getWidgets().getWidgetChild(446, 34);
- if (makeAll != null && makeAll.isVisible()){
- sleep(Calculations.random(900, 1200));
- makeAll.interact("Make-All");
- sleepUntil(() -> !getInventory().contains("Gold bar") || getDialogues().inDialogue(), 60000);
- } else {
- GameObject furnace = getGameObjects().closest("Furnace");
- sleep(Calculations.random(900, 1200));
- furnace.interact("Smelt");
- sleepUntil(() -> makeAll != null, 5000);
- }
- break;
- } return Calculations.random(500,900);
- }
- @Override
- public void onPaint(Graphics g) {
- g.setColor(Color.WHITE);
- g.drawString("Runtime: " + timer.formatTime(), 25, 40);
- g.drawString("State: " + status, 25, 60);
- g.drawString("Current Crafting Level: " + getSkills().getRealLevel(Skill.CRAFTING), 25, 80);
- g.drawString("EXP To Level: " + getSkills().getExperienceToLevel(Skill.CRAFTING), 25, 100);
- }
- @Override
- public void onExit() {
- }
- @Override
- public void onStart(String... params) {
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement