Accueil › Documentation › Personnalisation · origen_clothing

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.

text
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 check

custom/client/framework.lua

Custom.GetPlayerIdentifier() → string | nil

Renvoie l’identifiant unique du joueur local (citizenid / identifier).

lua
Custom.GetPlayerIdentifier = function()
    -- Config.Framework == 'custom': implement here
    return nil
end

Custom.GetJob() → { name, grade }

Renvoie le nom du métier actuel du joueur local et son niveau de grade.

lua
Custom.GetJob = function()
    return { name = 'unemployed', grade = 0 }
end

Framework.GetGender() → number

Renvoie le genre du joueur local. 0 = homme, 1 = femme.

lua
Framework.GetGender = function()
    -- Config.Framework == 'custom': implement here
end

Framework.isPlayerLoaded() → boolean

Renvoie true quand les données du joueur sont prêtes et chargées.

lua
Framework.isPlayerLoaded = function()
    return false
end

custom/client/notify.lua

Custom.Notify(text, type, length)

Affiche une notification au joueur local.

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

Custom.DrawText(text, key)

Affiche une indication d’interaction avec text UI.

lua
Custom.DrawText = function(text, key)
    lib.showTextUI('[' .. key .. '] - ' .. text)
end

Custom.HideText()

Masque l’indication de text UI.

lua
Custom.HideText = function()
    lib.hideTextUI()
end

custom/client/store.lua

Custom.CanOpenStore(storeId) → boolean

Détermine si le joueur local peut ouvrir un magasin précis. Appelée avant l’ouverture de l’interface du magasin.

lua
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
end

custom/client/visuals.lua

Custom.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.

lua
Custom.HideVisuals = function(state)
    -- Example:
    -- DisplayRadar(not state)
    -- SendNUIMessage({ type = 'hud', visible = not state })
end

custom/server/framework.lua

Custom.GetIdentifier(source) → string | nil

Renvoie l’identifiant unique d’un joueur côté serveur.

lua
Custom.GetIdentifier = function(source)
    -- Config.Framework == 'custom': implement here
    return nil
end

Custom.GetMoney(source, paymentMethod) → number

Renvoie le solde du joueur pour le moyen de paiement indiqué. Si le moyen est invalide, utilise Config.DefaultPaymentMethod.

lua
Custom.GetMoney = function(source, paymentMethod)
    return 0
end

Custom.RemoveMoney(source, amount, paymentMethod)

Débite de l’argent du compte du joueur.

lua
Custom.RemoveMoney = function(source, amount, paymentMethod)
end

Custom.GetJob(source) → { name, grade }

Renvoie le métier et le grade actuels du joueur côté serveur.

lua
Custom.GetJob = function(source)
    return { name = 'unemployed', grade = 0 }
end

Custom.GetGroup(source) → string

Renvoie le groupe de permissions du joueur (p. ex. 'admin', 'god').

lua
Custom.GetGroup = function(source)
    return 'user'
end

Custom.GetGender(source) → number | string

Renvoie le genre du joueur côté serveur. 0 / 'm' = homme, 1 / 'f' = femme.

lua
Custom.GetGender = function(source)
    return 0
end

Custom.HasPermission(source, group) → boolean

Vérifie si un joueur appartient à un groupe de permissions.

lua
Custom.HasPermission = function(source, group)
    return false
end

custom/server/permissions.lua

Custom.IsAdmin(source) → boolean

Vé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.

lua
Custom.IsAdmin = function(src)
    -- Default logic: checks each group in Config.Permissions
    -- To override:
    return false
end