Accueil › Documentation › Personnalisation · origen_clothing
Le dossier custom/ te permet d’intégrer n’importe quel framework, notification ou logique d’accès aux magasins sans toucher au noyau. Tous les fichiers sont escrow_ignore : ils sont conservés lors des mises à jour.
custom/
├── client/
│ ├── framework.lua — player identifier, job, gender, loaded state
│ ├── notify.lua — notifications and text UI
│ ├── store.lua — gate who can open a store
│ └── visuals.lua — hide/show HUD when clothing menu opens
└── server/
├── framework.lua — player identifier, job, money, permissions, group, gender
└── permissions.lua — admin checkCustom.GetPlayerIdentifier() → string | nilRenvoie l’identifiant unique du joueur local (citizenid / identifier).
Custom.GetPlayerIdentifier = function()
-- Config.Framework == 'custom': implement here
return nil
endCustom.GetJob() → { name, grade }Renvoie le nom du métier actuel du joueur local et son niveau de grade.
Custom.GetJob = function()
return { name = 'unemployed', grade = 0 }
endFramework.GetGender() → numberRenvoie le genre du joueur local. 0 = homme, 1 = femme.
Framework.GetGender = function()
-- Config.Framework == 'custom': implement here
endFramework.isPlayerLoaded() → booleanRenvoie true quand les données du joueur sont prêtes et chargées.
Framework.isPlayerLoaded = function()
return false
endCustom.Notify(text, type, length)Affiche une notification au joueur local.
Custom.Notify = function(text, type, length)
lib.notify({
description = text,
type = type, -- 'info' | 'success' | 'error'
duration = length,
})
endCustom.DrawText(text, key)Affiche une indication d’interaction avec text UI.
Custom.DrawText = function(text, key)
lib.showTextUI('[' .. key .. '] - ' .. text)
endCustom.HideText()Masque l’indication de text UI.
Custom.HideText = function()
lib.hideTextUI()
endCustom.CanOpenStore(storeId) → booleanDétermine si le joueur local peut ouvrir un magasin précis. Appelée avant l’ouverture de l’interface du magasin.
Custom.CanOpenStore = function(storeId)
-- Example: only allow police job to open store ID 1
-- if storeId == 1 then
-- return Custom.GetJob().name == 'police'
-- end
return true
endCustom.HideVisuals(state)Appelée lorsque le menu des vêtements s’ouvre (state = true) ou se ferme (state = false). Utilise-la pour masquer ou afficher ton HUD, ton radar, ta minimap, etc.
Custom.HideVisuals = function(state)
-- Example:
-- DisplayRadar(not state)
-- SendNUIMessage({ type = 'hud', visible = not state })
endCustom.GetIdentifier(source) → string | nilRenvoie l’identifiant unique d’un joueur côté serveur.
Custom.GetIdentifier = function(source)
-- Config.Framework == 'custom': implement here
return nil
endCustom.GetMoney(source, paymentMethod) → numberRenvoie le solde du joueur pour le moyen de paiement indiqué. Si le moyen est invalide, utilise Config.DefaultPaymentMethod.
Custom.GetMoney = function(source, paymentMethod)
return 0
endCustom.RemoveMoney(source, amount, paymentMethod)Débite de l’argent du compte du joueur.
Custom.RemoveMoney = function(source, amount, paymentMethod)
endCustom.GetJob(source) → { name, grade }Renvoie le métier et le grade actuels du joueur côté serveur.
Custom.GetJob = function(source)
return { name = 'unemployed', grade = 0 }
endCustom.GetGroup(source) → stringRenvoie le groupe de permissions du joueur (p. ex. 'admin', 'god').
Custom.GetGroup = function(source)
return 'user'
endCustom.GetGender(source) → number | stringRenvoie le genre du joueur côté serveur. 0 / 'm' = homme, 1 / 'f' = femme.
Custom.GetGender = function(source)
return 0
endCustom.HasPermission(source, group) → booleanVérifie si un joueur appartient à un groupe de permissions.
Custom.HasPermission = function(source, group)
return false
endCustom.IsAdmin(source) → booleanVérifie si un joueur est considéré comme administrateur d’après Config.Permissions. Parcourt la liste et appelle Custom.HasPermission pour chaque groupe. Si Config.Permissions est vide, tous les joueurs sont considérés comme administrateurs.
Custom.IsAdmin = function(src)
-- Default logic: checks each group in Config.Permissions
-- To override:
return false
end