|
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Tue Aug 23, 2005 5:45 am
speedwalk list from mapper |
Is there a quick way to generate a list of speedwalks to the "1st" room (assume 1st room is 1st mapped) of each area mapped?
i wanna use like:
#WRITE 1 {~#PATH ~{%zonename(%zonevnum(%i))~} ~{%walk(%mapvnum(@X))~}}
but only to the 1st room of each area.
This is what i had to export ALL speedwalks from an alias:
Code: |
#FILE 3 rooms.txt
#LOOP %numzones {
#CALL %mapfilter(%concat("ZoneID = ", %zonevnum(%i)))
X = 0
#WHILE (@X < %numrooms) {
#ADD X 1
#IF (X%roomname(@X)X != "XX") {#WRITE 3 {Room: %roomname(%mapvnum( @X))Speedwalk: %walk(%mapvnum(@X)) Zone: %zonename(%zonevnum(%i))}}
}
#SAY %i/%numzones: Percentage done: %eval(%i*100 / %numzones)%
}
#CALL %mapfilter("")
#CLOSE 3
|
|
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Tue Aug 23, 2005 11:01 am |
The question here is are your maps YOUR maps? Meaning, did you get them from some one else? If so, then maybe the 1st room for every one of your maps is labelled 1. If they aren't your maps, then i'll bet ya they aint.
I got this alias
swshow
#var path %walk( %1);#var path %replace( @path, ., "run ");#show @path
Give's me the sw in Aard'd run format. Tho it throws a fit for portals.
Trying to use my Chaos Portal for White Lotus
swshow 6430 (one of the rooms past my entry point)
run (lotus)2e
Now we KNOW that aint right.
You could do it the SLOW way. Offline, go to each map and right click and click save path. (you don't need to save it, just click it)
As far as i know the mapper don't know when the room is the 1st room of the area, Unless you change the vnum to 1. And of course depending on which setting you have, 6430 for me might be 20 for you. I use the maps vnum, not the area's vnum. |
|
|
|
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Tue Aug 23, 2005 12:28 pm |
labeled?
to your unrelated stuff :P
i alias run to:
~run %1;#FORALL %pathexpand("%1") {#MOVE %i}
and my swshow is sw:
Code: |
#VARIABLE path %walk( %1)
#IF %match(~),@path) {
#VARIABLE path %replace( @path, ")", ");run ")
#SHOW @path
} {
#VARIABLE path %replace( @path, ".", "run ")
#SHOW @path
}
|
for a path inside dominia standing south of hotel:
.(home);run ;.(goto planes);run 13e;.(enter pool);run w;.(enter emerald);run 2n
the empty run just gives "Run where?", no biggie.
for a path after "The Flying Study" in Citadel which i have a gcp to:
"sw 13492" shows:
.(goto pfc2);run ds
only thing is some periods dont get replaced with "run"
.nese3s3e2n;.(vis;buy papers;give 2000 gold kalvor;wear amulet;wear robes);run ne
i assume your label thing is for the old .map format, the new database format continues the "label" ?vnum? at the next available #
lookig over my previos script, i think i have my own answer... the part where it does "WHILE (@X < %numrooms)" just needs to be "WHILE (@X < 1)"
tested.. Yup.. it worked |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Tue Aug 23, 2005 12:45 pm |
Nope, "labelled" as in the vnum. Bad choice of word i guess. There's 2 vnums for each room. 1 is the one that you can assign, the other is the one that zmud auto assigns that you can't change (as far as I know)
right click room -> click properties -> click other -> Vnum (Rooms used for MUD)
I use the same run. Has no bearing on what I was talking about :-P
Tho, i'll check your sw alias. I don't have a ) check, just the . check.
EDIT:
OMFG!!
You smack Private out of his boots with a sign reading "WUV YOU !! |
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Tue Aug 23, 2005 11:24 pm |
I think the real question is why you would really be concerned about the first room mapped in a given zone. In general, I can guess that if your zone breaks are logical or directly based on mud data and the zone doesn't have many paths into it then they are likely to be the first room mapped. However, I can think of many muds where I begin mapping with the first room right in the newbie zone, and anything looking at this room really doesn't make sense. I think what you need is first to create a script that locates zone breaks in you map. I would have to work a way to best do this. Then you can produce a series of walks to those rooms. Does this idea fit your actual needs?
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Vitae Enchanter
Joined: 17 Jun 2005 Posts: 673 Location: New York
|
Posted: Wed Aug 24, 2005 11:52 am |
Aard has interconnected Areas (zones)
A few areas have only one entry, and there are a few that have 5 entry points and some that have entry points from the same zone.
|
|
|
|
Private Adept
Joined: 10 Jan 2002 Posts: 264 Location: USA
|
Posted: Wed Aug 24, 2005 3:36 pm |
After setting my variables to think I'm level 1 (i.e. dont use portals of lvl 100) and disableing all my chaos portals in the mapper. the following gave me what i wanted, a list of shortest speedwalks to a given area for all areas.
Code: |
#FILE 3 rooms.txt
#LOOP %numzones {
#CALL %mapfilter(%concat("ZoneID = ", %zonevnum(%i)))
X = 0
#WHILE (@X < 1) {
#ADD X 1
#IF (X%roomname(@X)X != "XX") {#WRITE 3 {Room: %roomname(%mapvnum( @X))Speedwalk: %walk(%mapvnum(@X)) Zone: %zonename(%zonevnum(%i))}}
}
#SAY %i/%numzones: Percentage done: %eval(%i*100 / %numzones)%
}
#CALL %mapfilter("")
#CLOSE 3
|
Only issue is, it is not a set of speedwalks for newbies, i.e. single class no-remort, as it makes use of level locked areas. Wish there were a way to tell zmud of this fact when it chooses which way to walk. (i.e. if noremort dont go this way.)
But oh, well, i aint a noremort and the people i created the list for aint either :P so no biggie. |
|
|
|
|
|