|
Taradaitya Newbie
Joined: 18 Jan 2004 Posts: 1
|
Posted: Sun Jan 18, 2004 1:34 am
Mapping and sneaking |
I use a MUD in which distances vary and there are many nonstandard directions (northup, northeastdown, etc.), and therefore I prefer mapping by hand, using the ZMapper program. Anyway, in realizing the capabilities ZMUD offers, I would like the integrated mapper in ZMUD to follow my movements. My only problem is that I typically sneak from room to room, and get this message when sneaking is successful:
"You think you found a good possibility to sneak east."
Also, the MUD uses nonstandard directions that I would like to map so that the links appear just as standard one would because the "other" symbols would just be too messy. For instance, in a mountain environment, I would like northwestup to appear just as northwest would on the visual representation of the map. Is there any way to do this and still retain functionality in following? |
|
|
|
patryn Apprentice
Joined: 26 Sep 2001 Posts: 124
|
Posted: Sun Jan 18, 2004 6:53 am |
For your first question:
All you need to do to get the mapper to follow you is create a trigger much like this one.
#trig {^You think you found a good possibility to sneak (%w).$} {#map %1}
This will move the map one east.
For your second question:
This is possible, infact ive done something similiar in the mud i play. However it is a bit complex, so ill just try to describe it as best i can.
There are areas in the mud where non standard directons are used. Different areas can have different sets of directions. Sometimes numbers, sometimes 'forward/backward' type directions, it doesnt really matter, the important thing to notice is that they are all different.
What i did was i created a command input trigger that captures everything i type in. This information is then checked to see if it is a relevant direction for the current room that im in. Depending on the area im in, a relevant action is taken. In my case i have written different aliases for each different special direction area on the mud.
Then all that i do is invoke the correct alias, and parse the information into it.
So for your example if i was in the mountains, i would use either %roomflags() or %zonename() to determine that the room i am in will call the 'mountains' alias.
Then that alias would take the input and convert it into a relevant output, using a database record and the %db(record,key) function.
Here is a step-by-step break down of what happens:
1 - I use the number pad to type in: n
2 - The input is captured, and checked against the %zonename() (which is mountains) at which point the 'mountains' alias is called and 'n' is parsed as it's first parameter.
3 - The 'mountains' alias tests to see whether or not the input is a valid direction from the current room, if it is, it uses a predefined data record to convert the input into 'northup' which is sent to the mud, and it updates the map using #map %1
The predefined data record could be created like this:
#addkey mountain_directions n northup
#addkey mountain_directions s southdown
Converting the information is done as so:
%db(@mountain_directions, n)
The above method will convert any standard direction you type from the keyboard into a non standard direction.
If you want to type in nonstandard directions and have the mapper follow it with standard directions just adjust the mountain_directions variable to suit as so:
#addkey mountain_directions northup n
#addkey mountain_directions southdown s
Then use a trigger that picks up the information out from the mud output instead of the command input.
HTH |
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|