Accueil › Documentation › Personnalisation · origen_pausemenu

Personnalisation · origen_pausemenu

Le dossier custom/ est open source et c’est l’endroit prévu pour adapter la ressource à ton framework et à la logique de ton serveur. Ces fichiers figurent dans escrow_ignore.

text
custom/
├── client.lua
└── server.lua

custom/client.lua

SendNUIData()

Appelée quand Config.CustomNUIData = true et que le joueur ouvre le menu. Surcharge cette fonction pour envoyer des données entièrement personnalisées à la NUI à la place de la charge par défaut.

La fonction doit appeler SendNUIMessage avec au moins la clé action = "OpenMenu". Tous les autres champs sont facultatifs et dépendent de ce qu’utilise ton modèle NUI.

lua
function SendNUIData()
    -- refresh player info if stale (>10 seconds old)
    if GetGameTimer() - lastInfoUpdated > 10000 then
        updateInfo()
    end
    pInfo = pInfo or {}
 
    SendNUIMessage({
        action       = "OpenMenu",
        usersOnline  = pInfo.usersOnline or 0,
        maxPlayers   = pInfo.maxPlayers or 32,
        name         = pInfo.name or "Loading...",
        job          = pInfo.job or "Loading...",
        cash         = pInfo.cash or 0,
        bank         = pInfo.money or 0,
        discord      = Config.Discord,
        website      = Config.Website,
        twitter      = Config.Twitter,
        instagram    = Config.Instagram,
        youtube      = Config.Youtube,
        PoliceAvailable = pInfo.PoliceAvailable and true or false,
        other        = Config.ExtraData,
    })
end

pInfo est alimenté par le callback serveur origen_pauseMenu:server:getInfo. Les variables lastInfoUpdated et updateInfo() sont définies dans client/main.lua : ne les redéfinis pas ici.


CanBeOpened() → boolean

Appelée chaque fois qu’un joueur tente d’ouvrir le menu pause. Renvoie false pour l’en empêcher.

L’implémentation par défaut lit l’indicateur interne canOpen, qui peut être activé ou désactivé depuis d’autres ressources via l’export SetCanOpen.

lua
local canOpen = true
 
function CanBeOpened()
    return canOpen
end
 
exports("SetCanOpen", function(value)
    canOpen = value
end)

custom/server.lua

getPolice() → number

Renvoie le nombre de joueurs actuellement en service dans l’un des métiers listés dans Config.PoliceJobs.

Si origen_police tourne, elle délègue à exports["origen_police"]:GetPlayersInDuty() pour un suivi précis du service. Sinon, elle se rabat sur la requête native du framework par métier.

lua
function getPolice()
    if Config.Framework == 'esx' or Config.Framework == 'newesx' then
        Police = ESX.GetExtendedPlayers("job", Config.PoliceJobs[1])
        if GetResourceState("origen_police") ~= "missing" then
            Police = exports["origen_police"]:GetPlayersInDuty(Config.PoliceJobs[1])
        end
    else
        Police = #(QBCore.Functions.GetPlayersOnDuty(Config.PoliceJobs[1]))
    end
    return Police
end

getOnlinePlayers() → number

Renvoie le nombre total de joueurs actuellement connectés au serveur.

lua
function getOnlinePlayers()
    if Config.Framework == 'esx' or Config.Framework == 'newesx' then
        playerCount = #(ESX.GetPlayers())
    else
        playerCount = #(QBCore.Functions.GetPlayers())
    end
    return playerCount
end