Ok. First trigger.. You didn't read one of my previous explainations too well. * is not an asterix in either type of trigger. You can't use it at all in a normal trigger and in a regular expression it means "more than one of the prior character or group". Since | is an "OR", there is no character or group for it to look for more than one of. I have no idea why this works in zMud, except that zMud often doesn't correctly follow its own standards sometimes, let alone anyone elses. However, at a guess, I suspect that the use of {} in zMud is a way to include "|" commands without using regular expressions. The correct form in mushclient would be:
(A|\*)(\*| )(\*|p)(r|\*)(\*|i)(c|\*)(k|\*)(l|\*){y|\*)(\*| )(s|\*)(t|\*)(i|\*)(n|\*)(g|\*)
and set it as a regular expression. In this case '\' tells the regular expression parser to treat the next character as a 'real' one and not a command. So \* would be a literal * and not a request to look for more that one of something.
The rest is like this:
send "eb"
frenzy = 1
enablegroup "Attacks", 0
Note we completely ignore the #VAR command. In zMud this is the same as saying DIM in VB. VBSCript will automatically create a variable as soon as used, so this is redundant. Instead we simply set frenzy = 1 and VBScript handles the rest.
It also uses a ColorWord command. Seeing how it is used here, I now suspect this is the equivalent of setting a color trigger in this case. Which is to say that the trigger turns the line with the "A prickly sting" on it red. The other triggers I helped you with send an error, then set the color of "that" line to red, or so I think... If you use the "Change colour and style" in the trigger in 'Edit' or 'Add' to use red (Either the custom color that is red or using "Other.." and selecting red for the foreground). This will color the words red, as I assume the original was supposed to.
Now as for the second one.. I just love scripting that crams every bloody thing on one line, so lets shift stuff around a bit so it makes more sense first:
TRIGGER {^You may eat another plant.$} {
bal;
#if {@stupid=1} {herb= Goldenseal (Stupidity)} ;
#if {@goldenseal=1} {herb= Goldenseal};
#if {@bloodroot=1} {herb= Bloodroot};
#if {@kelp=1} {herb= Kelp};
#if {@lobelia=1} {herb= Lobelia} ;
#if {@ginseng=1} {herb= Ginseng};
#if {@ash=1} {herb= Ash};
#if {@bellwort=1} {herb= Bellwort};
#cw 13
}
That's better. ;) Now we can see what it really does. And can make a trigger that works as intended:
<trigger
match="^You may eat another plant.$"
regexp="y"
enabled="y"
send_to="12"
custom_colour="17"
other_text_colour="fuchsia"
other_back_colour="black">
<send>send "bal"
if stupid = 1 then
herb = "Goldenseal (Stupidity)"
end if
if goldenseal = 1 then
herb= "Goldenseal"
end if
if bloodroot = 1
herb = "Bloodroot"
end if
if kelp = 1 then
herb = "Kelp"
end if
if lobelia = 1 then
herb= Lobelia
end if
if ginseng = 1 then
herb= Ginseng
end if
if ash = 1 then
herb= Ash
end if
if bellwort = 1 then
herb= Bellwort
end if</send>
</trigger>
A few explainations. I could have used custom_colour="13" and for most people it would be the same. However, since custom color can be changed, it is safer to use the equivalent 'real' color to the original ANSI. In this case the 'real' color that corresponds to bright-magenta is Fuchsia. By using custom_color="17", which is the same as setting it to "Other..." in the trigger editing dialog, you can specify any color you want, even of the set of 16 custom colors are completely changed from the normal ANSI colors. On my client only 2-3 of those colors are still the originals and color 13 would have ended up Orange.
The third one also uses #VAR. Again, just ignore this and make it bloodroot = 1. Note also that we place "" around strings. zMud uses @ to refer to the 'contents' of a variable and apparently leaving that off means it assumes that you are assigning a string to a variable. This isn't exactly consistant with any other language I know of. lol
Also, with the third trigger you will see that they use $ in it. This means that what it is literally looking for is:
You eat a bloodroot leaf.
The plant has no effect.
Mushclient "cannot" match multiple lines, so this gets complicated. You need two triggers. The first on needs to set a variable to tell the second trigger that it was a bloodroot that you used. If there are more than one of these triggers that match two lines, then things are bound to become a mess. However, the solution would be like:
<trigger
match="You eat a bloodroot leaf."
enabled="y"
sent_to="12">
<send>herbeaten = "bloodroot"</send>
</trigger>
<trigger
match="You eat a goldenseal flower."
enabled="y"
sent_to="12">
<send>herbeaten = "goldenseal"</send>
</trigger>
<trigger
match="The plant has no effect."
enabled="y"
send_to="12">
<send>select case herbeaten
case "bloodroot"
bloodroot = 1
herb = "bloodroot"
case "goldenseal"
goldenseal = 1
herb = "goldenseal"
end select</send>
The goldenseal trigger and "case" are examples and may differ for the triggers you are converting. However, they should give you an idea what I mean. Each trigger for the first line has to 'tell' the trigger for the second line what you just ate and the "case" sections in there handle setting the correct variables for each herb type. Simple. ;)