SRL Archive - Reflection Discussion

Walking...


Train

2011-01-23 02:07:09

Does villavu have a fully working web-walker?
I have seen hints of a few, but are there any working ones?

Thanks,
Train.

EDIT: Earlier today I came to the conclusion that there was no fully working web-walker on SRL.
I started to make my own and it currently takes the shortest path from tile-to-tile with the nodes it's programmed with.
Map:
Old Map: http://i54.tinypic.com/m8od36.jpg
new map: http://i52.tinypic.com/2i75nr5.jpg

A generated path:
http://i55.tinypic.com/30j21wx.jpg

Edit2: The person that de-repped me and put me in red is mean.
"Pictures don't mean anything. Source code does.", why so harsh? I never refused to release code.
I will release the source code once I iron out a bug, any comments would be nice. :p



EDIT3: status update:
I re-wrote a large chunk and I am having trouble pinpointing a issue that doesn't let it generate a path correctly.



EDIT4:
example of debug, problem ALMOST solved:
http://train.pastebin.com/GVqhaai7

EDIT5: couldn't finish it today. hopefully tomorrow.

marpis

2011-01-23 08:44:00

No, there aren't any web walkers at the moment.

kitchenrange

2011-01-23 09:44:53

I've been using R_WebWalk(Tile) for a while…

Gu3st...

2011-01-23 09:45:20

Woah nice :)

Some code would be awesome.

Frement

2011-01-23 09:47:51

I thought there is Cstrike's web walker in the MSI extras?

Train

2011-01-23 13:25:11

From: Frement
I thought there is Cstrike's web walker in the MSI extras?


I talked to a few people about Cstrike's, they said it was only half-done?

Phran6

2011-01-23 13:32:29

i could probably make a reflexion one with pathfinding algorithm (A* or Dijkstra) if there a way to know if tile is walkable or not.

Train

2011-01-23 13:56:36

From: FrancisHelie
i could probably make a reflexion one with pathfinding algorithm (A* or Dijkstra) if there a way to know if tile is walkable or not.


I used A*.

mormonman

2011-01-23 13:59:21

There are ways to see if a tile is walkable using grounddata blocks

Phran6

2011-01-23 14:31:56

where i find grounddata blocks information ??

kitchenrange

2011-01-23 14:37:59

From: kitchenrange
I've been using R_WebWalk(Tile) for a while…


Is everyone just disregarding this? Its in the include. Or am I just missing something.

mormonman

2011-01-23 14:43:28

From: kitchenrange
Is everyone just disregarding this? Its in the include. Or am I just missing something.


That just makes a beizer spline between two points iirc.

Train

2011-01-23 14:50:37

From: mormonman
There are ways to see if a tile is walkable using grounddata blocks

That can only determine data within your 104x104 block.
It's useful when generating a path between two walkable points, but other than that, it's useless when creating a path from… varrock to draynor.

Gu3st...

2011-01-23 15:31:46

From: Train
That can only determine data within your 104x104 block.
It's useful when generating a path between two walkable points, but other than that, it's useless when creating a path from… varrock to draynor.
Why? Just create the path while you walk, then when the chunks load, repeat the same function you've used on the first chunk

pyroryan

2011-01-23 16:16:02

From: Train
That can only determine data within your 104x104 block.
It's useful when generating a path between two walkable points, but other than that, it's useless when creating a path from… varrock to draynor.


You could make a script that records all walkable tiles and manually walk the account around the RS world.

mormonman

2011-01-23 16:18:33

From: Train
That can only determine data within your 104x104 block.
It's useful when generating a path between two walkable points, but other than that, it's useless when creating a path from… varrock to draynor.


Oh, it is very useful. You could create a path from way less nodes than your idea uses. Less nodes = less work.

Train

2011-01-23 16:24:03

From: pyroryan
You could make a script that records all walkable tiles and manually walk the account around the RS world.


The array of tiles would be huge and would take too long to generate without a plugin, no?

EDIT: status update:
I re-wrote a large chunk and I am having trouble pinpointing a issue that doesn't let it generate a path correctly.

From: mormonman
Oh, it is very useful. You could create a path from way less nodes than your idea uses. Less nodes = less work.

Why don't you attempt it?

EDIT:
example of debug, problem ALMOST solved:
http://train.pastebin.com/GVqhaai7

Gu3st...

2011-01-23 17:57:33

From: Train
example of debug, problem ALMOST solved:
http://train.pastebin.com/GVqhaai7
Almost solved?
I see "Generated path length: 0"… I guess thats your problem? :)
But I see a lot of points in that debug.. :O Amazing :)

Train

2011-01-23 17:59:18

From: Zyt3x
Almost solved?
I see "Generated path length: 0"… I guess thats your problem? :)
But I see a lot of points in that debug.. :O Amazing :)


Yes, it generates the path successfully–all the way–I think, but somewhere the parent node is getting mucked up… so I have to pinpoint that. :P

marpis

2011-01-24 01:23:49

Just make an algorithm for
FindShortestPath(FromPoint, ToPoint: TPoint; WalkablePoints: TPointArray): TPointArray;
Then have a bitmap of the worldmap in 100% zoom, use red brush to color the walkable areas and make a script that goes through the bitmap, making a TPointArray of all the colored pixels. This is ofcourse pixels, not tiles, so you need some math to figure the conversion to runescape tiles.

Train

2011-01-24 14:39:51

Home, working on it again.

Feroc1ty

2011-01-24 14:56:15

If you're gonna make a legit walker, created nodes that teleport to another node across the map for things such as boats, magic teleports, enchanted jewelry… etc. Will save a lot of time making useless paths and be A LOT more human-like, only problem is that it will add a few lines of code and will probably take longer to debug.

Train

2011-01-24 16:08:55

From: Feroc1ty
If you're gonna make a legit walker, created nodes that teleport to another node across the map for things such as boats, magic teleports, enchanted jewelry… etc. Will save a lot of time making useless paths and be A LOT more human-like, only problem is that it will add a few lines of code and will probably take longer to debug.


Once the generate path function is done, that addition is simplistic.

**BANNED The Man

2011-01-24 17:19:03

Please post some sauce?
*Secretly hopes for Heinz Ketchup*

-Boom

Train

2011-01-24 22:29:43

From: Dynamite
Please post some sauce?
*Secretly hopes for Heinz Ketchup*

-Boom