Accueil › Documentation › Personnalisation · origen_garages

Personnalisation · origen_garages

Le dossier custom/ te permet d’intégrer n’importe quel framework, système de notifications, système de carburant ou synchronisation météo sans toucher au cœur. Tous les fichiers ici sont escrow_ignore : ils survivent aux mises à jour.

text
custom/
├── client/
│   ├── framework.lua  — player identifier, job, gang, loaded state
│   ├── keys.lua       — give vehicle keys on retrieval
│   ├── fuel.lua       — get/set fuel level
│   ├── notify.lua     — notifications and text UI
│   └── weather.lua    — disable/enable weather sync inside interiors
└── server/
    └── framework.lua  — player identifier, job, money, permissions, name

custom/server/framework.lua

Framework.GetPlayerIdentifier(source) → string | nil

Renvoie l’identifiant unique (citizenid / identifier) d’un joueur côté serveur.

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

Framework.GetPlayerJob(source) → { name, grade }

Renvoie le nom du métier et le grade d’un joueur.

lua
Framework.GetPlayerJob = function(source)
    -- returns { name = 'police', grade = 2 }
end

Framework.GetMoney(source) → number

Renvoie le solde du joueur pour Config.PaymentMethod.

lua
Framework.GetMoney = function(source)
    -- Config.PaymentMethod = 'bank' | 'cash'
end

Framework.RemoveMoney(source, account, amount) → boolean

Retire de l’argent du compte du joueur. Renvoie true en cas de succès.

lua
Framework.RemoveMoney = function(source, account, amount)
end

Framework.HasPermission(source, group) → boolean

Vérifie si un joueur appartient à un groupe de permissions. Utilisé par le panneau d’administration avec Config.Permissions.

lua
Framework.HasPermission = function(source, group)
end

Framework.GetPlayerName(source) → string

Renvoie le nom complet du joueur (prénom + nom).

lua
Framework.GetPlayerName = function(source)
end

custom/client/framework.lua

Framework.GetPlayerIdentifier() → string | nil

Renvoie l’identifiant unique du joueur local.

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

Framework.GetPlayerJob() → { name, grade }

Renvoie le métier actuel du joueur local.

lua
Framework.GetPlayerJob = function()
    return { name = 'unknown', grade = 0 }
end

Framework.GetPlayerGang() → { name, grade }

Renvoie le gang actuel du joueur local. Par défaut, renvoie unknown.

lua
Framework.GetPlayerGang = function()
    return { name = 'unknown', grade = 0 }
end

Framework.isPlayerLoaded() → boolean

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

lua
Framework.isPlayerLoaded = function()
    return false -- replace with your check
end

custom/client/keys.lua

Custom.GiveVehicleKeys(vehicle, plate)

Donne les clés du véhicule au joueur local après sa sortie. Implémente ici ton système de clés.

lua
Custom.GiveVehicleKeys = function(vehicle, plate)
    -- Example with qbx_vehiclekeys:
    -- exports['qbx_vehiclekeys']:GiveKeys(vehicle, true)
end

custom/client/fuel.lua

Custom.GetFuel / Custom.SetFuel

Par défaut, les deux valent false (désactivées : le carburant natif est utilisé). Assigne-leur des fonctions pour utiliser un système de carburant personnalisé :

lua
Custom.GetFuel = function(vehicle)
    return exports['fuel-system']:GetFuel(vehicle)
end
 
Custom.SetFuel = function(vehicle, fuelLevel)
    exports['fuel-system']:SetFuel(vehicle, fuelLevel)
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 aide d’interaction dans l’interface de texte.

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

Custom.HideText()

Masque l’aide d’interaction.

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

custom/client/weather.lua

Custom.DisableWeatherSync() / Custom.EnableWeatherSync()

Appelées quand le joueur entre dans un intérieur de garage ou en sort. Utilise-les pour mettre en pause ou relancer ta ressource de synchronisation météo afin qu’elle n’écrase pas la météo statique de l’intérieur.

lua
Custom.DisableWeatherSync = function()
    -- Example: TriggerEvent('your_weather:pause')
end
 
Custom.EnableWeatherSync = function()
    -- Example: TriggerEvent('your_weather:resume')
end