public boolean scrollToItem(Item i) { Interface bankInterface = botEnv.interfaces.getInterface(Bank.BANK_INTERFACE_ID); IComponent itemContainer = bankInterface.getComponent(Bank.BANK_ITEM_PANE_ID); if (!i.container.isElementVisible()) { bankInterface.getComponent(62).doClick(); sleep(500, 1000); } /*if (bankInterface.getComponent(61).getTextureID() != 1419 && (itemContainer.getBounds().getLocation().equals(i.getBounds().getLocation()) || i.container.getRelativeX() == 0 && i.container.getRelativeY() == 0)) { bankInterface.getComponent(62).doClick(); sleep(500, 1000); } */ if (itemContainer.getBounds().contains(i.getCenter())) { return true; } IComponent arrow; if (i.getCenter().getY() < itemContainer.getAbsoluteY()) { arrow = bankInterface.getComponent(114).getChildren()[4]; } else { arrow = bankInterface.getComponent(114).getChildren()[5]; } Point p = botEnv.mouse.getMousePos(); if (!arrow.getBounds().contains(p)) { botEnv.mouse.moveMouse(arrow.getBounds()); } EventFactory eventFactory = new EventFactory(botEnv); p = botEnv.mouse.getMousePos(); MouseEvent mouseEvent = eventFactory.createMousePress(p.x, p.y, true); botEnv.dispatchEvent(mouseEvent); KTimer timeout = new KTimer(random(5000, 6000)); while (!itemContainer.getBounds().contains(i.getCenter()) && !timeout.isDone()) { sleep(200, 500); } mouseEvent = eventFactory.createMouseRelease(p.x, p.y, true); botEnv.dispatchEvent(mouseEvent); mouseEvent = eventFactory.createMouseClicked(p.x, p.y, true); botEnv.dispatchEvent(mouseEvent); return itemContainer.getBounds().contains(i.getCenter()); }
/** * Gets an item array of all the bank items. * * @return Array of bank items. */ public Item[] getItems() { Interfaces interfaces = botEnv.interfaces; Interface inventoryInterface = interfaces.getInterface(BANK_INTERFACE_ID); if (inventoryInterface == null) { return new Item[0]; } IComponent inventoryPane = inventoryInterface.getComponent(BANK_ITEM_PANE_ID); IComponent[] children = inventoryPane.getChildren(); if (children == null || children.length == 0) { return new Item[0]; } List<Item> items = new ArrayList<Item>(); for (IComponent aChildren : children) { if (aChildren == null) { continue; } Item item = new Item(botEnv, aChildren); if (item.getID() == -1) { continue; } items.add(item); } return items.toArray(new Item[items.size()]); }