Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

path finding with custom exits and hh portals #40

Closed
fiendish opened this issue Feb 14, 2014 · 6 comments
Closed

path finding with custom exits and hh portals #40

fiendish opened this issue Feb 14, 2014 · 6 comments

Comments

@fiendish
Copy link
Owner

From musidan@gmail.com on January 08, 2011 10:40:22

Character: Spartacus

I now have working code that finds the shortest path between two rooms given vnums. It needs some cleaning up - ie reduction of debug output and then what to do with its results - I'm working on a run routine that will do this and include opening doors, but obviously not done yet. Now as for using hh portals and custom exits:

1 - the portals will need to be added to the exits table using the mapper portal command that I wrote. See the hh portals issue that I created.

2 - the custom exits will also have to be added to the exits table, using the cexit command that I created (see the custom exits issue).

The output of the lua file I am attaching, apart from the debugging spam, is currently a run command (possibly a set of stacked run commands). If there is an hh portal in your path, you must have a "goport" alias defined to retrieve and equip the portal. The path will have "goport " as the first command. Any hh portal will be the first component of any path because they work independently of location. The walker will have to have logic to detect failure of a hh portal. Custom exits, on the other hand, can appear anywhere. Since a custom exit is really a command, that command will appear in the middle of the run, separated from the run commands with semi-colons (i.e. run sssseenn;climb tree;run nnwwd).

Now, since this is not done, unless you are willing to do some programming, it probably doesn't make a lot of sense to download this. I'm uploading it primarily for guys like Fiendish to look at how it works and how it can be improved or integrated into other things.

Attachment: findpath.lua

Original issue: http://code.google.com/p/aardwolfclientpackage/issues/detail?id=40

@fiendish
Copy link
Owner Author

From musidan@gmail.com on January 10, 2011 14:12:05

I still plan on implementing a new path finder, however, I noticed the other day that under the right circumstances, the mapper would spit out some of the custom exits I had been inserting into the DB. Trouble is that it was putting it in the run command as (custom exit). Well, I looked into how that was happening and
it's part of the build_speedwalk function. A couple quick mods, and I have a very small change to aardmapper.lua that will allow the mapper to use custom exits. The custom exits still need to be added to the DB using the CEXIT command which I provided in an earlier issue.

Attachment: aardmapper.lua

@fiendish
Copy link
Owner Author

From musidan@gmail.com on January 11, 2011 12:30:52

looks like this fix only works for mapper goto as of right now... I'll have to dig further to see about making it work for find / where / area

@fiendish
Copy link
Owner Author

From musidan@gmail.com on January 27, 2011 17:21:41

findpath.lua current version...

This returns the shortest path very quickly for me. Running on a core 2 duo 2.4G laptop.

Attachment: findpath.lua

@fiendish
Copy link
Owner Author

From Fiendi...@gmail.com on January 30, 2011 17:08:02

have been working on integrating this. will be done soon.

Status: Accepted

@fiendish
Copy link
Owner Author

From Fiendi...@gmail.com on January 30, 2011 18:40:10

done in r302

Status: Fixed

@fiendish
Copy link
Owner Author

From musidan@gmail.com on February 01, 2011 06:40:56

I dunno if you're seeing performance gains or not, but under the old algorythm, run from aard hotel to 31076 (blackened hall in descent to hell would have taken a minute or more to calculate - it wasn't found (even with a shortcut through the killing fields portal) at depth 60... I increased depth to 100 and it found it nearly instantly. I'm lovin the update!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant