Ampersand

From TinyMUX
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.


The ampersand symbol (&) is a special shorthand for the attribute-setting form of @set with some magical behavior.

It is typically used to set user-defined attributes on objects, like this:

&TEMPERATURE reactor = cool

The Temperature attribute on the reactor object is set to the value cool.

& behaves differently than @set when it is typed by a player directly through their socket (as opposed to run by a player or other object through the MUSH's queue). In this case, the value on the right-hand side of the equal sign is stored without any evaluation. These examples illustrate the difference:

&SUM calculator = [add(1,1)]
(calculator/SUM now contains '[add(1,1)]' )
@set calculator = SUM:[add(1,1)]
(calculator/SUM now contains '2' )


The ampersand symbol is also used to generate compound locks as the AND operator.

  For example, an unpassable default lock.
  @lock me=me&!me
Note: There is a simple way to create attributes that have both 'wizard' and 'hidden' attribute permission. Prefix the attribute name with an underscore (_) and the attribute can only be seen or edited by wizards.

Related Topics

@set, @attribute, attr_access, attr_alias, attribute permissions