Accueil › Documentation › Personnalisation · origen_zones

Personnalisation · origen_zones

Le dossier custom/ contient des fichiers ouverts, exclus de l’escrow. Modifie-les pour adapter la ressource à ton framework, à ton système de notifications et à ta logique de contrôle d’accès.

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

custom/client.lua

notify(msg, type)

Envoie une notification au joueur local. Appelée en interne lorsque le serveur déclenche un événement de notification.

Paramètre Type Description
msg string Corps du message de la notification
type string Type de notification : 'inform' | 'error' | 'success'

L’implémentation par défaut utilise lib.notify d’ox_lib. Remplace le corps pour utiliser ton propre système de notifications :

lua
function notify(msg, type)
    -- type = 'inform' or 'error' or 'success'
    lib.notify({
        title       = locale('notify.title'),
        description = msg,
        duration    = 7000,
        position    = 'top',
        type        = type
    })
end

Exemple : avec une ressource de notifications personnalisée :

lua
function notify(msg, type)
    TriggerEvent('myNotify:send', msg, type)
end

Hooks d’entrée et de sortie de zone

Ces événements réseau se déclenchent chaque fois qu’un joueur entre dans une zone ou en sort. Utilise-les pour ajouter ta propre logique liée aux transitions de zone.

origen_zones:client:onPlayerEnterZone

Déclenché côté client lorsque le joueur local entre dans une zone.

lua
RegisterNetEvent('origen_zones:client:onPlayerEnterZone', function(zoneName)
    -- zoneName: internal name of the zone entered
    debugPrint('Entered zone ' .. zoneName)
end)

origen_zones:client:onPlayerExitZone

Déclenché côté client lorsque le joueur local sort d’une zone.

lua
RegisterNetEvent('origen_zones:client:onPlayerExitZone', function(zoneName)
    -- zoneName: internal name of the zone exited
    debugPrint('Exited zone ' .. zoneName)
end)

custom/server.lua

isPlayerStaff(src) → boolean

Renvoie true si le joueur est considéré comme staff. Sert à contrôler l’accès au panneau d’administration et aux commandes de gestion des zones.

Vérifie par rapport à Config.GroupPermissions en utilisant à la fois les groupes du framework et les permissions Ace de FiveM.

Paramètre Type Description
src number ID serveur du joueur

Exemple : ajouter une vérification de staff personnalisée :

lua
function isPlayerStaff(src)
    -- Custom override: check against your own system
    return exports['my_permissions']:IsAdmin(src)
end

getPlayerJobName(src) → string

Renvoie le nom du métier du joueur en minuscules. Renvoie une chaîne vide '' si le métier n’a pas pu être récupéré.

Utilisée en interne par isPlayerWhitelistedForZone pour comparer avec l’option whitelistJobs de la zone.

Paramètre Type Description
src number ID serveur du joueur

isPlayerWhitelistedForZone(src, options) → boolean

Renvoie true si le joueur est sur la liste blanche d’une zone donnée, ce qui lui permet de contourner les règles appliquées (prévention des dégâts, désarmement, limite de vitesse, etc.).

Paramètre Type Description
src number ID serveur du joueur
options table Table d’options de la zone (issue de la définition de la zone)

L’accès à la liste blanche est accordé lorsque au moins une des conditions suivantes est remplie :

Les joueurs sur liste blanche contournent les règles appliquées mais restent physiquement dans la zone. L’export playerInZone() renvoie toujours true pour eux.