While working with mud programs in Dawn of Time version S, I found there were more mpcommands available than the help files listed. After going through the code, I’ve created a full list all of the mpcommands here.
Mp commands are special commands that allow mobiles (NPCs) to perform scripted actions within the game. With scripting a mobile is able to transfer a player to another location or load an item into the room for example. In the Dawn of Time codebase, players have been prevented from using these commands by adding a separate interpreter for mp commands.
Sets tired, hunger and thirst values — see ‘help affect_values’.
mob affect [victim] <tired|hunger|thirst> <value>
mob affect $n tired 20
Echos the string/sound to all the rooms around the mobile. The room the mob is in does not see the echo.
mob asound <string>
mob asound ‘A lion roars nearby.’
Lets the mobile assist another mob or player. Mob must be able to see the other mob/player to be able to assist them.
mob assist <target>
Lets the mobile do a command at another location, like the imm command.
mob at <location> <command>
Causes mob to boon the target as like imm boon ability.
mob boon [victim]
Lets the mobile to call another MOBprogram within a MOBprogram. Characters and objects passed as parameters must be in the same room with the mobile.
mob call <vnum> [victim|’null’] [object1|’null’] [object2|’null’]
Cancels the delay timer set using the mob delay command. After mob cancel, the delay trigger program will not be run till another mob delay command.
Lets the mobile cast spells. mob cast has less checking than the normal spell cast command, no mana is required and has no lag at all.
mob cast ‘<spell name>’ [target|normal spell parameters]
Does a range of damage to a player after taking player armour into account. Lethal parameter is optional, if not used, player will never die from damage.
mob damage <target/all> <lower limit> <upper limit> [lethal]
Causes a delay (in ticks) before calling another mprog which has the trigger as delay. The other mprog must be on same mob.
mob delay <ticks>
Dequeues all currently running mobprogs.
Will duplicate an item. Used in conjunction with the GIVE trigger, this command can make specialized shopkeepers. IE, a keycutter, a shoppie thatwill duplicate keys given to him.
mob duplicate $o
DEBUG ZONE ECHO – Prints the string to all immortals, and all characters in building mode in the same area as a mob. This is very useful for debugging mobprogs. A disabled mobprog will automatically do a dzecho in place of running a disabled prog.
mob dzecho <string>
Displays string to everyone in the room. Good for complimenting mob transfers.
mob echo <string>
mob echo $N is quietly ushered into the room.
Displays string to everyone else in the room as the target. The target itself will not see the message.
mob echoaround <target> <string>
mob echoaround $n $N looks like a complete idiot.
Displays string to the target only. Used in conjuction with echoaround to give different messages to the target and his surrounding people.
mob echoat <target> <string>
mob echoat $n You feel like an idiot.
mob flee <value – optional>
Causes the mob to unconditionally flee. Can be used with hit points percentage trigger to simulate ‘wimpy’ behavior.
Forces the target to do the designated command. Target will not be told they are being forced so add some echo message.
mob force <target|’all’> <command>
Cancels the target remembered by the mob remember command.
Global Echo – Prints the string to all active players in the game. This works the same way as the immortal gecho command. It should be used rarely!
mob gecho <string>
Same as mob force but affects the whole group that target is in. Use with care as command must fit logic or reality.
mob gforce <target> <command>
Moves the mob to another room or mob location. There will be no auto message shown so use echos to compliment it. Also if using mob-name, make sure the name is unique.
mob goto <vnum/mob-name>
mob goto 3000 – Will move the mob to room 3000
Same as \”mob transfer\” but moves the whole group the target is in. Convenient to use as it will not break up groups like transfer does. No message will be shown.
mob gtransfer <target>
Deals a range of absolute damage to a target and ignores target armour. Optional kill parameter is to make it possible for damage to kill targets. Ignores level as well as armour.
mob inflict <target> <lower> <upper> [kill]
mob inflict xelton 0 100 kill
Allows a mob to only ‘see’ players and objects in the same room. Very useful if you only want to vforce mobs in the existing room, etc.
mob inroom <command>
Destroy all of an object in mobs inventory. It can also destroy a worn object and it can destroy items using all.xxxxx or even straight ‘mob junk all’ to get rid of everything. Matching is performed using the item(s) name.
mob junk <item>
mob kill <target>
Causes the mob to attack the targeted player. Mob must be able to see the target normally.
mob kill <target>
Allows someone pass even if there is an exit or exall trigger. An alternative to using \”mob transfer\”. The movement of characters will echo to the room. The actual move isn’t done till the current mobprog is completed. This only has an affect in an exit or exall trigger.
Used with a loginroom or loginarea triggers. Use it to tell the mobprog system to not run any other progs for a login.
Used with a logoutroom or logoutarea triggers. Use it to tell the mobprog system to not run any other progs for a logout.
Causes mob to load the specified mob into the room it is in. No message is automatically shown.
mob mload <vnum>
Allows you to follow a player even when they have nofollow on. There are no echos from using this command.
mob mpfollow <victim>
Allows any mob to sneak without having to be a thief mob. The debug option was left over from testing.
mob mpsneak [on|off|debug]
mob mpsneak on
Used to send a msp sound to a player. The sound files must be in the http://<mud_url>/mobprog/ directory or a directory off it.
mob msptochar $Q folder/sound.wav
mob msptochar $n ikissu.wav
mob msptochar $Q zoo/cow.wav
Used to send a msp sound to everyone in the room. The sound files must be in the http://<mud_url>/msp/mobprog/ directory, or a directory off it. The sounds from an msptoroom are also heard in the surrounding rooms at a reduced volume.
mob msptoroom folder/sound.wav
mob msptoroom ikissu.wav
mob msptoroom zoo/cow.wav
Cancels the ‘mob seeall’ command before the function ends.
Causes mob to load the specified object into its inventory. Oload will load an item of the vnum specified. The level of the object can optionally be specified. The object will default to loading into the mobs inventory (if no where_option is specified). If the where_option is a ‘W’ (or ‘w’) then the mob will automatically wear the object. If the where_option is a ‘R’ (or ‘r’) then the object will be loaded into the room.
mob oload <vnum> [level] [where_option]
mob oload 3000
Transfer object specified in room to another location. Searches for the object in the following order: room of mob, carried by mob, worn by mob. If worn it will be unequiped first.
mob otransfer <object vnum> <location>
mob otransfer 500 1500
Stops all fights involving characters in the same room. Will also remove aggressive bits from the mobs in the same room.
If used in a prekill trigger, will stop a person initiating combat with the mob. Best method to stop a player attacking a mob. The mobprog code that calls this must also do the echos to the player to inform them why they didn’t attack.
Stops a mob moving into a room when used in a premove trigger. Put a premove trigger on a mob (same syntax as an exit trigger, but this only runs when the mob moves). The vnum of the room the mob is moving to is in $V.
Stops an action occuring, only has an effect with object pretriggers.
If used in a preprac trigger, will terminate the hard coded practicing behaviour. Using preventprac to prevent a player from practicing, will not tell them why, you must manually echo that to the player.
If used in a pretrain trigger, will terminate the hard coded train behaviour. Using preventtrain to prevent a player from training, will not tell them why, you must manually echo that to the player.
Destroys an item in the room. Without stating an argumet (ie. item or mob) all NPCs and items in the room will be purged.
mob purge [item/mob]
Queue the execution of a command. Mobprog variables used in the queue commands are resolved at the time the queueing is performed. For example, $r will be a random person at the time a prog is queue, not when it is run. To get random at the time a prog runs, put the instructions in a prog then use the ‘mq# mob call <vnum>’ command.
mob queue <seconds> <command to run when time is up>
mob queue 2 north
mob queue 2 yell hello
The mob queue # (where # is a number in seconds) can be shortened to mq#.
mq2 yell hello
Mob will remember specified target as $Q (for future use). Usually used in conjunction with another mprog.
mob remember <target>
mob remember $n
say You have 10 seconds to leave this area
(Followed by another mprog with trigger as delay. The other mprog should use $Q or $q within it to call on the remembered target.)
Remort command to allow someone who is a hero to begin creation. Note: This command only works if the mud has remort enabled in the imp gamesettings command.
mob remort <player>
mob remort $n
Causes mob to remove a certain item or group of items from the target’s inventory.
mob remove <target> <vnum of object>
mob remove $n 350 – removes all vnum 350 objects from target’s inventory
mob remove $n 5*350 – removes 5 copies of object 350 from target’s inventory
mob remove $n all – removes everything from the target’s inventory
emote creates a powerful vortex, sucking everything in!
mob remove $n all
Causes mob to restore the target as like imm restore ability. Restores hitpoints, mana, movemen, tiredness, hunger to full.
mob restore <target>
mob restore $n
Causes mob to return the money used to trigger a bribe trigger.
Put this at the top of a mobprog, and the mob will be able to see everyone (and all objects) in the room. If you want to do a ‘mob echoat $n’ that MUST get to $n even when the mob can’t naturally see $n, then put ‘mob seeall’ at the top of your mobprog. The affect of this command is automatically canceled at the end of the mobprog and does not effect other functions.
Changes the target’s class.
mob setclass <target> <class>
mp setclass $n warrior
Assign a skill/spell to the target. Do not set the spell level on a character that can’t cast that, such as a barbarian. Be sure only to assign skills/spells to people of the correct.
character class (use if class $n to make sure).
mob setskill <target> <skill> <percent> [pracs] [trains]
mob setskill $n elven 100
mob setskill $n armour 10 1 0
– this will set the character’s armour spell at 10% at the cost of one prac.
mob setskill $n human +15 1 0
– will add 15% to their skill, max 100%.
mob setskill $n recall +0 3 -2
– costs $n 3 pracs, gives 2 trains and leaves $n’s recall skill unchanged.
* [pracs] and [trains] are optional, you can just use 0 for completion’s sake.
* The percentage is a flexivalue (same as in in the autobalance command).
* You can also use a flexivalue of +0 to change a players trains or pracs without changing their skills.
Will make the action unseen by characters, (same as imm command). Mobs will not see this as well.
mob silently <action>
mob emote makes a lightning fast move with a flick of his wrist
mob load [key-vnum]
mob silently unlock east
Will take a certain amount of coins away from the target. The swipe command is 100% successful.
mob swipe <target> [gold|silver] <amount percent>
mob swipe $n gold 10
– 10% of $n’s gold is gone
Lags victim x pulses. There are 4 pulses per second.
mob stun <target> <1-20>
mob stun $n 10
– will lag $n 2.5 seconds
Will suppress the output of any text to all players in the game for the duration of the command. Mobs and immortals will see outputted text prefixed with [SUPPRESSED TEXT].
mp suppresstext <command>
Example used in a do wear_mid object trigger:
mp suppresstext mp force $U wear $u`1″
mp echoat $U You drape a hooded mist grey cloak over your shoulders, fastening the clasp at the shoulder.
mp echoaround $U $N drapes a hooded mist grey cloak over $s shoulders, fastening the clasp at the shoulder.
Used to make the mob give the target a token. As a general policy, use the vnum of the token to specify. It is not necessary any more that the vnum of the token is used in the name/short of the token itself.
mob tgive <token> <target>
mob tgive 3086 $n
Used to junk a token or group of tokens carried by the target. Prefixing the token number with ‘all’ will clear all tokens of that vnum from the target. Examples of the target might be the mob itself ($I) or another player ($N).
mob tjunk <tokennumber> <target>
mob tjunk all.<tokennumber> <person>
mob tjunk all.3086 $n
mob tjunk 4236 $n
Used to transfer a single person or all players in a room to a certain location. The ‘all’ is used to transfer everyone in the current room to the location specified. The mob doesn’t have to be in the room of the target. If no location is specified, the target will be transfered to the current room.
mob transfer <target|’all’> [location]
mob transfer $n 299
mob transfer all 3000
Takes a token from a player. It is prefered that the token is referred by its vnum. tremove will put the token into the mobs inventory. If you are trying to destroy the token it is easier to use tjunk.
mob tremove <token> <player>
mob tremove 500 $n
Sets the number of ticks in which the token will automatical dissolve. It is preferred that the token is referred by its vnum.
mob ttimer <token> <player> <number_of_ticks>
mob ttimer 3086 $n 20
– in twenty ticks this will dissolve.
Same as force but uses vnum to specify target instead. Very useful if you know there will be only 1 mob with a particular vnum in the realm. See the force command for additional notes (mobhelp force).
mob vforce <vnum> <command>
Used to make a mob walk in a random direction.
Reward victim with xp. The character must be in the same room as the mob. No message is shown to the character unless they gain a level. You can’t lose a level with this command, but can go into negative xp. You can’t set more than 1000 xp at a time. The system logs the use of this command.
mob xpreward <target> <amount>
mob xpreward $n 50
– this will give the character 50 xp
mob xpreward $n -10
– this will take 10 xp from the character.
Prints the string to all active players in the same area/zone as the mob. This is the same as immortal zecho command.
mob zecho <string>
Prints the string to all active players in the same area/zone as the mob if they are outdoors. This is the same as immortal zoecho command.
mob zoecho <string>
Prints the string to all active players in the same area/zone as the mob if they are underwater. Similar to all zone echo commands but for underwater.
mob zuecho <string>