The % symbol is used in MUSH commands to indicate a substitution -- some other character(s) or words are substituted for whatever follows the % symbol. Some common substitutions are:
- %B = a single space (just like space(1))
- %R = a blank line
- %T = A tab. Note that this may not look right on some screens.
- %# = dbref of the ENACTOR (object that set off the command)
- %N = the ENACTOR's name, first letter capitalized
- %n = the ENACTOR's name, first letter as-is
- %~ = the ENACTOR's accented name
- %: = the ENACTOR's unique identifier, like objid(%#)
If the ENACTOR's gender is set, you can use these substitutions to get the right pronoun for him/her:
- %s = subjective pronoun: he, she, it, they
- %o = objective pronoun: him, her, it, them
- %p = possessive pronoun: his, her, its, their
- %a = absolute possessive: his, hers, its, theirs.
Case makes a difference: %S will return He, She, It, They. If you need an actual % symbol, use %% or \% to get it.
Some attributes can be retrieved via substitutions:
- %va-%vz = the contents of the object's VA-VZ attributes, respectively
- %wa-%wz, %xa-%xz = as above, for WA-WZ and XA-XZ
Other substitutions:
- %0-%9 = the contents of the REGISTERS 0-9, respectively
- %@ = the caller's dbref number. Initially same as %#, changes when something like a U-FUNCTION is called.
- %! = the dbref number of the object the command is on.
- %L = the dbref of the ENACTOR's location.
- %c = text of the last command, _before_ evaluation.
- %u = text of the last $command, after evaluation, available to locks.
- %? = The current function invocation and depth counts.
- %+ = The number of arguments passed to the current ufun.
- %qN = the equivalent of r(N), a register set by a setq() function.
Example:
@sex me=male @drop box=%N just dropped %p box. drop box > Cyclonus just dropped his box.
Let's say that Cyclonus's dbref number is #10 and the box's dbref number is #11. The dbref # of the room Cyclonus is standing in is #13. When Cyclonus dropped the box above, these were the values of the following %-variables:
%N = Cyclonus %# = #10 %@ = #10 %! = #11 %L = #13
See also: EVALUATION, ENACTOR, EXECUTOR, DBREFS, v()