Accueil › Documentation › Personnalisation · origen_chat

Personnalisation · origen_chat

Le dossier custom/ te permet d’intégrer n’importe quel framework, système de notifications ou filtre du chat sans toucher au noyau. Tous les fichiers sont escrow_ignore : ils sont conservés lors des mises à jour.

text
custom/
├── client/
│   ├── framework.lua   — player job (client-side)
│   ├── notify.lua      — notifications
│   └── chat.lua        — chat open gate, raw message hook
└── server/
    ├── framework.lua   — player identifier, name, job, group
    └── permissions.lua — permission check

custom/client/framework.lua

Custom.GetPlayerJob() → { name, label?, grade: { name, level } }

Renvoie le métier actuel du joueur local. Délègue à Config.Framework.

lua
Custom.GetPlayerJob = function()
    -- 'qb-core' / 'qbx_core' → Framework.Functions.GetPlayerData().job
    -- 'esx'                   → Framework.GetPlayerData().job (normalized)
    -- 'standalone'            → { name = 'unknown', grade = { name = 'unknown', level = 0 } }
end

custom/client/notify.lua

Custom.Notify(text, type, length)

Affiche une notification au joueur local. Appelée lorsque Config.CustomNotify = true.

lua
Custom.Notify = function(text, type, length)
    lib.notify({
        description = text,
        type        = type,     -- 'info' | 'success' | 'error'
        duration    = length,
    })
end

custom/client/chat.lua

Custom.CanOpenChat() → boolean

Détermine si le joueur local peut ouvrir la saisie du chat. Renvoie false pour la bloquer (p. ex. pendant une cinématique).

lua
Custom.CanOpenChat = function()
    return true
end

Custom.OnSendNoCommandMessage(playerId, message)

Appelée lorsqu’un joueur envoie un message qui ne commence pas par /. Implémente ici ton propre gestionnaire de messages sans commande.

lua
Custom.OnSendNoCommandMessage = function(playerId, message)
    -- Example: route to a default /say command
    -- TriggerServerEvent('origen_chat:server:say', message)
end

custom/server/framework.lua

Fonction Renvoie Description
Custom.GetIdentifier(source) string | nil Identifiant unique du joueur
Custom.GetPlayerName(source) string Nom complet du joueur ou 'Unknown'
Custom.GetPlayerJob(source) { name, label, grade } Métier et grade du joueur
Custom.GetGroup(source) string | table Groupe de permissions du joueur

Toutes les fonctions délèguent automatiquement selon Config.Framework (qb-core, qbx_core, esx, standalone).


custom/server/permissions.lua

Custom.hasPermission(source, permissions) → boolean, string

Vérifie si un joueur appartient à l’un des groupes de permissions indiqués. Utilisée par les commandes qui ont le champ permissions dans Config.Commands.

lua
Custom.hasPermission = function(source, permissions)
    -- permissions: array of group names (e.g. { 'admin', 'god' })
    -- returns: true if the player's group is in the list
end