Accueil › Documentation › 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.
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, nameFramework.GetPlayerIdentifier(source) → string | nilRenvoie l’identifiant unique (citizenid / identifier) d’un joueur côté serveur.
Framework.GetPlayerIdentifier = function(source)
-- Config.Framework == 'custom': implement here
endFramework.GetPlayerJob(source) → { name, grade }Renvoie le nom du métier et le grade d’un joueur.
Framework.GetPlayerJob = function(source)
-- returns { name = 'police', grade = 2 }
endFramework.GetMoney(source) → numberRenvoie le solde du joueur pour Config.PaymentMethod.
Framework.GetMoney = function(source)
-- Config.PaymentMethod = 'bank' | 'cash'
endFramework.RemoveMoney(source, account, amount) → booleanRetire de l’argent du compte du joueur. Renvoie true en cas de succès.
Framework.RemoveMoney = function(source, account, amount)
endFramework.HasPermission(source, group) → booleanVérifie si un joueur appartient à un groupe de permissions. Utilisé par le panneau d’administration avec Config.Permissions.
Framework.HasPermission = function(source, group)
endFramework.GetPlayerName(source) → stringRenvoie le nom complet du joueur (prénom + nom).
Framework.GetPlayerName = function(source)
endFramework.GetPlayerIdentifier() → string | nilRenvoie l’identifiant unique du joueur local.
Framework.GetPlayerIdentifier = function()
-- Config.Framework == 'custom': implement here
endFramework.GetPlayerJob() → { name, grade }Renvoie le métier actuel du joueur local.
Framework.GetPlayerJob = function()
return { name = 'unknown', grade = 0 }
endFramework.GetPlayerGang() → { name, grade }Renvoie le gang actuel du joueur local. Par défaut, renvoie unknown.
Framework.GetPlayerGang = function()
return { name = 'unknown', grade = 0 }
endFramework.isPlayerLoaded() → booleanRenvoie true quand les données du joueur sont prêtes et chargées.
Framework.isPlayerLoaded = function()
return false -- replace with your check
endCustom.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.
Custom.GiveVehicleKeys = function(vehicle, plate)
-- Example with qbx_vehiclekeys:
-- exports['qbx_vehiclekeys']:GiveKeys(vehicle, true)
endCustom.GetFuel / Custom.SetFuelPar 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é :
Custom.GetFuel = function(vehicle)
return exports['fuel-system']:GetFuel(vehicle)
end
Custom.SetFuel = function(vehicle, fuelLevel)
exports['fuel-system']:SetFuel(vehicle, fuelLevel)
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 aide d’interaction dans l’interface de texte.
Custom.DrawText = function(text, key)
lib.showTextUI('[' .. key .. '] - ' .. text)
endCustom.HideText()Masque l’aide d’interaction.
Custom.HideText = function()
lib.hideTextUI()
endCustom.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.
Custom.DisableWeatherSync = function()
-- Example: TriggerEvent('your_weather:pause')
end
Custom.EnableWeatherSync = function()
-- Example: TriggerEvent('your_weather:resume')
end