|(her|his) type matches only work in regular expressions, and * in regexp means, "multiple copies of the prior character", not "match anything". By itself, " *" would mean, "one or more spaces", in regexp. Oh, and . means "any character", so you have to make you "." into "\.", which means, "Look for a literal '.' here." Try this:|
match="^Judging from the bulge in (her|his) money pouch, (she|he) must be carrying close to .* gold pieces\.$"
<send>if %3 > 50 then
Send( "stealgold" )
end -- if</send>
You did pretty well. The only issue is that special stuff like either or matching requires regular expressions. The only type of match allowed in "normal" triggers is the use of the "*" character. Oh, note: ^ and $ are special characters in regexp that say, ^ - this is the very start of a line, do not match *unless* the next character is the first one to appear on the line, and $ - This is the end of the line, if more text follows this, don't match. You might need to remove one or both, depending on if the sentence appears by itself or not, and if you have a mud that likes to drop new information on the same line as a prompt. For example, using ^, this wouldn't match:
Jan 6, 2008> Judging from the bulge ...
Because it starts with a prompt, showing the date. Same is true if you have a mud like mine, which "insists" on adding a space, even if you set the prompt to be empty. Simplest solution if that is happening it to remove the ^ from the trigger, but then you have to worry about some clown posting a message like, "Jerk says: OMFG! Judging from the bulge in his money pouch, he must be carrying close to 5000 gold pieces.", and triggering your match anyway. :p Its possible, to a point, to bullet proof it, but a lot easier if you *know* the line will never appear on a prompt in the first place.