Hi all,
I'm running into an issue where a bank withdraw loop I have (it's looped to make sure we withdraw the right amount of items as sometimes the client misclicks, see code below) seems to be spawning extra threads. Any time the loop has to go through 2 or more passes (which is rare), the client starts trying to do multiple actions at once and I can tell from the log that it's running through the loop with multiple instances. No idea why it's spawning this extra process/thread (not sure what exactly it's doing), but here's the code in question from my withdrawIngredients function:
if(!Banks.EDGEVILLE.contains(myPosition())) {
goToBank();
}
while(!bank.isOpen()) {
bank.open();
new ConditionalSleep(7000, random(50, 450)) {
@Override
public boolean condition() throws InterruptedException {
return bank.isOpen();
}
}.sleep();
}
while(inventory.getAmount("Super strength(4)") != min(amountSuperStr, 7) ||
inventory.getAmount("Super attack(4)") != min(amountSuperAtk, 7) ||
inventory.getAmount("Super defense(4)") != min(amountSuperDef, 7) ||
inventory.getAmount("Torstol") != min(amountTorstol, 7)) {
if(!inventory.isEmpty()) bank.depositAll();
bank.withdraw("Super strength(4)", 7);
bank.withdraw("Super attack(4)", 7);
bank.withdraw("Super defense(4)", 7);
bank.withdraw("Torstol", 7);
sleep(random(150,300));
}
bank.close();
The amountX parameters are how many are left in the bank, we either want the amount remaining or 7.
Thanks for reading!