There isn't yet, there is a forum post about doing it manually - see ex-zmud user needs trigger conversion. The problem with automating the process it that the syntaxes are somewhat different, and the commands.
However, the question is, do you have lots of (completely) different triggers, aliases, etc. or are they all rather similar, but with different stuff in them? If they follow a general format it might be possible to automate the bulk of it. Then, the remaining harder ones could be done manually (if any).
For one thing, a useful tool would be a regular expression converter. zMUD's regular expression matching is different from MUSHclient's - MUSHclient uses a standard library PCRE (Perl-Compatible Regular Expressions) which also happen to be completely compatible with the regular expression object available in VBscript (and other script languages).
However the zMUD regular expressions look different, here is a sample from their documentation:
zMUD
* |
match any number of characters or white space |
? |
match a single character |
%d |
match any number of digits (0-9) |
%n |
match a number that starts with a + or - sign |
%w |
match any number of alpha characters (a-z) (a word) |
%a |
match any number of alphanumeric characters (a-z,0-9) |
%s |
match any amount of white space (spaces, tabs) |
%x |
match any amount of non-white space |
Now to look at the same things in MUSHclient (and PCRE/VBscript):
MUSHclient
.* |
match any number of characters or white space |
. |
match a single character |
\d* |
match any number of digits (0-9) |
[+-]\d* |
match a number that starts with a + or - sign |
[[:alpha:]]* |
match any number of alpha characters (a-z) (a word) |
[[:alnum:]]* |
match any number of alphanumeric characters (a-z,0-9) |
\s* |
match any amount of white space (spaces, tabs) |
\S* |
match any amount of non-white space |
The above examples assume "any number" means "zero or more". However if "any number" means "any non-zero number" then you would change the "*" to a "+". (eg, one or more spaces would be "\s+").
The Perl-Compatible regular expression syntax allows other ways of doing things, so the above table is not the only way. For example, you can express numbers as "[0-9]" and letters as "[a-zA-Z]". You also have more control over the concept of "any number". For instance, you could look for a 1 to 3-digit number like this: "[0-9]{1,3}", or a number that is exactly 4 digits like this: "[0-9]{4}".
If you like, post here, or email me, some example triggers/aliases etc. and I can see how easy it would be to do a converter for them. |