I'm trying to put together my first basic script, however, I'm having an issue when setting a conditional sleep. The wait condition will randomly end (earlier than the timeout condition), this will happen 5+ times until all the bars are used up.
I want the script to sleep until there are no chocolate bars left in the inventory. I've also used !myPlayer().isAnimating() with the same random stops happening.
if(inventory.contains("Knife") && inventory.contains("Chocolate bar")){
if (bank.isOpen()){ getKeyboard().typeKey((char) 27);}
log("Using knife with chocolate");
inventory.getItem("Knife").interact("Use");
inventory.getItem("Chocolate bar").interact("Use");
log("Sleeping until no bars remain");
Timing.waitCondition(() -> !inventory.contains("Chocolate bar"), 16000);
}
I'm using the wait condition from The Viking:
public static boolean waitCondition(BooleanSupplier condition, int timeout)
{
return waitCondition(condition, 20, timeout);
}
If anyone can point me in the right direction it would be helpful.