Jump to content
daxmagex

Universal Web Walker [Open Source]

Recommended Posts

I noticed one thing while integrating this into my project.

 

Sometimes the WebWalker.walkTo() function returns true without seeming to start. I am not sure why. Sometimes if I restart the script it is fixed, but there does not seem to be a correlation between the players current tile and the bug. Neither with the tile I want to walk to.

Share this post


Link to post
Share on other sites
52 minutes ago, Duhstin said:

:heart: When do you think charter ships will be added as well? 

 

This is great!

 

I'm thinking within this week

 

17 minutes ago, orange451 said:

I noticed one thing while integrating this into my project.

 

Sometimes the WebWalker.walkTo() function returns true without seeming to start. I am not sure why. Sometimes if I restart the script it is fixed, but there does not seem to be a correlation between the players current tile and the bug. Neither with the tile I want to walk to.

 

Are you sure it returns true?

Do you have the logs

Share this post


Link to post
Share on other sites
40 minutes ago, daxmagex said:

Are you sure it returns true?

Do you have the logs

It's essentially this:

return WebWalker.walkTo( location, condition );

> true

 

It's not erroring, so no logs that I can find. :mellow:

I'll keep trying to make it 100% reproducible though.

Edited by orange451

Share this post


Link to post
Share on other sites

Another bug I discovered while inside the Draynor Sewer.

 

Your webwalker can easily figure out how to get into the sewer, but it can't seem to figure out how to get out.

 

Here is the printout from locating every f2p bank:

Quote
  • [21:54:46] VARROK_EAST / 0 / 6252
  • [21:54:46] VARROK_WEST / 0 / 6231
  • [21:54:46] GRAND_EXCHANGE / 0 / 6181
  • [21:54:47] FALADOR_EAST / 0 / 6315
  • [21:54:47] FALADOR_WEST / 0 / 6303
  • [21:54:47] LUMBRIDGE / 0 / 6454
  • [21:54:47] ALKHARID / 0 / 6507
  • [21:54:47] DRAYNOR / 0 / 6428
  • [21:54:47] EDGEVILLE / 0 / 6177

The first number is the size of the array from: WebPath.getPath(location).

The second number is a plain distance check: player.distanceTo(location).

Share this post


Link to post
Share on other sites
8 hours ago, orange451 said:

Another bug I discovered while inside the Draynor Sewer.

 

Your webwalker can easily figure out how to get into the sewer, but it can't seem to figure out how to get out.

 

Here is the printout from locating every f2p bank:

The first number is the size of the array from: WebPath.getPath(location).

The second number is a plain distance check: player.distanceTo(location).

I'm not sure how to interpret that data.

 

8 hours ago, Duhstin said:

@daxmagex is Tutorial Island mapped as well? All/part?

Tutorial has not been mapped yet.

Share this post


Link to post
Share on other sites
6 hours ago, daxmagex said:

I'm not sure how to interpret that data.

While inside the Draynor sewer, you cannot call any functions that relate to WebPath.getPath(), the resulting array will contain 0 tiles. So, my character gets stuck as he cannot pathfind his way out.

However, you can call functions that relate to WebPath.getPath() and get TO the Draynor sewer from anywhere.

Edited by orange451
  • Like 1

Share this post


Link to post
Share on other sites

I haven't used/tested it too much, but I was working on a script today and figured I'd use it since it makes life a lot easier :)

https://gyazo.com/8d7ccb162a58709e70e15ce18147d592

In that gif, I am walking to an arbitrary tile:

new RSTile(3308,3498,0)

As soon as my ID changes from -1 it tries to click to walk, even though I am animating and therefore can't walk. This is the first time I've tested a shortcut so I don't know if that's just a weird occurrence or not.

Share this post


Link to post
Share on other sites
9 minutes ago, FALSkills said:

I haven't used/tested it too much, but I was working on a script today and figured I'd use it since it makes life a lot easier :)

https://gyazo.com/8d7ccb162a58709e70e15ce18147d592

In that gif, I am walking to an arbitrary tile:

new RSTile(3308,3498,0)

As soon as my ID changes from -1 it tries to click to walk, even though I am animating and therefore can't walk. This is the first time I've tested a shortcut so I don't know if that's just a weird occurrence or not.

 

Quote
WebWalker.walkTo(X, Y, Z), new WalkingCondition() {
    @Override
    public State action() {
        if(Player.getAnimation() > 0){
            Timing.waitCondition(new Condition() {
                public boolean active() {
                    General.sleep(800, 1200);
                    return Player.getAnimation() == -1;
                }
            }, 1000);
        }
        return State.CONTINUE_WALKER;
    }
});

 

