Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to "verify" your details, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Entire forum
➜ MUSHclient
➜ Plugins
➜ Mapper
It is now over 60 days since the last post. This thread is closed.
Refresh page
Posted by
| Copycatnebula
(6 posts) Bio
|
Date
| Wed 10 Aug 2022 08:37 PM (UTC) |
Message
| I am trying to think through how I would create a function for the mapper that would allow validation if directions were possible from a roomid.
e.g. if the path I got was n, e, s, e, u is that possible from that room
mapper_validate ROOMID PATH
and have it return either the resultant room ID OR not possible.
Anyone have thoughts on how this best works with the functionality already implemented. I see a lot of room1-room2 path discovery but not a lot of if this path is possible from room 1 type capability. Maybe I am missing it. | Top |
|
Posted by
| Fiendish
USA (2,533 posts) Bio
Global Moderator |
Date
| Reply #1 on Wed 10 Aug 2022 11:08 PM (UTC) |
Message
| Starting from your current room and the first direction, check if the direction can be moved from that room, if so, look at the room in that direction and check the second direction, then the next room and the third direction, and so on. If you get through all of the directions, then yes, otherwise no. |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
Posted by
| Copycatnebula
(6 posts) Bio
|
Date
| Reply #2 on Thu 11 Aug 2022 01:47 AM (UTC) |
Message
|
Fiendish said:
Starting from your current room and the first direction, check if the direction can be moved from that room, if so, look at the room in that direction and check the second direction, then the next room and the third direction, and so on. If you get through all of the directions, then yes, otherwise no.
I take this reply to mean there is no existing functionality within the mapper that I can leverage given a room id to determine where a path goes? I would have to custom code the entire capability vs utilizing existing function calls. | Top |
|
Posted by
| Fiendish
USA (2,533 posts) Bio
Global Moderator |
Date
| Reply #3 on Thu 11 Aug 2022 03:31 AM (UTC) Amended on Thu 11 Aug 2022 03:36 AM (UTC) by Fiendish
|
Message
| Correct. What do you want it for anyway? It doesn't seem like it would be very useful on my MUD. What circumstance on yours calls for this? |
https://github.com/fiendish/aardwolfclientpackage | Top |
|
Posted by
| Copycatnebula
(6 posts) Bio
|
Date
| Reply #4 on Thu 11 Aug 2022 04:48 AM (UTC) Amended on Thu 11 Aug 2022 04:06 PM (UTC) by Copycatnebula
|
Message
|
Fiendish said:
Correct. What do you want it for anyway? It doesn't seem like it would be very useful on my MUD. What circumstance on yours calls for this?
we are given random directions from a specific map location and need to find the room things are hidden in. Meaning given a set of possible starting points it would be nice to be able to calculate the possibilities.
Another is knowing which path your target took when viewing them with a spell it would be nice to quickly plug in the viewed roomID and the path they took to run and get back a room id to goto to find them.
The third reason is for validating speed paths that are created without actually walking them (which can be dangerous in some areas of our mud). So i can make a speedwalk and validate it from the room to ensure that I arrive where I expect.
Thanks for replying. I just wanted to make sure there wasn't built in functionality to harvest here vs writing an entirely new plugin. Sounds like i need to build a searcher that can iterate the directions and either get back "not possible" or "roomid" | Top |
|
Posted by
| Nick Gammon
Australia (23,070 posts) Bio
Forum Administrator |
Date
| Reply #5 on Thu 11 Aug 2022 08:46 PM (UTC) |
Message
| There is no such function, ie. “is this path valid?”.
However it wouldn’t be hard to write.
The function get_room (id) returns information about a room, including its exits. So you would do something like:
- id = starting_room
- n = 1 (first exit)
- room = get_room (id)
- see if room.exits [exit_list [n]] exists
- if so, add 1 to n, and make id = the room that the exit led to
- go back to (3) above until the list of exits is exhausted.
|
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
8,130 views.
It is now over 60 days since the last post. This thread is closed.
Refresh page
top