private void bank() throws InterruptedException { if (!Constants.EDGEVILLE_LOCATION.isInZone(getLocation())) { if (theTabs.Equipment.isWearing(Constants.AMULET_OF_GLORY)) { if (!theTabs.Equipment.isSelected()) { theTabs.Equipment.key(); } EquipmentReflectionItemSlot gloryAmulet = null; for (EquipmentReflectionItemSlot slot : theTabs.Equipment.SLOTS2) { if (slot != null && Constants.AMULET_OF_GLORY.valid(slot.getItem())) { gloryAmulet = slot; break; } } if (gloryAmulet != null) { status = "Teleporting to Edgeville"; gloryAmulet.mouseClickRightOn(); theMenuFinder.doMenuContains("Edgeville"); for (Timer t = new Timer(10000); t.isNotUp() && Utilities.isPlayerInsidePOH(); sleep(200, 300)) ; // sleep(750, 800); /* * if * (!theTabs.Equipment.isWearing(Constants.AMULET_OF_GLORY) * && theTabs.Equipment.isWearing(" of glory")) { for * (EquipmentReflectionItemSlot slot : * theTabs.Equipment.SLOTS2) { if (slot != null && * Constants.AMULET_OF_GLORY_NO_CHARGES * .valid(slot.getItem())) { gloryAmulet = slot; break; } } * if (gloryAmulet != null) { * gloryAmulet.mouseClickLeftOn(); } } */ } } else { PhysicalObject portal = Utilities.findPhysicalObject(Constants.PORTAL_IDS); if (portal != null) { RulerScriptUtils.clickWorldObject(this, null, portal, null, null, null, null); for (Timer t = new Timer(4000); !Utilities.isPlayerInsidePOH() && t.isNotUp(); sleep(200, 300)) ; } } } status = "Opening bank interface"; BankInterface.open(); int emptySlots = theTabs.Inventory.countEmptySlots(); if (emptySlots < 24) { status = "Depositng junk items"; HashMap<Integer, String> depositedItems = new HashMap<Integer, String>(); for (InventoryReflectionItemSlot item : theTabs.Inventory.SLOTS) { if (item != null && item.isItemInSlot()) { String itemName = null; if ((itemName = item.getItemName()) != null && !Constants.CRUCIAL_ITEMS.validItem(itemName) && !depositedItems.containsKey(item.getId())) { depositedItems.put(item.getId(), itemName); BankInterface.depositBankObject(null, itemName, -1); } } } } if (theTabs.Equipment.isUsingWeapon(Constants.AIR_SUPPORTED_STAFF) && theTabs.Inventory.countStackOf("Earth rune") <= 0) { BankInterface.withdrawBankObject(null, "Earth rune", -1); } else if (theTabs.Equipment.isUsingWeapon(Constants.EARTH_SUPPORTED_STAFF) && theTabs.Inventory.countStackOf("Air rune") <= 0) { BankInterface.withdrawBankObject(null, "Air rune", -1); } if (theTabs.Inventory.countStackOf("Law rune") <= 0) { BankInterface.withdrawBankObject(null, "Law rune", -1); } if (!theTabs.Equipment.isWearing(Constants.AMULET_OF_GLORY)) { if (emptySlots == 0) { BankInterface.depositBankObject(Constants.OAK_PLANK, "Oak plank", 1); } status = "Withdrawing charged glory amulet"; BankInterface.withdrawBankObject(Constants.AMULET_OF_GLORY, "Amulet of glory (", 1); for (Timer t = new Timer(4000); t.isNotUp() && theTabs.Inventory.count(Constants.AMULET_OF_GLORY) <= 0; sleep(200, 300)) ; if (theTabs.Inventory.count(Constants.AMULET_OF_GLORY) > 0) { status = "Equipping glory amulet"; theTabs.Inventory.doAction(Constants.AMULET_OF_GLORY, "Wear", 1, false); for (Timer t = new Timer(5000); t.isNotUp() && theTabs.Inventory.count(Constants.AMULET_OF_GLORY_NO_CHARGES) <= 0; sleep(200, 300)) ; if (theTabs.Inventory.count(Constants.AMULET_OF_GLORY_NO_CHARGES) > 0) { BankInterface.depositBankObject(Constants.AMULET_OF_GLORY_NO_CHARGES, null, -1); } } } if (theTabs.Inventory.count(hammerCondition) <= 0) { status = "Withdrawing new hammer"; BankInterface.withdrawBankObject(hammerCondition, "ammer", 1); } status = "Withdrawing oak planks"; BankInterface.withdrawBankObject(Constants.OAK_PLANK, "Oak plank", -1); status = "Exiting bank interface"; BankInterface.exitBank(); botState = ConstructionState.BUILD; }
private void construct() throws InterruptedException { while (theMiniMap.isBlack(this)) { sleep(200, 300); } if (!Utilities.isPlayerInsidePOH()) { if (!theTabs.Magic.isSelected()) { theTabs.Magic.key(); } status = "Using Home teleport"; Utilities.clickInterface(this.getInterfaceAtIndex(192, 48), true, null); status = "Waiting for POH to load"; sleep(2000, 2500); for (Timer myTimer = new Timer(20000); ((!Utilities.isPlayerInsidePOH() || theMiniMap.isBlack(this))) && myTimer.isNotUp(); sleep(250, 300)) { if (theMiniMap.isBlack(this)) { myTimer.reset(); } } sleep(400, 500); if (!Utilities.isPlayerInsidePOH()) { while (theMiniMap.isBlack(this)) { sleep(250, 300); } return; } } if (!Utilities.isConstructionModeSet()) { OptionsInterface.setConstructionMode(true); } larder = Utilities.findPhysicalObject(Constants.EMPTY_LARDER, Constants.REAL_LARDER); if (larder != null) { s: switch (larder.getID()) { case Constants.EMPTY_LARDER: WorldObjectClickingScriptJobV2 sj = null; for (sj = RulerScriptUtils.startScriptJobClick( this, null, larder, null, Constants.EMPTY_LARDER_TOPTEXT, Constants.EMPTY_LARDER_ACTION, EnumSet.of( RulerClickOptions.WALK_USING_ANY, RulerClickOptions.GOAL_MENU_CLICK, RulerClickOptions.PEND_FOR_MOVEMENT_TO_STOP)); !sj.isDone() && !isInterfaceNotNullAndValid(394, 0); sleep(200, 300)) { if (theNPCChatFinder.isNPCChatUp() && theNPCChatFinder.getNPCChat().contains("yes")) { break s; } } if (sj != null && !sj.isDone()) { sj.safeKill(); } status = "Waiting for interface to be up"; for (Timer t = new Timer(3000); t.isNotUp() && !this.isInterfaceNotNullAndValid(394, 0); sleep(200, 300)) { if (theNPCChatFinder.isNPCChatUp() && theNPCChatFinder.getNPCChat().contains("yes")) { break s; } } if (isInterfaceNotNullAndValid(394, 0)) { Utilities.clickInterfaceDoubleBounds(getInterfaceAtIndex(394, 30), true, null); lardersMade++; status = "Sleeping to finish larders"; for (Timer t = new Timer(random(2500)); t.isNotUp() && Utilities.findPhysicalObject(Constants.REAL_LARDER) == null; sleep(200, 300)) { currentXp = theTabs.Statistics.getStatExperience(Skill.CONSTRUCTION); if (theNPCChatFinder.isNPCChatUp() && theNPCChatFinder.getNPCChat().contains("yes")) { break s; } } sleep(100, 200); } break; default: if (RulerScriptUtils.clickWorldObject( this, null, larder, null, Constants.LARDER_TOPTEXT, Constants.LARDER_MENU_ACTION, EnumSet.of( RulerClickOptions.WALK_USING_ANY, RulerClickOptions.GOAL_MENU_CLICK, RulerClickOptions.PEND_FOR_MOVEMENT_TO_STOP)) .possiblySuccessful()) { status = "Waiting for NPC chat"; for (Timer npcChatTimer = new Timer(5000); !theNPCChatFinder.isNPCChatUp() && npcChatTimer.isNotUp(); sleep(200, 300)) ; if (theNPCChatFinder.isNPCChatUp()) { NPCChat myCurrentNPCChat = theNPCChatFinder.getNPCChat(); if (myCurrentNPCChat != null) { status = "Clicking NPC Chat"; if (myCurrentNPCChat.selectContains("yes")) { waitTillNPCChatChangesFrom(myCurrentNPCChat); } } } } } } botState = getState(); }