Parceiros dev
Integrar com os scripts da Agency
Estás a criar o teu próprio script de FiveM e queres ligá-lo aos nossos? Aqui está cada export e cada evento público, com um excerto de Lua para copiar.
Os exports permitem que o teu script chame uma função no nosso: exports['script-name']:FunctionName(args), tanto no cliente como no servidor. Os eventos vão ao contrário: são disparados com TriggerEvent ou TriggerServerEvent e ouvidos com RegisterNetEvent.
01Agency-Phone
Telefone multi-framework completo com SMS, chamadas, feed social, mail, câmera, wallet e checkout AgencyPay.
Use em qualquer script de loja/assalto/trabalho quando quiser um fluxo de pagamento limpo dentro do telefone em vez de descontar dinheiro na hora. Ideal também para notificações in-game com aceitar/recusar (ex. pedidos de táxi, chamadas de dispatch).
Exports de cliente
IsPhoneOpen()Retorna true se a UI do telefone está aberta no momento.
Ver exemplo
Evita abrir um menu próprio enquanto o telefone está aberto.
RegisterCommand('openmymenu', function()
if exports['agency-phone']:IsPhoneOpen() then
return
end
TriggerEvent('myresource:openMenu')
end)IsPhonePoweredOn()Retorna true se o telefone está ligado.
Ver exemplo
Pausa a sincronização em segundo plano enquanto o telefone está desligado.
CreateThread(function()
while true do
Wait(2000)
if not exports['agency-phone']:IsPhonePoweredOn() then
print('Phone off, pausing background sync')
end
end
end)GetPhoneData()Retorna a tabela bruta de dados do telefone.
Ver exemplo
Exibe toda a tabela de dados do telefone para depuração.
RegisterCommand('phonedebug', function()
local data = exports['agency-phone']:GetPhoneData()
print(json.encode(data, { indent = true }))
end)GetPhonePropEntity()Retorna o handle da entidade do prop do telefone segurado, ou 0 se não estiver visível.
Ver exemplo
Oculta rapidamente o prop do telefone sem mexer na lógica.
CreateThread(function()
Wait(500)
local prop = exports['agency-phone']:GetPhonePropEntity()
if prop ~= 0 and DoesEntityExist(prop) then
SetEntityVisible(prop, false, false)
end
end)IsPhoneExpanded()Retorna true se o telefone está expandido na tela.
Ver exemplo
Alias legado que bloqueia um minigame enquanto o telefone está aberto.
AddEventHandler('myresource:beforeMinigame', function()
if exports['agency-phone']:IsPhoneExpanded() then
TriggerEvent('chat:addMessage', { args = { 'Close phone first' } })
return
end
end)HasCarrierContract()Retorna true quando o jogador tem um data plan de operadora ativo.
Ver exemplo
Avisa o jogador quando não há plano de dados ativo.
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()Retorna o objeto completo de estado do telefone.
Ver exemplo
Faz cache do estado do telefone só quando aberto, ligado e sincronizando.
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()Retorna true se o jogador possui um item de telefone.
Ver exemplo
Bloqueia o comando de emergência se o jogador não tiver telefone.
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)Registra um terminal comercial AgencyPay recorrente.
Ver exemplo
Cria um terminal Agency Pay em tempo de execução para a oficina.
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)Remove um terminal AgencyPay registrado anteriormente.
Ver exemplo
Remove o ponto de pagamento quando a loja fecha à noite.
AddEventHandler('myresource:onShopClosed', function(shopId)
exports['agency-phone']:RemoveAgencyPayPoint('mechanic_main')
print('Removed pay point for shop ' .. shopId)
end)StartAgencyPayCheckout(data)Abre a folha de checkout AgencyPay para pagamento seguro com cartão.
Ver exemplo
Abre o telefone e inicia um pequeno pagamento de gorjeta 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)Inicia uma chamada pma-voice usando uma tabela de contato.
Ver exemplo
Inicia uma chamada para o contato enviado pelo 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)Mostra uma notificação no telefone com botões aceitar/recusar opcionais.
Ver exemplo
Exibe uma notificação bloqueante de aceitar/recusar para guincho.
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 de servidor
SendMail(identifier, mailData)Envia um mail para um jogador (online ou offline).
Ver exemplo
Envia um e-mail de recibo ao jogador via seu identificador 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)Publica uma mensagem no feed Pulse (chirper).
Ver exemplo
Publica um anúncio de recompensa no Chirper a partir do servidor.
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 registrado quando ESX+ox_inventory é detectado; abre o phone para o portador do inventário.
Ver exemplo
Conecta-se ao usingItem do ox_inventory para abrir o telefone.
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 } })Eventos
agency-phone:client:notifyExibe uma notificação do phone (title, text, icon, color, timeout, silent).
Ver exemplo
Dispara um toast não bloqueante avisando que o veículo está pronto.
TriggerEvent('agency-phone:client:notify', 'Heads up', 'Vehicle ready for pickup', 'car', '#22cc88', 5000, false)agency-phone:client:usePhoneItemAciona o fluxo de abertura do phone quando o item de inventário é usado.
Ver exemplo
Encaminha um evento de uso de item para o fluxo de abertura do telefone.
AddEventHandler('myresource:client:onItemUsed', function(itemName)
if itemName == 'phone' then
TriggerEvent('agency-phone:client:usePhoneItem')
end
end)agency-phone:client:openAppSolicita ao phone navegar para um app personalizado por id (usado por módulos de app).
Ver exemplo
Abre direto um app de banco personalizado pelo id.
RegisterCommand('openbank', function()
TriggerEvent('agency-phone:client:openApp', 'banking')
end)agency-phone:client:newMailNotifyNotifica o client de um e-mail recém-recebido.
Ver exemplo
Escuta notificações de novo e-mail e as registra para depuração.
AddEventHandler('agency-phone:client:newMailNotify', function(mail)
print(('New mail from %s: %s'):format(mail.sender, mail.subject))
end)agency-phone:server:requestPhoneDataSolicita uma sincronização nova dos dados do phone para o jogador chamador.
Ver exemplo
Pede ao servidor uma nova sincronização completa do telefone.
RegisterCommand('refreshphone', function()
TriggerServerEvent('agency-phone:server:requestPhoneData')
end)agency-phone:server:cancelCallCancela ou encerra uma chamada ativa.
Ver exemplo
Encerra a chamada ativa via um atalho próprio ou comando.
RegisterCommand('hangup', function()
TriggerServerEvent('agency-phone:server:cancelCall')
end)agency-phone:server:sendMessageEnvia uma mensagem SMS (newMsg, targetNumber).
Ver exemplo
Envia rapidamente um SMS para um número alvo a partir do 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:saveSettingPersiste uma única chave/valor de configuração do phone para o jogador.
Ver exemplo
Salva uma configuração do telefone ao ser alterada no cliente.
AddEventHandler('myresource:client:onSettingChanged', function(key, value)
TriggerServerEvent('agency-phone:server:saveSetting', key, value)
end)agency-phone:server:airdropPayRealiza uma transferência Agency Airdrop para um jogador próximo.
Ver exemplo
Dispara um Agency Airdrop a jogadores próximos com o valor digitado.
RegisterCommand('airdrop', function(_, args)
local amount = tonumber(args[1]) or 0
TriggerServerEvent('agency-phone:server:airdropPay', amount, 'Tip via airdrop')
end)agency-phone:server:buyDataPlanCompra um data plan de operadora para o jogador (price, planName).
Ver exemplo
Compra um plano de dados após o jogador escolhê-lo em uma UI personalizada.
AddEventHandler('myresource:client:onPlanSelected', function(plan)
TriggerServerEvent('agency-phone:server:buyDataPlan', plan.price, plan.name)
end)agency-phone:dispatch:createCria um dispatch do phone a partir de uma chamada/SMS de emergência.
Ver exemplo
Gera um registro de dispatch do telefone a partir de uma ligação de emergência.
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
Tablet AgencyOS com um ecossistema completo de apps. Registre seus próprios apps via config.lua.
Perfeito para dashboards de admin, apps de gestão empresarial, mapas de território de gangs ou qualquer UI custom que seus jogadores precisem dentro do GTA, vive dentro de uma bonita carcaça de tablet sem trabalho extra.
Exports de cliente
IsPadOpen()Retorna true se a UI do tablet está aberta (verifique o estado do tablet antes de mostrar UIs).
Ver exemplo
Evita reabrir a UI da tablet se a tablet do jogo já está aberta.
RegisterCommand('opentablet', function()
if exports['agency-pad']:IsPadOpen() then
return
end
TriggerEvent('myresource:openTablet')
end)IsPadPoweredOn()Retorna true se o tablet estiver ligado.
Ver exemplo
Pausa o polling da frota enquanto o tablet está desligado.
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()Retorna a tabela PadData completa do lado client.
Ver exemplo
Exibe toda a tabela de dados do tablet no cliente para inspeção.
RegisterCommand('paddebug', function()
local data = exports['agency-pad']:GetPadData()
print(json.encode(data, { indent = true }))
end)GetPadPropEntity()Retorna o handle da entidade do prop do tablet segurado, ou 0 se não visível.
Ver exemplo
Oculta brevemente o prop do tablet durante uma cutscene personalizada.
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() mantido por compatibilidade retroativa.
Ver exemplo
Alias legado que bloqueia um minigame enquanto o tablet está aberto.
AddEventHandler('myresource:client:beforeMinigame', function()
if exports['agency-pad']:IsPadExpanded() then
return
end
TriggerEvent('myresource:client:startMinigame')
end)HasCarrierContract()Retorna true quando o jogador tem um data plan de operadora ativo no tablet.
Ver exemplo
Avisa o jogador se não há plano de dados ativo no tablet.
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()Retorna a tabela { isOpen, poweredOn, syncEnabled } resumindo o status atual do tablet.
Ver exemplo
Faz cache do estado do tablet só quando aberto e ligado.
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()Retorna true se o jogador tem o item tablet configurado no inventário.
Ver exemplo
Bloqueia o comando do dispatch se o jogador não tiver tablet.
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)Registra um terminal Agency Pay em runtime numa coordenada (markers, blip, checkout payload).
Ver exemplo
Cria um terminal Agency Pay em tempo de execução no hospital.
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)Remove um terminal Agency Pay registrado anteriormente por id.
Ver exemplo
Remove um ponto de pagamento do tablet quando o local fecha.
AddEventHandler('myresource:onLocationClosed', function(locationId)
exports['agency-pad']:RemoveAgencyPayPoint(locationId)
end)StartAgencyPayCheckout(data)Abre o tablet (se necessário) e inicia um checkout Agency Pay com o payload de pagamento dado.
Ver exemplo
Abre o tablet e inicia um pagamento Agency Pay do IPTU.
RegisterCommand('paybill', function()
exports['agency-pad']:StartAgencyPayCheckout({
amount = 1500,
receiver = 'gov_taxes',
label = 'Property tax',
memo = 'Quarterly tax'
})
end)StartCall(contactData)Inicia uma chamada de saída do tablet para o contato fornecido ({ name, number, ... }).
Ver exemplo
Inicia uma chamada saindo do tablet ao receber um 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)Exibe uma notificação de ação com botões accept/deny; bloqueia até a resposta e retorna true/false.
Ver exemplo
Exibe uma notificação bloqueante no tablet para iniciar uma entrega.
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 de servidor
SendMail(identifier, mailData)Envia um mail para a caixa principal do jogador pelo identifier (retorna sucesso).
Ver exemplo
Envia um e-mail de aviso de fatura a um jogador via identificador.
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 registrado ao detectar ESX+ox_inventory; abre o tablet para o portador do inventário.
Ver exemplo
Conecta-se ao ox_inventory para abrir o tablet via 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 para o id legado do item phone; abre o tablet para o portador do inventário.
Ver exemplo
Redireciona o item legado de telefone para abrir a UI do tablet.
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 } })Eventos
agency-pad:client:notifyExibe uma notificação do tablet (title, text, icon, color, timeout, silent).
Ver exemplo
Dispara um toast não bloqueante no tablet sobre missão desbloqueada.
TriggerEvent('agency-pad:client:notify', 'Job update', 'New mission unlocked', 'briefcase', '#22cc88', 5000, false)agency-pad:client:usePadItemAbre o tablet quando o item de inventário é usado.
Ver exemplo
Encaminha um evento de uso de item para o fluxo de abertura do tablet.
AddEventHandler('myresource:client:onItemUsed', function(itemName)
if itemName == 'tablet' then
TriggerEvent('agency-pad:client:usePadItem')
end
end)agency-pad:client:openAppDispare no client para abrir um app específico dentro do tablet.
Ver exemplo
Abre direto o app personalizado de gestão de frota.
RegisterCommand('openfleet', function()
TriggerEvent('agency-pad:client:openApp', 'fleet')
end)agency-pad:client:newMailNotifyNotifica o client de um e-mail recém-recebido.
Ver exemplo
Escuta notificações de e-mail no tablet e registra localmente.
AddEventHandler('agency-pad:client:newMailNotify', function(mail)
print(('Tablet mail from %s: %s'):format(mail.sender, mail.subject))
end)agency-pad:client:hourlyPaycheckNotifica o client de um evento de paycheck horário do business.
Ver exemplo
Reage a um paycheck horário de empresa enviado pelo tablet.
AddEventHandler('agency-pad:client:hourlyPaycheck', function(payload)
print(('Hourly paycheck: $%s from %s'):format(payload.amount, payload.businessName))
end)agency-pad:server:requestPadDataSolicita uma sincronização nova dos dados do tablet para o jogador chamador.
Ver exemplo
Pede ao servidor uma nova sincronização completa do tablet.
RegisterCommand('refreshpad', function()
TriggerServerEvent('agency-pad:server:requestPadData')
end)agency-pad:server:sendMessageEnvia uma mensagem SMS (newMsg, targetNumber).
Ver exemplo
Envia um SMS do tablet via comando personalizado e número de destino.
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:airdropPayRealiza uma transferência Agency Airdrop para um jogador próximo.
Ver exemplo
Dispara um Agency Airdrop a jogadores próximos a partir do tablet.
RegisterCommand('airdroppad', function(_, args)
local amount = tonumber(args[1]) or 0
TriggerServerEvent('agency-pad:server:airdropPay', amount, 'Tablet airdrop')
end)agency-pad:server:buyDataPlanCompra um data plan de operadora para o jogador.
Ver exemplo
Compra um plano de dados do tablet após escolha em UI personalizada.
AddEventHandler('myresource:client:padPlanSelected', function(plan)
TriggerServerEvent('agency-pad:server:buyDataPlan', plan.price, plan.name)
end)agency-pad:dispatch:createCria um dispatch do tablet a partir de uma chamada/SMS de emergência.
Ver exemplo
Gera um registro de dispatch do tablet a partir de uma chamada de emergência.
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:createCria um novo business/organização para o jogador.
Ver exemplo
Cria um novo registro de empresa via comando in-game personalizado.
RegisterCommand('startbiz', function()
TriggerServerEvent('agency-pad:server:biz:create', {
name = 'Bennys Repair',
type = 'mechanic',
location = 'sandy_shores'
})
end)agency-pad:server:biz:adminCreateAdmin cria um business em nome de outro jogador.
Ver exemplo
Encaminha um comando admin para criar uma empresa para outro jogador.
RegisterNetEvent('myresource:server:adminCreateBiz', function(targetSrc, payload)
TriggerEvent('agency-pad:server:biz:adminCreate', targetSrc, payload)
end)agency-pad:server:biz:startMissionInicia uma missão de business configurada para o jogador.
Ver exemplo
Inicia uma missão de empresa configurada para o jogador chamador.
RegisterCommand('bizmission', function()
TriggerServerEvent('agency-pad:server:biz:startMission', {
bizId = 12,
missionId = 'delivery_route_a'
})
end)agency-pad:server:applyToListingEnvia uma candidatura a uma listagem de business.
Ver exemplo
Envia candidatura a um anúncio de emprego do tablet pelo id.
RegisterCommand('apply', function(_, args)
local listingId = tonumber(args[1])
TriggerServerEvent('agency-pad:server:applyToListing', listingId, {
coverNote = 'Available immediately'
})
end)agency-pad:server:createMechanicInvoiceCria um rascunho de fatura de mecânico.
Ver exemplo
Cria um rascunho de fatura do mecânico para uma placa e valor.
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:sendMechanicInvoicePayEnvia uma fatura de mecânico a um cliente para pagamento.
Ver exemplo
Envia uma fatura de mecânico finalizada ao cliente para pagamento.
AddEventHandler('myresource:client:onInvoiceConfirmed', function(invoice)
TriggerServerEvent('agency-pad:server:sendMechanicInvoicePay', invoice.id, invoice.targetSrc)
end)agency-pad:server:mdtCreateInvoiceO MDT cria uma multa/fatura para um cidadão.
Ver exemplo
Cria uma multa/fatura MDT para um cidadão via net event próprio.
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.
Exports de cliente
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 de servidor
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
Sistema de publicidade moderno com preços em níveis, fila de anúncios e aprovação de admin.
Use como substituto in-game para Twitter/Instagram. Perfeito para negócios anunciando novos produtos, gangs reivindicando território, ou a equipe de admin postando notícias do servidor.
Eventos
agency_lifeinvader:showAdMostra um anúncio ao jogador (helper de broadcast).
Ver exemplo
Transmite um anuncio de evento comunitario para todos os jogadores do servidor.
-- 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:openMenuAbre o menu "criar anúncio".
Ver exemplo
Abre o menu principal de criacao de anuncios apos a compra do app do telefone.
-- Open the ad creation menu when the player buys a phone app
TriggerClientEvent('agency_lifeinvader:openMenu', src)agency_lifeinvader:openRecentMenuAbre o feed de "anúncios recentes".
Ver exemplo
Abre o menu de feed de anuncios recentes apos tocar em um contato no app.
-- Open the recent ads feed after a contact tap in the phone app
TriggerClientEvent('agency_lifeinvader:openRecentMenu', src)agency_lifeinvader:notifyMostra uma notificação do framework na tela do jogador (message, type).
Ver exemplo
Mostra uma notificacao do framework quando o anuncio do jogador e aprovado.
-- Notify the player when their queued ad gets reviewed by staff
TriggerClientEvent('agency_lifeinvader:notify', src, 'Your ad was approved!', 'success')agency_lifeinvader:submitAdSubmete um novo anúncio a partir do código (usado pela UI, reutilizável).
Ver exemplo
Envia um anuncio de venda de veiculo com cinco repeticoes a cada 60 segundos.
-- 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
Mercado negro baseado em reputação com hacking, vendas relâmpago, tráfico de veículos e lavagem de dinheiro.
Integre com seus scripts de roubos, assaltos ou tráfico de drogas, o jogador vende itens roubados aqui ou lava seu dinheiro sujo antes que ele se torne limpo.
Eventos
blackmarket:client:openMenuAbre o menu principal do mercado negro.
Ver exemplo
Abre o menu principal do dealer do mercado negro apos um pagamento de trabalho.
-- Custom dealer NPC opens the black market menu when its job pays out
TriggerClientEvent('blackmarket:client:openMenu', src)blackmarket:client:closeMenuFecha quaisquer menus do mercado negro abertos para o jogador.
Ver exemplo
Fecha qualquer menu do mercado negro quando o jogador e algemado pela policia.
-- Force-close menu when player gets cuffed by police
TriggerClientEvent('blackmarket:client:closeMenu', suspectSrc)blackmarket:client:openLaunderingMenuAbre o submenu de lavagem de dinheiro.
Ver exemplo
Abre o submenu de lavagem de dinheiro ao jogador apos um assalto bem sucedido.
-- Heist crew NPC opens money laundering submenu after a successful job
TriggerClientEvent('blackmarket:client:openLaunderingMenu', src)blackmarket:client:showNotificationExibe uma notificacao estilizada do mercado negro (titulo, mensagem, tipo, duracao).
Ver exemplo
Exibe uma notificacao estilizada do mercado negro sobre uma nova remessa.
-- 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:checkAccessVerifica o nível de acesso atual do jogador.
Ver exemplo
Verifica se o jogador pode acessar o mercado negro e obtem a reputacao.
-- Storefront NPC checks if player can access the black market before opening
TriggerServerEvent('blackmarket:server:checkAccess')blackmarket:server:completeBuyFinaliza uma compra apos o sucesso do minigame no client.
Ver exemplo
Finaliza uma compra do mercado negro apos o minigame do cliente ter sucesso.
-- Finalise a buy after the lockpick minigame succeeds
TriggerServerEvent('blackmarket:server:completeBuy', 'weapon_pistol', 1, 8500)blackmarket:server:sellItemProcessa a venda de um item.
Ver exemplo
Inicia o fluxo de venda de um rolex roubado com minigame opcional e cooldown.
-- Trigger the sell flow with optional minigame for a stolen item
TriggerServerEvent('blackmarket:server:sellItem', 'rolex', 1)blackmarket:server:completeSellFinaliza uma venda apos o sucesso do minigame no client.
Ver exemplo
Finaliza a venda apos o minigame de pechincha do cliente ter sucesso.
-- Finalise a sale after the haggle minigame succeeds
TriggerServerEvent('blackmarket:server:completeSell', 'rolex', 1, 4250)blackmarket:server:launderMoneyProcessa uma transação de lavagem de dinheiro.
Ver exemplo
Lava dinheiro sujo do trafico de drogas em dinheiro limpo com taxas e extorsao.
-- Launder dirty cash earned from drug trafficking
TriggerServerEvent('blackmarket:server:launderMoney', 'dirty_money', 25000)06Agency-Minerjob
Emprego de mineração multi-framework com progressão de habilidade de 100 níveis, skill checks ox_lib e 6 tipos de minério.
Ótimo como emprego de entrada para jogadores novos. Vincule a progressão de XP à reputação de gangue, empregos whitelist, ou use como refúgio para jogadores desempregados.
Eventos
agency_minerJob:openSellMenuAbre o menu de venda na refinaria de minério.
Ver exemplo
Abre o menu de venda do comerciante para vender os minerios extraidos.
-- Open the trader sell menu for the local player
TriggerEvent('agency_minerJob:openSellMenu')agency_minerJob:sellItemsVende todos os minérios de uma vez ao preço atual do mercado.
Ver exemplo
Vende todas as unidades do minerio ao preco dinamico atual do comerciante.
-- Sell every copper ore in the player's inventory at current price
TriggerServerEvent('agency_minerJob:sellItems', 'copper')agency_minerJob:requestPlayerItemsRetorna os itens de mineração vendáveis do jogador via receivePlayerItems.
Ver exemplo
Solicita ao servidor a lista de minerios que o jogador pode vender.
-- Ask server which ores are sellable; reply comes via receivePlayerItems
TriggerServerEvent('agency_minerJob:requestPlayerItems')agency_minerJob:requestPlayerSkillRetorna um resumo rápido da habilidade de mineração via receiveSkillInfo.
Ver exemplo
Solicita um resumo rapido da habilidade de mineracao via receiveSkillInfo.
-- Refresh the HUD widget with the current mining level/xp
TriggerServerEvent('agency_minerJob:requestPlayerSkill')agency_minerJob:requestDetailedStatsRetorna o payload detalhado das estatísticas de mineração via receiveDetailedStats.
Ver exemplo
Solicita as estatisticas detalhadas de mineracao e abre o menu via receiveDetailedStats.
-- Open the detailed stats panel after admin command
TriggerServerEvent('agency_minerJob:requestDetailedStats')07Agency-Repairkits
Kit de reparo de veículos com mecânica de dano progressivo e UI moderna.
Perfeito em empregos de mecânico, guincho, ou como item consumível em um inventário geral. O sistema de dano progressivo combina perfeitamente com um script de chop-shop ou seguros.
Eventos
agencyrepairkit:client:startRepairInicia a animação de reparo e a barra de progresso no veículo alvo.
Ver exemplo
Gatilho universal para iniciar o fluxo do kit de reparo no veiculo.
-- Universal trigger when player uses a custom 'repair' button
TriggerEvent('agencyrepairkit:client:startRepair')esx-agencyrepairkit:client:useRepairKitAlias específico do ESX que inicia o fluxo de progresso do kit de reparo.
Ver exemplo
Apelido especifico do ESX que inicia o fluxo do kit de reparo do veiculo.
-- Use this alias from your ESX item handler
TriggerEvent('esx-agencyrepairkit:client:useRepairKit')qb-agencyrepairkit:client:useRepairKitAlias específico do QBCore que inicia o fluxo de progresso do kit de reparo.
Ver exemplo
Apelido especifico do QBCore que inicia o fluxo do kit de reparo do veiculo.
-- QBCore item callback can use this alias directly
TriggerEvent('qb-agencyrepairkit:client:useRepairKit')08Agency-Vehiclekeys
Chaves de veículo com travar/destravar, partida remota, pisca-pisca e compartilhamento de chaves.
Funciona como o check de "possui este veículo" para qualquer outro script, guinchos, pátios de apreensão, manobristas, minigames de carjacking. O export de validação é seguro para chamar de qualquer outro recurso.
Eventos
simple_carkeys:client:toggleLockAlterna o estado de bloqueio do veículo (respeitando a propriedade).
Ver exemplo
Alternador de bloqueio em rede com animacao de chave, luzes e som.
-- Sync lock toggle to all clients near a tow truck
local vehicle = GetVehiclePedIsIn(PlayerPedId(), false)
TriggerEvent('simple_carkeys:client:toggleLock', vehicle)simple_carkeys:client:toggleEngineLiga ou desliga remotamente o motor do veículo alvo.
Ver exemplo
Alternador de motor ligar/desligar em rede para o veiculo fornecido.
-- 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:showErrorExibe no client uma notificacao de erro generica 'nao e seu carro'.
Ver exemplo
Mostra uma notificacao de erro generica 'nao e seu carro' ao cliente.
-- Show the standard 'not your car' notification on a failed lockpick
TriggerEvent('simple_carkeys:client:showError')simple_carkeys:client:showNotificationTextExibe no client uma notificacao de sucesso com texto arbitrario.
Ver exemplo
Mostra uma notificacao de sucesso com texto arbitrario ao cliente.
-- Tell the player the engine started OK after a custom hotwire script
TriggerEvent('simple_carkeys:client:showNotificationText', 'Engine started')simple_carkeys:client:showErrorTextExibe no client uma notificacao de erro com texto arbitrario.
Ver exemplo
Mostra uma notificacao de erro com texto arbitrario ao cliente.
-- Block engine start when fuel is empty
TriggerEvent('simple_carkeys:client:showErrorText', 'Out of fuel')simple_carkeys:server:forceToggleLockCaminho job/admin: emite um toggle de tranca para um veiculo sem verificar propriedade.
Ver exemplo
Rota emprego/admin: emite o toggle de bloqueio sem verificacao de propriedade.
-- Police impound forces an unlock without ownership checks
TriggerServerEvent('simple_carkeys:server:forceToggleLock', VehToNet(vehicle))simple_carkeys:server:forceToggleEngineCaminho job/admin: emite um toggle de motor para um veiculo sem verificar propriedade.
Ver exemplo
Rota emprego/admin: emite o toggle de motor sem verificacao de propriedade.
-- Ambulance script force-starts a parked car for an evac mission
TriggerServerEvent('simple_carkeys:server:forceToggleEngine', VehToNet(vehicle))simple_carkeys:server:checkOwnershipAndLockValida posse/chaves compartilhadas pela placa e emite um toggle de tranca em caso de sucesso.
Ver exemplo
Valida propriedade/chaves partilhadas da placa e emite o toggle de bloqueio.
-- Player presses L; verify ownership before locking the vehicle
TriggerServerEvent('simple_carkeys:server:checkOwnershipAndLock', 'AB12XYZ', VehToNet(vehicle))simple_carkeys:server:checkOwnershipAndStartValida posse/chaves compartilhadas pela placa e emite um toggle de motor em caso de sucesso.
Ver exemplo
Valida propriedade/chaves partilhadas da placa e emite o toggle de motor.
-- Validate then start engine on the vehicle the player is in
TriggerServerEvent('simple_carkeys:server:checkOwnershipAndStart', 'AB12XYZ', VehToNet(vehicle))simple_carkeys:server:universalEngineStartPermite a qualquer jogador ligar qualquer motor quando Config.AllowUniversalEngineStart esta ativo.
Ver exemplo
Permite a qualquer jogador ligar um motor quando AllowUniversalEngineStart esta ativo.
-- Hotwire mini-game success: any player starts any engine when allowed in config
TriggerServerEvent('simple_carkeys:server:universalEngineStart', VehToNet(vehicle))09Agency-Vending
Máquinas de venda automática com propriedade do jogador, pagamento em dinheiro ou com cartão AgencyPay.
Combine com o export AgencyPay do Agency-Phone para compras com cartão. Use em empregos onde jogadores são donos de pontos de vending (postos, escritórios, apartamentos) para gerar renda passiva.
Eventos
agency-vending:notifyDespachador generico de notificacoes vindas do server para a resource vending.
Ver exemplo
Envia uma notificacao generica com tema vending ao jogador apos uma compra.
-- Plug a vending receipt into a custom logger via notify event
TriggerClientEvent('agency-vending:notify', src, 'success', 'Receipt #4821 saved to wallet')agency-vending:startAgencyPayInicia um checkout AgencyPay via integracao agency-phone com metadados do comerciante.
Ver exemplo
Inicia um checkout Agency Pay pelo telefone com os dados do comercio do quiosque.
-- 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:buyMachineResultResultado da compra de uma maquina, encaminhado ao NUI para feedback.
Ver exemplo
Encaminha o resultado da compra de maquina para uma NUI de loja personalizada.
-- Forward buy-machine outcome to a custom shop UI
TriggerClientEvent('agency-vending:buyMachineResult', src, { success = true, machineId = 102 })agency-vending:machineCreatedBroadcast de que uma nova maquina do jogador foi criada; atualiza o cache local e notifica o dono.
Ver exemplo
Transmite a todos os clientes uma maquina de venda recem criada pelo jogador.
-- Cache new owner-machine instantly when business script registers it
TriggerClientEvent('agency-vending:machineCreated', -1, { id = 142, owner = identifier, type = 'sprunk' })agency-vending:openManagementVerifiedAbertura verificada no server do menu de gestao do dono com itens, ganhos e label.
Ver exemplo
Abre a UI de gestao verificada com itens, ganhos e rotulo apos autorizacao.
-- 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:openOwnedListAbre a NUI de visao geral do dono listando todas as maquinas do jogador com nomes das ruas.
Ver exemplo
Abre a NUI de visao geral do dono listando todas as maquinas do jogador.
-- Hotkey opens the owner overview NUI listing all owned machines
TriggerClientEvent('agency-vending:openOwnedList', src)agency-vending:spawnMachineCreatedBroadcast do spawner admin de que uma nova entidade de maquina foi criada.
Ver exemplo
Notifica todos os clientes que um admin gerou uma maquina de venda.
-- Custom mapping tool tracks newly admin-spawned machine
TriggerClientEvent('agency-vending:spawnMachineCreated', -1, { entity = netId, model = 'prop_vend_soda_01', id = 7 })agency-vending:spawnMachineDeletedBroadcast do spawner admin de que uma entidade de maquina spawnada foi removida.
Ver exemplo
Avisa todos os clientes que um admin removeu uma maquina ja gerada.
-- Mapping tool removes a deleted spawned machine from cache
TriggerClientEvent('agency-vending:spawnMachineDeleted', -1, 7)agency-vending:openSpawnerUIAbre a NUI do spawner admin apos passar a verificacao de permissoes no server.
Ver exemplo
Abre a NUI do spawner admin para colocar maquinas no mundo.
-- Custom command opens the admin spawner UI after permission passes
TriggerClientEvent('agency-vending:openSpawnerUI', src)agency-vending:buyMachineO jogador compra uma maquina de venda de um tipo nos coords/heading fornecidos.
Ver exemplo
O jogador compra uma maquina Sprunk em suas coordenadas atuais de um NPC.
-- Custom NPC sells vending machines via dialog
local coords = GetEntityCoords(PlayerPedId())
local heading = GetEntityHeading(PlayerPedId())
TriggerServerEvent('agency-vending:buyMachine', 'sprunk', coords, heading)agency-vending:requestOwnedListO chamador solicita a lista de suas maquinas proprias para a UI de visao geral do dono.
Ver exemplo
Solicita ao servidor a lista de maquinas de venda do jogador.
-- Refresh owner overview after a balance/restock action elsewhere
TriggerServerEvent('agency-vending:requestOwnedList')agency-vending:requestMachinesO chamador solicita ao server uma sincronizacao completa de todas as maquinas de jogadores.
Ver exemplo
Solicita uma sincronizacao completa de todas as maquinas dos jogadores ao servidor.
-- Scan for nearby machines after teleport finished
TriggerServerEvent('agency-vending:requestMachines')agency-vending:requestManagementAbertura verificada no server da UI de gestao para uma maquina propria.
Ver exemplo
Solicita a UI de gestao verificada pelo servidor para a maquina clicada.
-- Owner UI requests verified management menu for a clicked machine
TriggerServerEvent('agency-vending:requestManagement', machineId)agency-vending:requestSpawnedMachinesO chamador solicita a lista de maquinas spawnadas pelo admin para a UI do spawner.
Ver exemplo
Solicita a lista de todas as maquinas geradas pelo admin para a UI do spawner.
-- Admin spawner UI fetches all currently spawned machines
TriggerServerEvent('agency-vending:requestSpawnedMachines')agency-vending:adminSpawnMachineAdmin coloca um novo prop de maquina de venda no server apos verificar permissoes.
Ver exemplo
O admin gera uma nova maquina de snacks apos a verificacao de permissao.
-- 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:adminDeleteSpawnedAdmin remove no server um prop de maquina de venda spawnado anteriormente.
Ver exemplo
O admin remove no servidor um prop de maquina anteriormente gerado.
-- Admin removes a misplaced machine via map editor button
TriggerServerEvent('agency-vending:adminDeleteSpawned', spawnedId)10Agency-Admin
Painel de administração completo com UI de vidro, chat AgencyAI e mais de 60 ferramentas.
Os eventos são perfeitos como "primitivas" para anti-cheat, bots de moderação ou ferramentas automatizadas, chame-os do seu script de servidor para freeze/kick/notify sem escrever sua própria UI.
Eventos
agency-admin:client:refreshStaffRanksFaz o client recarregar os dados de cargos da staff.
Ver exemplo
Atualiza o cache de cargos da staff para todos os admins online apos uma promocao.
-- After auto-promotion, refresh staff ranks for all online admins
for _, src in ipairs(GetPlayers()) do
TriggerClientEvent('agency-admin:client:refreshStaffRanks', tonumber(src))
endagency-admin:client:freezeTimeCongela ou descongela a hora do mundo no client na hora/minuto indicados.
Ver exemplo
O anti-cheat congela o relogio do mundo ao meio-dia enquanto revisa um jogador.
-- 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:dashboardValueEnvia um valor de cartao do dashboard (ex.: contador ao vivo) para a UI do painel.
Ver exemplo
Envia a contagem ao vivo de jogadores online para o cartao do painel 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:teleportToCoordsTeleporta o chamador para as coordenadas do mundo fornecidas.
Ver exemplo
Teletransporta um jogador para as coordenadas salvas apos um evento de respawn.
-- 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:announceExibe um banner de anúncio em todo o servidor.
Ver exemplo
Transmite um banner de anuncio para todo o servidor de um remetente nomeado.
-- Event bot announces a community contest start
TriggerClientEvent('agency-admin:client:announce', -1, 'Event Crew', 'Heist contest starts in 5 minutes!')agency-admin:client:notifyEnvia uma notificação a um administrador específico.
Ver exemplo
Envia uma notificacao estilizada ao jogador quando sua candidatura e aprovada.
-- Whitelist bot informs a player they passed the application
TriggerClientEvent('agency-admin:client:notify', src, 'Whitelist', 'Application approved!', 'success', 8000)agency-admin:client:freezeCongela o jogador alvo no lugar.
Ver exemplo
Congela um jogador suspeito para que a staff possa investigar sem que ele se mova.
-- Anti-cheat freezes a suspect player while staff investigates
TriggerClientEvent('agency-admin:client:freeze', suspectSrc, true)agency-admin:client:healRestaura HP/armadura do alvo.
Ver exemplo
Cura totalmente o paciente apos o termino do tratamento medico de RP.
-- Medic job script fully heals the player after RP treatment ends
TriggerClientEvent('agency-admin:client:heal', patientSrc)agency-admin:client:reviveReanima o jogador alvo.
Ver exemplo
Reanima um jogador caido apos o minigame de EMS ser concluido com sucesso.
-- EMS revive minigame succeeds, server marks player alive again
TriggerClientEvent('agency-admin:client:revive', downedSrc)agency-admin:client:teleportTeleporta o jogador local para o vetor de coordenadas fornecido.
Ver exemplo
Teletransporta o jogador local para as coordenadas fornecidas.
-- 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:openMenuAbre a UI do painel de administração (requer permissão ACE).
Ver exemplo
Abre a UI principal do painel admin para o staff quando ele entra de servico.
-- Auto-open admin panel for staff right after they switch on duty
TriggerClientEvent('agency-admin:client:openMenu', src)agency-admin:client:openToolsMenuAcionador no server para abrir o submenu de ferramentas de admin.
Ver exemplo
Abre o submenu de ferramentas admin quando a tecla de atalho da staff e pressionada.
-- Quick-action keybind opens the admin tools sub-menu
TriggerClientEvent('agency-admin:client:openToolsMenu', src)agency-admin:client:closeMenuAcionador no server para fechar a UI do painel admin.
Ver exemplo
Forca o fechamento da UI do painel admin quando o admin esta sob investigacao.
-- Force-close the panel when admin gets reported themselves
TriggerClientEvent('agency-admin:client:closeMenu', adminSrc)agency-admin:client:openClothingMenuAcionador no server para abrir o menu de roupas in-game para o jogador.
Ver exemplo
Abre o menu de roupas depois que o jogador compra uma roupa no alfaiate.
-- Tailor NPC opens clothing menu after a uniform purchase
TriggerClientEvent('agency-admin:client:openClothingMenu', src)agency-admin:server:requestPlayersSolicita a lista atual de jogadores online para o painel admin.
Ver exemplo
Solicita ao servidor a lista mais recente de jogadores online para o painel.
-- Custom dashboard widget refreshes its players list
TriggerServerEvent('agency-admin:server:requestPlayers')agency-admin:server:requestPanelPermissionsSolicita a tabela de permissoes do painel para o editor de cargos.
Ver exemplo
Solicita ao servidor a tabela de permissoes do painel usada pelo editor de cargos.
-- Permission editor needs the latest panel permission map
TriggerServerEvent('agency-admin:server:requestPanelPermissions')agency-admin:server:requestStaffRanksSolicita o conjunto de dados dos cargos da staff para o painel.
Ver exemplo
Solicita o conjunto completo de cargos da staff para um widget CRM personalizado.
-- Sync staff ranks dataset into a custom CRM widget
TriggerServerEvent('agency-admin:server:requestStaffRanks')agency-admin:server:createRankCria um novo cargo da staff com metadados e permissoes.
Ver exemplo
Cria um novo cargo de staff a partir de uma sincronizacao com portal externo de RH.
-- 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:requestMyPermissionsO chamador solicita seu proprio conjunto de permissoes do painel resolvido.
Ver exemplo
Solicita o conjunto de permissoes do painel do proprio chamador ao abrir a UI.
-- Fetch caller's resolved permission set before showing dev tools
TriggerServerEvent('agency-admin:server:requestMyPermissions')agency-admin:server:requestSyncO chamador pede ao server que envie o payload de sync padrao (servico/permissoes/etc.).
Ver exemplo
Forca o servidor a enviar o pacote padrao de sync duty/perms para o chamador.
-- Force a fresh sync after the player reconnects
TriggerServerEvent('agency-admin:server:requestSync')agency-admin:server:requestDutyRankO chamador solicita suas informacoes atuais de rango admin em servico.
Ver exemplo
Solicita o rank de duty admin atual do chamador para um overlay HUD personalizado.
-- Display admin's duty rank on a custom HUD overlay
TriggerServerEvent('agency-admin:server:requestDutyRank')agency-admin:server:requestSpawnedObjectsO chamador solicita a lista de objetos do mundo spawnados pelo admin.
Ver exemplo
Solicita a lista de objetos do mundo spawnados pelo admin para overlay do minimapa.
-- Map editor needs to draw all admin-spawned objects on a minimap
TriggerServerEvent('agency-admin:server:requestSpawnedObjects')11Agency-Reports V2
Sistema de denúncias moderno com chat ao vivo por denúncia e respostas assistidas por IA.
Use como espinha dorsal de "ticket de suporte" para todo o seu servidor. Seus scripts podem abrir denúncias automaticamente quando algo dá errado (veículos presos, itens duplicados, salvamentos SQL falhos) para revisão do admin.
Eventos
agency-reports:client:notifyDispara uma notificação de "nova denúncia" para um admin específico.
Ver exemplo
Notificacao do servidor que respeita a preferencia de notificacao UI do jogador.
-- Server tells client a new admin reply landed
TriggerClientEvent('agency-reports:client:notify', source, 'New reply on your report', 'info')agency-reports:client:openPlayerUIAbre a UI de denúncias do lado do jogador.
Ver exemplo
Abre a UI de reportes com categorias, reportes abertos e definicoes 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:openAdminUIAbre a lista de denúncias do lado do admin.
Ver exemplo
Abre o painel admin de reportes com o conjunto completo de dados.
-- Force-open the admin reports dashboard from a staff command
TriggerEvent('agency-reports:client:openAdminUI', { reports = {}, total = 0 })agency-reports:client:teleportTeleporta o admin chamador para as coordenadas indicadas (para acoes goto).
Ver exemplo
Teletransporta o admin para as coordenadas fornecidas para acoes 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:healSelfCura completamente o ped do admin chamador.
Ver exemplo
Cura totalmente o ped do admin apos atender um reporte.
-- Heal admin after a hostile scene to keep them in service
TriggerEvent('agency-reports:client:healSelf')agency-reports:server:submitReportEnvia uma nova denúncia fora da UI.
Ver exemplo
O jogador envia um novo reporte com titulo, categoria e descricao.
-- 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:requestPlayerDataO chamador solicita seu proprio payload de report; opcionalmente abre a UI de jogador na resposta.
Ver exemplo
O chamador pede a sua carga de reportes e abre opcionalmente a UI do jogador.
-- Pull fresh data and (optionally) auto-open the player UI
TriggerServerEvent('agency-reports:server:requestPlayerData', true)agency-reports:server:requestAdminDataAdmin solicita o conjunto completo de reports e abre o dashboard admin se autorizado.
Ver exemplo
O admin pede o dataset completo e abre o painel admin se autorizado.
-- Admin staff opens the dashboard after going on duty
TriggerServerEvent('agency-reports:server:requestAdminData')agency-reports:server:sendChatMessageEnvia uma mensagem de chat a uma denúncia aberta.
Ver exemplo
Publica uma mensagem de chat numa thread de reporte especifica para admin ou jogador.
-- Player posts a follow-up chat message into report #42
TriggerServerEvent('agency-reports:server:sendChatMessage', 42, 'Still stuck, any ETA?')12Agency-Hud
HUD animado com painel de veículo, barras de status, velocímetro e integração de cinto de segurança.
Se você tem uma economia ou sistema de necessidades personalizado, controle o HUD a partir do seu próprio script com esses setters em vez de improvisar. O HUD cuida da animação e persistência para você.
Exports de cliente
GetVehicleSettings()Retorna a tabela atual de configurações do veículo.
Ver exemplo
Le a tabela de configuracoes do HUD do veiculo local para inspecao ou sincronizacao.
local settings = exports['Agency-Hud']:GetVehicleSettings()
print('Speed unit:', settings.speedUnit)
print('HUD scale:', settings.scale)SetSpeedUnit(unit: string)Alterna o velocímetro entre 'mph' e 'kmh'.
Ver exemplo
Alterna o velocimetro do veiculo para milhas por hora e salva localmente.
RegisterCommand('usemph', function()
exports['Agency-Hud']:SetSpeedUnit('mph')
end)SetHunger(value: number)Define o valor da barra de fome (0-100).
Ver exemplo
Envia o nivel atual de fome do jogador para o HUD.
AddEventHandler('player:hungerChanged', function(value)
exports['Agency-Hud']:SetHunger(value)
end)SetThirst(value: number)Define o valor da barra de sede (0-100).
Ver exemplo
Envia o nivel atual de sede do jogador para o HUD.
AddEventHandler('player:thirstChanged', function(value)
exports['Agency-Hud']:SetThirst(value)
end)SetStress(value: number)Define o valor da barra de estresse (0-100).
Ver exemplo
Atualiza o medidor de estresse do HUD a partir de um sistema de estresse personalizado.
AddEventHandler('jobstress:onTick', function(stress)
exports['Agency-Hud']:SetStress(stress)
end)SetMoney(value: number)Define o saldo de dinheiro exibido.
Ver exemplo
Atualiza o valor em dinheiro exibido no painel do HUD.
AddEventHandler('wallet:cashChanged', function(cash)
exports['Agency-Hud']:SetMoney(cash)
end)SetBank(value: number)Define o saldo bancário exibido (para scripts de economia personalizados).
Ver exemplo
Atualiza o saldo bancario exibido no HUD.
AddEventHandler('bank:balanceChanged', function(balance)
exports['Agency-Hud']:SetBank(balance)
end)SetJob(label: string)Define o rótulo de profissão exibido.
Ver exemplo
Define o rotulo de profissao exibido quando o jogador muda de ocupacao.
AddEventHandler('job:onChange', function(job)
exports['Agency-Hud']:SetJob(job.label)
end)SetRank(rank: string)Define a patente/grau de profissão exibido.
Ver exemplo
Atualiza o rank do jogador exibido ao lado do rotulo de profissao.
AddEventHandler('job:onGradeChange', function(grade)
exports['Agency-Hud']:SetRank(grade.label)
end)GetDetectedFramework()Retorna a string do framework ("qb", "esx", "standalone") detectado automaticamente pelo HUD.
Ver exemplo
Le a chave do framework detectado para ramificar logica HUD personalizada.
local fw = exports['Agency-Hud']:GetDetectedFramework()
if fw == 'qb' then
print('QB-Core detected')
endEventos
Agency-HUD:client:applyVehicleSettingsPatchAplica um patch parcial de configurações de veículo ao HUD do veículo local.
Ver exemplo
Aplica um patch parcial de configuracoes do HUD do veiculo no cliente local.
TriggerEvent('Agency-HUD:client:applyVehicleSettingsPatch', {
style = 'modern',
speedUnit = 'kmh'
})Agency-HUD:client:openAdminMenuAbre o menu admin do HUD (requer permissão).
Ver exemplo
Abre a NUI do menu admin do HUD no cliente receptor.
TriggerEvent('Agency-HUD:client:openAdminMenu')Agency-HUD:server:checkAdminPermissionVerifica as permissões de admin do chamador e abre o menu admin em caso de sucesso.
Ver exemplo
Pede ao servidor para verificar permissoes admin e abrir o menu admin do HUD.
RegisterCommand('checkhudadmin', function()
TriggerServerEvent('Agency-HUD:server:checkAdminPermission')
end)Agency-HUD:server:saveGlobalSettingsPersistência das configurações globais de HUD apenas para admin; transmite sync.
Ver exemplo
Salva uma nova configuracao HUD global (somente admin) e a transmite.
TriggerServerEvent('Agency-HUD:server:saveGlobalSettings', {
style = 'modern',
accent = '#ff6b00'
})Agency-HUD:server:requestGlobalSettingsRetorna as configurações globais atuais ao cliente solicitante.
Ver exemplo
Solicita as configuracoes globais atuais do HUD ao iniciar o recurso.
AddEventHandler('onClientResourceStart', function(res)
if res == GetCurrentResourceName() then
TriggerServerEvent('Agency-HUD:server:requestGlobalSettings')
end
end)Agency-HUD:server:requestTimeRetorna a hora atual do servidor ao chamador para o relógio do HUD.
Ver exemplo
Consulta o relogio do servidor a cada minuto para atualizar a hora no HUD.
CreateThread(function()
while true do
TriggerServerEvent('Agency-HUD:server:requestTime')
Wait(60000)
end
end)13Agency-Progressbar
Barra de progresso animada com UI de vidro, 4 temas, ações canceláveis e exports client/server.
Use em qualquer lugar onde normalmente mostraria "fazendo X por Y segundos". Substitui múltiplos recursos legacy de progress bar com uma UI consistente em todo o servidor.
Exports de cliente
StartProgress(data: table)Inicia uma barra de progresso com tabela de opções completa. Retorna imediatamente; callbacks disparam ao concluir/cancelar.
Ver exemplo
Inicia uma barra de arrombamento de 8 segundos com animacao e callback final.
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)Para a barra de progresso em execução. Passe true para marcar como cancelada.
Ver exemplo
Cancela a barra de progresso ativa quando o jogador pressiona X.
if IsControlJustPressed(0, 73) then
exports['Agency-Progressbar']:StopProgress(false)
endIsProgressActive()Retorna true se uma barra de progresso estiver sendo exibida no momento.
Ver exemplo
Impede iniciar uma nova acao de crafting enquanto uma barra estiver ativa.
if exports['Agency-Progressbar']:IsProgressActive() then
return
end
startCrafting()GetProgressPercentage()Retorna a porcentagem de preenchimento atual (0-100).
Ver exemplo
Dispara um tick de minigame quando a barra passa de 75 por cento.
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)Troca o tema em tempo de execução: 'modern', 'neon', 'minimal' ou 'classic'.
Ver exemplo
Altera a aparencia da barra de progresso ativa para o tema moderno.
RegisterCommand('darkbar', function()
exports['Agency-Progressbar']:SetProgressTheme('modern')
end)SetProgressPosition(position: string)Altera a posição: 'top', 'bottom', 'center'.
Ver exemplo
Move a barra de progresso ativa para o centro inferior da tela.
RegisterCommand('barbottom', function()
exports['Agency-Progressbar']:SetProgressPosition('bottom-center')
end)TryReload(usedItem?: string)Reproduz a sequência de recarga estilo ESX.
Ver exemplo
Inicia uma recarga validada pelo servidor com uma caixa de 9mm.
RegisterKeyMapping('+reload', 'Reload weapon', 'keyboard', 'R')
RegisterCommand('+reload', function()
exports['Agency-Progressbar']:TryReload('ammo-9')
end)UseConsumable(itemName: string, isDrink: boolean)Reproduz a animação de comer/beber com barra de progresso.
Ver exemplo
Reproduz a animacao de beber e aumenta a sede ao usar agua.
RegisterNetEvent('inventory:useItem', function(item)
if item == 'water_bottle' then
exports['Agency-Progressbar']:UseConsumable('water_bottle', true)
end
end)Exports de servidor
StartProgressForPlayer(playerId: number, data: table)Aciona uma barra de progresso em um cliente específico a partir do servidor.
Ver exemplo
Inicia uma barra de levantar caixa de 5 segundos no jogador solicitante.
RegisterCommand('lift', function(source)
exports['Agency-Progressbar']:StartProgressForPlayer(source, {
label = 'Lifting crate...',
duration = 5000
})
end, false)StopProgressForPlayer(playerId: number, completed?: boolean)Cancela remotamente a barra de progresso de um jogador específico.
Ver exemplo
Cancela a barra de progresso ativa de um jogador alvo a partir do servidor.
RegisterNetEvent('admin:cancelProgress', function(targetId)
exports['Agency-Progressbar']:StopProgressForPlayer(targetId, false)
end)StartProgressForAllPlayers(data: table)Transmite uma barra de progresso para todos os clientes conectados.
Ver exemplo
Transmite uma barra de aviso de tempestade de 30 segundos a todos os jogadores.
RegisterNetEvent('event:weatherWarning', function()
exports['Agency-Progressbar']:StartProgressForAllPlayers({
label = 'Storm incoming - take shelter',
duration = 30000
})
end)StopProgressForAllPlayers(completed?: boolean)Cancela a barra de progresso de cada jogador (ex. fim de round).
Ver exemplo
Para a barra global de aviso de tempestade em todos os jogadores.
RegisterNetEvent('event:weatherCleared', function()
exports['Agency-Progressbar']:StopProgressForAllPlayers(true)
end)Eventos
Agency:Progressbar:LoadSettingsCarrega as configurações de UI por jogador (posição, cor, escala, estilo) do BD para o client.
Ver exemplo
Carrega as configuracoes UI salvas da barra de progresso ao spawnar.
AddEventHandler('playerSpawned', function()
TriggerEvent('Agency:Progressbar:LoadSettings')
end)agency-progressbar:client:startInicia a barra de progresso no client receptor com os dados fornecidos.
Ver exemplo
Inicia uma barra de reparo de motor de 12 segundos, cancelavel.
TriggerEvent('agency-progressbar:client:start', {
label = 'Repairing engine...',
duration = 12000,
canCancel = true
})agency-progressbar:client:stopPara a barra de progresso ativa com uma flag de conclusão.
Ver exemplo
Aborta a barra de progresso ativa quando o jogador e algemado.
RegisterNetEvent('police:cuffed', function()
TriggerEvent('agency-progressbar:client:stop', false)
end)agency:consumables:useFoodPonte de inventário para consumir um item de comida (animação + aplicação segura no server).
Ver exemplo
Aciona a ponte de comida do inventario para consumir um sanduiche.
TriggerEvent('agency:consumables:useFood', 'sandwich')agency:consumables:useDrinkPonte de inventário para consumir um item de bebida (animação + aplicação segura no server).
Ver exemplo
Aciona a ponte de bebida do inventario para consumir uma xicara de cafe.
TriggerEvent('agency:consumables:useDrink', 'coffee_cup')Agency:Progressbar:SaveSettingsValida e persiste as configurações UI da barra de progresso do jogador no BD.
Ver exemplo
Salva as preferencias UI da barra do jogador no banco de dados.
TriggerServerEvent('Agency:Progressbar:SaveSettings', {
position = 'top-right',
color = '#00aaff',
scale = 1.2
})agency-progressbar:server:startTrigger no lado server para iniciar uma barra de progresso em um alvo (ou em si mesmo).
Ver exemplo
Disparador do servidor para iniciar uma barra de carga de caixa de 6 s num alvo.
RegisterCommand('movecrate', function(source)
TriggerEvent('agency-progressbar:server:start', source, {
label = 'Loading crate onto truck',
duration = 6000
})
end, false)agency-progressbar:server:stopTrigger no lado server para parar uma barra de progresso em um alvo (ou em si mesmo).
Ver exemplo
Disparador do servidor para parar a barra de um alvo com estado cancelado.
RegisterNetEvent('admin:abortJob', function(targetId)
TriggerEvent('agency-progressbar:server:stop', targetId, false)
end)agency:reload:requestValida munição/arma/item antes de conceder uma recarga ao jogador solicitante.
Ver exemplo
Pede ao servidor para validar a municao e autorizar a recarga da pistola.
TriggerServerEvent('agency:reload:request', 'WEAPON_PISTOL', 'ammo-9')agency:consumables:applyValida o inventário, remove um item e aplica os ganhos de fome/sede.
Ver exemplo
Pede ao servidor para remover o item de comida e aplicar o ganho de fome.
RegisterNetEvent('food:onEatStart', function(itemName)
TriggerServerEvent('agency:consumables:apply', itemName)
end)14Agency-Notify
Sistema de notificacoes com estilos V1/V2, prioridade inteligente AgencyAI, protecao anti-spam e persistencia no banco de dados.
Substitui qualquer outro recurso de notificacao no servidor (qb-notify, esx_notify, mythic_notify, okok-notify, etc.) com um visual consistente. O sistema de prioridade AgencyAI limita automaticamente notificacoes spam.
Exports de cliente
Notify(data: { title, text, type, duration, ... })Mostra uma notificacao. Aceita { type, title, text, duration, icon, color }.
Ver exemplo
Envia uma notificacao de sucesso de 6 segundos anunciando um objetivo do assalto.
exports['Agency-Notify']:Notify({
title = 'Bank Heist',
text = 'Vault drilled, grab the loot!',
type = 'success',
duration = 6000
})Eventos
Agency:Notify:SendIgual ao export, permite usar o padrao classico baseado em Trigger.
Ver exemplo
Evento cliente legacy v1 que exibe o mesmo payload que o export.
TriggerEvent('Agency:Notify:Send', {
title = 'Old Notify',
text = 'Legacy v1 entry point still works',
type = 'info'
})Agency:Notify:LoadSettingsAplica as configurações UI salvas por jogador (posição, cor, escala, estilo) do server.
Ver exemplo
Carrega as configuracoes UI de notify salvas por jogador ao spawnar.
AddEventHandler('playerSpawned', function()
TriggerEvent('Agency:Notify:LoadSettings')
end)Agency:Notify:SaveSettingsValida e persiste as configurações de notify do jogador (posição, cor de destaque, escala, estilo).
Ver exemplo
Salva no banco a posicao, o acento e a escala de notify do jogador.
TriggerServerEvent('Agency:Notify:SaveSettings', {
position = 'top-right',
accent = '#ff8800',
scale = 1.1,
style = 'modern'
})15Agency-Seatbelt
Cinto de seguranca com fisica de ejecao, sons 3D, suporte a varios ocupantes e integracao com HUD.
Conecta o estado ao teu proprio HUD, ou forca a ativacao no inicio de uma perseguicao policial / fuga de assalto. Os exports force-enable/disable sao otimos para momentos RP.
Exports de cliente
enableSeatbelt()Forca a colocacao do cinto (use por ex. em prisao policial).
Ver exemplo
Afivela o cinto do jogador local com feedback de HUD e som.
RegisterNetEvent('vehicle:autoBuckle', function()
if IsPedInAnyVehicle(PlayerPedId(), false) then
exports['Agency-Seatbelt']:enableSeatbelt()
end
end)disableSeatbelt()Forca a remocao do cinto (cutscenes, cenarios RP).
Ver exemplo
Desafivela o cinto do jogador local ao sair de um veiculo.
RegisterNetEvent('vehicle:onExit', function()
exports['Agency-Seatbelt']:disableSeatbelt()
end)toggleSeatbelt()Alterna o cinto (o que a tecla padrao faz).
Ver exemplo
Alterna o estado do cinto do jogador local ao pressionar uma tecla.
RegisterKeyMapping('+seatbelt', 'Toggle seatbelt', 'keyboard', 'B')
RegisterCommand('+seatbelt', function()
exports['Agency-Seatbelt']:toggleSeatbelt()
end)isSeatbeltOn()Retorna true se o jogador estiver atualmente com o cinto colocado.
Ver exemplo
Desativa o controle de saida do veiculo enquanto o cinto esta afivelado.
if exports['Agency-Seatbelt']:isSeatbeltOn() then
DisableControlAction(0, 75, true)
end16Agency-Elevator
Sistema de elevador realista com UI Liquid Glass e um configurador.
Perfeito em scripts de apartamentos/housing, sede policial, hospital ou qualquer interior de varios andares. Usa o configurador para posicionar elevadores visualmente sem tocar nos ficheiros de config.
Eventos
Agency-Elevator:server:requestTravelPedido validado pelo servidor para viajar entre andares.
Ver exemplo
Pede ao servidor para validar o acesso e depois viajar ao 3o andar.
TriggerServerEvent('Agency-Elevator:server:requestTravel', 'lspd-tower-1', 3)Agency-Elevator:server:travelCompleteConfirma a chegada do client e envia a notificação 'chegou ao andar'.
Ver exemplo
Informa o servidor que o jogador chegou ao 3o andar para enviar a notificacao.
TriggerServerEvent('Agency-Elevator:server:travelComplete', 'lspd-tower-1', 3)Agency-Elevator:server:requestElevatorsSincroniza a lista de elevadores carregada do banco de dados com o client solicitante.
Ver exemplo
Solicita a lista completa de elevadores ao servidor na inicializacao do cliente.
AddEventHandler('onClientResourceStart', function(res)
if res == GetCurrentResourceName() then
TriggerServerEvent('Agency-Elevator:server:requestElevators')
end
end)Agency-Elevator:server:saveElevatorUpsert com verificação de permissões de um elevador (id/label/floors) no MySQL.
Ver exemplo
Upsert admin de um elevador com uma unica entrada de andar 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:loadElevatorGera/carrega um elevador salvo do banco de dados.
Ver exemplo
Carrega os dados de um unico elevador na NUI do configurador para edicao.
TriggerServerEvent('Agency-Elevator:server:loadElevator', 'lspd-tower-1')Agency-Elevator:server:saveSettingsPersiste as configurações UI (posição/escala/cor de destaque) no MySQL e re-sincroniza todos os clients.
Ver exemplo
Salva posicao UI, cor de acento e escala e resincroniza todos os clientes.
TriggerServerEvent('Agency-Elevator:server:saveSettings', {
position = 'top-right',
accent = '#22c55e',
scale = 1.0
})Agency-Elevator:client:startTravelInicia uma cutscene de viagem de elevador para o jogador.
Ver exemplo
Reproduz fade e animacao e teleporta o ped ao 2o andar da garagem.
TriggerEvent('Agency-Elevator:client:startTravel', 'parking-garage', 2)Agency-Elevator:client:applySettingsEnvia as configurações UI (acento/escala/posição) para o NUI.
Ver exemplo
Aplica acento, escala e posicao da NUI do elevador no cliente local.
TriggerEvent('Agency-Elevator:client:applySettings', {
accent = '#0ea5e9',
scale = 0.9,
position = 'bottom-left'
})Agency-Elevator:client:openConfiguratorAbre o configurador de elevadores no jogo (apenas admin).
Ver exemplo
Abre a NUI configurador admin com a lista atual de elevadores.
TriggerEvent('Agency-Elevator:client:openConfigurator')Agency-Elevator:client:refreshConfiguratorAtualiza o configurador aberto após salvar/excluir sem fechá-lo.
Ver exemplo
Atualiza a NUI configurador aberta apos salvar sem fechar.
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.
Exports de cliente
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 de servidor
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.
Eventos
agency-housing:client:enteredZoneFires with (houseId, house) when the player steps onto a property, so a job or robbery script does not have to poll.
agency-housing:client:leftZoneFires with (houseId, house) when the player leaves a property.
Continuas sem avançar depois desta página? O nosso suporte assume daqui.