This is my first script i made. Everything works fine except when it starts using the items. It will keep spamming them. I've used if(!myplayer().isanimating()). But there seems to be a small gap in the animations so it will still be spamming the vials of water and herbs and it will eventually cancel the crafting.
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
@ScriptManifest(author = "MarWo", info = "simple bot for making unfinished potions", logo = "", name = "HerbloreBot", version = 0)
public class Bot extends Script {
private enum State {
BANK, MAKE
};
private State getState() {
if(inventory.contains(227) && inventory.contains(255))
return State.MAKE;
return State.BANK;
}
public void onStart(){
}
public void onExit() {
}
public int onLoop() throws InterruptedException {
switch (getState()) {
case BANK:
if(!getBank().isOpen()) {
getBank().open();
}
sleep(100);
bank.depositAll();
sleep(100);
bank.withdraw(227, 14);
sleep(100);
bank.withdraw(255, 14);
sleep(100);
bank.close();
break;
case MAKE:
if(!getWidgets().isVisible(270, 14)) {
if(!myPlayer().isAnimating()) {
inventory.interact("Use", 227);
sleep(250);
inventory.interact("Use", 255);
}
}
if (getWidgets().isVisible(270, 14)) {
getWidgets().interact(270, 14, "Make");
}
break;
}
return 500;
}
}