GaetanoH Posted March 19, 2016 Share Posted March 19, 2016 (edited) 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 March 19, 2016 by GaetanoH Quote Link to comment Share on other sites More sharing options...
The Hero of Time Posted March 19, 2016 Share Posted March 19, 2016 (edited) use webwalkevent 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 March 19, 2016 by The Hero of Time 1 Quote Link to comment Share on other sites More sharing options...
GaetanoH Posted March 19, 2016 Author Share Posted March 19, 2016 use webwalkevent 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! 1 Quote Link to comment Share on other sites More sharing options...
Extreme Scripts Posted March 19, 2016 Share Posted March 19, 2016 (edited) use webwalkevent Is @The Hero of Time actually making some Java gainzzz Edited March 19, 2016 by Extreme Scripts 2 Quote Link to comment Share on other sites More sharing options...
The Hero of Time Posted March 19, 2016 Share Posted March 19, 2016 (edited) Is @The Hero of Time actually making some Java gainzzz Edited March 19, 2016 by The Hero of Time Quote Link to comment Share on other sites More sharing options...
Khaleesi Posted March 19, 2016 Share Posted March 19, 2016 use webwalkevent 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? dem genius 1 Quote Link to comment Share on other sites More sharing options...
Botre Posted March 22, 2016 Share Posted March 22, 2016 Hero of Java Quote Link to comment Share on other sites More sharing options...
Psvxe Posted March 22, 2016 Share Posted March 22, 2016 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. Quote Link to comment Share on other sites More sharing options...
The Hero of Time Posted March 22, 2016 Share Posted March 22, 2016 Wow nice, who taught you that? dem genius just spreading @Khaleesi 's love 1 Quote Link to comment Share on other sites More sharing options...