Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, 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 ➜ General ➜ Speedwalk questions

Speedwalk questions

Posting of new messages is disabled at present.

Refresh page


Posted by Hex1   Australia  (8 posts)  Bio
Date Tue 03 Jun 2008 05:22 AM (UTC)

Amended on Tue 03 Jun 2008 05:25 AM (UTC) by Hex1

Message
Just a few quick speedwalk questions:

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?
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #1 on Tue 03 Jun 2008 06:45 AM (UTC)
Message
Check out this thread:

http://www.gammon.com.au/forum/?id=6008

That describes a "smarter speedwalk" that can be paused and aborted.

Since it is implemented with timers you can type and do other things while it is running.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Hex1   Australia  (8 posts)  Bio
Date Reply #2 on Tue 03 Jun 2008 10:16 AM (UTC)
Message
Looks good, but for me the stopping-one-room-too-late thing is a fatal flaw (literally, in my game) :)
Top

Posted by Cage_fire_2000   USA  (119 posts)  Bio
Date Reply #3 on Tue 03 Jun 2008 01:08 PM (UTC)
Message
OK, let me answer your questions.

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.
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #4 on Tue 03 Jun 2008 10:19 PM (UTC)
Message
Quote:

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:

http://www.gammon.com.au/forum/?id=6008


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.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Hex1   Australia  (8 posts)  Bio
Date Reply #5 on Sat 07 Jun 2008 01:00 AM (UTC)
Message
Wow, looks great, thanks for your help!

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?
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #6 on Sat 07 Jun 2008 01:10 AM (UTC)

Amended on Sat 07 Jun 2008 01:11 AM (UTC) by Nick Gammon

Message
Change:


<!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\\."

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Hex1   Australia  (8 posts)  Bio
Date Reply #7 on Sat 07 Jun 2008 10:45 AM (UTC)
Message
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.
Top

Posted by Nick Gammon   Australia  (23,122 posts)  Bio   Forum Administrator
Date Reply #8 on Sat 07 Jun 2008 09:11 PM (UTC)

Amended on Sat 07 Jun 2008 09:12 PM (UTC) by Nick Gammon

Message

<!ENTITY exits_trigger 
      "^((?P<exits>There are .+ obvious exits\\: .+)|(.*)(What\\?|Try something else\\.))$" >


The | character is the "or" operator.

See: http://mushclient.com/regexp

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Hex1   Australia  (8 posts)  Bio
Date Reply #9 on Mon 09 Jun 2008 08:08 AM (UTC)
Message
Thanks heaps!

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!
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.


29,126 views.

Posting of new messages is disabled at present.

Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.