Hello again! I wrote a pretty simple task for the bot to equip his gear. And noticed it's very inconsistent - keeps missclicking and when whe finally manages to equip the gear if he missclicks on the last items he just sleeps.
if (Inventory.contains(SPIKED_MANACLES, COMBAT_BRACELET, AMULET_OF_GLORY, IRON_SCIMMY, IRON_SET_LG, WARRIOR_RING) && !GrandExchange.isOpen() || Inventory.contains(IRON_SHIELD, IRON_HELM, IRON_BODY, IRON_LEGS) && !GrandExchange.isOpen()) {
log("Equiping starter pack");
if (Inventory.contains(IRON_SET_LG)) {
sleep(650, 1500);
geClerk.interact("Sets");
sleepUntil(() -> Widgets.isOpen(), 2000);
sleep(550, 1000);
Inventory.get(IRON_SET_LG).interact();
sleepUntil(() -> Inventory.contains(IRON_SHIELD), 1000, 2000);
Widgets.closeAll();
sleepUntil(() -> !Widgets.isOpen(), 2000);
}
if (!Equipment.contains(IRON_HELM)) {
Inventory.get("Iron full helm").interact("Wear");
sleepUntil(() -> Equipment.contains(IRON_HELM), 150, 500);
}
if (!Equipment.contains(IRON_SCIMMY)) {
Inventory.get(IRON_SCIMMY).interact();
sleepUntil(() -> Equipment.contains(IRON_SCIMMY), 150, 500);
}
if (!Equipment.contains(COMBAT_BRACELET)) {
Inventory.get(COMBAT_BRACELET).interact("Wear");
sleepUntil(() -> Equipment.contains(COMBAT_BRACELET), 150, 500);
}
if (!Equipment.contains(WARRIOR_RING)) {
Inventory.get(WARRIOR_RING).interact("Wear");
sleepUntil(() -> Equipment.contains(WARRIOR_RING), 150, 350);
}
if (!Equipment.contains(AMULET_OF_GLORY)) {
Inventory.get(AMULET_OF_GLORY).interact("Wear");
sleepUntil(() -> Equipment.contains(AMULET_OF_GLORY), 550, 1050);
}
if (!Equipment.contains(SPIKED_MANACLES)) {
Inventory.get(SPIKED_MANACLES).interact("Wear");
sleepUntil(() -> Equipment.contains(SPIKED_MANACLES), 150, 350);
}
if (!Equipment.contains(IRON_BODY)) {
Inventory.get(IRON_BODY).interact("Wear");
sleepUntil(() -> Equipment.contains(IRON_BODY), 150, 350);
}
if (!Equipment.contains(IRON_LEGS)) {
Inventory.get(IRON_LEGS).interact("Wear");
sleepUntil(() -> Equipment.contains(IRON_LEGS), 150, 350);
}
if (!Equipment.contains(IRON_SHIELD)) {
Inventory.get(IRON_SHIELD).interact();
sleepUntil(() -> Equipment.contains(IRON_SHIELD), 150, 350);
}
}
return 300;
}
}