Jump to content

How come my bot won't run (at all) when I start it in OSBot


Recommended Posts

Posted

I see no reason for the bot not to turn on at all, could someone hopefully tell me what I'm doing wrong?

package SnootsAnchovyFisher;

import org.osbot.rs07.api.map.Area;
import org.osbot.rs07.api.model.NPC;
import org.osbot.rs07.api.model.Player;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.ConditionalSleep;

@ScriptManifest(version = 0.1, logo = "", info = "Simple Anchovy fisher & cooker", name = "Snoots' Anchovy Fisher", author = "Snoots")

public class Main extends Script {

    // @NAME: Areas
    // @DESCRIPTION: All the areas we will be using
    private Area fishingArea = new Area(3266, 3149, 3278, 3139);
    private Area bankArea = new Area(3271, 3161, 3269, 3173);

    //This boolean determines if the player has chosen the fishing option or not
    static boolean isFishing = true;

    public Player bot = myPlayer();

    // @NAME: Fishing Function
    // @DESCRIPTION: This method stores the code for the fishing bot
    public void fishingFunction() throws InterruptedException {
        NPC anchovyFish = getNpcs().closest("Fishing spot");

        //If bot is at the fishing area & not interacting with the anchovies, then interact with them
        if(fishingArea.contains(bot)) {
            if(anchovyFish != null) {
                if(!bot.isInteracting(anchovyFish)) {
                    if(anchovyFish.interact("Small Net")) {
                        sleep(random(5000, 1000));
                        new ConditionalSleep(25000) {
                            @Override
                            public boolean condition() {
                                return !bot.isInteracting(anchovyFish) || !anchovyFish.exists();
                            }
                        }.sleep();
                    //If a dialogue opens up, click continue
                    } if(dialogues.inDialogue()) {
                        dialogues.clickContinue();
                    }
                }
            }
        //If bot is not at the fishing area, then walk to the fishing area
        } else if(!fishingArea.contains(bot)) {
            walking.webWalk(fishingArea);
        }
    }

    // @NAME: onStart function
    // @DESCRIPTION: Script gets executed once everytime the bot starts
    @Override
    public void onStart() {
        log("'Snoots' Anchovy fishing & cooking' has been started.");
    }

    // @NAME: onLoop function
    // @DESCRIPTION: Script loops whatever is inside this method
    @Override
    public int onLoop() throws InterruptedException {
        if(!getInventory().isFull() && isFishing == true) {
            fishingFunction();
        }

        return 1000;
    }

    // @NAME: onExit function
    // @DESCRIPTION: Script gets executed once everytime the bot stops
    @Override
    public void onExit() {
        log("'Snoots' Anchovy fishing & cooking' has stopped.");
    }
}

 

Posted (edited)

 

3 hours ago, snoots said:

I see no reason for the bot not to turn on at all, could someone hopefully tell me what I'm doing wrong?




package SnootsAnchovyFisher;

import org.osbot.rs07.api.map.Area;
import org.osbot.rs07.api.model.NPC;
import org.osbot.rs07.api.model.Player;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.ConditionalSleep;

@ScriptManifest(version = 0.1, logo = "", info = "Simple Anchovy fisher & cooker", name = "Snoots' Anchovy Fisher", author = "Snoots")

public class Main extends Script {

    // @NAME: Areas
    // @DESCRIPTION: All the areas we will be using
    private Area fishingArea = new Area(3266, 3149, 3278, 3139);
    private Area bankArea = new Area(3271, 3161, 3269, 3173);

    //This boolean determines if the player has chosen the fishing option or not
    static boolean isFishing = true;

    public Player bot = myPlayer();

