GoldenGates Posted May 20, 2013 Posted May 20, 2013 How exactly would I buy an item from a general store...I have to sell noted essence and buy back unnoted essense, but I have no idea how this would exactly work, there are no interfaces for each individual slot in the store, I can try searchForInterface or whatever it is, but I want some input first. What would be the most effective way?
danieljvdm Posted May 20, 2013 Posted May 20, 2013 private Rectangle getShopItemBounds(int itemId) { int slot = -1; for (int i = 0; i < client.getInterface(300).getChild(75).getInv().length; i++) { if (client.getInterface(300).getChild(75).getInv()[i] - 2 == itemId) { slot = i + 1; break; } } if (slot == -1) { return null; } slot = 6; int row = (int) Math.ceil((slot / 8.0) - 1); int column = slot > 8 ? slot - (row * 8) : slot; column--; int x = 80 + (column * 16) + (column * 31); int y = 69 + (row * 16) + (row * 31); return new Rectangle(x, y, 31, 31); } private void buyShopItem(Item item) throws InterruptedException { Rectangle itemBounds = getShopItemBounds(item.getId()); RectangleDestination destination = new RectangleDestination(itemBounds); for (int i = 1; i < 100; i++) { selectOption(null, destination, "Buy 10", false); sleep(100); } } Just modify that, I can't be bothered to 1
GoldenGates Posted May 20, 2013 Author Posted May 20, 2013 private Rectangle getShopItemBounds(int itemId) { int slot = -1; for (int i = 0; i < client.getInterface(300).getChild(75).getInv().length; i++) { if (client.getInterface(300).getChild(75).getInv()[i] - 2 == itemId) { slot = i + 1; break; } } if (slot == -1) { return null; } slot = 6; int row = (int) Math.ceil((slot / 8.0) - 1); int column = slot > 8 ? slot - (row * 8) : slot; column--; int x = 80 + (column * 16) + (column * 31); int y = 69 + (row * 16) + (row * 31); return new Rectangle(x, y, 31, 31); } private void buyShopItem(Item item) throws InterruptedException { Rectangle itemBounds = getShopItemBounds(item.getId()); RectangleDestination destination = new RectangleDestination(itemBounds); for (int i = 1; i < 100; i++) { selectOption(null, destination, "Buy 10", false); sleep(100); } } Just modify that, I can't be bothered to Wasn't expecting that, thanks bro.