|
Borbarad Newbie
Joined: 10 Feb 2005 Posts: 9
|
Posted: Wed Mar 16, 2005 2:46 am
Moving rooms |
---The mud i play has some "moving" rooms. for example
A Long Dock
[...]
[ Exits: north, south, ship ]
>enter ship
On a Ship
[...]
[ Exits: dock ]
--- After some time
The ship slowly continues its voyage as it sails to the southwest.
On the Boat
[...]
[ Exits: None. ]
--- After some time
The large ship adjusts its sails and starts its voyage in a
southernly direction.
On the Deck of the Boat
[...]
[ Exits: None. ]
[.....]
The Wharf
[...]
[ Exits: street, ship ]
So if my character has entered the ship then he just has to wait some minutes. After that he can continue at the wharf. How can i implement this with speedwalking?I want that zMud realizes when the ship arrived so it can continue. This mud has many of these "moving rooms". So a solution with minmal effort would be nice. Any ideas?
With Best Regards,
Marcel Honstraß |
|
|
|
DeathDealer Adept
Joined: 20 Jul 2004 Posts: 268
|
Posted: Wed Mar 16, 2005 1:40 pm |
I would guess the whole #slow/#pause/#ok routine would do it.
#trig {The Wharf} {#OK}
or something. |
|
_________________
|
|
|
|
TonDiening GURU
Joined: 26 Jul 2001 Posts: 1958 Location: Canada
|
Posted: Wed Mar 16, 2005 1:41 pm |
In practice I use an alias for such speedwalking routes.
So an example would be:
#ALIAS gopastwharf {.6n3w;#TEMP speedwalking1 {^The Wharf} {.7d3s}}
This way the path is broken up into a piece per segment. There are other ways to do this but I've found this reliable. |
|
|
|
Dharkael Enchanter
Joined: 05 Mar 2003 Posts: 593 Location: Canada
|
Posted: Wed Mar 16, 2005 2:10 pm |
Use SLOW mode in your speedwalking;In the moving rooms
have a room script that checks to see if %inwalk is true AND
%walkmode = 2 , if so have it pause and create a trigger for when you arrive to resume the walk.
If you have to wait before entering a moving room do the same thing too but also add a check to make sure that %nextdir would take you into the moving room, that way if you happen to speedwalk by a moving room but have arent using the moving room the triggers wont go off. |
|
_________________ -Dharkael-
"No matter how subtle the wizard, a knife between the shoulder blades will seriously cramp his style." |
|
|
|
Spartacus Wanderer
Joined: 23 Apr 2001 Posts: 53 Location: USA
|
Posted: Wed Mar 16, 2005 4:28 pm |
I encounter this on my mud as well, and here's the problem with speed/slowwalking it as I see it:
zMUD relies on the mapper having path to the room you are walking to. A path consists of a series of rooms, each having an exit to the next. You will therefore need an exit from each of the rooms you listed to the next room in the chain. In order to accomplish what you want to do, you will need to manually draw these links in the mapper and set them as "other." Of course, with the ones where you enter something like "enter ship" or "give ticket to conductor", you put that in as the "other cmd" and zMUD handles that beautifully. For the others, you will need to edit the room scripts (the one that runs when you enter that particular room) to create your #OK trigger for the next room. What does that mean?
Your room script for "On a Ship" should say:
#TEMP {On the Boat} {#OK}
This way once you move into "On a Ship" zMUD will start watching for "On the Boat" and move the map indicator when you arrive there. Now the room script for "On the Boat" should say:
#TEMP {On the Deck of the Boat} {#OK}
and the room script for "On the Deck of the Boat":
#TEMP {The Wharf} {#OK}
Minimal effort? Probably not, but this method will keep the map true as you move through the various rooms, which can be very helpful in some situations. |
|
_________________ Spartacus
rm -rf .* |
|
|
|
|
|