Jump to content

getWalking().webwalk() problem


GaetanoH

Recommended Posts

Hello, so I've made a few scripts implementing the webwalking methods, the problem is, when the bot is in the Area he really always wants to click on a certain tile which makes it pretty obvious you're a bot, any suggestions on how to remove the clicking?

Edited by GaetanoH
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

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