    // @NAME: Fishing Function
    // @DESCRIPTION: This method stores the code for the fishing bot
    public void fishingFunction() throws InterruptedException {
        NPC anchovyFish = getNpcs().closest("Fishing spot");

        //If bot is at the fishing area & not interacting with the anchovies, then interact with them
        if(fishingArea.contains(bot)) {
            if(anchovyFish != null) {
                if(!bot.isInteracting(anchovyFish)) {
                    if(anchovyFish.interact("Small Net")) {
                        sleep(random(5000, 1000));
                        new ConditionalSleep(25000) {
                            @Override
                            public boolean condition() {
                                return !bot.isInteracting(anchovyFish) || !anchovyFish.exists();
                            }
                        }.sleep();
                    //If a dialogue opens up, click continue
                    } if(dialogues.inDialogue()) {
                        dialogues.clickContinue();
                    }
                }
            }
        //If bot is not at the fishing area, then walk to the fishing area
        } else if(!fishingArea.contains(bot)) {
            walking.webWalk(fishingArea);
        }
    }

    // @NAME: onStart function
    // @DESCRIPTION: Script gets executed once everytime the bot starts
    @Override
    public void onStart() {
        log("'Snoots' Anchovy fishing & cooking' has been started.");
    }

    // @NAME: onLoop function
    // @DESCRIPTION: Script loops whatever is inside this method
    @Override
    public int onLoop() throws InterruptedException {
        if(!getInventory().isFull() && isFishing == true) {
            fishingFunction();
        }

        return 1000;
    }

    // @NAME: onExit function
    // @DESCRIPTION: Script gets executed once everytime the bot stops
    @Override
    public void onExit() {
        log("'Snoots' Anchovy fishing & cooking' has stopped.");
    }
}

 

You can't initiliaze a Player object like that, you have to do it in the onStart method.
 

package SnootsAnchovyFisher;

import org.osbot.rs07.api.map.Area;
import org.osbot.rs07.api.model.NPC;
import org.osbot.rs07.api.model.Player;
import org.osbot.rs07.script.Script;
import org.osbot.rs07.script.ScriptManifest;
import org.osbot.rs07.utility.ConditionalSleep;

@ScriptManifest(version = 0.1, logo = "", info = "Simple Anchovy fisher & cooker", name = "Snoots' Anchovy Fisher", author = "Snoots")

public class Main extends Script {

    // @NAME: Areas
    // @DESCRIPTION: All the areas we will be using
    private Area fishingArea = new Area(3266, 3149, 3278, 3139);
    private Area bankArea = new Area(3271, 3161, 3269, 3173);

    //This boolean determines if the player has chosen the fishing option or not
    static boolean isFishing = true;

    public Player bot;

    // @NAME: Fishing Function
    // @DESCRIPTION: This method stores the code for the fishing bot
    public void fishingFunction() throws InterruptedException {
        NPC anchovyFish = getNpcs().closest("Fishing spot");

        //If bot is at the fishing area & not interacting with the anchovies, then interact with them
        if(fishingArea.contains(bot)) {
            if(anchovyFish != null) {
                if(!bot.isInteracting(anchovyFish)) {
                    if(anchovyFish.interact("Small Net")) {
                        sleep(random(5000, 1000));
                        new ConditionalSleep(25000) {
                            @Override
                            public boolean condition() {
                                return !bot.isInteracting(anchovyFish) || !anchovyFish.exists();
                            }
                        }.sleep();
                    //If a dialogue opens up, click continue
                    } if(dialogues.inDialogue()) {
                        dialogues.clickContinue();
                    }
                }
            }
        //If bot is not at the fishing area, then walk to the fishing area
        } else if(!fishingArea.contains(bot)) {
            walking.webWalk(fishingArea);
        }
    }

    // @NAME: onStart function
    // @DESCRIPTION: Script gets executed once everytime the bot starts
    @Override
    public void onStart() {
        log("'Snoots' Anchovy fishing & cooking' has been started.");
		bot = myPlayer();
    }

    // @NAME: onLoop function
    // @DESCRIPTION: Script loops whatever is inside this method
    @Override
    public int onLoop() throws InterruptedException {
        if(!getInventory().isFull() && isFishing == true) {
            fishingFunction();
        }

        return 1000;
    }

    // @NAME: onExit function
    // @DESCRIPTION: Script gets executed once everytime the bot stops
    @Override
    public void onExit() {
        log("'Snoots' Anchovy fishing & cooking' has stopped.");
    }
}

 

Edited by Khaleesi

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...