Jump to content
Frequently Asked Questions
  • Are you not able to open the client? Try following our getting started guide
  • Still not working? Try downloading and running JarFix
  • Help! My bot doesn't do anything! Enable fresh start in client settings and restart the client
  • How to purchase with PayPal/OSRS/Crypto gold? You can purchase vouchers from other users
  • Try asking for help in the chatbox

    Recommended Posts

    Lets see i've plotted the attack range of a monster its huge, it cannot be covered within the player viewing range. How do i go about finding the npc?

    I have an Area (Rectangle), the monster could be anywhere within that area? Do i search each corner? looking for some bright creative ideas please!

    Link to post
    Share on other sites
    On 6/1/2021 at 7:52 AM, Pseudo said:

    Even if the NPC isn't visible in the scene you ought to be able to determine its location if it's loaded in the region.

    its roaming area is big bro 

    Link to post
    Share on other sites

    unless im missing something here, take callisto for example when im hunting it it keeps running a lot of places lol, it does have a fixed range but its roaming area is huge 

    Link to post
    Share on other sites

    Without constantly keeping track of where you are, and keeping code small,  I'd like to propose the following idea(NOT TESTED, just to give the idea):

    Area bigArea = null;//whatever your search area is
    Tile searchDestination = getLocalPlayer().getTile();
    
    while(NPCs.all("your npc name").size()<1) { //while you haven't found the NPC yet
        if (searchDestination.distance() < 5) {// if we're close to the search destination, we need to choose another tile to search
            int tournamentSelect = 15;//how many random tiles we're going to check to get a far away point, cover a lot of distance
            for (int i = 0; i < tournamentSelect; i++) {//we just check tournamentSelect number of random tiles, save the one furthest from us
                Tile randomTile = bigArea.getRandomTile();
                if (randomTile.distance() > searchDestination.distance()) {
                    searchDestination = randomTile;
                }
            }
        } else {
            Walking.walk(searchDestination);
        }
    }
    //after this loop is done, you found it!!!!

     

    The idea is to just walk a long straight line path and hope you run into the NPC along the way. if you don't choose another tile far away from you, and navigate to that brand new search destination. and repeat until found. You can change how far away the search destination is on average by adjusting tournamentSelect. Lower will be more random, but could just end up checking a point close to you. Higher will be less random(more detectable?), but you a point pretty far away from you for more efficient search.

     

    Without keeping track of where you've been and crazy stuff i'm not sure how much better you can get. I'd love to see other solutions!

    Edited by likeablePanda
    Link to post
    Share on other sites

    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
    ×
    ×
    • Create New...

    Important Information

    We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.