Accueil › Documentation › 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.
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 checkCustom.GetPlayerJob() → { name, label?, grade: { name, level } }Renvoie le métier actuel du joueur local. Délègue à Config.Framework.
Custom.GetPlayerJob = function()
-- 'qb-core' / 'qbx_core' → Framework.Functions.GetPlayerData().job
-- 'esx' → Framework.GetPlayerData().job (normalized)
-- 'standalone' → { name = 'unknown', grade = { name = 'unknown', level = 0 } }
endCustom.Notify(text, type, length)Affiche une notification au joueur local. Appelée lorsque Config.CustomNotify = true.
Custom.Notify = function(text, type, length)
lib.notify({
description = text,
type = type, -- 'info' | 'success' | 'error'
duration = length,
})
endCustom.CanOpenChat() → booleanDétermine si le joueur local peut ouvrir la saisie du chat. Renvoie false pour la bloquer (p. ex. pendant une cinématique).
Custom.CanOpenChat = function()
return true
endCustom.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.
Custom.OnSendNoCommandMessage = function(playerId, message)
-- Example: route to a default /say command
-- TriggerServerEvent('origen_chat:server:say', message)
end| 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.hasPermission(source, permissions) → boolean, stringVé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.
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