1) Is there a way to make it possible to type while the speedwalk is being executed?
2) Is there a way to abort speedwalks?
3) Is there a way to automatically abort a speedwalk if the MUD prints a certain line of text?
4) Is it possible to echo lines to the main output screen at certain points during the speedwalk?
1. Yes, setup an alias like '~~*'(or whatever you want, that's just what I use) that sends %1, in the 'send to' combobox, select 'World (immediate)' which bypasses the queue. So all you have to do is type '~~' in front of anything you want to go straight to the world bypassing the speedwalk queue.
2. To abort speedwalks just hit Ctrl-D(to discard the queue.)
3. This is a little trickier I think, you may need to setup a script run by a trigger. In the script have it call world.DiscardQueue() (or whatever capitalization is appropriate in your scripting engine of choice.
4. Hmm... I can't say I've ever tried that. Is there any sort of 'think' command on your game where you can emit something to yourself?
Some of these are round-about ways of doing it, like the alias thing, if you don't want to type those '~~' there might be another way. Maybe an alias of '*' with a high sequence number(higher than the rest of your aliases), that sends to 'world (immediate)' actually, that'd work, since it'd get sent anyway, then maybe you could use the '~~*' for sending to 'Speedwalk' to add things to your queue. Although be aware that unless you have your other aliases/triggers setup to send to 'world(immediate)' instead of 'world' they'll still get put off until the queue finishes.(and get discarded if/when you discard the queue).
Anyway, that's how I use the queue(although I really don't have much need for it since I don't play on MUDs, only MUSHes) If you want something that works differently than the built-in speedwalk, you might have to mess with the plugin Mr. Gammon linked you to.
Looks good, but for me the stopping-one-room-too-late thing is a fatal flaw
I have improved the plugin, which was written a year or so ago, to make it a bit neater and more flexible. For one thing, it now has a pause (you can configure the length) each time it goes to a new room. See:
As I mention in that thread, all you have to do to stop in the room is (assuming you pause when you arrive) make a trigger that detects the special line of text you mention and send the words "abort speedwalk" or "pause speedwalk" to "execute" (send-to-execute in the trigger). That way, the plugin notices it, and stops speedwalking.
I managed to install the plugin but I am not sure how to work with that exits line (I'm not used to regular expressions).
"There are four obvious exits: west, east, north and south." is the type of line my MUD echoes for exits and if it doesn't understand the command it either says "What?" or "Try something else.". What is the expression for those?
<!ENTITY exits_trigger
"^((?P<exits>\\[Exits\\: .+\\])|(.*)Alas, you cannot go that way\\.)$" >
to:
<!ENTITY exits_trigger
"^((?P<exits>There are .+ obvious exits\\: .+)|(.*)Alas, you cannot go that way\\.)$" >
You don't want the wording for what it says if it doesn't understand, you want whatever it says when you can't go somewhere. Like if you type "north" and you can't go north, it might say "You cannot go that way". Whatever that is, you put in place of "Alas, you cannot go that way\\."
That's a problem, in the end I figured out how to get the exits working, but the no exit phrase is either "What?" or "Try something else." at random, which I don't know how to express in regular expressions.
While I'm speaking to you I want to thank you for MUSHclient, it is an awesome MU* client, I run it on all my PCs (natively or through wine/CrossOver Office). Great! Thank you!