There was a useful trigger category in CMUD that would fire whenever a change was detected in one or more variables in an expression placed in the pattern field.
Is there a way to duplicate this feature in MUSHClient? What if the variable pointed to a table and a table entry changed?
There is no feature to track changes to MUSHclient variables (although you can track MXP variable changes).
Variables are set quite often, and to track every change might be expensive.
However in Lua it is possible to do that (track Lua variable changes) by using the __newindex metamethod, attached to a table. (Even global variables are in a table, however it is probably better to set up a particular table for this purpose).
This is described here:
http://www.lua.org/pil/13.4.4.html
Effectively you set up an empty "proxy" table, so that every attempt to write to it (change its contents) creates a new entry, which __newindex detects. The change is then written to a shadow table. You also use __index to retrieve existing values.
I'm assuming this answers your question, I wouldn't call this a trigger in the normal sense.
You can however use triggers (things that match incoming text from the MUD) and put variables in them, so you can match (for example) one of a long list of player names.