@set
@set <object>=[!]<flag> [[!]<flag> ...]
@<pre-defined attribute> <object>=<value>
@set <object>=<attribute>:<value>
@set <object>/<attribute pattern>=[!]<attrflag> [[!]<attrflag> ...]
Sets flags on an object, sets its attributes, or sets attribute flags, one form for each. @set/quiet leaves out every “Set.” line, the QUIET flag’s own included; errors still show.
- @set flags: the first form, setting and clearing flags
- @set attributes: the second and third forms, and how they differ from
& - @set attribute flags: the fourth form, flags on attributes matching a pattern
- @set examples: attribute flags by pattern, and a value with commas
Setting flags
Section titled “Setting flags”@set <object>=[!]<flag> [[!]<flag> ...]
The first form sets (or unsets) flag(s) on <object>. See flags.
Ex: @set me=VISUAL
Flags may be specified by full name (recommended) or by flag character.
Flags are set or reset in the order supplied.
Setting attributes
Section titled “Setting attributes”@<pre-defined attribute> <object>=<value>
@set <object>=<attribute>:<value>
The second form sets a pre-defined attribute on <object>
Ex: @fail Heavy Box=You can't pick that up.
The third form sets an arbitrary attribute with <value> on <object>. You can also do this with &<attribute> <object>=<value>
Ex: @set Test Object=random:This is a random attribute.
&random Test Object=This is a random attribute.
An important difference between these two forms is that @set will always evaluate the <value> before setting it on <object>, while the &<attribute> form will not evaluate when entered directly by a player in their client (and is usually what you want).
The third form keeps everything after the first colon as the value, commas included.
Setting attribute flags
Section titled “Setting attribute flags”@set <object>/<attribute pattern>=[!]<attrflag> [[!]<attrflag> ...]
The fourth form sets (or unsets) attribute flags on every attribute of <object>’s own that matches <attribute pattern> and that you can see. The pattern takes the wildcards * and ?; ** also matches inside attribute trees. A plain attribute name matches only that attribute. An attribute you may not change is reported and skipped, and the rest are still changed. See attribute flags and wildcards.
Examples
Section titled “Examples”> @set me/CMD`*=no_inheritOutput: one ”- no_inherit set.” line for each attribute under CMD on you.
> @set Test Object=list:red,green,blueOutput: Test Object/LIST - Set. The value is “red,green,blue”.
::: seealso