Accueil › Documentation › Personnalisation · origen_races

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.

text
custom/
├── client.lua  — notifications, fuel, keys, revive, weather
└── server.lua  — notifications, admin check, race join/leave hooks

custom/client.lua

HelpNotify(msg)

Appelée lorsque le joueur s’approche d’un point d’accès à l’arcade. Utilisée uniquement lorsque Config.CustomHelpNotify = true.

lua
function HelpNotify(msg)
    -- Default uses qb-core DrawText
    -- Replace with your own:
    -- lib.showTextUI('[E] - ' .. msg)
end

ShowNotify(msg)

Affiche une notification au joueur local. Utilise le framework défini dans Config.Framework.

lua
function ShowNotify(msg)
    -- 'qb'  → QBCore.Functions.Notify(msg, 'success')
    -- 'esx' → ESX.ShowNotification(msg)
    -- custom: implement here
end

SetFuel(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.

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

giveCarKey(plate)

Donne au joueur les clés de son véhicule de course. Implémente ici ton système de clés.

lua
function giveCarKey(plate)
    TriggerEvent("vehiclekeys:client:SetOwner", plate)
    -- Replace with your key system:
    -- exports['qbx_vehiclekeys']:GiveKeys(vehicle, true)
end

leaveRace()

Appelée lorsque le joueur local quitte une course. Comportement par défaut : supprime le véhicule de course.

lua
function leaveRace()
    SetEntityInvincible(PlayerPedId(), false)
    local vehicle = GetVehiclePedIsIn(PlayerPedId(), true)
    if vehicle ~= 0 then
        DeleteVehicle(vehicle)
    end
end

revivePlayer()

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.

lua
function revivePlayer()
    -- Example:
    -- TriggerEvent('hospital:client:Revive')
end

disableWeather() / enableWeather()

Appelées à l’entrée et à la sortie d’une course pour suspendre/reprendre ta ressource de synchronisation météo.

lua
function disableWeather()
    -- TriggerEvent('your_weather:pause')
end
 
function enableWeather()
    -- TriggerEvent('your_weather:resume')
end

custom/server.lua

utils.Notify(src, msg)

Envoie une notification à un joueur côté serveur.

lua
utils.Notify = function(src, msg)
    -- 'qb'  → TriggerClientEvent("QBCore:Notify", src, msg)
    -- 'esx' → TriggerClientEvent("esx:showNotification", src, msg)
    -- custom: implement here
end

IsPlayerAdmin(source) → boolean

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

lua
function IsPlayerAdmin(source)
    -- Default: validates Config.GroupPermissions
    -- via IsPlayerAceAllowed and framework group checks
    return false
end

joinRace(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).

lua
function joinRace(src)
    -- src = server ID of the player who joined
end

leaveRace(src)

Hook appelé lorsqu’un joueur quitte une session de course.

lua
function leaveRace(src)
    -- src = server ID of the player who left
end