Try this, see if it works. Of course, change the XYZ

Share this post


Link to post
Share on other sites

Tried it out and works good, obviously has improvement areas but even though it's in beta it's seems to already better than tribot's official webwalker :P Though the walking method managed to get some of my accounts stuck due to them DC:ing and the method would just endlessly sleep within the webwalker method, so sadly I had to replace your webwalker call with the API webwalking method for now. I lost the stack trace but if I remember correctly, it occurred from a SleepCondition method (whereas the stack trace would end sleeping at line 35), called from WalkerEngine (line 186 if I'm not mistaken). Bit weird considering you've added timeouts, not quite sure what's up with that, though I'd let you know about this issue though.

  • Like 1

Share this post


Link to post
Share on other sites
12 minutes ago, swagg said:

Tried it out and works good, obviously has improvement areas but even though it's in beta it's seems to already better than tribot's official webwalker :P Though the walking method managed to get some of my accounts stuck due to them DC:ing and the method would just endlessly sleep within the webwalker method, so sadly I had to replace your webwalker call with the API webwalking method for now. I lost the stack trace but if I remember correctly, it occurred from a SleepCondition method (whereas the stack trace would end sleeping at line 35), called from WalkerEngine (line 186 if I'm not mistaken). Bit weird considering you've added timeouts, not quite sure what's up with that, though I'd let you know about this issue though.

Did you try using conditions? Cancel walker if login state isn't logged in?

Share this post


Link to post
Share on other sites
1 hour ago, Duhstin said:

Did you try using conditions? Cancel walker if login state isn't logged in?

No I did not, that should probably solve it but it'd be quite ridiculous for everyone to keep that as a condition when the check just could be directly be implemented to the walking code. I should be able to solve the issue myself but thought to let Dax know about it so he can fix it, so everyone that downloads the updated code doesn't come across the same issue.

  • Like 1

Share this post


Link to post
Share on other sites
13 hours ago, swagg said:

Tried it out and works good, obviously has improvement areas but even though it's in beta it's seems to already better than tribot's official webwalker :P Though the walking method managed to get some of my accounts stuck due to them DC:ing and the method would just endlessly sleep within the webwalker method, so sadly I had to replace your webwalker call with the API webwalking method for now. I lost the stack trace but if I remember correctly, it occurred from a SleepCondition method (whereas the stack trace would end sleeping at line 35), called from WalkerEngine (line 186 if I'm not mistaken). Bit weird considering you've added timeouts, not quite sure what's up with that, though I'd let you know about this issue though.

Do you have tribot loginbot on?

Share this post


Link to post
Share on other sites

I've uploaded the new walker engine.

Chartering is supported, and so is 90% of Zeah.

Server - Client versions starting now should be backwards compatible unless I say so. However, you still won't be able to grab paths if the server isn't online. You will just be able to use the old version when the server is back up.

  • Like 1

Share this post


Link to post
Share on other sites
7 hours ago, daxmagex said:

I've uploaded the new walker engine.

Chartering is supported, and so is 90% of Zeah.

Server - Client versions starting now should be backwards compatible unless I say so. However, you still won't be able to grab paths if the server isn't online. You will just be able to use the old version when the server is back up.

Thank you! Do you think you can add tutorial island? I'm sick of using DPathNavigator. The way it handles doors is so annoying sometimes.

Share this post


Link to post
Share on other sites
14 hours ago, daxmagex said:

Do you have tribot loginbot on?

No the tribot loginbot is toggled off, I'm using my custom version which isn't run on a seperate thread like tribot's loginbot but is run on the main thread and logins in the beginning of the loop if the account isn't already logged in. The tribot login-thread might would've terminate or pause your webwalk method thus not being a problem, however the official webwalking method stops if the players logs out, which makes perfect sense as a method shouldn't endlessly loop if the player isn't logged in. I'll re-activate your webwalk code again and try get a proper stack trace again.

Edit: Looking quick at the code the problem could be within the while loop on line 57 of the WalkerEngine class, I'll add a isIngame check in the while condition, should probably fix it

Edit #2: You're probably aware of this, but the walk method can click tiles towards the destination that is a longer route, compared to clicking another tile outside that longer route area, which also is a problem with the API webwalking method. For example, I've seen one of my accounts being inside the lumbridge cow pen area and walking towards the northwest chicken area. I've seen the method going pretty much straight towards the chicken area, but ignoring the fence like it could walk through it, when the method should walk out the gate and continue on the path north instead of clicking tiles inside the cow pen area. 

Edited by swagg

Share this post


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

  • Recently Browsing   0 members

    No registered users viewing this page.

×