Jump to content

Simple Kebab Buyer HELP!


Recommended Posts

Posted

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);
    }


}
Posted (edited)

   @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);
    }


}

There is yar problem, you have your paint and on exit in the loop :b

Fixed version:

   @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.");
                }
            break;
            case BANK:
                getWalking().walk(new Position(3270, 3168, 0));
                if (!getBank().isOpen()){
                    getBank().open();
                }   else { 
                    bank.depositAll("Kebab");
                    getBank().close();
                }
            break;
            case WAIT:
                return random(100,400); //The amount of time in milliseconds before the loop starts over
            break;
        }
        return random(200,300);
    }

    //@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)

      //}

} 

And do what woody said :b

Edited by Vilius
Posted (edited)

Also, when using an IDE, it will tell you where the errors are. If you are going to be careless when writing scripts, don't bother learning how to write scripts. Everything has to be exact, otherwise you will get these kind of errors.


   @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);
    }


}

There is yar problem, you have your paint and on exit in the loop :b

Fixed version:

   @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
        }
        return random(200,300);
    }

    //@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)

      //}

}

Your editing will still give him errors. I bet that you can't find the problem in your editing! wink.png

Edited by Woody
Posted

Also, when using and IDE it will tell you where the errors are. If you are going to be careless when writing scripts, don't bother at all to write any scripts. Everything has to be exact, otherwise you will get these kind of errors.

Your editing will still give him errors. I bet that you can't find the problem in your editing! wink.png

I did find it actually, wanted to edit my post and saw that you have posted it. No need to flame me like always feels.png

Posted

Also, when using an IDE, it will tell you where the errors are. If you are going to be careless when writing scripts, don't bother learning how to write scripts. Everything has to be exact, otherwise you will get these kind of errors.

Your editing will still give him errors. I bet that you can't find the problem in your editing! wink.png

 

I've never written code, let alone scripts, but I will for sure pay attention and be careful. Just trying to run my first one and then I'll study and see what does what. I learn best through trial and error. Thanks for the help everyone! I'll run it and see what happens, will post errors here.

Posted

I've never written code, let alone scripts, but I will for sure pay attention and be careful. Just trying to run my first one and then I'll study and see what does what. I learn best through trial and error. Thanks for the help everyone! I'll run it and see what happens, will post errors here.

Don't forget to learn the theoretical part before going forward to trial and error!

  • Like 1
Posted (edited)

For the second part where you want me to remove the */, it makes my whole bunch of code green. Doesn't seem right.

 

You have to remove the comments start too! /* and */ plus what is in between them for it to not make it green.

And it seems like you didn't post the full code if you have /* that loose somewhere in your code.

Edited by Vilius
  • Like 1
Posted (edited)

I've never written code, let alone scripts, but I will for sure pay attention and be careful. Just trying to run my first one and then I'll study and see what does what. I learn best through trial and error. Thanks for the help everyone! I'll run it and see what happens, will post errors here.

 

I recommend you learn Java first, at least the basics. Follow some tutorials, write some programs, then come back to scripting.

 

Things like syntax errors should be something that you can solve by yourself

 

There are too many posts in the scripting help section where the OP has a problem that would be solved if he/she just spent some time learning Java.

Edited by Explv
  • Like 1
Posted

I recommend you learn Java first, at least the basics. Follow some tutorials, write some programs, then come back to scripting.

 

Things like syntax errors should be something that you can solve by yourself

 

There are too many posts in the scripting help section where the OP has a problem that would be solved if he/she just spent some time learning Java.

 

Will do. My roommate is in grad school for Computer Science so I was just having him do this with me, and I wanted to give it a shot myself. I'll def learn some Java to make this easier on me.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...