Agency Docs

Partenaires dev

S'intégrer aux scripts Agency

Vous développez votre propre script FiveM et voulez le relier aux nôtres ? Chaque export et chaque événement public est listé ici, avec un extrait Lua à copier.

Les exports permettent à votre script d'appeler une fonction dans le nôtre : exports['script-name']:FunctionName(args), côté client comme côté serveur. Les événements font l'inverse : déclenchés avec TriggerEvent ou TriggerServerEvent, écoutés avec RegisterNetEvent.

01Agency-Phone

Téléphone multi-framework complet avec SMS, appels, fil social, mail, caméra, wallet et paiement AgencyPay.

À utiliser dans tout script de shop/braquage/job pour un flux de paiement propre dans le téléphone au lieu de débiter l'argent directement. Idéal aussi pour les notifications en jeu avec accept/deny (p. ex. demandes de taxi, appels dispatch).

Documentation complète

Exports client

IsPhoneOpen()

Renvoie true si l'UI du téléphone est actuellement ouverte.

Voir l'exemple

Ignore l'ouverture d'un menu si le téléphone est déjà affiché.

RegisterCommand('openmymenu', function() if exports['agency-phone']:IsPhoneOpen() then return end TriggerEvent('myresource:openMenu') end)
IsPhonePoweredOn()

Renvoie true si le téléphone est allumé.

Voir l'exemple

Met en pause la synchro tant que le téléphone est éteint par le joueur.

CreateThread(function() while true do Wait(2000) if not exports['agency-phone']:IsPhonePoweredOn() then print('Phone off, pausing background sync') end end end)
GetPhoneData()

Renvoie la table brute des données du téléphone.

Voir l'exemple

Affiche toute la table de données du téléphone pour le debug.

RegisterCommand('phonedebug', function() local data = exports['agency-phone']:GetPhoneData() print(json.encode(data, { indent = true })) end)
GetPhonePropEntity()

Renvoie le handle de l'entité du prop de téléphone tenu, ou 0 si invisible.

Voir l'exemple

Masque brièvement l'entité du téléphone sans toucher à la logique.

CreateThread(function() Wait(500) local prop = exports['agency-phone']:GetPhonePropEntity() if prop ~= 0 and DoesEntityExist(prop) then SetEntityVisible(prop, false, false) end end)
IsPhoneExpanded()

Renvoie true si le téléphone est agrandi à l'écran.

Voir l'exemple

Ancien alias qui bloque un mini-jeu tant que le téléphone est ouvert.

AddEventHandler('myresource:beforeMinigame', function() if exports['agency-phone']:IsPhoneExpanded() then TriggerEvent('chat:addMessage', { args = { 'Close phone first' } }) return end end)
HasCarrierContract()

Renvoie true si le joueur dispose d'un data plan opérateur actif.

Voir l'exemple

Avertit le joueur quand aucun forfait data n'est actif.

RegisterCommand('checkdata', function() if not exports['agency-phone']:HasCarrierContract() then TriggerEvent('chat:addMessage', { args = { 'No data plan, buy one in the store app' } }) end end)
GetPhoneState()

Renvoie l'objet complet de l'état du téléphone.

Voir l'exemple

Met l'état du téléphone en cache seulement si ouvert, allumé et synchronisé.

AddEventHandler('myresource:saveProfile', function() local state = exports['agency-phone']:GetPhoneState() if state.isOpen and state.poweredOn and state.syncEnabled then TriggerServerEvent('myresource:server:cachePhoneState', state) end end)
HasPhone()

Renvoie true si le joueur possède un item téléphone.

Voir l'exemple

Bloque la commande d'appel d'urgence sans téléphone dans l'inventaire.

RegisterCommand('callemergency', function() if not exports['agency-phone']:HasPhone() then TriggerEvent('chat:addMessage', { args = { 'You need a phone first' } }) return end TriggerEvent('myresource:client:openEmergency') end)
RegisterAgencyPayPoint(id, data)

Enregistre un terminal marchand AgencyPay récurrent.

Voir l'exemple

Crée un terminal Agency Pay au runtime pour la caisse du garage.

CreateThread(function() exports['agency-phone']:RegisterAgencyPayPoint('mechanic_main', { coords = vector3(-211.74, -1314.59, 31.29), label = 'Mechanic Pay Point', amount = 250, receiver = 'mechanic' }) end)
RemoveAgencyPayPoint(id)

Supprime un terminal AgencyPay précédemment enregistré.

Voir l'exemple

Retire le point de paiement enregistré quand la boutique ferme.

AddEventHandler('myresource:onShopClosed', function(shopId) exports['agency-phone']:RemoveAgencyPayPoint('mechanic_main') print('Removed pay point for shop ' .. shopId) end)
StartAgencyPayCheckout(data)

Ouvre la fiche de paiement AgencyPay pour un paiement carte sécurisé.

Voir l'exemple

Ouvre le téléphone et lance un petit paiement de pourboire Agency Pay.

RegisterCommand('paytip', function() exports['agency-phone']:StartAgencyPayCheckout({ amount = 25, receiver = 'staff_tip_jar', label = 'Staff tip', memo = 'Thanks for great service' }) end)
StartCall(contactData)

Démarre un appel pma-voice à partir d'une table de contact.

Voir l'exemple

Lance un appel sortant au contact reçu par dispatch.

RegisterNetEvent('myresource:client:incomingDispatch', function(payload) exports['agency-phone']:StartCall({ name = payload.callerName or 'Dispatch', number = payload.callerNumber or '911', anonymous = false }) end)
PhoneNotification(title, text, icon, color, timeout, acceptIcon, denyIcon)

Affiche une notification téléphone avec boutons accept/deny optionnels.

Voir l'exemple

Affiche une notif bloquante d'acceptation/refus pour un contrat de remorquage.

CreateThread(function() local accepted = exports['agency-phone']:PhoneNotification( 'Tow request', 'Accept the contract?', 'truck', '#FF8800', 15000, 'check', 'x' ) if accepted then TriggerServerEvent('myresource:server:acceptTow') end end)

Exports serveur

SendMail(identifier, mailData)

Envoie un mail à un joueur (en ligne ou hors ligne).

Voir l'exemple

Envoie un mail de reçu à un joueur via son identifiant principal.

RegisterNetEvent('myresource:server:sendReceipt', function(targetId) local identifier = GetPlayerIdentifier(targetId, 0) exports['agency-phone']:SendMail(identifier, { sender = '[email protected]', subject = 'Your receipt', body = 'Thanks for your purchase!' }) end)
AddChirp(chirpData)

Publie un message dans le feed Pulse (chirper).

Voir l'exemple

Publie une annonce de prime sur Chirper côté serveur.

RegisterNetEvent('myresource:server:postBounty', function(targetName) local src = source exports['agency-phone']:AddChirp({ identifier = GetPlayerIdentifier(src, 0), firstName = 'Bounty', lastName = 'Office', message = 'Wanted: ' .. targetName, postId = ('bounty_%s'):format(GetGameTimer()) }) end)
usePhone(event, item, inventory, slot, data)

Hook ox_inventory enregistré quand ESX+ox_inventory est détecté ; ouvre le phone pour le porteur.

Voir l'exemple

S'accroche à usingItem d'ox_inventory pour ouvrir le téléphone.

exports.ox_inventory:registerHook('usingItem', function(payload) if payload.item.name ~= 'phone' then return end return exports['agency-phone']:usePhone('inventory', payload.item, payload.inventory, payload.slot) end, { itemFilter = { phone = true } })

Événements

agency-phone:client:notify

Affiche une notification phone (title, text, icon, color, timeout, silent).

Voir l'exemple

Envoie un toast non bloquant : le véhicule est prêt.

TriggerEvent('agency-phone:client:notify', 'Heads up', 'Vehicle ready for pickup', 'car', '#22cc88', 5000, false)
agency-phone:client:usePhoneItem

Déclenche l'ouverture du phone quand l'item d'inventaire phone est utilisé.

Voir l'exemple

Transmet un event d'utilisation d'item à l'ouverture du téléphone.

AddEventHandler('myresource:client:onItemUsed', function(itemName) if itemName == 'phone' then TriggerEvent('agency-phone:client:usePhoneItem') end end)
agency-phone:client:openApp

