SCORINFO: Difference between revisions

1,492 bytes added ,  22 June 2022
m
More edits.
m (The max player IDx is 63, not 64.)
m (More edits.)
Line 13: Line 13:
=Scoreboard Commands=
=Scoreboard Commands=
* '''ClearColumns''' - Deletes any and all previously defined columns. '''At least one column must be defined afterwards or else Zandronum will throw a fatal error!'''
* '''ClearColumns''' - Deletes any and all previously defined columns. '''At least one column must be defined afterwards or else Zandronum will throw a fatal error!'''
* '''RemoveColumn''' - Deletes a single column, if defined, by '''type''' for standard columns or '''name''' for custom columns.


<pre>
<pre>
Line 112: Line 113:
** <code>DONTDRAWBORDERS</code> - Don't draw any borders on the scoreboard.
** <code>DONTDRAWBORDERS</code> - Don't draw any borders on the scoreboard.
** <code>DONTSEPARATETEAMS</code> - Players aren't divided into their respective teams and appear on a single list. '''This also disables team headers on the scoreboard.'''
** <code>DONTSEPARATETEAMS</code> - Players aren't divided into their respective teams and appear on a single list. '''This also disables team headers on the scoreboard.'''
* '''ColumnOrder''' - By default, columns are ordered from left to right on the scoreboard in the same order that they're defined in. This means that columns defined first will be on the left, while columns defined last will be on the right. If this command is used, the user can decide how exactly they would like to order the columns. Any defined columns missing from this list will be put on the right. Columns should be entered in by '''type''' for standard columns, or '''name''' for custom columns.
** <code>EXCLUDEUNLISTEDCOLUMNS</code> - If a '''ColumnOrder''' list is defined, then any columns not included in the list aren't put on the right of the scoreboard.
** <code>SHOWGAPSINBACKGROUND</code> - Shows the gaps between columns on the row's background.
* '''ColumnOrder''' - By default, columns are ordered from left to right on the scoreboard in the same order that they're defined in. This means that columns defined first will be on the left, while columns defined last will be on the right. If this command is used, the user can decide how exactly they would like to order the columns. Any defined columns missing from this list are put on the right unless <code>EXCLUDEUNLISTEDCOLUMNS</code> is enabled. Columns should be entered in by '''type''' for standard columns, or '''name''' for custom columns.
* '''RankOrder''' - This decides how players will be sorted. Columns entered first have the highest priority over those entered last. If no rank order is specified, players can only be sorted by their number. Columns should be entered in by '''type''' for standard columns, or '''name''' for custom columns.
* '''RankOrder''' - This decides how players will be sorted. Columns entered first have the highest priority over those entered last. If no rank order is specified, players can only be sorted by their number. Columns should be entered in by '''type''' for standard columns, or '''name''' for custom columns.
* '''AddToRankOrder''' - Adds one single column to the end of the rank order list. Columns should be entered in by '''type''' for standard columns, or '''name''' for custom columns.
* '''AddToRankOrder''' - Adds one single column to the end of the rank order list. Columns should be entered in by '''type''' for standard columns, or '''name''' for custom columns.
Line 129: Line 132:
     Alignment = <value>
     Alignment = <value>
     Width = <value>
     Width = <value>
     OverrideLeftColumnGap = <value [, <left | right>]
     OverrideGap = <value [, <left | right>]
     Flags = <flag1> [, flag2 [, ...]]
     Flags = <flag1> [, flag2 [, ...]]
     GameMode = <gamemode1> [, gamemode2 [, ...]]
     GameMode = <gamemode1> [, gamemode2 [, ...]]
Line 140: Line 143:
* The column's '''type''' can be one of the following:
* The column's '''type''' can be one of the following:
** <code>Name</code> - The player's current name. This may also include player numbers and join queue positions. '''Every scoreboard must have this column or else Zandronum will throw a fatal error!'''
** <code>Name</code> - The player's current name. This may also include player numbers and join queue positions. '''Every scoreboard must have this column or else Zandronum will throw a fatal error!'''
** <code>Index</code> - The player's index number, between 0-63.
** <code>Time</code> - How long the player has been in the current game, in minutes.
** <code>Time</code> - How long the player has been in the current game, in minutes.
** <code>Ping</code> - The player's ping measured in milliseconds.
** <code>Ping</code> - The player's ping measured in milliseconds.
Line 150: Line 154:
** <code>Secrets</code> - How many secrets this player discovered.
** <code>Secrets</code> - How many secrets this player discovered.
** <code>Lives</code> - How many lives this player still has. '''This column is disabled if players are supposed to have only one life.'''
** <code>Lives</code> - How many lives this player still has. '''This column is disabled if players are supposed to have only one life.'''
** <code>Index</code> - The player's index number, between 0-63.
** <code>Rank</code> - The player's rank. This is not the same as the rank order on the scoreboard.
** <code>Rank</code> - The player's rank. This is not the same as the rank order on the scoreboard.
** <code>Spread</code> - The player's spread from whoever is first place.
** <code>Spread</code> - The player's spread from whoever is first place.
Line 156: Line 159:
** <code>Country</code> - The country that a player is connecting from.
** <code>Country</code> - The country that a player is connecting from.
** <code>Color</code> - The current colour that this player is using. This should not be confused with the <code>Color</code> data type used for custom columns.
** <code>Color</code> - The current colour that this player is using. This should not be confused with the <code>Color</code> data type used for custom columns.
** <code>Status</code> - A mini icon to indicate the status of the player (i.e. chatting, in console/menu, lagging, ready to go).
** <code>StatusIcon</code> - A mini icon to indicate the status of the player (i.e. chatting, in console/menu, lagging, ready to go).
** <code>BotSkill</code> - A mini icon to indicate the skill level of a bot. '''This column is disabled if there are no bots in the game.'''
** <code>ScoreIcon</code> - The [https://zdoom.org/wiki/Actor_properties#Player.ScoreIcon ScoreIcon] of the player's class. '''This column is disabled if there are no defined players classes with score icons.'''
** <code>ArtifactIcon</code> - A mini icon for when a player is carrying a terminator sphere, possession hellstone, the white flag, or another team's item. '''This column is disabled in game modes that don't use these items.'''
** <code>BotSkillIcon</code> - A mini icon to indicate the skill level of a bot. '''This column is disabled if there are no bots in the game.'''


