Accueil › Documentation › Personnalisation · origen_races
Le dossier custom/ te permet d’intégrer ton framework, le système de carburant, le système de clés et les événements du jeu sans toucher au cœur. Les deux fichiers sont escrow_ignore : ils survivent aux mises à jour.
custom/
├── client.lua — notifications, fuel, keys, revive, weather
└── server.lua — notifications, admin check, race join/leave hooksHelpNotify(msg)Appelée lorsque le joueur s’approche d’un point d’accès à l’arcade. Utilisée uniquement lorsque Config.CustomHelpNotify = true.
function HelpNotify(msg)
-- Default uses qb-core DrawText
-- Replace with your own:
-- lib.showTextUI('[E] - ' .. msg)
endShowNotify(msg)Affiche une notification au joueur local. Utilise le framework défini dans Config.Framework.
function ShowNotify(msg)
-- 'qb' → QBCore.Functions.Notify(msg, 'success')
-- 'esx' → ESX.ShowNotification(msg)
-- custom: implement here
endSetFuel(vehicle, fuel)Définit le niveau de carburant d’un véhicule de course. Appelée après la génération du véhicule de course du joueur.
function SetFuel(vehicle, fuel)
if Config.Fuel == 'LegacyFuel' then
exports['LegacyFuel']:SetFuel(vehicle, fuel)
end
-- Add your fuel system here:
-- exports['ox_fuel']:SetFuel(vehicle, fuel)
endgiveCarKey(plate)Donne au joueur les clés de son véhicule de course. Implémente ici ton système de clés.
function giveCarKey(plate)
TriggerEvent("vehiclekeys:client:SetOwner", plate)
-- Replace with your key system:
-- exports['qbx_vehiclekeys']:GiveKeys(vehicle, true)
endleaveRace()Appelée lorsque le joueur local quitte une course. Comportement par défaut : supprime le véhicule de course.
function leaveRace()
SetEntityInvincible(PlayerPedId(), false)
local vehicle = GetVehiclePedIsIn(PlayerPedId(), true)
if vehicle ~= 0 then
DeleteVehicle(vehicle)
end
endrevivePlayer()Appelée lorsqu’un joueur doit être réanimé en pleine course (p. ex. après un accident). Implémente ici ta logique d’ambulance/réanimation.
function revivePlayer()
-- Example:
-- TriggerEvent('hospital:client:Revive')
enddisableWeather() / enableWeather()Appelées à l’entrée et à la sortie d’une course pour suspendre/reprendre ta ressource de synchronisation météo.
function disableWeather()
-- TriggerEvent('your_weather:pause')
end
function enableWeather()
-- TriggerEvent('your_weather:resume')
endutils.Notify(src, msg)Envoie une notification à un joueur côté serveur.
utils.Notify = function(src, msg)
-- 'qb' → TriggerClientEvent("QBCore:Notify", src, msg)
-- 'esx' → TriggerClientEvent("esx:showNotification", src, msg)
-- custom: implement here
endIsPlayerAdmin(source) → booleanVérifie si un joueur a un accès administrateur d’après Config.GroupPermissions. La validation se fait via les groupes du framework et les permissions ACE de FiveM.
function IsPlayerAdmin(source)
-- Default: validates Config.GroupPermissions
-- via IsPlayerAceAllowed and framework group checks
return false
endjoinRace(src)Hook appelé lorsqu’un joueur rejoint avec succès une session de course. Implémente ici ta logique personnalisée (p. ex. journalisation, suivi des statistiques).
function joinRace(src)
-- src = server ID of the player who joined
endleaveRace(src)Hook appelé lorsqu’un joueur quitte une session de course.
function leaveRace(src)
-- src = server ID of the player who left
end