So I tried following the Tea Thiever tutorial and make my own simple Kebab Buyer to learn a little, and this is what I have so far. I compiled and tried it and nothing happens. The logger shows some error I could post if need be, but I closed out of it. The bot does absolutely nothing.
FYI, I am completely new to scripting/programming so I may have made some completely newby mistakes and didn't realize at all.
Here's the code:
*/
import org.osbot.rs07.api.Walking;
import org.osbot.rs07.api.map.Position;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import java.awt.*;
@ScriptManifest(name = "Kebab Buyer", author = "Faris", version = 1.0, info = "first script", logo = "")
public class KebabBuyer extends Script {
@Override
public void onStart() {
log("Let's buy some Kebabs!");
//Code here will execute before the loop is started
}
private enum State {
BUY, BANK, WAIT
};
private State getState() {
if (inventory.contains("Coins"))
return State.BUY;
else stop();
if (inventory.isFull())
return State.BANK;
return State.WAIT;
}
@Override
public int onLoop() throws InterruptedException {
switch (getState()) {
case BUY:
getWalking().walk(new Position(3274, 3180, 0));
npcs.closest("Karim").interact("Talk-to");
if (dialogues.isPendingContinuation()) {
dialogues.clickContinue();
}
else if (dialogues.isPendingOption()) {
dialogues.selectOption("Yes please.");
}
case BANK:
getWalking().walk(new Position(3270, 3168, 0));
if (!getBank().isOpen()){
getBank().open();
} else { bank.depositAll("Kebab");
getBank().close();}
case WAIT:
return random(100,400); //The amount of time in milliseconds before the loop starts over
}
//@Override
//public void onExit() {
log("Thanks for using my script!");
//Code here will execute after the script ends
//@Override
//public void onPaint(Graphics2D g) {
//This is where you will put your code for paint(s)
return random(200,300);
}
}