abs add and awake center commas comments concat contains contents controls convsecs convtime count date dbeq debug dec definitions delay delprop dice dist div eq eval exec exec! exits filter flags fold for force foreach ftime fullname func ge gt holds idle if inc index index! instr isdbref isnum istype kill lcommon le left lexec links list lit lmember loc locked lrand lremove lsort lt ltimestr lunion lunique macros max midstr min mklist mod money muckname muf mult name ne nearby nl not null online ontime or otell owner parse pronouns prop prop! rand ref right secs select set sign smatch stimestr store strip strlen sublist subst subt tell testlock time timestr timesub tolower toupper type tzoffset v version while with xorWithin the MUCK, use 'mpi <topicname>' to get more information on any of these topics.
All matching will be done relative to the trigger object first, then relative to the triggering player, if nothing was matched in the first pass.
The 'me' and 'here' keywords always are relative to the triggering player. The trigger object is referred to by 'this'.
A List is a string containing several individual substring items, seperated by carriage return characters.
A property based list is a set of consecutively numbered properties that each contain one string in a list of strings. Property based lists are often numbered like: listname1, listname2, listname3, listname4, &c. Another popular format is listname#/1, listname#/2, listname#/3, etc. MPI can read in either of those formats, and several more, for that matter.
For logical constructs, a string value of "0", or a null string ("") are both considered false. Any other value is considered true.
tzoffset time date ftime timestr ltimestr stimestr secs convtime convsecs delay kill
if eq equals == ne notequals != <> gt greaterthan > ge >= lt lessthan < le <= not ! or and && xor exclusiveor
prop prop! exec exec! index index! store delprop list concat lexec rand select timesub
nl \r subst strlen smatch strip tolower toupper right left center instr midstr lit literal eval null pronouns tell otell
inc increment dec decrement add addition subt subtraction mult multiply div divide mod modulo dice min minimum max maximum abs absolute sign dist distance
for while foreach filter parse fold
ref name fullname owner loc location flags controls nearby money type istype contents exits links force dbeq dbequals locked testlock holds contains
online awake ontime idle
v variable & set with
count mklist sublist lrand lunique lunion lcommon lremove lmember lsort commas
isnum isdbref version muckname muf debug
macros func
& \r ! != <> < <= > >= == && abs absolute add addition and awake center commas comments concat connections contains contents controls convsecs convtime count database date dbeq dbequals debug dec decrement definitions delay delprop dice dist distance div divide eq equals eval exec! exec exits filter flags fold for force foreach ftime fullname func ge greaterthan gt holds idle if inc increment index! index instr isdbref isnum istype kill lcommon le left lexec links list lists lit literal lmember loc location locked logic looping lrand lremove lsort lessthan lt ltimestr lunion lunique macros math max maximum midstr min minimum misc mklist mod modulo money muckname muf mult multiply name ne notequals nearby nl not null online ontime or otell owner parse pronouns prop! prop properties rand ref right secs select set sign smatch stimestr store strings strip strlen sublist subst subt subtraction tell testlock time timestr timesub tolower toupper type tzoffset v variable variables version while with exclusiveor xor