Jump to content
View in the app

A better way to browse. Learn more.

OSBot :: 2007 OSRS Botting

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

OSBot's (First?) Web Walker

Featured Replies

  • Author

Umh its really no use if we dont have collision data. There are tons of this implementation on internet.

However ty.

 

If by collision data you mean the positions, I somewhat agree, but I'm adding all surface nodes as we speak :)

If by collision data you mean the positions, I somewhat agree, but I'm adding all surface nodes as we speak smile.png

Very good work man.

-

If by collision data you mean the positions, I somewhat agree, but I'm adding all surface nodes as we speak smile.png

No by collision data is basically meant walkable and unwalkable tiles. Right now I assume this could try to generate a path through a lake.

  • Author

No by collision data is basically meant walkable and unwalkable tiles. Right now I assume this could try to generate a path through a lake.

 

This isn't one of those path finders, this takes many already defined "nodes/edges" (positions essentialy) then traverses via the best way through (known) edges.

 

The pathfinding itself (168 node test) takes under 1ms and initial time cost is in the 35ms area.

 

I know it isn't as robust as a grid where every tile is on it, but it works very well for where it's supported.

Edited by Pandemic

This isn't one of those path finders, this takes many already defined "nodes/edges" (positions essentialy) then traverses via the best way through (known) edges.

 

The pathfinding itself (168 node test) takes under 1ms and initial time cost is in the 35ms area.

 

I know it isn't as robust as a grid where every tile is on it, but it works very well for where it's supported.

 

You can't find good path w.o collision data. Atm with this pf you can walk max 104 tiles assuming you wrap local region mapdata.

Try to find old rsps collision data and implement loader to it, then it will be true web walker. ;P

This is better simulation to understand dijskra:

 

Dijkstras_progress_animation.gif

(imagine that object is wall)

Vs a*

Astar_progress_animation.gif

Edited by PolishCivil

  • Author

You can't find good path w.o collision data. Atm with this pf you can walk max 104 tiles assuming you wrap local region mapdata.

Try to find old rsps collision data and implement loader to it, then it will be true web walker. ;P

This is better simulation to understand dijskra:

 

Dijkstras_progress_animation.gif

(imagine that object is wall)

Vs a*

Astar_progress_animation.gif

 

Yeah I realize that and I'm using A* now ;)

Jump point

 

JPS wouldn't be good for this type of graph at all

He's not using a tile grid, but nodes placed somewhat randomly with X edges per node. JPS works best only when using a graph with large open spaces, like a tile grid. JPS would be inferior in this case, also due to the fact that his graph doesn't have any unwalkable nodes

 

Edited by FrostBug

Reading through these posts make me feel insignificant

  • Author

@Polish, I don't think you fully understand what this is, haha.

 

There is no limit on tiles/nodes (besides memory) using this, I'll have a rough map up tonight so you guys can see how it works.

  • Author

Huge update, made connecting now connect all nodes, not only beginning and ending nodes of paths, and also added a merging function to remove redundant nodes.

 

I've also added 400 nodes that I collected today, check out my AIO Walker for available locations.

@Polish, I don't think you fully understand what this is, haha.

 

There is no limit on tiles/nodes (besides memory) using this, I'll have a rough map up tonight so you guys can see how it works.

 

 

Um, how would you walk from lumb to edge if you dont have collision data ;o As i remember from rsbot's webwalker had collisiondata dumping itself.

If you dont use collision flags, explain me what is the point in using this.

I took a look at your AIOWalker and saw that you actually generate the edges. Wouldn't this be very bad if you create paths through cities that has nodes on both sides of a wall (will make it try to walk through the wall)? I created a web walker a little while ago and I did this to begin with before I realized it would be way better to actually create the edges aswell

  • Author

Um, how would you walk from lumb to edge if you dont have collision data ;o As i remember from rsbot's webwalker had collisiondata dumping itself.

If you dont use collision flags, explain me what is the point in using this.

 

You add a ton of paths (normally taken), and the web walker will create the edges by connecting everything and merging redundant nodes.

 

Look at my AIO Walker, that was made with minimal effort using this.

 

I took a look at your AIOWalker and saw that you actually generate the edges. Wouldn't this be very bad if you create paths through cities that has nodes on both sides of a wall (will make it try to walk through the wall)? I created a web walker a little while ago and I did this to begin with before I realized it would be way better to actually create the edges aswell

 

Never thought of that, but can still be moderately easy to fix. I'll try it out and see if they connect, and if they do I'll clean it up.

 

Thanks ;)

Guest
This topic is now closed to further replies.

Recently Browsing 0

  • No registered users viewing this page.

Account

Navigation

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.