Jump to content

getWalking().webwalk() problem


Recommended Posts

Posted (edited)

use webwalkevent smile.png

public static void webWalkEvent(final INodeRouteFinder routeFinder, final Position position, final int treshold, final MethodProvider script) 
    {
     
     WebWalkEvent event = new WebWalkEvent(routeFinder, position);
     event.setBreakCondition(new Condition()
     {
     @Override
     public boolean evaluate() 
     {      
     return script.getMap().distance(position) <= treshold;
     }
     });
 
     script.execute(event);
    }

then use it like this

webWalkEvent(Variables.routeFinder, new Position(2924+ctx.random(1), 3175+ctx.random(5), 0), 5, ctx);

make a routeFinder onStart() , only do this onstart! it will use up a lot of cpu otherwise

INodeRouteFinder routeFinder
public void onStart()
{
    routeFinder  = INodeRouteFinder.createAdvanced();
}

i put my routevinder in my class Variables so i can access it anywhere

public static INodeRouteFinder routeFinder;

ctx being my methodprovider

 

5 being the radius in which it breaks the webwalk so it will bank or do other things smoothly

 

so lets say you're at a fishing spot, and you're using this to walk to a bank, if you're in a radius of 5, it will break webwalking so it doesnt want to walk to that exact tile, and it will attempt to bank 

Edited by The Hero of Time
  • Like 1
Posted

use webwalkevent smile.png

public static void webWalkEvent(final INodeRouteFinder routeFinder, final Position position, final int treshold, final MethodProvider script) 
    {
     
     WebWalkEvent event = new WebWalkEvent(routeFinder, position);
     event.setBreakCondition(new Condition()
     {
     @Override
     public boolean evaluate() 
     {      
     return script.getMap().distance(position) <= treshold;
     }
     });
 
     script.execute(event);
    }

then use it like this

webWalkEvent(Variables.routeFinder, new Position(2924+ctx.random(1), 3175+ctx.random(5), 0), 5, ctx);

ctx being my methodprovider

 

5 being the radius in which it breaks the webwalk so it will bank or do other things smoothly

 

so lets say you're at a fishing spot, and you're using this to walk to a bank, if you're in a radius of 5, it will break webwalking so it doesnt want to walk to that exact tile, and it will attempt to bank 

As always thank you for the fast reply, I'll look into it later!

  • Like 1
Posted

use webwalkevent smile.png

public static void webWalkEvent(final INodeRouteFinder routeFinder, final Position position, final int treshold, final MethodProvider script) 
    {
     
     WebWalkEvent event = new WebWalkEvent(routeFinder, position);
     event.setBreakCondition(new Condition()
     {
     @Override
     public boolean evaluate() 
     {      
     return script.getMap().distance(position) <= treshold;
     }
     });
 
     script.execute(event);
    }

then use it like this

webWalkEvent(Variables.routeFinder, new Position(2924+ctx.random(1), 3175+ctx.random(5), 0), 5, ctx);

make a routeFinder onStart() , only do this onstart! it will use up a lot of cpu otherwise

INodeRouteFinder routeFinder
public void onStart()
{
    routeFinder  = INodeRouteFinder.createAdvanced();
}

i put my routevinder in my class Variables so i can access it anywhere

public static INodeRouteFinder routeFinder;

ctx being my methodprovider

 

5 being the radius in which it breaks the webwalk so it will bank or do other things smoothly

 

so lets say you're at a fishing spot, and you're using this to walk to a bank, if you're in a radius of 5, it will break webwalking so it doesnt want to walk to that exact tile, and it will attempt to bank 

 

Wow nice, who taught you that? :o

dem genius <3

  • Like 1
Posted

As note: it's not always the best idea to break your walking when a certain tile is within your radius.

Example:

When you walk to a tile and your next code block is something like interacting with a npc it could be that npc have traveled to a different tile in the meantime.

Now mostly the interact method will solve this by itself but for the example.

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