Demande au phone de naviguer vers une app personnalisée par id (utilisé par les modules d'apps).

Voir l'exemple

Ouvre directement l'app bancaire personnalisée via son id.

RegisterCommand('openbank', function() TriggerEvent('agency-phone:client:openApp', 'banking') end)
agency-phone:client:newMailNotify

Notifie le client d'un mail fraîchement reçu.

Voir l'exemple

Écoute les notifs de nouveau mail et les log pour le debug.

AddEventHandler('agency-phone:client:newMailNotify', function(mail) print(('New mail from %s: %s'):format(mail.sender, mail.subject)) end)
agency-phone:server:requestPhoneData

Demande une synchronisation fraîche des données phone pour le joueur appelant.

Voir l'exemple

Demande au serveur une nouvelle synchro complète des données du téléphone.

RegisterCommand('refreshphone', function() TriggerServerEvent('agency-phone:server:requestPhoneData') end)
agency-phone:server:cancelCall

Annule ou termine un appel actif.

Voir l'exemple

Raccroche l'appel actif via une touche ou commande chat personnalisée.

RegisterCommand('hangup', function() TriggerServerEvent('agency-phone:server:cancelCall') end)
agency-phone:server:sendMessage

Envoie un SMS (newMsg, targetNumber).

Voir l'exemple

Envoie rapidement un SMS à un numéro cible depuis le chat.

RegisterCommand('quicksms', function(_, args) local target, msg = args[1], table.concat(args, ' ', 2) TriggerServerEvent('agency-phone:server:sendMessage', { message = msg }, target) end)
agency-phone:server:saveSetting

Persiste une seule paire clé/valeur de réglage phone pour le joueur.

Voir l'exemple

Sauvegarde un paramètre du téléphone dès que le joueur le change.

AddEventHandler('myresource:client:onSettingChanged', function(key, value) TriggerServerEvent('agency-phone:server:saveSetting', key, value) end)
agency-phone:server:airdropPay

Effectue un transfert Agency Airdrop vers un joueur proche.

Voir l'exemple

Déclenche un Agency Airdrop vers les joueurs proches avec le montant saisi.

RegisterCommand('airdrop', function(_, args) local amount = tonumber(args[1]) or 0 TriggerServerEvent('agency-phone:server:airdropPay', amount, 'Tip via airdrop') end)
agency-phone:server:buyDataPlan

Achète un data plan opérateur pour le joueur (price, planName).

Voir l'exemple

Achète un forfait data quand le joueur le sélectionne dans un menu custom.

AddEventHandler('myresource:client:onPlanSelected', function(plan) TriggerServerEvent('agency-phone:server:buyDataPlan', plan.price, plan.name) end)
agency-phone:dispatch:create

Crée un dispatch phone à partir d'un appel/SMS d'urgence.

Voir l'exemple

Crée une entrée dispatch téléphone à partir d'un appel d'urgence entrant.

RegisterNetEvent('myresource:server:dispatchFromCall', function(payload) TriggerEvent('agency-phone:dispatch:create', { source = source, coords = payload.coords, type = 'robbery', title = '24/7 Robbery' }) end)

02Agency-Pad

Tablette AgencyOS avec un écosystème d'apps complet. Enregistre tes propres apps via config.lua.

Parfait pour les dashboards admin, les apps de gestion d'entreprise, les cartes de territoire de gang ou toute UI custom dont tes joueurs ont besoin dans GTA, le tout dans un beau shell de tablette sans travail supplémentaire.

Documentation complète

Exports client

IsPadOpen()

Renvoie true si l'UI de la tablette est ouverte (vérifier l'état de la tablette avant d'afficher des UI).

Voir l'exemple

Évite de rouvrir l'UI tablette si la tablette est déjà ouverte.

RegisterCommand('opentablet', function() if exports['agency-pad']:IsPadOpen() then return end TriggerEvent('myresource:openTablet') end)
IsPadPoweredOn()

Renvoie true si la tablette est allumée.

Voir l'exemple

Met en pause le polling de la flotte si la tablette est éteinte.

CreateThread(function() while true do Wait(3000) if not exports['agency-pad']:IsPadPoweredOn() then print('Tablet powered down, pausing fleet poll') end end end)
GetPadData()

Renvoie la table PadData côté client complète.

Voir l'exemple

Affiche toute la table de données tablette côté client.

RegisterCommand('paddebug', function() local data = exports['agency-pad']:GetPadData() print(json.encode(data, { indent = true })) end)
GetPadPropEntity()

Renvoie le handle de l'entité du prop tablette tenu, ou 0 si invisible.

Voir l'exemple

Masque brièvement le prop tablette pendant une cinématique personnalisée.

CreateThread(function() Wait(750) local prop = exports['agency-pad']:GetPadPropEntity() if prop ~= 0 and DoesEntityExist(prop) then SetEntityVisible(prop, false, false) end end)
IsPadExpanded()

Alias de IsPadOpen() conservé pour la compatibilité ascendante.

Voir l'exemple

Ancien alias qui bloque un mini-jeu tant que la tablette est ouverte.

AddEventHandler('myresource:client:beforeMinigame', function() if exports['agency-pad']:IsPadExpanded() then return end TriggerEvent('myresource:client:startMinigame') end)
HasCarrierContract()

Renvoie true si le joueur a un data plan opérateur actif sur la tablette.

Voir l'exemple

Avertit le joueur si aucun forfait data n'est actif sur la tablette.

RegisterCommand('checkpaddata', function() if not exports['agency-pad']:HasCarrierContract() then TriggerEvent('chat:addMessage', { args = { 'No tablet data plan, buy one in Settings' } }) end end)
GetPadState()

Renvoie la table { isOpen, poweredOn, syncEnabled } résumant l'état actuel de la tablette.

Voir l'exemple

Met l'état tablette en cache uniquement si ouverte et allumée.

AddEventHandler('myresource:saveSession', function() local state = exports['agency-pad']:GetPadState() if state.isOpen and state.poweredOn then TriggerServerEvent('myresource:server:cachePadState', state) end end)
HasPad()

Renvoie true si le joueur possède l'item tablette configuré dans son inventaire.

Voir l'exemple

Bloque la commande UI dispatch sans tablette dans l'inventaire.

RegisterCommand('opendispatch', function() if not exports['agency-pad']:HasPad() then TriggerEvent('chat:addMessage', { args = { 'You need a tablet first' } }) return end TriggerEvent('myresource:client:openDispatch') end)
RegisterAgencyPayPoint(id, data)

Enregistre un terminal Agency Pay au runtime à des coordonnées (markers, blip, checkout payload).

Voir l'exemple

Crée un terminal Agency Pay au runtime dans le hall de l'hôpital.

CreateThread(function() exports['agency-pad']:RegisterAgencyPayPoint('hospital_lobby', { coords = vector3(307.7, -1433.4, 30.0), label = 'Hospital Bill', amount = 500, receiver = 'medical' }) end)
RemoveAgencyPayPoint(id)

Supprime un terminal Agency Pay précédemment enregistré par id.

Voir l'exemple

Retire un point de paiement tablette quand son lieu ferme.

AddEventHandler('myresource:onLocationClosed', function(locationId) exports['agency-pad']:RemoveAgencyPayPoint(locationId) end)
StartAgencyPayCheckout(data)

Ouvre la tablette (si besoin) et lance un checkout Agency Pay avec le payload de paiement fourni.

Voir l'exemple

Ouvre la tablette et lance un paiement Agency Pay pour la taxe foncière.

RegisterCommand('paybill', function() exports['agency-pad']:StartAgencyPayCheckout({ amount = 1500, receiver = 'gov_taxes', label = 'Property tax', memo = 'Quarterly tax' }) end)
StartCall(contactData)

Démarre un appel sortant tablette vers le contact fourni ({ name, number, ... }).

Voir l'exemple

Lance un appel sortant sur la tablette à la réception d'un dispatch.

RegisterNetEvent('myresource:client:dispatchOnTablet', function(payload) exports['agency-pad']:StartCall({ name = payload.name or 'Field Agent', number = payload.number, anonymous = false }) end)
PhoneNotification(title, text, icon, color, timeout, acceptIcon, denyIcon)

Affiche une notification d'action avec boutons accept/deny ; bloque jusqu'à la réponse et renvoie true/false.

Voir l'exemple

Affiche une notif tablette bloquante d'accept/refus pour une livraison.

CreateThread(function() local accepted = exports['agency-pad']:PhoneNotification( 'Mission ready', 'Start the delivery now?', 'box', '#3399ff', 12000, 'check', 'x' ) if accepted then TriggerServerEvent('myresource:server:startDelivery') end end)

Exports serveur

SendMail(identifier, mailData)

Envoie un mail à la boîte principale du joueur via identifier (renvoie le succès).

Voir l'exemple

Envoie un mail de notification de facture via l'identifiant du joueur.

RegisterNetEvent('myresource:server:sendInvoiceMail', function(targetId) local identifier = GetPlayerIdentifier(targetId, 0) exports['agency-pad']:SendMail(identifier, { sender = '[email protected]', subject = 'New invoice available', body = 'Open the tablet to review your invoice.' }) end)
usePad(event, item, inventory, slot, data)

Hook ox_inventory enregistré quand ESX+ox_inventory est détecté ; ouvre la tablette pour le porteur.

Voir l'exemple

S'accroche à ox_inventory pour ouvrir la tablette via le helper.

exports.ox_inventory:registerHook('usingItem', function(payload) if payload.item.name ~= 'tablet' then return end return exports['agency-pad']:usePad('inventory', payload.item, payload.inventory, payload.slot) end, { itemFilter = { tablet = true } })
usePhone(event, item, inventory, slot, data)

Hook ox_inventory pour l'id legacy de l'item phone ; ouvre la tablette pour le porteur.

Voir l'exemple

Redirige l'ancien item phone pour ouvrir l'UI tablette à la place.

exports.ox_inventory:registerHook('usingItem', function(payload) if payload.item.name ~= 'phone' then return end return exports['agency-pad']:usePhone('inventory', payload.item, payload.inventory, payload.slot) end, { itemFilter = { phone = true } })

Événements

agency-pad:client:notify

Affiche une notification tablette (title, text, icon, color, timeout, silent).

Voir l'exemple

Affiche un toast tablette non bloquant pour une mission débloquée.

TriggerEvent('agency-pad:client:notify', 'Job update', 'New mission unlocked', 'briefcase', '#22cc88', 5000, false)
agency-pad:client:usePadItem

Ouvre la tablette quand l'item d'inventaire est utilisé.

Voir l'exemple

Transmet un event d'utilisation d'item à l'ouverture de la tablette.

AddEventHandler('myresource:client:onItemUsed', function(itemName) if itemName == 'tablet' then TriggerEvent('agency-pad:client:usePadItem') end end)
agency-pad:client:openApp

À déclencher côté client pour ouvrir une app spécifique dans la tablette.

Voir l'exemple

Ouvre directement l'app de gestion de flotte personnalisée.

RegisterCommand('openfleet', function() TriggerEvent('agency-pad:client:openApp', 'fleet') end)
agency-pad:client:newMailNotify

Notifie le client d'un mail fraîchement reçu.

Voir l'exemple

Écoute les notifs de nouveau mail tablette et les log localement.

AddEventHandler('agency-pad:client:newMailNotify', function(mail) print(('Tablet mail from %s: %s'):format(mail.sender, mail.subject)) end)
agency-pad:client:hourlyPaycheck

Notifie le client d'un événement de paye business horaire.

Voir l'exemple

Réagit à un paycheck horaire d'entreprise déclenché par la tablette.

AddEventHandler('agency-pad:client:hourlyPaycheck', function(payload) print(('Hourly paycheck: $%s from %s'):format(payload.amount, payload.businessName)) end)
agency-pad:server:requestPadData

Demande une synchronisation fraîche des données tablette pour le joueur appelant.

Voir l'exemple

Demande au serveur une nouvelle synchro complète des données tablette.

RegisterCommand('refreshpad', function() TriggerServerEvent('agency-pad:server:requestPadData') end)
agency-pad:server:sendMessage

Envoie un SMS (newMsg, targetNumber).

Voir l'exemple

Envoie un SMS depuis la tablette via une commande et un numéro cible.

RegisterCommand('quicksmsTab', function(_, args) local target, msg = args[1], table.concat(args, ' ', 2) TriggerServerEvent('agency-pad:server:sendMessage', { message = msg }, target) end)
agency-pad:server:airdropPay

Effectue un transfert Agency Airdrop vers un joueur proche.

Voir l'exemple

Déclenche un Agency Airdrop vers les joueurs proches via la tablette.

RegisterCommand('airdroppad', function(_, args) local amount = tonumber(args[1]) or 0 TriggerServerEvent('agency-pad:server:airdropPay', amount, 'Tablet airdrop') end)
agency-pad:server:buyDataPlan

Achète un data plan opérateur pour le joueur.

Voir l'exemple

Achète un forfait data tablette quand le joueur le choisit dans un UI custom.

AddEventHandler('myresource:client:padPlanSelected', function(plan) TriggerServerEvent('agency-pad:server:buyDataPlan', plan.price, plan.name) end)
agency-pad:dispatch:create

Crée un dispatch tablette à partir d'un appel/SMS d'urgence.

Voir l'exemple

Crée une entrée dispatch tablette à partir d'un appel d'urgence entrant.

RegisterNetEvent('myresource:server:padDispatchFromCall', function(payload) TriggerEvent('agency-pad:dispatch:create', { source = source, coords = payload.coords, type = 'medical', title = 'Medical assistance' }) end)
agency-pad:server:biz:create

Crée un nouveau business/organisation pour le joueur.

Voir l'exemple

Crée une nouvelle entreprise via une commande in-game personnalisée.

RegisterCommand('startbiz', function() TriggerServerEvent('agency-pad:server:biz:create', { name = 'Bennys Repair', type = 'mechanic', location = 'sandy_shores' }) end)
agency-pad:server:biz:adminCreate

L'admin crée un business pour le compte d'un autre joueur.

Voir l'exemple

Transmet une commande admin pour créer une entreprise pour un autre joueur.

RegisterNetEvent('myresource:server:adminCreateBiz', function(targetSrc, payload) TriggerEvent('agency-pad:server:biz:adminCreate', targetSrc, payload) end)
agency-pad:server:biz:startMission

Lance une mission business configurée pour le joueur.

Voir l'exemple

Lance une mission d'entreprise configurée pour le joueur appelant.

RegisterCommand('bizmission', function() TriggerServerEvent('agency-pad:server:biz:startMission', { bizId = 12, missionId = 'delivery_route_a' }) end)
agency-pad:server:applyToListing

Envoie une candidature à une annonce business.

Voir l'exemple

Postule à une annonce d'emploi tablette via son id.

RegisterCommand('apply', function(_, args) local listingId = tonumber(args[1]) TriggerServerEvent('agency-pad:server:applyToListing', listingId, { coverNote = 'Available immediately' }) end)
agency-pad:server:createMechanicInvoice

Crée un brouillon de facture mécanicien.

Voir l'exemple

Crée un brouillon de facture mécanicien pour une plaque et un montant.

RegisterCommand('mechinvoice', function(_, args) TriggerServerEvent('agency-pad:server:createMechanicInvoice', { plate = args[1], amount = tonumber(args[2]) or 250, notes = 'Brake replacement' }) end)
agency-pad:server:sendMechanicInvoicePay

Envoie une facture mécanicien à un client pour paiement.

Voir l'exemple

Envoie une facture mécanicien finalisée au client pour paiement.

AddEventHandler('myresource:client:onInvoiceConfirmed', function(invoice) TriggerServerEvent('agency-pad:server:sendMechanicInvoicePay', invoice.id, invoice.targetSrc) end)
agency-pad:server:mdtCreateInvoice

Le MDT crée une amende/facture pour un citoyen.

Voir l'exemple

Crée une amende MDT pour un citoyen via un net event personnalisé.

RegisterNetEvent('myresource:server:mdtFine', function(targetSrc, amount, reason) TriggerEvent('agency-pad:server:mdtCreateInvoice', { target = targetSrc, amount = amount, reason = reason, officer = source }) end)

03Agency-Watch

A real smartwatch for FiveM, not a HUD. AgencyOS 26.5 on the wrist: six watch faces, seven cases, activity rings with a daily step goal, stopwatch, timer, alarm, weather, compass, speedometer, a control centre and an app store where players install, reorder and delete apps themselves. Everything listed so far runs on its own, without any other resource. A detected Agency Phone unlocks calls, messages, mail, contacts and Agency Pay on the wrist. That verdict is reached server-side through an HMAC handshake with the genuine phone, so a copied resource cannot fake it. Fall detection brings the watch out by itself after a crash or a long fall and offers an emergency call, with or without a phone. Free, QBCore / Qbox / ESX / standalone with auto-detection, ten languages, and not a single font or icon loaded from the internet.

Documentation complète

Exports client

OpenWatch(mitte)

Opens the watch. Pass true to open it centred on screen instead of in its configured corner.

CloseWatch()

Closes the watch and releases the NUI focus.

ToggleWatch()

Closes the watch if it is open, opens it otherwise.

IsWatchOpen()

Returns true while the watch UI is on screen.

IsWatchLinked()

Returns false when the player switched the link to the Agency Phone off in the control centre.

RunWatchAction()

Triggers whatever is bound to the orange action button (Config.ActionButton).

GetWatchSettings()

Returns the full settings table the watch UI is built from (theme, face, size, apps, locale).

SetWatchSetting(key, value)

Sets a single setting, saves it per character and applies it right away.

SetWatchSettings(table)

Sets several settings at once and rebuilds the UI a single time instead of once per value.

RequestWatchPairing()

Asks the server for a Companion app pairing code. The answer arrives as an event, not as a return value.

ShowUpdate()

Opens the software-update screen of AgencyOS.

HandlesDeath()

Returns true when the watch shows the emergency screen on death. The Agency Phone asks this so both devices never show it at once.

GetFitness()

Returns the current fitness values: steps, distance, active minutes and calories of the running day.

Exports serveur

IsPremium(src)

Returns true when this player's watch runs in the Pro version. The verdict comes from the handshake with the genuine Agency Phone, never from the client.

04Agency-LifeinvaderV3

Système de publicité moderne avec tarifs par paliers, file d'attente et approbation admin.

À utiliser comme remplacement in-game de Twitter/Instagram. Parfait pour les businesses qui font la promo de nouveaux produits, les gangs qui revendiquent un territoire, ou l'équipe admin qui publie les news du serveur.

Documentation complète

Événements

agency_lifeinvader:showAd

Affiche une annonce au joueur (helper de broadcast).

Voir l'exemple

Diffuse une annonce d'evenement communautaire a tous les joueurs du serveur.

-- Push a server-wide announcement ad to every player on event start local ad = { author = 'Event Crew', text = 'Drag race at airport in 5min!', category = 'event' } TriggerClientEvent('agency_lifeinvader:showAd', -1, ad)
agency_lifeinvader:openMenu

Ouvre le menu « créer une annonce ».

Voir l'exemple

Ouvre le menu principal de creation d'annonces apres l'achat de l'app telephone.

-- Open the ad creation menu when the player buys a phone app TriggerClientEvent('agency_lifeinvader:openMenu', src)
agency_lifeinvader:openRecentMenu

Ouvre le feed « annonces récentes ».

Voir l'exemple

Ouvre le menu du fil d'annonces recentes apres un tap contact dans l'app.

-- Open the recent ads feed after a contact tap in the phone app TriggerClientEvent('agency_lifeinvader:openRecentMenu', src)
agency_lifeinvader:notify

Affiche une notification framework sur l'écran du joueur (message, type).

Voir l'exemple

Affiche une notification framework quand l'annonce du joueur est approuvee.

-- Notify the player when their queued ad gets reviewed by staff TriggerClientEvent('agency_lifeinvader:notify', src, 'Your ad was approved!', 'success')
agency_lifeinvader:submitAd

Soumet une nouvelle annonce depuis le code (utilisé par l'UI, réutilisable).

Voir l'exemple

Soumet une annonce de vente de vehicule avec 5 repetitions toutes les 60 secondes.

-- Submit a vehicle sale ad from a custom dealership UI TriggerServerEvent('agency_lifeinvader:submitAd', '2018 Pegassi Emperor for sale', 5, 60, 'vehicles', { vehicle = 'emperor2' })

05Agency-Blackmarket

Marché noir basé sur la réputation avec hacking, ventes flash, trafic de véhicules et blanchiment d'argent.

Branchez-le sur vos scripts de braquages, casses ou trafic de drogue, le joueur vend ses objets volés ici ou blanchit son argent sale avant qu'il ne devienne propre.

Documentation complète

Événements

blackmarket:client:openMenu

Ouvre le menu principal du marché noir.

Voir l'exemple

Ouvre le menu principal du dealer marche noir pour le joueur apres un paiement.

-- Custom dealer NPC opens the black market menu when its job pays out TriggerClientEvent('blackmarket:client:openMenu', src)
blackmarket:client:closeMenu

Ferme tous les menus du marche noir ouverts pour le joueur.

Voir l'exemple

Ferme les menus marche noir ouverts quand le joueur est menotte par la police.

-- Force-close menu when player gets cuffed by police TriggerClientEvent('blackmarket:client:closeMenu', suspectSrc)
blackmarket:client:openLaunderingMenu

Ouvre le sous-menu de blanchiment d'argent.

Voir l'exemple

Ouvre le sous-menu blanchiment d'argent au joueur apres un casse reussi.

-- Heist crew NPC opens money laundering submenu after a successful job TriggerClientEvent('blackmarket:client:openLaunderingMenu', src)
blackmarket:client:showNotification

Affiche une notification stylisee du marche noir (titre, message, type, duree).

Voir l'exemple

Affiche une notification stylee marche noir sur une nouvelle livraison en ville.

-- Drop a black-market styled notification when product enters the city TriggerClientEvent('blackmarket:client:showNotification', -1, 'Dealer', 'New shipment in town', 'info', 6000)
blackmarket:server:checkAccess

Vérifie le niveau d'accès actuel du joueur.

Voir l'exemple

Verifie si le joueur peut acceder au marche noir et recupere la reputation.

-- Storefront NPC checks if player can access the black market before opening TriggerServerEvent('blackmarket:server:checkAccess')
blackmarket:server:completeBuy

Finalise un achat apres la reussite du mini-jeu cote client.

Voir l'exemple

Finalise un achat marche noir apres la reussite du mini-jeu cote client.

-- Finalise a buy after the lockpick minigame succeeds TriggerServerEvent('blackmarket:server:completeBuy', 'weapon_pistol', 1, 8500)
blackmarket:server:sellItem

Traite la vente d'un objet.

Voir l'exemple

Lance le flux de vente d'une Rolex volee avec mini-jeu optionnel et cooldown.

-- Trigger the sell flow with optional minigame for a stolen item TriggerServerEvent('blackmarket:server:sellItem', 'rolex', 1)
blackmarket:server:completeSell

Finalise une vente apres la reussite du mini-jeu cote client.

Voir l'exemple

Finalise la vente apres la reussite du mini-jeu de marchandage cote client.

-- Finalise a sale after the haggle minigame succeeds TriggerServerEvent('blackmarket:server:completeSell', 'rolex', 1, 4250)
blackmarket:server:launderMoney

Gère une transaction de blanchiment d'argent.

Voir l'exemple

Blanchit l'argent sale du trafic de drogue en cash propre avec frais et extorsion.

-- Launder dirty cash earned from drug trafficking TriggerServerEvent('blackmarket:server:launderMoney', 'dirty_money', 25000)

06Agency-Minerjob

Job de minage multi-framework avec progression de compétence à 100 niveaux, skill checks ox_lib et 6 types de minerai.

Idéal comme job d'entrée pour les nouveaux joueurs. Liez la progression XP à la réputation de gang, aux jobs whitelist, ou utilisez-le comme refuge pour les joueurs sans emploi.

Documentation complète

Événements

agency_minerJob:openSellMenu

Ouvre le menu de vente à la raffinerie de minerai.

Voir l'exemple

Ouvre le menu de vente du marchand pour que le joueur puisse vendre ses minerais.

-- Open the trader sell menu for the local player TriggerEvent('agency_minerJob:openSellMenu')
agency_minerJob:sellItems

Vend tous les minerais d'un coup au prix actuel du marché.

Voir l'exemple

Vend toutes les unites du minerai au prix dynamique actuel du marchand.

-- Sell every copper ore in the player's inventory at current price TriggerServerEvent('agency_minerJob:sellItems', 'copper')
agency_minerJob:requestPlayerItems

Renvoie les objets de minage vendables du joueur via receivePlayerItems.

Voir l'exemple

Demande au serveur la liste des minerais vendables par le joueur.

-- Ask server which ores are sellable; reply comes via receivePlayerItems TriggerServerEvent('agency_minerJob:requestPlayerItems')
agency_minerJob:requestPlayerSkill

Renvoie un résumé rapide de la compétence de minage via receiveSkillInfo.

Voir l'exemple

Demande un resume rapide de la competence minage via receiveSkillInfo.

-- Refresh the HUD widget with the current mining level/xp TriggerServerEvent('agency_minerJob:requestPlayerSkill')
agency_minerJob:requestDetailedStats

Renvoie les statistiques de minage détaillées via receiveDetailedStats.

Voir l'exemple

Demande les statistiques detaillees de minage et ouvre le menu via receiveDetailedStats.

-- Open the detailed stats panel after admin command TriggerServerEvent('agency_minerJob:requestDetailedStats')

07Agency-Repairkits

Kit de réparation de véhicule avec mécanique de dégâts progressifs et UI moderne.

Parfait dans les jobs de mécanicien, dépanneuse, ou comme objet consommable dans un inventaire général. Le système de dégâts progressifs s'accorde à merveille avec un script de chop-shop ou d'assurance.

Documentation complète

Événements

agencyrepairkit:client:startRepair

Lance l'animation de réparation et la barre de progression sur le véhicule cible.

Voir l'exemple

Declencheur universel pour lancer le flux de reparation sur le vehicule.

-- Universal trigger when player uses a custom 'repair' button TriggerEvent('agencyrepairkit:client:startRepair')
esx-agencyrepairkit:client:useRepairKit

Alias spécifique à ESX qui démarre le flux de progression du kit de réparation.

Voir l'exemple

Alias specifique ESX qui lance le flux de reparation sur le vehicule.

-- Use this alias from your ESX item handler TriggerEvent('esx-agencyrepairkit:client:useRepairKit')
qb-agencyrepairkit:client:useRepairKit

Alias spécifique à QBCore qui démarre le flux de progression du kit de réparation.

Voir l'exemple

Alias specifique QBCore qui lance le flux de reparation sur le vehicule.

-- QBCore item callback can use this alias directly TriggerEvent('qb-agencyrepairkit:client:useRepairKit')

08Agency-Vehiclekeys

Clés de véhicule avec verrouillage/déverrouillage, démarrage à distance, clignotants et partage de clés.

Fonctionne comme le check "possède ce véhicule" pour tous vos autres scripts, dépanneuses, fourrières, voiturier, minigames de carjacking. L'export de validation est sûr à appeler depuis n'importe quelle autre ressource.

Documentation complète

Événements

simple_carkeys:client:toggleLock

Bascule l'état de verrouillage du véhicule (en respectant la propriété).

Voir l'exemple

Bascule du verrouillage en reseau avec animation de cle, lumieres et son.

-- Sync lock toggle to all clients near a tow truck local vehicle = GetVehiclePedIsIn(PlayerPedId(), false) TriggerEvent('simple_carkeys:client:toggleLock', vehicle)
simple_carkeys:client:toggleEngine

Démarre ou arrête à distance le moteur du véhicule ciblé.

Voir l'exemple

Bascule moteur on/off en reseau pour l'entite vehicule fournie.

-- Cut the engine remotely on the vehicle the player just left local lastVeh = GetVehiclePedIsIn(PlayerPedId(), true) TriggerEvent('simple_carkeys:client:toggleEngine', lastVeh)
simple_carkeys:client:showError

Affiche cote client une notification d'erreur generique 'ce n'est pas votre voiture'.

Voir l'exemple

Affiche une notification d'erreur generique 'pas votre voiture' au client.

-- Show the standard 'not your car' notification on a failed lockpick TriggerEvent('simple_carkeys:client:showError')
simple_carkeys:client:showNotificationText

Affiche cote client une notification de succes avec un texte libre.

Voir l'exemple

Affiche une notification de succes avec un texte arbitraire au client.

-- Tell the player the engine started OK after a custom hotwire script TriggerEvent('simple_carkeys:client:showNotificationText', 'Engine started')
simple_carkeys:client:showErrorText

Affiche cote client une notification d'erreur avec un texte libre.

Voir l'exemple

Affiche une notification d'erreur avec un texte arbitraire au client.

-- Block engine start when fuel is empty TriggerEvent('simple_carkeys:client:showErrorText', 'Out of fuel')
simple_carkeys:server:forceToggleLock

Voie job/admin : diffuse un basculement de verrouillage pour un vehicule sans verification de propriete.

Voir l'exemple

Voie metier/admin: diffuse un toggle de verrouillage sans verification de propriete.

-- Police impound forces an unlock without ownership checks TriggerServerEvent('simple_carkeys:server:forceToggleLock', VehToNet(vehicle))
simple_carkeys:server:forceToggleEngine

Voie job/admin : diffuse un basculement moteur pour un vehicule sans verification de propriete.

Voir l'exemple

Voie metier/admin: diffuse un toggle moteur sans verification de propriete.

-- Ambulance script force-starts a parked car for an evac mission TriggerServerEvent('simple_carkeys:server:forceToggleEngine', VehToNet(vehicle))
simple_carkeys:server:checkOwnershipAndLock

Valide la propriete/cles partagees pour la plaque puis diffuse un toggle de verrou en cas de succes.

Voir l'exemple

Verifie propriete/cles partagees pour la plaque puis diffuse un toggle de verrouillage.

-- Player presses L; verify ownership before locking the vehicle TriggerServerEvent('simple_carkeys:server:checkOwnershipAndLock', 'AB12XYZ', VehToNet(vehicle))
simple_carkeys:server:checkOwnershipAndStart

Valide la propriete/cles partagees pour la plaque puis diffuse un toggle moteur en cas de succes.

Voir l'exemple

Verifie propriete/cles partagees pour la plaque puis diffuse un toggle moteur.

-- Validate then start engine on the vehicle the player is in TriggerServerEvent('simple_carkeys:server:checkOwnershipAndStart', 'AB12XYZ', VehToNet(vehicle))
simple_carkeys:server:universalEngineStart

Permet a tout joueur de demarrer n'importe quel moteur quand Config.AllowUniversalEngineStart est actif.

Voir l'exemple

Permet a tout joueur de demarrer un moteur quand AllowUniversalEngineStart est actif.

-- Hotwire mini-game success: any player starts any engine when allowed in config TriggerServerEvent('simple_carkeys:server:universalEngineStart', VehToNet(vehicle))

09Agency-Vending

Distributeurs automatiques avec propriété par les joueurs, paiement en espèces ou par carte AgencyPay.

Associez à l'export AgencyPay d'Agency-Phone pour les achats par carte. Utilisez dans des jobs où les joueurs possèdent des emplacements de vending (stations-service, bureaux, appartements) pour générer un revenu passif.

Documentation complète

Événements

agency-vending:notify

Dispatcher generique de notifications cote server pour la resource vending.

Voir l'exemple

Envoie une notification generique vending au joueur apres un achat.

-- Plug a vending receipt into a custom logger via notify event TriggerClientEvent('agency-vending:notify', src, 'success', 'Receipt #4821 saved to wallet')
agency-vending:startAgencyPay

Lance un checkout AgencyPay via l'integration agency-phone avec les metadonnees marchand.

Voir l'exemple

Lance un paiement Agency Pay via le telephone avec les donnees du kiosque.

-- Pop a phone Agency Pay flow when a player taps a kiosk TriggerClientEvent('agency-vending:startAgencyPay', src, { merchant = 'Sprunk Co', amount = 4.50, ref = 'flash_sale_01' })
agency-vending:buyMachineResult

Resultat d'un achat de machine, transmis a la NUI pour retour.

Voir l'exemple

Transfere le resultat d'achat de machine vers une NUI shop personnalisee.

-- Forward buy-machine outcome to a custom shop UI TriggerClientEvent('agency-vending:buyMachineResult', src, { success = true, machineId = 102 })
agency-vending:machineCreated

Broadcast indiquant qu'une nouvelle machine du joueur a ete creee; met a jour le cache local et avertit le proprietaire.

Voir l'exemple

Diffuse a tous les clients un distributeur tout juste cree par un joueur.

-- Cache new owner-machine instantly when business script registers it TriggerClientEvent('agency-vending:machineCreated', -1, { id = 142, owner = identifier, type = 'sprunk' })
agency-vending:openManagementVerified

Ouverture verifiee cote server du menu de gestion proprietaire avec items, gains et label.

Voir l'exemple

Ouvre l'interface de gestion verifiee avec articles, gains et libelle apres auth.

-- After server-side ownership check open management menu with stock TriggerClientEvent('agency-vending:openManagementVerified', src, { items = items, earnings = 1240, label = 'East LS Sprunk' })
agency-vending:openOwnedList

Ouvre la NUI vue d'ensemble proprietaire avec toutes les machines du joueur et noms de rues.

Voir l'exemple

Ouvre la NUI d'apercu proprietaire listant tous les distributeurs du joueur.

-- Hotkey opens the owner overview NUI listing all owned machines TriggerClientEvent('agency-vending:openOwnedList', src)
agency-vending:spawnMachineCreated

Broadcast du spawner admin indiquant qu'une nouvelle entite machine a ete creee.

Voir l'exemple

Notifie tous les clients qu'un admin a fait apparaitre un distributeur.

-- Custom mapping tool tracks newly admin-spawned machine TriggerClientEvent('agency-vending:spawnMachineCreated', -1, { entity = netId, model = 'prop_vend_soda_01', id = 7 })
agency-vending:spawnMachineDeleted

Broadcast du spawner admin indiquant qu'une entite machine spawnee a ete supprimee.

Voir l'exemple

Indique a tous les clients qu'un admin a supprime un distributeur deja place.

-- Mapping tool removes a deleted spawned machine from cache TriggerClientEvent('agency-vending:spawnMachineDeleted', -1, 7)
agency-vending:openSpawnerUI

Ouvre la NUI du spawner admin apres validation cote server des permissions.

Voir l'exemple

Ouvre la NUI de spawn admin pour placer des distributeurs dans le monde.

-- Custom command opens the admin spawner UI after permission passes TriggerClientEvent('agency-vending:openSpawnerUI', src)
agency-vending:buyMachine

Le joueur achete un distributeur d'un type donne aux coordonnees et heading fournis.

Voir l'exemple

Le joueur achete un distributeur Sprunk a sa position actuelle aupres d'un PNJ.

-- Custom NPC sells vending machines via dialog local coords = GetEntityCoords(PlayerPedId()) local heading = GetEntityHeading(PlayerPedId()) TriggerServerEvent('agency-vending:buyMachine', 'sprunk', coords, heading)
agency-vending:requestOwnedList

L'appelant demande la liste de ses machines pour l'UI de vue d'ensemble proprietaire.

Voir l'exemple

Demande au serveur la liste des distributeurs detenus par le joueur.

-- Refresh owner overview after a balance/restock action elsewhere TriggerServerEvent('agency-vending:requestOwnedList')
agency-vending:requestMachines

L'appelant demande au server une synchronisation complete de toutes les machines de joueurs.

Voir l'exemple

Demande une synchro complete et fraiche des distributeurs des joueurs au serveur.

-- Scan for nearby machines after teleport finished TriggerServerEvent('agency-vending:requestMachines')
agency-vending:requestManagement

Ouverture verifiee cote server de l'UI de gestion d'une machine possedee.

Voir l'exemple

Demande l'interface de gestion verifiee serveur pour le distributeur clique.

-- Owner UI requests verified management menu for a clicked machine TriggerServerEvent('agency-vending:requestManagement', machineId)
agency-vending:requestSpawnedMachines

L'appelant demande la liste des machines spawnees par admin pour l'UI du spawner.

Voir l'exemple

Demande la liste de tous les distributeurs spawnes par admin pour l'UI spawner.

-- Admin spawner UI fetches all currently spawned machines TriggerServerEvent('agency-vending:requestSpawnedMachines')
agency-vending:adminSpawnMachine

L'admin place un nouveau prop de distributeur cote server apres verification des permissions.

Voir l'exemple

L'admin spawn un nouveau distributeur de snacks apres verification des permissions.

-- Admin places a snack machine via custom slash command TriggerServerEvent('agency-vending:adminSpawnMachine', 'snack', vector3(120.5, -1280.7, 29.3), 90.0)
agency-vending:adminDeleteSpawned

L'admin supprime cote server un prop de distributeur precedemment spawne.

Voir l'exemple

L'admin supprime cote serveur un distributeur precedemment place.

-- Admin removes a misplaced machine via map editor button TriggerServerEvent('agency-vending:adminDeleteSpawned', spawnedId)

10Agency-Admin

Panneau admin complet avec UI verre, chat AgencyAI et plus de 60 outils admin.

Les events sont parfaits comme "primitives" pour anti-cheat, bots de modération ou outils automatisés, appelle-les depuis ton script serveur pour freeze/kick/notify sans écrire ta propre UI.

Documentation complète

Événements

agency-admin:client:refreshStaffRanks

Demande au client de recharger les donnees des rangs du staff.

Voir l'exemple

Rafraichit le cache des grades staff pour chaque admin connecte apres une promotion.

-- After auto-promotion, refresh staff ranks for all online admins for _, src in ipairs(GetPlayers()) do TriggerClientEvent('agency-admin:client:refreshStaffRanks', tonumber(src)) end
agency-admin:client:freezeTime

Fige ou libere l'heure du monde cote client a l'heure et minute donnees.

Voir l'exemple

L'anti-triche fige l'horloge du monde a midi pendant la verification d'un joueur.

-- Anti-cheat halts world time during an investigation local hour, minute = 12, 0 TriggerClientEvent('agency-admin:client:freezeTime', src, true, hour, minute)
agency-admin:client:dashboardValue

Envoie une valeur de carte du tableau de bord (compteur live) vers l'UI du panel.

Voir l'exemple

Envoie le nombre de joueurs en ligne en direct a la carte du tableau de bord admin.

-- Stream live online player count to admin dashboard cards local count = #GetPlayers() TriggerClientEvent('agency-admin:client:dashboardValue', adminSrc, 'players_online', count)
agency-admin:client:teleportToCoords

Teleporte l'appelant aux coordonnees monde fournies.

Voir l'exemple

Teleporte un joueur aux coordonnees sauvegardees apres un evenement de reapparition.

-- Job script teleports a player back to last save point on respawn local coords = vector3(-1037.7, -2737.6, 20.16) TriggerClientEvent('agency-admin:client:teleportToCoords', src, coords)
agency-admin:client:announce

Affiche une bannière d'annonce pour tout le serveur.

Voir l'exemple

Diffuse une banniere d'annonce a tout le serveur depuis un expediteur systeme nomme.

-- Event bot announces a community contest start TriggerClientEvent('agency-admin:client:announce', -1, 'Event Crew', 'Heist contest starts in 5 minutes!')
agency-admin:client:notify

Envoie une notification à un admin spécifique.

Voir l'exemple

Envoie une notification stylee au joueur lorsque sa candidature est approuvee.

-- Whitelist bot informs a player they passed the application TriggerClientEvent('agency-admin:client:notify', src, 'Whitelist', 'Application approved!', 'success', 8000)
agency-admin:client:freeze

Fige le joueur ciblé sur place.

Voir l'exemple

Fige un joueur suspect afin que le staff puisse enqueter sans qu'il bouge.

-- Anti-cheat freezes a suspect player while staff investigates TriggerClientEvent('agency-admin:client:freeze', suspectSrc, true)
agency-admin:client:heal

Restaure les HP/armure de la cible.

Voir l'exemple

Soigne entierement le patient apres la fin de son traitement medical RP.

-- Medic job script fully heals the player after RP treatment ends TriggerClientEvent('agency-admin:client:heal', patientSrc)
agency-admin:client:revive

Ressuscite le joueur ciblé.

Voir l'exemple

Reanime un joueur a terre apres la reussite du mini-jeu des secours.

-- EMS revive minigame succeeds, server marks player alive again TriggerClientEvent('agency-admin:client:revive', downedSrc)
agency-admin:client:teleport

Teleporte le joueur local au vecteur de coordonnees fourni.

Voir l'exemple

Teleporte le joueur local aux coordonnees fournies.

-- Tutorial system teleports new player to spawn pad on first join local coords = vector3(245.7, -871.5, 30.5) TriggerClientEvent('agency-admin:client:teleport', src, coords)
agency-admin:client:openMenu

Ouvre l'UI du panneau admin (nécessite une permission ACE).

Voir l'exemple

Ouvre l'interface principale du panneau admin pour le staff lors de la prise de service.

-- Auto-open admin panel for staff right after they switch on duty TriggerClientEvent('agency-admin:client:openMenu', src)
agency-admin:client:openToolsMenu

Declencheur cote server pour ouvrir le sous-menu des outils admin.

Voir l'exemple

Ouvre le sous-menu des outils admin lorsque le raccourci staff est presse.

-- Quick-action keybind opens the admin tools sub-menu TriggerClientEvent('agency-admin:client:openToolsMenu', src)
agency-admin:client:closeMenu

Declencheur cote server pour fermer l'UI du panel admin.

Voir l'exemple

Force la fermeture de l'interface du panneau admin lors d'une enquete sur l'admin.

-- Force-close the panel when admin gets reported themselves TriggerClientEvent('agency-admin:client:closeMenu', adminSrc)
agency-admin:client:openClothingMenu

Declencheur cote server pour ouvrir le menu de vetements en jeu pour le joueur.

Voir l'exemple

Ouvre le menu de vetements apres l'achat d'une tenue chez un tailleur.

-- Tailor NPC opens clothing menu after a uniform purchase TriggerClientEvent('agency-admin:client:openClothingMenu', src)
agency-admin:server:requestPlayers

Demande la liste actuelle des joueurs en ligne pour le panel admin.

Voir l'exemple

Demande au serveur la derniere liste des joueurs en ligne pour le panneau.

-- Custom dashboard widget refreshes its players list TriggerServerEvent('agency-admin:server:requestPlayers')
agency-admin:server:requestPanelPermissions

Demande la table des permissions du panel pour l'editeur de rangs.

Voir l'exemple

Demande au serveur la table des permissions du panneau pour l'editeur de grades.

-- Permission editor needs the latest panel permission map TriggerServerEvent('agency-admin:server:requestPanelPermissions')
agency-admin:server:requestStaffRanks

Demande le jeu de donnees des rangs du staff pour le panel.

Voir l'exemple

Demande le jeu complet de grades staff pour un widget CRM personnalise.

-- Sync staff ranks dataset into a custom CRM widget TriggerServerEvent('agency-admin:server:requestStaffRanks')
agency-admin:server:createRank

Cree un nouveau rang du staff avec metadonnees et permissions.

Voir l'exemple

Cree un nouveau grade staff depuis une synchronisation de portail RH externe.

-- Sync rank from external HR portal -> create matching staff rank TriggerServerEvent('agency-admin:server:createRank', { name = 'Senior Mod', color = '#a855f7', priority = 50 })
agency-admin:server:requestMyPermissions

L'appelant demande son propre ensemble de permissions de panel resolu.

Voir l'exemple

Demande l'ensemble de permissions resolu du joueur a l'ouverture de l'interface.

-- Fetch caller's resolved permission set before showing dev tools TriggerServerEvent('agency-admin:server:requestMyPermissions')
agency-admin:server:requestSync

L'appelant demande au server d'envoyer la charge utile sync standard (service/permissions/etc.).

Voir l'exemple

Force le serveur a envoyer le paquet de synchro standard duty/perms au joueur.

-- Force a fresh sync after the player reconnects TriggerServerEvent('agency-admin:server:requestSync')
agency-admin:server:requestDutyRank

L'appelant demande ses infos de rang admin en service actuel.

Voir l'exemple

Demande le grade de duty admin actuel du joueur pour une superposition HUD.

-- Display admin's duty rank on a custom HUD overlay TriggerServerEvent('agency-admin:server:requestDutyRank')
agency-admin:server:requestSpawnedObjects

L'appelant demande la liste des objets monde spawnes par l'admin.

Voir l'exemple

Demande la liste des objets monde spawnes par admin pour la mini-carte.

-- Map editor needs to draw all admin-spawned objects on a minimap TriggerServerEvent('agency-admin:server:requestSpawnedObjects')

11Agency-Reports V2

Système de rapports moderne avec chat en direct par rapport et réponses assistées par IA.

Utilise-le comme épine dorsale "ticket de support" pour tout ton serveur. Tes scripts peuvent ouvrir automatiquement des rapports en cas de problème (véhicules bloqués, items dupliqués, sauvegardes SQL ratées) pour examen admin.

Documentation complète

Événements

agency-reports:client:notify

Déclenche une notification "nouveau rapport" pour un admin spécifique.

Voir l'exemple

Notification piloteee serveur respectant la preference de notification UI du joueur.

-- Server tells client a new admin reply landed TriggerClientEvent('agency-reports:client:notify', source, 'New reply on your report', 'info')
agency-reports:client:openPlayerUI

Ouvre l'UI de rapport côté joueur.

Voir l'exemple

Ouvre l'UI rapport joueur avec categories, rapports recents et reglages AI/Discord.

-- Open the player report UI on a custom keybind local categories = { 'Bug', 'Player report', 'Stuck' } TriggerEvent('agency-reports:client:openPlayerUI', categories, {}, {}, {})
agency-reports:client:openAdminUI

Ouvre la liste des rapports côté admin.

Voir l'exemple

Ouvre le tableau de bord admin avec l'ensemble complet des rapports.

-- Force-open the admin reports dashboard from a staff command TriggerEvent('agency-reports:client:openAdminUI', { reports = {}, total = 0 })
agency-reports:client:teleport

Teleporte l'admin appelant aux coordonnees fournies (pour les actions goto).

Voir l'exemple

Teleporte l'admin appelant aux coordonnees fournies pour les actions goto.

-- Goto-action: teleport the responding admin to the report scene TriggerEvent('agency-reports:client:teleport', vector3(-247.6, -2010.2, 30.1))
agency-reports:client:healSelf

Soigne entierement le ped de l'admin appelant.

Voir l'exemple

Soigne entierement le ped de l'admin apres avoir traite un rapport.

-- Heal admin after a hostile scene to keep them in service TriggerEvent('agency-reports:client:healSelf')
agency-reports:server:submitReport

Soumet un nouveau rapport en dehors de l'UI.

Voir l'exemple

Le joueur soumet un nouveau rapport avec titre, categorie et description.

-- Player submits a quick stuck-at-pier report TriggerServerEvent('agency-reports:server:submitReport', 'Stuck at pier', 'Stuck', 'Vehicle wedged under pier - cant move')
agency-reports:server:requestPlayerData

L'appelant demande sa charge utile de rapport; ouvre eventuellement l'UI joueur en reponse.

Voir l'exemple

L'appelant demande sa charge utile de rapport, ouvre optionnellement l'UI joueur.

-- Pull fresh data and (optionally) auto-open the player UI TriggerServerEvent('agency-reports:server:requestPlayerData', true)
agency-reports:server:requestAdminData

L'admin demande le jeu complet de rapports et ouvre le dashboard admin si autorise.

Voir l'exemple

L'admin demande tout le dataset de rapports et ouvre le tableau de bord si autorise.

-- Admin staff opens the dashboard after going on duty TriggerServerEvent('agency-reports:server:requestAdminData')
agency-reports:server:sendChatMessage

Envoie un message de chat dans un rapport ouvert.

Voir l'exemple

Publie un message chat dans un fil de rapport specifique pour admin ou joueur.

-- Player posts a follow-up chat message into report #42 TriggerServerEvent('agency-reports:server:sendChatMessage', 42, 'Still stuck, any ETA?')

12Agency-Hud

HUD animé avec tableau de bord véhicule, barres de statut, compteur de vitesse et intégration ceinture.

Si tu as une économie ou un système de besoins personnalisé, pilote le HUD depuis ton propre script avec ces setters au lieu de bricoler autour. Le HUD gère l'animation et la persistance pour toi.

Documentation complète

Exports client

GetVehicleSettings()

Renvoie la table des paramètres véhicule actuels.

Voir l'exemple

Lit la table des parametres HUD vehicule local pour inspection ou synchronisation.

local settings = exports['Agency-Hud']:GetVehicleSettings() print('Speed unit:', settings.speedUnit) print('HUD scale:', settings.scale)
SetSpeedUnit(unit: string)

Bascule le compteur entre 'mph' et 'kmh'.

Voir l'exemple

Bascule le compteur de vitesse en miles par heure et enregistre localement.

RegisterCommand('usemph', function() exports['Agency-Hud']:SetSpeedUnit('mph') end)
SetHunger(value: number)

Définit la valeur de la barre de faim (0-100).

Voir l'exemple

Envoie le niveau de faim actuel du joueur dans le HUD.

AddEventHandler('player:hungerChanged', function(value) exports['Agency-Hud']:SetHunger(value) end)
SetThirst(value: number)

Définit la valeur de la barre de soif (0-100).

Voir l'exemple

Envoie le niveau de soif actuel du joueur dans le HUD.

AddEventHandler('player:thirstChanged', function(value) exports['Agency-Hud']:SetThirst(value) end)
SetStress(value: number)

Définit la valeur de la barre de stress (0-100).

Voir l'exemple

Met a jour l'indicateur de stress du HUD depuis un systeme de stress personnalise.

AddEventHandler('jobstress:onTick', function(stress) exports['Agency-Hud']:SetStress(stress) end)
SetMoney(value: number)

Définit le solde en espèces affiché.

Voir l'exemple

Met a jour le montant en especes affiche sur le HUD.

AddEventHandler('wallet:cashChanged', function(cash) exports['Agency-Hud']:SetMoney(cash) end)
SetBank(value: number)

Définit le solde bancaire affiché (pour les scripts d'économie personnalisés).

Voir l'exemple

Met a jour le solde bancaire affiche dans le HUD.

AddEventHandler('bank:balanceChanged', function(balance) exports['Agency-Hud']:SetBank(balance) end)
SetJob(label: string)

Définit le libellé de job affiché.

Voir l'exemple

Definit l'etiquette du metier affichee apres un changement de profession.

AddEventHandler('job:onChange', function(job) exports['Agency-Hud']:SetJob(job.label) end)
SetRank(rank: string)

Définit le rang/grade de job affiché.

Voir l'exemple

Met a jour le rang du joueur affiche a cote de l'etiquette du metier.

AddEventHandler('job:onGradeChange', function(grade) exports['Agency-Hud']:SetRank(grade.label) end)
GetDetectedFramework()

Renvoie la chaîne du framework ("qb", "esx", "standalone") détecté automatiquement par le HUD.

Voir l'exemple

Lit la cle du framework detecte pour brancher une logique HUD personnalisee.

local fw = exports['Agency-Hud']:GetDetectedFramework() if fw == 'qb' then print('QB-Core detected') end

Événements

Agency-HUD:client:applyVehicleSettingsPatch

Applique un correctif partiel des réglages de véhicule au HUD véhicule local.

Voir l'exemple

Applique un patch partiel des parametres HUD vehicule sur le client local.

TriggerEvent('Agency-HUD:client:applyVehicleSettingsPatch', { style = 'modern', speedUnit = 'kmh' })
Agency-HUD:client:openAdminMenu

Ouvre le menu admin du HUD (nécessite une permission).

Voir l'exemple

Ouvre l'interface NUI du menu admin HUD chez le client recepteur.

TriggerEvent('Agency-HUD:client:openAdminMenu')
Agency-HUD:server:checkAdminPermission

Vérifie les droits admin de l'appelant et ouvre le menu admin en cas de succès.

Voir l'exemple

Demande au serveur de verifier les droits admin et d'ouvrir le menu admin HUD.

RegisterCommand('checkhudadmin', function() TriggerServerEvent('Agency-HUD:server:checkAdminPermission') end)
Agency-HUD:server:saveGlobalSettings

Persistance des réglages HUD globaux réservée aux admins; diffuse la sync.

Voir l'exemple

Enregistre une nouvelle configuration HUD globale (admin uniquement) et la diffuse.

TriggerServerEvent('Agency-HUD:server:saveGlobalSettings', { style = 'modern', accent = '#ff6b00' })
Agency-HUD:server:requestGlobalSettings

Renvoie les réglages globaux actuels au client demandeur.

Voir l'exemple

Demande les parametres HUD globaux actuels au demarrage de la ressource.

AddEventHandler('onClientResourceStart', function(res) if res == GetCurrentResourceName() then TriggerServerEvent('Agency-HUD:server:requestGlobalSettings') end end)
Agency-HUD:server:requestTime

Renvoie l'heure serveur actuelle à l'appelant pour l'horloge HUD.

Voir l'exemple

Interroge l'horloge serveur chaque minute pour actualiser l'affichage HUD.

CreateThread(function() while true do TriggerServerEvent('Agency-HUD:server:requestTime') Wait(60000) end end)

13Agency-Progressbar

Barre de progression animée avec UI verre, 4 thèmes, actions annulables et exports client/server.

Utilise-le partout où tu afficherais normalement "faire la chose X pendant Y secondes". Remplace plusieurs ressources de progress bar legacy par une seule UI cohérente sur tout ton serveur.

Documentation complète

Exports client

StartProgress(data: table)

Démarre une barre de progression avec une table d'options complète. Retourne immédiatement; les callbacks se déclenchent à la fin/annulation.

Voir l'exemple

Lance une barre de crochetage de 8s avec animation et callback de fin.

exports['Agency-Progressbar']:StartProgress({ label = 'Picking lock...', duration = 8000, animation = { dict = 'anim@heists@fleeca_bank@drilling', clip = 'drill_straight_idle' }, onFinish = function() TriggerServerEvent('garage:lockpicked', vehNet) end, onCancel = function() print('Lockpick cancelled') end })
StopProgress(completed: boolean)

Arrête la barre de progression en cours. Passe true pour marquer comme annulée.

Voir l'exemple

Annule la barre de progression active quand le joueur appuie sur X.

if IsControlJustPressed(0, 73) then exports['Agency-Progressbar']:StopProgress(false) end
IsProgressActive()

Renvoie true si une barre de progression est actuellement affichée.

Voir l'exemple

Empeche de lancer une action d'artisanat tant qu'une barre est active.

if exports['Agency-Progressbar']:IsProgressActive() then return end startCrafting()
GetProgressPercentage()

Renvoie le pourcentage de remplissage actuel (0-100).

Voir l'exemple

Declenche un tick de mini-jeu une fois la barre remplie a plus de 75 %.

CreateThread(function() while exports['Agency-Progressbar']:IsProgressActive() do local pct = exports['Agency-Progressbar']:GetProgressPercentage() if pct > 75 then SendMinigameTick() end Wait(100) end end)
SetProgressTheme(theme: string)

Change le thème à l'exécution: 'modern', 'neon', 'minimal' ou 'classic'.

Voir l'exemple

Change l'apparence de la barre de progression active vers le theme moderne.

RegisterCommand('darkbar', function() exports['Agency-Progressbar']:SetProgressTheme('modern') end)
SetProgressPosition(position: string)

Change la position: 'top', 'bottom', 'center'.

Voir l'exemple

Deplace la barre de progression active au centre bas de l'ecran.

RegisterCommand('barbottom', function() exports['Agency-Progressbar']:SetProgressPosition('bottom-center') end)
TryReload(usedItem?: string)

Joue la séquence de rechargement style ESX.

Voir l'exemple

Lance un rechargement valide cote serveur avec une boite de 9mm.

RegisterKeyMapping('+reload', 'Reload weapon', 'keyboard', 'R') RegisterCommand('+reload', function() exports['Agency-Progressbar']:TryReload('ammo-9') end)
UseConsumable(itemName: string, isDrink: boolean)

Joue l'animation manger/boire avec la barre de progression.

Voir l'exemple

Joue l'animation de boisson et augmente la soif a l'utilisation d'eau.

RegisterNetEvent('inventory:useItem', function(item) if item == 'water_bottle' then exports['Agency-Progressbar']:UseConsumable('water_bottle', true) end end)

Exports serveur

StartProgressForPlayer(playerId: number, data: table)

Déclenche une barre de progression sur un client spécifique depuis le serveur.

Voir l'exemple

Lance une barre de soulevement de caisse de 5 s pour le joueur demandant.

RegisterCommand('lift', function(source) exports['Agency-Progressbar']:StartProgressForPlayer(source, { label = 'Lifting crate...', duration = 5000 }) end, false)
StopProgressForPlayer(playerId: number, completed?: boolean)

Annule à distance la barre de progression d'un joueur spécifique.

Voir l'exemple

Annule la barre de progression active d'un joueur cible depuis le serveur.

RegisterNetEvent('admin:cancelProgress', function(targetId) exports['Agency-Progressbar']:StopProgressForPlayer(targetId, false) end)
StartProgressForAllPlayers(data: table)

Diffuse une barre de progression à tous les clients connectés.

Voir l'exemple

Diffuse une barre d'alerte tempete de 30 s a tous les joueurs.

RegisterNetEvent('event:weatherWarning', function() exports['Agency-Progressbar']:StartProgressForAllPlayers({ label = 'Storm incoming - take shelter', duration = 30000 }) end)
StopProgressForAllPlayers(completed?: boolean)

Annule la barre de progression de chaque joueur (ex. fin de round).

Voir l'exemple

Arrete la barre globale d'alerte tempete chez tous les joueurs.

RegisterNetEvent('event:weatherCleared', function() exports['Agency-Progressbar']:StopProgressForAllPlayers(true) end)

Événements

Agency:Progressbar:LoadSettings

Charge les réglages UI par joueur (position, couleur, échelle, style) depuis la BD vers le client.

Voir l'exemple

Charge les parametres UI sauvegardes de la barre lors de l'apparition.

AddEventHandler('playerSpawned', function() TriggerEvent('Agency:Progressbar:LoadSettings') end)
agency-progressbar:client:start

Démarre la barre de progression sur le client récepteur avec les données fournies.

Voir l'exemple

Lance une barre de reparation moteur de 12 s, annulable.

TriggerEvent('agency-progressbar:client:start', { label = 'Repairing engine...', duration = 12000, canCancel = true })
agency-progressbar:client:stop

Arrête la barre de progression active avec un drapeau de complétion.

Voir l'exemple

Interrompt la barre active lorsque le joueur est menotte.

RegisterNetEvent('police:cuffed', function() TriggerEvent('agency-progressbar:client:stop', false) end)
agency:consumables:useFood

Pont inventaire pour consommer un aliment (animation + application serveur sécurisée).

Voir l'exemple

Declenche le pont nourriture de l'inventaire pour consommer un sandwich.

TriggerEvent('agency:consumables:useFood', 'sandwich')
agency:consumables:useDrink

Pont inventaire pour consommer une boisson (animation + application serveur sécurisée).

Voir l'exemple

Declenche le pont boisson de l'inventaire pour consommer un cafe.

TriggerEvent('agency:consumables:useDrink', 'coffee_cup')
Agency:Progressbar:SaveSettings

Valide et persiste les réglages UI de la barre de progression du joueur en BD.

Voir l'exemple

Sauvegarde les preferences UI de la barre de progression dans la base.

TriggerServerEvent('Agency:Progressbar:SaveSettings', { position = 'top-right', color = '#00aaff', scale = 1.2 })
agency-progressbar:server:start

Déclencheur côté serveur pour démarrer une barre de progression sur une cible (ou soi-même).

Voir l'exemple

Trigger serveur pour lancer une barre de chargement de caisse de 6 s sur la cible.

RegisterCommand('movecrate', function(source) TriggerEvent('agency-progressbar:server:start', source, { label = 'Loading crate onto truck', duration = 6000 }) end, false)
agency-progressbar:server:stop

Déclencheur côté serveur pour arrêter une barre de progression sur une cible (ou soi-même).

Voir l'exemple

Trigger serveur pour stopper la barre d'une cible avec etat annule.

RegisterNetEvent('admin:abortJob', function(targetId) TriggerEvent('agency-progressbar:server:stop', targetId, false) end)
agency:reload:request

Valide munitions/arme/objet avant d'accorder un rechargement au joueur demandeur.

Voir l'exemple

Demande au serveur de valider les munitions et autoriser le rechargement d'un pistolet.

TriggerServerEvent('agency:reload:request', 'WEAPON_PISTOL', 'ammo-9')
agency:consumables:apply

Valide l'inventaire, retire un objet et applique les gains de faim/soif.

Voir l'exemple

Demande au serveur de retirer l'aliment et d'appliquer le gain de faim.

RegisterNetEvent('food:onEatStart', function(itemName) TriggerServerEvent('agency:consumables:apply', itemName) end)

14Agency-Notify

Systeme de notifications avec styles V1/V2, priorite intelligente AgencyAI, protection anti-spam et persistance en base de donnees.

Remplace toutes les autres ressources de notification de ton serveur (qb-notify, esx_notify, mythic_notify, okok-notify, etc.) par un design coherent. Le systeme de priorite AgencyAI limite automatiquement le debit des notifications spammy.

Documentation complète

Exports client

Notify(data: { title, text, type, duration, ... })

Affiche une notification. Accepte { type, title, text, duration, icon, color }.

Voir l'exemple

Envoie une notification de reussite de 6 s annoncant un objectif de braquage.

exports['Agency-Notify']:Notify({ title = 'Bank Heist', text = 'Vault drilled, grab the loot!', type = 'success', duration = 6000 })

Événements

Agency:Notify:Send

Identique a l'export, permet d'utiliser le pattern Trigger classique.

Voir l'exemple

Evenement client legacy v1 affichant le meme payload que l'export.

TriggerEvent('Agency:Notify:Send', { title = 'Old Notify', text = 'Legacy v1 entry point still works', type = 'info' })
Agency:Notify:LoadSettings

Applique les réglages UI sauvegardés par joueur (position, couleur, échelle, style) depuis le serveur.

Voir l'exemple

Charge les parametres UI de notification sauvegardes par joueur a l'apparition.

AddEventHandler('playerSpawned', function() TriggerEvent('Agency:Notify:LoadSettings') end)
Agency:Notify:SaveSettings

Valide et persiste les réglages de notification du joueur (position, accent, échelle, style).

Voir l'exemple

Sauvegarde la position, l'accent et l'echelle des notifications dans la base.

TriggerServerEvent('Agency:Notify:SaveSettings', { position = 'top-right', accent = '#ff8800', scale = 1.1, style = 'modern' })

15Agency-Seatbelt

Ceinture de securite avec physique d'ejection, sons 3D, support multi-occupants et integration HUD.

Branche l'etat sur ton propre HUD, ou force l'activation au debut d'une course-poursuite / fuite de braquage. Les exports force-enable/disable sont parfaits pour les moments RP.

Documentation complète

Exports client

enableSeatbelt()

Force la mise de la ceinture (par ex. lors d'une arrestation par la police).

Voir l'exemple

Boucle la ceinture du joueur local avec retour HUD et sonore.

RegisterNetEvent('vehicle:autoBuckle', function() if IsPedInAnyVehicle(PlayerPedId(), false) then exports['Agency-Seatbelt']:enableSeatbelt() end end)
disableSeatbelt()

Force le retrait de la ceinture (cinematiques, scenarios RP).

Voir l'exemple

Detache la ceinture du joueur local en sortant d'un vehicule.

RegisterNetEvent('vehicle:onExit', function() exports['Agency-Seatbelt']:disableSeatbelt() end)
toggleSeatbelt()

Bascule l'etat de la ceinture (ce que fait le keybind par defaut).

Voir l'exemple

Bascule la ceinture du joueur local sur appui de touche.

RegisterKeyMapping('+seatbelt', 'Toggle seatbelt', 'keyboard', 'B') RegisterCommand('+seatbelt', function() exports['Agency-Seatbelt']:toggleSeatbelt() end)
isSeatbeltOn()

Renvoie true si le joueur a actuellement sa ceinture attachee.

Voir l'exemple

Desactive le controle de sortie tant que la ceinture est bouclee.

if exports['Agency-Seatbelt']:isSeatbeltOn() then DisableControlAction(0, 75, true) end

16Agency-Elevator

Systeme d'ascenseur realiste avec UI Liquid Glass et un configurateur.

Parfait dans les scripts d'appartement/housing, QG de police, hopital ou tout interieur multi-etages. Utilise le configurateur pour placer les ascenseurs visuellement sans toucher aux fichiers de config.

Documentation complète

Événements

Agency-Elevator:server:requestTravel

Requete validee par le serveur pour se deplacer entre etages.

Voir l'exemple

Demande au serveur de valider l'acces puis de monter a l'etage 3.

TriggerServerEvent('Agency-Elevator:server:requestTravel', 'lspd-tower-1', 3)
Agency-Elevator:server:travelComplete

Confirme l'arrivée du client et envoie la notification 'arrivé à l'étage'.

Voir l'exemple

Indique au serveur l'arrivee a l'etage 3 pour envoyer la notification d'arrivee.

TriggerServerEvent('Agency-Elevator:server:travelComplete', 'lspd-tower-1', 3)
Agency-Elevator:server:requestElevators

Synchronise la liste d'ascenseurs chargée depuis la base de données vers le client demandeur.

Voir l'exemple

Demande la liste complete des ascenseurs au serveur a l'initialisation.

AddEventHandler('onClientResourceStart', function(res) if res == GetCurrentResourceName() then TriggerServerEvent('Agency-Elevator:server:requestElevators') end end)
Agency-Elevator:server:saveElevator

Upsert d'un ascenseur (id/label/étages) dans MySQL avec contrôle des permissions.

Voir l'exemple

Upsert admin d'un ascenseur avec une seule entree d'etage Lobby.

TriggerServerEvent('Agency-Elevator:server:saveElevator', { id = 'lspd-tower-1', label = 'LSPD HQ', floors = { { name = 'Lobby', coords = vector3(441.0, -981.5, 30.7) } } })
Agency-Elevator:server:loadElevator

Fait apparaitre/charge un ascenseur sauvegarde depuis la base de donnees.

Voir l'exemple

Charge les donnees d'un seul ascenseur dans le NUI du configurateur pour edition.

TriggerServerEvent('Agency-Elevator:server:loadElevator', 'lspd-tower-1')
Agency-Elevator:server:saveSettings

Persiste les réglages UI (position/échelle/couleur d'accent) dans MySQL et resynchronise tous les clients.

Voir l'exemple

Sauvegarde la position UI, la couleur d'accent et l'echelle et resync tous les clients.

TriggerServerEvent('Agency-Elevator:server:saveSettings', { position = 'top-right', accent = '#22c55e', scale = 1.0 })
Agency-Elevator:client:startTravel

Demarre une cinematique de trajet d'ascenseur pour le joueur.

Voir l'exemple

Joue le fondu et l'animation puis teleporte le ped a l'etage 2 du garage.

TriggerEvent('Agency-Elevator:client:startTravel', 'parking-garage', 2)
Agency-Elevator:client:applySettings

Envoie les réglages UI (accent/échelle/position) vers le NUI.

Voir l'exemple

Applique l'accent, l'echelle et la position du NUI ascenseur sur le client local.

TriggerEvent('Agency-Elevator:client:applySettings', { accent = '#0ea5e9', scale = 0.9, position = 'bottom-left' })
Agency-Elevator:client:openConfigurator

Ouvre le configurateur d'ascenseur en jeu (admin uniquement).

Voir l'exemple

Ouvre le NUI configurateur admin avec la liste d'ascenseurs actuelle.

TriggerEvent('Agency-Elevator:client:openConfigurator')
Agency-Elevator:client:refreshConfigurator

Actualise le configurateur ouvert après une sauvegarde/suppression sans le fermer.

Voir l'exemple

Rafraichit le NUI configurateur ouvert apres une sauvegarde sans le fermer.

AddEventHandler('Agency-Elevator:server:elevatorSaved', function() TriggerEvent('Agency-Elevator:client:refreshConfigurator') end)

17Agency-Housing

Database driven housing system for FiveM with auto-detection for ESX, QBCore and QBox. Houses are created in-game through a liquid-glass creator UI instead of a config file: place the entrance where you stand, mark the property border from the air, pick one of 18 shells or record a custom interior. Buy and sell with configurable refunds and a per-player limit, hand keys to other players, furnish the whole plot with up to 60 props, and lock real MLO doors. Property borders run on PolyZone, everything persists in MySQL.

Documentation complète

Exports client

IsInsideHouse()

Returns true while the player is inside a house.

GetCurrentHouse()

The house the player is currently inside, or nil.

LeaveHouse()

Puts the player back outside through the entrance.

GetHouseAtPoint(coords)

The first house whose property border owns this ground.

GetHousesAtPoint(coords)

Every house owning this ground, for overlapping plots such as an apartment block.

GetCurrentProperty()

The plot the player is standing on right now, or nil.

IsOnProperty(houseId)

Whether the player stands on the property of that house.

GetHouseZone(houseId)

The stored border shape of a house.

GetAccent()

The accent colour the player picked in Housing > Settings.

Exports serveur

GetHouses()

Every house on the server, keyed by id.

GetPlayerHouses(source)

The houses that player owns.

HasHouseAccess(source, houseId)

Whether that player owns the house or holds a key to it.

GetHouseAtPoint(coords)

The first house whose property border owns this ground.

GetHousesAtPoint(coords)

Every house owning this ground, for overlapping plots.

GetHouseZone(houseId)

The stored border shape of a house.

Événements

agency-housing:client:enteredZone

Fires with (houseId, house) when the player steps onto a property, so a job or robbery script does not have to poll.

agency-housing:client:leftZone

Fires with (houseId, house) when the player leaves a property.

Toujours bloqué après cette page ? Notre support prend le relais.

Toujours bloqué après cette page ? Notre support prend le relais.