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
{
"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
| Option | Type | Description |
|---|---|---|
m_Enable | bool | With 1, replaces the game’s chat interface with the module’s interface; with 0, keeps the normal game chat. |
m_Direct | bool | With 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_Global | bool | With 1, makes Global available and allows opening the menu; with 0, removes Global from channel selection. |
m_Lines | int | Maximum 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_Timeout | int | Time in seconds before hiding each line. Values are clamped to the range of 5 to 60. |
m_Logging | bool | With 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_Waiting | int | Minimum 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_Distance | int | Radius in meters for Direct message delivery, measured from the sender. Values are clamped to the range of 1 to 200. |
m_Identity | bool | With 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_Color | object | Color of message text and of the sender’s name in the Direct channel. |
m_Admin | object | Sender color and line wrapping for the Admin channel. |
m_Event | object | Sender color and line wrapping for event messages received from other modules. |
m_Game | object | Color and line wrapping for game messages, displayed with the name Game. |
m_User | object | Sender color in the Global channel and line wrapping for Direct and Global. |
m_Filter | array<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_Webhook | string | Discord 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.
| Option | Type | Description |
|---|---|---|
m_Color | object | Color of the sender’s name or corresponding channel. Message text uses the root m_Color. |
m_Lenght | int | Characters 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.
| Option | Type | Description |
|---|---|---|
m_A | int | Opacity: 0 is transparent and 255 is opaque. |
m_R | int | Red intensity. |
m_G | int | Green intensity. |
m_B | int | Blue 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
| Control | Action |
|---|---|
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), Tab | While 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.
| Permission | Action |
|---|---|
chatmenu.allow | Allows opening the chat menu, even when chatmenu.deny is also present. |
chatmenu.deny | Prevents 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. |
root | Satisfies 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.