* '''DisplayName''' - Determines what will be used in the column's header. If this property isn't specified, then the display name will use the same text as its type instead.
* '''DisplayName''' - Determines what will be used in the column's header. If this property isn't specified, then the display name will use the same text as its type instead.
Line 163: Line 168:
* '''Alignment''' - Determines how the contents of the column are aligned, and can be one of the following: '''left''', '''center''', or '''right'''. By default, the column is aligned to the left.
* '''Alignment''' - Determines how the contents of the column are aligned, and can be one of the following: '''left''', '''center''', or '''right'''. By default, the column is aligned to the left.
* '''Width''' - The maximum width of the column, in pixels. In case the scoreboard is too wide and needs to be shrunken down, this column could be narrower than what's specified.
* '''Width''' - The maximum width of the column, in pixels. In case the scoreboard is too wide and needs to be shrunken down, this column could be narrower than what's specified.
* '''OverrideColumnGap''' - This overrides the value of '''ColumnGap''' from the scoreboard block to control the amount of spacing from the column that comes from the left or right of this one.
* '''OverrideGap''' - This overrides the value of '''ColumnGap''' from the scoreboard block to control the amount of spacing from the column that comes from the left or right of this one.
* '''Flags''' - Can be one of the following:
* '''Flags''' - Can be one of the following:
** <code>REVERSEORDER</code> - Sorts players in reverse (i.e. from least to greatest).
** <code>REVERSEORDER</code> - Sorts players in reverse (i.e. from least to greatest).
** <code>INTERMISSIONONLY</code> - This column only appears on the intermission screen.
** <code>INTERMISSIONONLY</code> - This column only appears on the intermission screen.
** <code>NOINTERMISSION</code> - This column won't appear on the intermission screen.
** <code>NOINTERMISSION</code> - This column won't appear on the intermission screen.
** <code>NOSPECTATORS</code> - Don't draw the contents of this column for true spectators.
** <code>NOSPECTATORS</code> - Don't draw values on rows for true spectators.
** <code>OFFLINEONLY</code> - This column only appears in offline games.
** <code>OFFLINEONLY</code> - This column only appears in offline games.
** <code>ONLINEONLY</code> - This column only appears in online games.
** <code>ONLINEONLY</code> - This column only appears in online games.
Line 185: Line 190:
* '''RequiresTeamItem''' - This column is only active in game modes where a team's item is used (e.g. CTF or Skulltag).
* '''RequiresTeamItem''' - This column is only active in game modes where a team's item is used (e.g. CTF or Skulltag).
* '''RequiresNoTeamItem''' - This column is disabled in game modes that use team items.
* '''RequiresNoTeamItem''' - This column is disabled in game modes that use team items.
'''Note:''' If two or more columns with the same '''DisplayName''' and/or '''ShortName''' are placed next to each other, then a single header will be drawn for all of these columns. This can be useful if you want certain columns (e.g. name and player colours) to be drawn under a single header instead of them appearing separate.


==Custom Columns==
==Custom Columns==
Line 237: Line 240:
** <code>Float</code> - Limits the number of decimals that are shown. This means that a number like 3.14159 will appear as "3.14" if only two decimals are allowed.
** <code>Float</code> - Limits the number of decimals that are shown. This means that a number like 3.14159 will appear as "3.14" if only two decimals are allowed.
** <code>Bool</code> and <code>String</code> - Limits the number of characters. Longer messages are truncated with an ellipsis at the end.
** <code>Bool</code> and <code>String</code> - Limits the number of characters. Longer messages are truncated with an ellipsis at the end.
==Composite Columns==
Composite columns can be used when multiple columns, whether standard or custom, must appear under a single '''DisplayName''' or '''ShortName'''. For example, a player's <code>Name</code>, <code>Color</code>, or <code>StatusIcon</code> are typically grouped together and would look nicer if they're all placed under a single "Name" header. Therefore, a composite column would be useful here.
<pre>
CompositeColumn
{
    DisplayName = <string>
    ShortName = <string>
    Alignment = <value>
    Column "Type1"
    {
    }
    Column "Type2"
    {
    }
    CustomColumn "Type3"
    {
    }
}
</pre>
When a column is defined inside a composite column block, its own '''DisplayName''' or '''ShortName''' are never used, instead replaced by what the composite column uses. The '''Alignment''' controls the alignment of the header text on the composite column, but the individual columns still control the alignment of their own contents.


=Console Variables=
=Console Variables=