Cryosphere

Main Connecting Starting




Advanced multistat usage


Whilst multistat and its related commands (such as multiwho, or minis, or objects usually provide a whole load of default attributes (you can see these by running the command like this: multistat columns) it is also possible to output arbitrary attributes from the objects being listed. These are called custom columns.

Custom columns can be defined for the attribute of your choice:

$<output filter>{<attribute name>}

where output filter is one of

i integer
s string
f flag
t timestamp(in dd/mm/yy hh:mm format)

For example, $s{killedby} would display the name of the person who last killed the subject (useful when listing mobiles). The filters i and s set column titles automatically to be the name of the attribute being shown.

Array columns return multiple rows for each object with custom columns containing a %. The % is replaced with the array index for each item in the array

@{<array name>}$<output filter>{<attribute name.%>}

See the shopfind verb for an example of this.

You can change the way columns are presented by prefixing column identifiers with these additional codes:

- Right align previous column
| Centre align previous column
[RG Surround the previous column with red brackets and make the text green
^m Colourise the previous column with magenta
<Foo> Title the previous column 'Foo' instead. No spaces allowed, but can be just <> for an empty title
(15) Restrict previous column to 15 characters width. Longer values get truncated. There is a maximum size of 99 characters, including surrounding characters like []
! Sort on previous columns values in descending order
? Sort on previous columns values in ascending order
  • Only show objects who have a (positive) value for this column
    ~ Only show object with no (or a negative) value for this column
    # Hide this column entirely, but still allow it to affect sorting and filtering.
    / Allow this column to be linewrapped. Use with columns which have an unknown length (like player titles) which are the last column in the table (like in the who and whoname commands.
    ¬ Size this column to fit available space, with a minimum width of 1 and a maximum of 99 characters. Only one column can be marked expandable, but it can be any column.

    Example:
    >multistat mobiles bandits i!nldaAgN(2)s(3)bw Mobiles
    >multistat objects template i!nLd* WeaponTemplates
    >multistat mobiles bandits i!n$i{skill.combat}<Com>daA$s{$killedby}<SlainBy> Killers
    >multistat rooms level2 in@{auto}$s{auto.%}<AutoObj> AutoObjects

    Using alias:
    >alias mobcombat multistat mobiles $* indW$i{att.str}<Str>$i{att.dex}<Dex>$i{skill.combat}<Com>aAw MobileCombatStats
    >mobcombat bandits