Accueil › Documentation › 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.
custom/
├── client.lua
└── server.luanotify(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 :
function notify(msg, type)
-- type = 'inform' or 'error' or 'success'
lib.notify({
title = locale('notify.title'),
description = msg,
duration = 7000,
position = 'top',
type = type
})
endExemple : avec une ressource de notifications personnalisée :
function notify(msg, type)
TriggerEvent('myNotify:send', msg, type)
endCes é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:onPlayerEnterZoneDéclenché côté client lorsque le joueur local entre dans une zone.
RegisterNetEvent('origen_zones:client:onPlayerEnterZone', function(zoneName)
-- zoneName: internal name of the zone entered
debugPrint('Entered zone ' .. zoneName)
end)origen_zones:client:onPlayerExitZoneDéclenché côté client lorsque le joueur local sort d’une zone.
RegisterNetEvent('origen_zones:client:onPlayerExitZone', function(zoneName)
-- zoneName: internal name of the zone exited
debugPrint('Exited zone ' .. zoneName)
end)isPlayerStaff(src) → booleanRenvoie 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 :
function isPlayerStaff(src)
-- Custom override: check against your own system
return exports['my_permissions']:IsAdmin(src)
endgetPlayerJobName(src) → stringRenvoie 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) → booleanRenvoie 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 :
options.whitelistStaff == true et isPlayerStaff(src) renvoie trueoptions.whitelistJobsLes joueurs sur liste blanche contournent les règles appliquées mais restent physiquement dans la zone. L’export playerInZone() renvoie toujours true pour eux.