OrigenNetwork
Docs

Configuration · origen_chat

Configuration is split across files inside config/.


config/_main.lua

VariableDefaultDescription
Config.Language'en'UI language — 'en' | 'es' | 'fr' | 'it'
Config.CustomNotifyfalseUse Custom.Notify instead of ox_lib notifications
Config.CommandName'toggleChat'Command to toggle the chat UI on/off
Config.ShowEmojisOptiontrueShow the emoji picker in the chat UI
Config.DefaultColor'#850e49f2'Default chat background color (RGBA hex)
Config.ShowServerPrintsfalseShow server print() output in the chat
Config.DebugfalseEnable debug logging

Allow player customization

lua
Config.AllowEdit = {
    color    = true,   -- player can change chat background color
    position = true,   -- player can reposition the chat box
    size     = true,   -- player can resize the chat box
}

config/commands.lua

Defines all chat commands. Each command supports a different message type.

Message types

TypeDescription
proximitySent to players within distance meters
globalSent to all players on the server
player-to-playerSent from one specific player to another
global-announcementSent to all players, styled as an announcement
job-to-jobSent to all players sharing the same job
job-to-globalSent by a job member to all players

Command fields

FieldDescription
enabledEnable or disable the command
colorMessage color (hex)
iconLucide icon name (e.g. 'lucide:user')
commandThe chat command string (e.g. 'me')
distanceRadius in meters for proximity type. false = global
preventCollisionsIf true, walls/doors block the message
showNameInsteadOfIdShow player name instead of server ID
showGradeAndJobShow job name and grade in the message prefix
permissionsArray of group names required to use the command
groupsTable of job_name = min_grade required to use the command
typeMessage type (see table above)
paramsAdditional parameter definitions for the command

Default commands

CommandTypeDescription
/meproximity (15m)Roleplay action
/doproximity (10m)Scene description
/oocglobalOut-of-character global message
/msgplayer-to-playerPrivate message to a specific player
/announcementglobal-announcementServer-wide announcement (admin only)
/lspdjob-to-jobPolice internal chat (disabled by default)
/emsjob-to-jobEMS internal chat (disabled by default)
/announce-lspdjob-to-globalPolice broadcast to all (disabled by default)
/announce-emsjob-to-globalEMS broadcast to all (disabled by default)

Adding a custom command

lua
Config.Commands['my_command'] = {
    enabled             = true,
    color               = '#ffffff',
    icon                = 'lucide:user',
    preventCollisions   = false,
    distance            = false,
    command             = 'my_command',
    showNameInsteadOfId = true,
    permissions         = { 'group.admin' },
    groups              = { ['police'] = 0 },
    type                = 'global',
}

config/blacklist.lua

Command prefixes that are blocked from appearing as autocomplete suggestions:

lua
Config.BlacklistedPrefixes = {
    ['+'] = true,
    ['-'] = true,
    ['_'] = true,
}

config/custom_core.lua

Use this file to provide a custom core object if you are not using a standard framework:

lua
return {
    useCustomCore = false,
    events = {
        load   = 'custom:playerLoaded',
        unload = 'custom:playerLogout',
    },
    GetCustomCoreObject = function()
        return nil -- return your core object here
    end,
}