Skip to content

Chat ​

Description ​

Chat provides an interface for local, global and administrative messages, with channel colors, player identification and word filtering. It also displays game and event messages and can forward global and administrative messages to Discord.

The Direct channel delivers messages to nearby players; Global and Admin send to all connected players. The Admin channel becomes available for sending while administrative mode is active.

Configuration ​

Default configuration ​

Chat.json
json
{
    "m_Enable": 0,
    "m_Direct": 1,
    "m_Global": 1,
    "m_Lines": 12,
    "m_Timeout": 20,
    "m_Logging": 1,
    "m_Waiting": 1,
    "m_Distance": 50,
    "m_Identity": 1,
    "m_Color": {
        "m_A": 255,
        "m_R": 255,
        "m_G": 255,
        "m_B": 255
    },
    "m_Admin": {
        "m_Color": {
            "m_A": 255,
            "m_R": 255,
            "m_G": 0,
            "m_B": 0
        },
        "m_Lenght": 120
    },
    "m_Event": {
        "m_Color": {
            "m_A": 255,
            "m_R": 255,
            "m_G": 0,
            "m_B": 0
        },
        "m_Lenght": 120
    },
    "m_Game": {
        "m_Color": {
            "m_A": 255,
            "m_R": 255,
            "m_G": 0,
            "m_B": 0
        },
        "m_Lenght": 120
    },
    "m_Group": {
        "m_Color": {
            "m_A": 255,
            "m_R": 255,
            "m_G": 200,
            "m_B": 0
        },
        "m_Lenght": 75
    },
    "m_User": {
        "m_Color": {
            "m_A": 255,
            "m_R": 0,
            "m_G": 200,
            "m_B": 255
        },
        "m_Lenght": 75
    },
    "m_Filter": [
        "fuck",
        "dumbass"
    ],
    "m_Webhook": ""
}

Options ​

OptionTypeDescription
m_EnableboolWith 1, replaces the game’s chat interface with the module’s interface; with 0, keeps the normal game chat.
m_DirectboolWith 1, allows opening the menu for local messages. With 0, this option no longer enables opening; Direct can still be selected if the menu is available through m_Global or administrative mode.
m_GlobalboolWith 1, makes Global available and allows opening the menu; with 0, removes Global from channel selection.
m_LinesintMaximum number of lines kept in the interface. Values are clamped to the range of 5 to 20. When the limit is reached, the oldest line is removed.
m_TimeoutintTime in seconds before hiding each line. Values are clamped to the range of 5 to 60.
m_LoggingboolWith 1, logs messages sent through the module and the original text of filtered messages; with 0, disables these logs. Command executions have their own logging, independent of this option.
m_WaitingintMinimum interval in seconds between menu openings for players outside administrative mode. Values are clamped to the range of 1 to 60. It does not delay lines already received.
m_DistanceintRadius in meters for Direct message delivery, measured from the sender. Values are clamped to the range of 1 to 200.
m_IdentityboolWith 1, shows the sender’s name in Direct and Global; with 0, shows Survivor in these channels. Does not change the name sent to Discord or identification in logs.
m_ColorobjectColor of message text and of the sender’s name in the Direct channel.
m_AdminobjectSender color and line wrapping for the Admin channel.
m_EventobjectSender color and line wrapping for event messages received from other modules.
m_GameobjectColor and line wrapping for game messages, displayed with the name Game.
m_UserobjectSender color in the Global channel and line wrapping for Direct and Global.
m_Filterarray<string>Text fragments replaced with asterisks, ignoring case. With [], applies no filtering. When a match is found, the entire outgoing message is converted to lowercase. Messages starting with /, ! or # follow the command flow with their original text.
m_WebhookstringDiscord webhook URL receiving the sender’s name and the text of Global and Admin messages. With "", disables forwarding. Direct, game and event messages are not forwarded.

m_Admin, m_Event, m_Game and m_User ​

The display objects use the fields below. Preserve the spelling m_Lenght in the JSON.

OptionTypeDescription
m_ColorobjectColor of the sender’s name or corresponding channel. Message text uses the root m_Color.
m_LenghtintCharacters per line, counting the name on the first line. Longer text is split into lines; this is not a sending length limit. A value less than or equal to 0 disables this wrapping. Use a value greater than the length of the sender’s name.

m_Color and m_Color in the display objects ​

Each color uses ARGB components from 0 to 255.

OptionTypeDescription
m_AintOpacity: 0 is transparent and 255 is opaque.
m_RintRed intensity.
m_GintGreen intensity.
m_BintBlue intensity.

Display also respects the player’s message preferences: player messages control Direct and Global, admin messages control Admin, and game messages control Game and Event.

Controls ​

ControlAction
Chat (UAChat)Uses the key configured for chat in DayZ. Opens text entry and, while the menu is open, sends the text and closes the menu. Requires menu access and respects m_Waiting, except in administrative mode.
Chat Channel (UAACChatChannel), TabWhile text entry is open, cycles through available channels. Global depends on m_Global; Admin requires active administrative mode.

Commands ​

The chat field accepts commands registered by modules in the form /name [arguments]. The name is converted to lowercase and requires the exact command.name permission or root. See Commands for each action’s syntax and requirements.

For example, /kick 76561198000000000 requires command.kick or root, in addition to the command’s requirements. The Steam ID is illustrative. The ! and # prefixes are passed to the game chat.

Permissions ​

Configure the identifiers in m_Everyone or in group m_Permissions, as described in Permissions.

PermissionAction
chatmenu.allowAllows opening the chat menu, even when chatmenu.deny is also present.
chatmenu.denyPrevents opening the menu when chatmenu.allow is absent. Does not block receiving messages.
command.<name>Allows attempting to run the named command through chat. Each command may have additional requirements.
rootSatisfies all permission checks above.

Without chatmenu.allow and chatmenu.deny, opening the menu is allowed. Identifiers are exact: command.* does not grant all commands. Sending through Admin depends on active administrative mode, described in Admin.

Released under the MIT License.