Партнёрам-разработчикам
Подключение к скриптам Agency
Пишете свой скрипт для FiveM и хотите связать его с нашими? Здесь перечислены все открытые экспорты и события, к каждому приложен кусок Lua, который можно просто скопировать.
Через экспорты ваш скрипт вызывает функцию в нашем: exports['script-name']:FunctionName(args), одинаково на клиенте и на сервере. События работают в обратную сторону: их вызывают через TriggerEvent или TriggerServerEvent, а слушают через RegisterNetEvent.
01Agency-Phone
Полнофункциональный мульти-фреймворк телефон с SMS, звонками, соцлентой, почтой, камерой, кошельком и оплатой AgencyPay.
Используй в любом скрипте магазина/ограбления/работы, когда нужен аккуратный платёжный флоу в телефоне вместо мгновенного списания денег. Также идеально для игровых уведомлений с принять/отклонить (например, заказы такси, dispatch-вызовы).
Экспорты на клиенте
IsPhoneOpen()Возвращает true, если UI телефона сейчас открыт.
Показать пример
Не открывает меню, если телефон уже на экране.
RegisterCommand('openmymenu', function()
if exports['agency-phone']:IsPhoneOpen() then
return
end
TriggerEvent('myresource:openMenu')
end)IsPhonePoweredOn()Возвращает true, если телефон включён.
Показать пример
Останавливает фоновую синхронизацию, пока телефон выключен.
CreateThread(function()
while true do
Wait(2000)
if not exports['agency-phone']:IsPhonePoweredOn() then
print('Phone off, pausing background sync')
end
end
end)GetPhoneData()Возвращает сырую таблицу данных телефона.
Показать пример
Печатает всю таблицу данных телефона для отладки.
RegisterCommand('phonedebug', function()
local data = exports['agency-phone']:GetPhoneData()
print(json.encode(data, { indent = true }))
end)GetPhonePropEntity()Возвращает handle сущности удерживаемого пропа телефона или 0, если не виден.
Показать пример
Кратко скрывает модель телефона без изменения логики.
CreateThread(function()
Wait(500)
local prop = exports['agency-phone']:GetPhonePropEntity()
if prop ~= 0 and DoesEntityExist(prop) then
SetEntityVisible(prop, false, false)
end
end)IsPhoneExpanded()Возвращает true, если телефон развёрнут на экране.
Показать пример
Старый алиас, блокирующий мини-игру при открытом телефоне.
AddEventHandler('myresource:beforeMinigame', function()
if exports['agency-phone']:IsPhoneExpanded() then
TriggerEvent('chat:addMessage', { args = { 'Close phone first' } })
return
end
end)HasCarrierContract()Возвращает true, если у игрока активен data plan оператора.
Показать пример
Предупреждает игрока, если нет активного тарифа на данные.
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()Возвращает полный объект состояния телефона.
Показать пример
Кеширует состояние, только если телефон открыт, включён и синхронизирован.
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()Возвращает true, если у игрока есть предмет телефон.
Показать пример
Блокирует команду экстренного вызова без телефона в инвентаре.
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)Регистрирует постоянный торговый терминал AgencyPay.
Показать пример
Создаёт терминал Agency Pay для кассы автосервиса в рантайме.
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)Удаляет ранее зарегистрированный терминал AgencyPay.
Показать пример
Удаляет зарегистрированную точку оплаты при закрытии магазина.
AddEventHandler('myresource:onShopClosed', function(shopId)
exports['agency-phone']:RemoveAgencyPayPoint('mechanic_main')
print('Removed pay point for shop ' .. shopId)
end)StartAgencyPayCheckout(data)Открывает лист оплаты AgencyPay для безопасной оплаты картой.
Показать пример
Открывает телефон и запускает небольшой чек чаевых через 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)Запускает pma-voice вызов, используя таблицу контакта.
Показать пример
Звонит контакту из диспетчерской при получении события.
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)Показывает уведомление телефона с опциональными кнопками принять/отклонить.
Показать пример
Показывает блокирующее уведомление принять/отказать для эвакуатора.
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)Экспорты на сервере
SendMail(identifier, mailData)Отправляет mail игроку (онлайн или офлайн).
Показать пример
Отправляет письмо-чек игроку по его основному идентификатору.
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)Публикует сообщение в feed Pulse (chirper).
Показать пример
Публикует объявление о награде в Chirper со стороны сервера.
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)Хук ox_inventory регистрируется при обнаружении ESX+ox_inventory; открывает phone владельцу.
Показать пример
Подключается к usingItem ox_inventory для открытия телефона.
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 } })События
agency-phone:client:notifyПоказывает уведомление phone (title, text, icon, color, timeout, silent).
Показать пример
Показывает неблокирующий тост: машина готова к выдаче.
TriggerEvent('agency-phone:client:notify', 'Heads up', 'Vehicle ready for pickup', 'car', '#22cc88', 5000, false)agency-phone:client:usePhoneItemЗапускает открытие phone при использовании предмета инвентаря.
Показать пример
Перенаправляет своё событие использования предмета в открытие телефона.
AddEventHandler('myresource:client:onItemUsed', function(itemName)
if itemName == 'phone' then
TriggerEvent('agency-phone:client:usePhoneItem')
end
end)agency-phone:client:openAppПросит phone перейти к пользовательскому приложению по id (используется модулями).
Показать пример
Открывает кастомное банковское приложение по его id.
RegisterCommand('openbank', function()
TriggerEvent('agency-phone:client:openApp', 'banking')
end)agency-phone:client:newMailNotifyУведомляет client о свежем входящем письме.
Показать пример
Слушает уведомления о новых письмах и логирует их.
AddEventHandler('agency-phone:client:newMailNotify', function(mail)
print(('New mail from %s: %s'):format(mail.sender, mail.subject))
end)agency-phone:server:requestPhoneDataЗапрашивает свежую синхронизацию данных phone для вызывающего игрока.
Показать пример
Просит сервер прислать свежие данные синхронизации телефона.
RegisterCommand('refreshphone', function()
TriggerServerEvent('agency-phone:server:requestPhoneData')
end)agency-phone:server:cancelCallОтменяет или завершает активный вызов.
Показать пример
Сбрасывает активный звонок по кастомной клавише или команде.
RegisterCommand('hangup', function()
TriggerServerEvent('agency-phone:server:cancelCall')
end)agency-phone:server:sendMessageОтправляет SMS-сообщение (newMsg, targetNumber).
Показать пример
Быстро отправляет SMS на целевой номер из чата.
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Сохраняет одну пару ключ/значение настройки phone для игрока.
Показать пример
Сохраняет настройку телефона при изменении на клиенте.
AddEventHandler('myresource:client:onSettingChanged', function(key, value)
TriggerServerEvent('agency-phone:server:saveSetting', key, value)
end)agency-phone:server:airdropPayВыполняет перевод Agency Airdrop игроку поблизости.
Показать пример
Запускает Agency Airdrop ближайшим игрокам на введённую сумму.
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Покупает data plan оператора для игрока (price, planName).
Показать пример
Покупает выбранный игроком тариф после выбора в кастомном UI.
AddEventHandler('myresource:client:onPlanSelected', function(plan)
TriggerServerEvent('agency-phone:server:buyDataPlan', plan.price, plan.name)
end)agency-phone:dispatch:createСоздаёт phone dispatch из экстренного вызова/SMS.
Показать пример
Создаёт запись диспетчерской из входящего экстренного вызова.
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
Планшет AgencyOS с полноценной экосистемой приложений. Регистрируй свои приложения через config.lua.
Идеально для админ-дашбордов, бизнес-менеджмент приложений, карт территорий банд или любого custom UI, который нужен игрокам в GTA, живёт в красивой оболочке планшета без лишней работы.
Экспорты на клиенте
IsPadOpen()Возвращает true, если UI планшета открыт (проверь состояние планшета перед показом UI).
Показать пример
Не открывает свой UI планшета, если он уже открыт.
RegisterCommand('opentablet', function()
if exports['agency-pad']:IsPadOpen() then
return
end
TriggerEvent('myresource:openTablet')
end)IsPadPoweredOn()Возвращает true, если планшет включён.
Показать пример
Останавливает опрос автопарка, пока планшет выключен.
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()Возвращает полную client-side таблицу PadData.
Показать пример
Печатает полную таблицу данных планшета на клиенте.
RegisterCommand('paddebug', function()
local data = exports['agency-pad']:GetPadData()
print(json.encode(data, { indent = true }))
end)GetPadPropEntity()Возвращает handle сущности удерживаемого пропа планшета или 0, если не виден.
Показать пример
Кратко скрывает модель планшета во время своей катсцены.
CreateThread(function()
Wait(750)
local prop = exports['agency-pad']:GetPadPropEntity()
if prop ~= 0 and DoesEntityExist(prop) then
SetEntityVisible(prop, false, false)
end
end)IsPadExpanded()Псевдоним IsPadOpen(), сохранён для обратной совместимости.
Показать пример
Старый алиас, блокирующий мини-игру при открытом планшете.
AddEventHandler('myresource:client:beforeMinigame', function()
if exports['agency-pad']:IsPadExpanded() then
return
end
TriggerEvent('myresource:client:startMinigame')
end)HasCarrierContract()Возвращает true, если у игрока активен data plan оператора на планшете.
Показать пример
Предупреждает игрока, если на планшете нет активного тарифа.
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()Возвращает таблицу { isOpen, poweredOn, syncEnabled } со сводкой текущего статуса планшета.
Показать пример
Кеширует состояние планшета только если он открыт и включён.
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()Возвращает true, если у игрока в инвентаре есть настроенный предмет планшета.
Показать пример
Блокирует UI диспетчерской без планшета в инвентаре.
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)Регистрирует runtime Agency Pay terminal по координатам (markers, blip, checkout payload).
Показать пример
Создаёт терминал Agency Pay в холле больницы во время выполнения.
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)Удаляет ранее зарегистрированный Agency Pay terminal по id.
Показать пример
Удаляет точку оплаты планшета, когда место закрывается.
AddEventHandler('myresource:onLocationClosed', function(locationId)
exports['agency-pad']:RemoveAgencyPayPoint(locationId)
end)StartAgencyPayCheckout(data)Открывает планшет (при необходимости) и запускает Agency Pay checkout с заданным payload оплаты.
Показать пример
Открывает планшет и запускает Agency Pay для оплаты налога.
RegisterCommand('paybill', function()
exports['agency-pad']:StartAgencyPayCheckout({
amount = 1500,
receiver = 'gov_taxes',
label = 'Property tax',
memo = 'Quarterly tax'
})
end)StartCall(contactData)Запускает исходящий вызов с планшета указанному контакту ({ name, number, ... }).
Показать пример
Начинает исходящий вызов с планшета при получении диспетчерского события.
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)Показывает уведомление с кнопками accept/deny; ждёт ответа и возвращает true/false.
Показать пример
Показывает блокирующее уведомление планшета для запуска доставки.
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)Экспорты на сервере
SendMail(identifier, mailData)Отправляет mail в основной почтовый ящик игрока по identifier (возвращает success).
Показать пример
Отправляет письмо-уведомление о счёте игроку по идентификатору.
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)Хук ox_inventory регистрируется при обнаружении ESX+ox_inventory; открывает планшет владельцу.
Показать пример
Подключается к ox_inventory для открытия планшета через хелпер.
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)Хук ox_inventory для legacy id предмета phone; открывает планшет владельцу.
Показать пример
Перенаправляет старый предмет phone на открытие UI планшета.
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 } })События
agency-pad:client:notifyПоказывает уведомление планшета (title, text, icon, color, timeout, silent).
Показать пример
Показывает неблокирующий тост планшета о новой миссии.
TriggerEvent('agency-pad:client:notify', 'Job update', 'New mission unlocked', 'briefcase', '#22cc88', 5000, false)agency-pad:client:usePadItemОткрывает планшет при использовании предмета инвентаря.
Показать пример
Перенаправляет своё событие использования предмета в открытие планшета.
AddEventHandler('myresource:client:onItemUsed', function(itemName)
if itemName == 'tablet' then
TriggerEvent('agency-pad:client:usePadItem')
end
end)agency-pad:client:openAppТриггерь на client, чтобы открыть конкретное приложение в планшете.
Показать пример
Открывает кастомное приложение управления автопарком.
RegisterCommand('openfleet', function()
TriggerEvent('agency-pad:client:openApp', 'fleet')
end)agency-pad:client:newMailNotifyУведомляет client о свежем входящем письме.
Показать пример
Слушает новые письма планшета и логирует их локально.
AddEventHandler('agency-pad:client:newMailNotify', function(mail)
print(('Tablet mail from %s: %s'):format(mail.sender, mail.subject))
end)agency-pad:client:hourlyPaycheckУведомляет client о ежечасном событии paycheck бизнеса.
Показать пример
Реагирует на событие почасовой бизнес-зарплаты с планшета.
AddEventHandler('agency-pad:client:hourlyPaycheck', function(payload)
print(('Hourly paycheck: $%s from %s'):format(payload.amount, payload.businessName))
end)agency-pad:server:requestPadDataЗапрашивает свежую синхронизацию данных планшета для вызывающего игрока.
Показать пример
Просит сервер прислать свежие данные синхронизации планшета.
RegisterCommand('refreshpad', function()
TriggerServerEvent('agency-pad:server:requestPadData')
end)agency-pad:server:sendMessageОтправляет SMS-сообщение (newMsg, targetNumber).
Показать пример
Отправляет SMS с планшета своей командой и номером.
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Выполняет перевод Agency Airdrop игроку поблизости.
Показать пример
Запускает Agency Airdrop ближайшим игрокам с планшета.
RegisterCommand('airdroppad', function(_, args)
local amount = tonumber(args[1]) or 0
TriggerServerEvent('agency-pad:server:airdropPay', amount, 'Tablet airdrop')
end)agency-pad:server:buyDataPlanПокупает data plan оператора для игрока.
Показать пример
Покупает выбранный тариф для планшета из кастомного UI.
AddEventHandler('myresource:client:padPlanSelected', function(plan)
TriggerServerEvent('agency-pad:server:buyDataPlan', plan.price, plan.name)
end)agency-pad:dispatch:createСоздаёт tablet dispatch из экстренного вызова/SMS.
Показать пример
Создаёт запись диспетчерской планшета из экстренного вызова.
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Создаёт новый business/организацию для игрока.
Показать пример
Создаёт новый бизнес через свою игровую команду.
RegisterCommand('startbiz', function()
TriggerServerEvent('agency-pad:server:biz:create', {
name = 'Bennys Repair',
type = 'mechanic',
location = 'sandy_shores'
})
end)agency-pad:server:biz:adminCreateAdmin создаёт business от имени другого игрока.
Показать пример
Перенаправляет админ-команду для создания бизнеса другому игроку.
RegisterNetEvent('myresource:server:adminCreateBiz', function(targetSrc, payload)
TriggerEvent('agency-pad:server:biz:adminCreate', targetSrc, payload)
end)agency-pad:server:biz:startMissionЗапускает настроенную business миссию для игрока.
Показать пример
Запускает настроенную бизнес-миссию для вызывающего игрока.
RegisterCommand('bizmission', function()
TriggerServerEvent('agency-pad:server:biz:startMission', {
bizId = 12,
missionId = 'delivery_route_a'
})
end)agency-pad:server:applyToListingОтправляет заявку на работу в листинг business.
Показать пример
Отправляет заявку на вакансию из планшета по её id.
RegisterCommand('apply', function(_, args)
local listingId = tonumber(args[1])
TriggerServerEvent('agency-pad:server:applyToListing', listingId, {
coverNote = 'Available immediately'
})
end)agency-pad:server:createMechanicInvoiceСоздаёт черновик счёта механика.
Показать пример
Создаёт черновик счёта механика по номеру машины и сумме.
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Отправляет счёт механика клиенту на оплату.
Показать пример
Отправляет финализированный счёт механика клиенту для оплаты.
AddEventHandler('myresource:client:onInvoiceConfirmed', function(invoice)
TriggerServerEvent('agency-pad:server:sendMechanicInvoicePay', invoice.id, invoice.targetSrc)
end)agency-pad:server:mdtCreateInvoiceMDT создаёт штраф/счёт для гражданина.
Показать пример
Создаёт штраф/счёт MDT для гражданина из своего net event.
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.
Экспорты на клиенте
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.
Экспорты на сервере
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
Современная рекламная система с тарифной сеткой, очередью объявлений и админ-модерацией.
Используй как in-game замену Twitter/Instagram. Идеально для бизнесов, рекламирующих новые продукты, банд, объявляющих территорию, или admin-команды с server news.
События
agency_lifeinvader:showAdПоказывает объявление игроку (broadcast helper).
Показать пример
Translyiruet uvedomlenie reklamy soobshchestva kazhdomu igroku na servere.
-- 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Открывает меню «создать объявление».
Показать пример
Otkryvaet osnovnoe menyu sozdaniya reklamy posle pokupki prilozheniya telefona.
-- Open the ad creation menu when the player buys a phone app
TriggerClientEvent('agency_lifeinvader:openMenu', src)agency_lifeinvader:openRecentMenuОткрывает feed «недавние объявления».
Показать пример
Otkryvaet menyu lenty nedavnikh ob'yavleniy posle nazhatiya kontakta v prilozhenii.
-- Open the recent ads feed after a contact tap in the phone app
TriggerClientEvent('agency_lifeinvader:openRecentMenu', src)agency_lifeinvader:notifyОтображает уведомление фреймворка на экране игрока (message, type).
Показать пример
Pokazyvaet uvedomlenie freymvorka, kogda reklama igroka v ocheredi odobrena.
-- Notify the player when their queued ad gets reviewed by staff
TriggerClientEvent('agency_lifeinvader:notify', src, 'Your ad was approved!', 'success')agency_lifeinvader:submitAdОтправляет новое объявление из кода (используется UI, можно переиспользовать).
Показать пример
Otpravlyaet ob'yavlenie o prodazhe avto s 5 povtoreniyami kazhdye 60 sekund.
-- 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
Чёрный рынок на основе репутации с хакингом, флеш-распродажами, торговлей авто и отмыванием денег.
Подключите к своим скриптам ограблений, налётов или наркоторговли, игрок продаёт украденные предметы здесь или отмывает грязные деньги.
События
blackmarket:client:openMenuОткрывает главное меню чёрного рынка.
Показать пример
Otkryvaet glavnoe menyu dilera chernogo rynka posle vyplaty po rabote.
-- Custom dealer NPC opens the black market menu when its job pays out
TriggerClientEvent('blackmarket:client:openMenu', src)blackmarket:client:closeMenuZakryvaet vse otkrytye menyu chernogo rynka dlya igroka.
Показать пример
Zakryvaet vse otkrytye menyu chernogo rynka, kogda igroka aresoval politsiya.
-- Force-close menu when player gets cuffed by police
TriggerClientEvent('blackmarket:client:closeMenu', suspectSrc)blackmarket:client:openLaunderingMenuOtkryvaet podmenyu otmyvaniya deneg.
Показать пример
Otkryvaet igroku podmenyu otmyivaniya deneg posle uspeshnogo ogrableniya.
-- Heist crew NPC opens money laundering submenu after a successful job
TriggerClientEvent('blackmarket:client:openLaunderingMenu', src)blackmarket:client:showNotificationPokazyvaet stilizovannoe uvedomlenie chernogo rynka (zagolovok, soobshchenie, tip, dlitelnost).
Показать пример
Pokazyvaet stilizovannoe uvedomlenie chernogo rynka o novoy postavke v gorod.
-- 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Проверяет текущий уровень доступа игрока.
Показать пример
Proveryaet, mozhet li igrok poluchit dostup k chernomu rynku i poluchaet reputatsiyu.
-- Storefront NPC checks if player can access the black market before opening
TriggerServerEvent('blackmarket:server:checkAccess')blackmarket:server:completeBuyZavershaet pokupku posle uspeshnogo minigeyma na kliyente.
Показать пример
Zavershayet pokupku na chernom rynke posle uspeshnoy klientskoy mini-igry.
-- Finalise a buy after the lockpick minigame succeeds
TriggerServerEvent('blackmarket:server:completeBuy', 'weapon_pistol', 1, 8500)blackmarket:server:sellItemОбрабатывает продажу предмета.
Показать пример
Zapuskaet prodazhu ukradennogo roleksa s opcionalnym mini-igroy i cooldown.
-- Trigger the sell flow with optional minigame for a stolen item
TriggerServerEvent('blackmarket:server:sellItem', 'rolex', 1)blackmarket:server:completeSellZavershaet prodazhu posle uspeshnogo minigeyma na kliyente.
Показать пример
Zavershayet prodazhu posle uspeshnoy klientskoy mini-igry torga.
-- Finalise a sale after the haggle minigame succeeds
TriggerServerEvent('blackmarket:server:completeSell', 'rolex', 1, 4250)blackmarket:server:launderMoneyОбрабатывает транзакцию отмывания денег.
Показать пример
Otmyivaet gryaznye dengi narkotorgovli v chistye nalichnye s komissiey.
-- Launder dirty cash earned from drug trafficking
TriggerServerEvent('blackmarket:server:launderMoney', 'dirty_money', 25000)06Agency-Minerjob
Мульти-фреймворк работа шахтёра со 100-уровневой прокачкой навыка, ox_lib skill checks и 6 типами руды.
Отличная начальная работа для новичков. Привяжите прокачку XP к репутации банды, whitelist-работам или используйте как опору для безработных игроков.
События
agency_minerJob:openSellMenuОткрывает меню продажи на рудоплавильне.
Показать пример
Otkryvaet menyu prodavtsa dlya prodazhi dobytoy rudy.
-- Open the trader sell menu for the local player
TriggerEvent('agency_minerJob:openSellMenu')agency_minerJob:sellItemsПродаёт все руды сразу по текущей рыночной цене.
Показать пример
Prodaet vse edinitsy rudy po tekuschey dinamicheskoy tsene torgovtsa.
-- Sell every copper ore in the player's inventory at current price
TriggerServerEvent('agency_minerJob:sellItems', 'copper')agency_minerJob:requestPlayerItemsВозвращает продаваемые предметы добычи игрока через receivePlayerItems.
Показать пример
Zaprashivaet u servera spisok rud, kotorye igrok mozhet prodat.
-- Ask server which ores are sellable; reply comes via receivePlayerItems
TriggerServerEvent('agency_minerJob:requestPlayerItems')agency_minerJob:requestPlayerSkillВозвращает краткую сводку навыка добычи через receiveSkillInfo.
Показать пример
Zaprashivaet kratkuyu svodku po navyku gornogo dela cherez receiveSkillInfo.
-- Refresh the HUD widget with the current mining level/xp
TriggerServerEvent('agency_minerJob:requestPlayerSkill')agency_minerJob:requestDetailedStatsВозвращает детальную статистику добычи через receiveDetailedStats.
Показать пример
Zaprashivaet podrobnuyu statistiku gornogo dela i otkryvaet menyu cherez receiveDetailedStats.
-- Open the detailed stats panel after admin command
TriggerServerEvent('agency_minerJob:requestDetailedStats')07Agency-Repairkits
Ремкомплект для авто с прогрессивной механикой повреждений и современным UI.
Отлично подходит для работ механика, эвакуатора или в качестве расходника в общем инвентаре. Прогрессивная система повреждений идеально сочетается со скриптами разборки или страхования.
События
agencyrepairkit:client:startRepairЗапускает анимацию ремонта и прогресс-бар на целевом авто.
Показать пример
Universalnyy trigger zapuska protsessa remontnogo nabora na avto igroka.
-- Universal trigger when player uses a custom 'repair' button
TriggerEvent('agencyrepairkit:client:startRepair')esx-agencyrepairkit:client:useRepairKitESX-специфичный псевдоним для запуска процесса прогресса ремкомплекта.
Показать пример
Alias dlya ESX, zapuskayuschiy protsess remontnogo nabora na avto.
-- Use this alias from your ESX item handler
TriggerEvent('esx-agencyrepairkit:client:useRepairKit')qb-agencyrepairkit:client:useRepairKitQBCore-специфичный псевдоним для запуска процесса прогресса ремкомплекта.
Показать пример
Alias dlya QBCore, zapuskayuschiy protsess remontnogo nabora na avto.
-- QBCore item callback can use this alias directly
TriggerEvent('qb-agencyrepairkit:client:useRepairKit')08Agency-Vehiclekeys
Ключи от авто с блокировкой/разблокировкой, удалённым запуском двигателя, поворотниками и передачей ключей.
Работает как проверка "владеет ли авто" для любого другого скрипта, эвакуаторы, штрафстоянки, валет-парковка, carjacking-minigame. Validate-экспорт можно безопасно вызывать из любого ресурса.
События
simple_carkeys:client:toggleLockПереключает состояние блокировки авто (с учётом владения).
Показать пример
Setevoe pereklyuchenie blokirovki s animatsiey breloka, fonarey i zvukom.
-- 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Удалённо запускает или останавливает двигатель целевого авто.
Показать пример
Setevoe vklyuchenie/vyklyuchenie dvigatelya dlya ukazannogo TS.
-- 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:showErrorPokazyvaet na kliyente obshchee uvedomlenie ob oshibke 'eto ne vasha mashina'.
Показать пример
Pokazyvaet obshchee uvedomlenie ob oshibke 'eto ne tvoya mashina'.
-- Show the standard 'not your car' notification on a failed lockpick
TriggerEvent('simple_carkeys:client:showError')simple_carkeys:client:showNotificationTextPokazyvaet na kliyente uvedomlenie ob uspekhe s proizvolnym tekstom.
Показать пример
Pokazyvaet uvedomlenie ob uspekhe s proizvolnym tekstom u klienta.
-- Tell the player the engine started OK after a custom hotwire script
TriggerEvent('simple_carkeys:client:showNotificationText', 'Engine started')simple_carkeys:client:showErrorTextPokazyvaet na kliyente uvedomlenie ob oshibke s proizvolnym tekstom.
Показать пример
Pokazyvaet uvedomlenie ob oshibke s proizvolnym tekstom u klienta.
-- Block engine start when fuel is empty
TriggerEvent('simple_carkeys:client:showErrorText', 'Out of fuel')simple_carkeys:server:forceToggleLockPut job/admin: rassyilayet pereklyuchatel zamka avtomobilya bez proverki vladeniya.
Показать пример
Put rabotnika/admina: rassylka pereklyucheniya zamka bez proverki vladeniya.
-- Police impound forces an unlock without ownership checks
TriggerServerEvent('simple_carkeys:server:forceToggleLock', VehToNet(vehicle))simple_carkeys:server:forceToggleEnginePut job/admin: rassyilayet pereklyuchatel dvigatelya avtomobilya bez proverki vladeniya.
Показать пример
Put rabotnika/admina: rassylka pereklyucheniya dvigatelya bez proverki vladeniya.
-- Ambulance script force-starts a parked car for an evac mission
TriggerServerEvent('simple_carkeys:server:forceToggleEngine', VehToNet(vehicle))simple_carkeys:server:checkOwnershipAndLockProveryaet vladenie/obshchie klyuchi po nomeru i pri uspekhe rassyilayet pereklyuchatel zamka.
Показать пример
Proveryaet vladenie/obschie klyuchi nomera i pri uspekhe rassylaet pereklyuchenie zamka.
-- Player presses L; verify ownership before locking the vehicle
TriggerServerEvent('simple_carkeys:server:checkOwnershipAndLock', 'AB12XYZ', VehToNet(vehicle))simple_carkeys:server:checkOwnershipAndStartProveryaet vladenie/obshchie klyuchi po nomeru i pri uspekhe rassyilayet pereklyuchatel dvigatelya.
Показать пример
Proveryaet vladenie/obschie klyuchi nomera i pri uspekhe rassylaet pereklyuchenie dvigatelya.
-- Validate then start engine on the vehicle the player is in
TriggerServerEvent('simple_carkeys:server:checkOwnershipAndStart', 'AB12XYZ', VehToNet(vehicle))simple_carkeys:server:universalEngineStartRazreshaet lyubomu igroku zapuskat lyuboy dvigatel, kogda Config.AllowUniversalEngineStart vklyuchen.
Показать пример
Pozvolyaet lyubomu igroku zavesti dvigatel, kogda AllowUniversalEngineStart vklyuchen.
-- Hotwire mini-game success: any player starts any engine when allowed in config
TriggerServerEvent('simple_carkeys:server:universalEngineStart', VehToNet(vehicle))09Agency-Vending
Торговые автоматы с владением игроками, оплатой наличными или картой AgencyPay.
Сочетайте с AgencyPay-экспортом Agency-Phone для оплаты картой. Используйте в работах, где игроки владеют точками vending (заправки, офисы, квартиры) для пассивного дохода.
События
agency-vending:notifyObshchiy server-upravlyaemyy dispetcher uvedomleniy dlya vending-resursa.
Показать пример
Otpravlyaet igroku obshcheye vending uvedomlenie posle pokupki.
-- Plug a vending receipt into a custom logger via notify event
TriggerClientEvent('agency-vending:notify', src, 'success', 'Receipt #4821 saved to wallet')agency-vending:startAgencyPayInitsiiruet oplatu cherez AgencyPay s integratsiyey agency-phone i metadannymi prodavtsa.
Показать пример
Zapuskaet Agency Pay platezh cherez telefon s dannymi prodavtsa kioska.
-- 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:buyMachineResultRezultat pokupki avtomata, peresylaetsya v NUI dlya obratnoy svyazi.
Показать пример
Peredaet rezultat pokupki avtomata v polzovatelskiy shop NUI dlya otzyva.
-- Forward buy-machine outcome to a custom shop UI
TriggerClientEvent('agency-vending:buyMachineResult', src, { success = true, machineId = 102 })agency-vending:machineCreatedBroadcast o sozdanii novogo igrokom-vladeemogo avtomata; obnovlyaet lokalnyy kesh i uvedomlyaet vladeltsa.
Показать пример
Translyiruet vsem klientam svezho sozdannyy igrokom torgovyy avtomat.
-- Cache new owner-machine instantly when business script registers it
TriggerClientEvent('agency-vending:machineCreated', -1, { id = 142, owner = identifier, type = 'sprunk' })agency-vending:openManagementVerifiedServer-proverennoye otkrytiye menyu vladeltsa s predmetami, zarabotkom i metkoy.
Показать пример
Otkryvaet proverennyy UI upravleniya s tovarami, dokhodom i etiketkoy posle avtorizatsii.
-- 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:openOwnedListOtkryvaet NUI obzora vladeltsa so vsemi avtomatami igroka i nazvaniyami ulits.
Показать пример
Otkryvaet NUI obzora vladelitsa so spiskom vsekh avtomatov igroka.
-- Hotkey opens the owner overview NUI listing all owned machines
TriggerClientEvent('agency-vending:openOwnedList', src)agency-vending:spawnMachineCreatedBroadcast admin-spaunera o sozdanii novoy zaspaunenoy entity avtomata.
Показать пример
Uvedomlyaet vsekh klientov, chto admin spauni novyy torgovyy avtomat.
-- 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 admin-spaunera ob udalenii zaspaunenoy entity avtomata.
Показать пример
Soobshchayet vsem klientam, chto admin udalil ranee spaunennyy avtomat.
-- Mapping tool removes a deleted spawned machine from cache
TriggerClientEvent('agency-vending:spawnMachineDeleted', -1, 7)agency-vending:openSpawnerUIOtkryvaet NUI admin-spaunera posle uspeshnoy proverki prav na servere.
Показать пример
Otkryvaet NUI admin spaunera dlya razmeshcheniya mirovykh avtomatov.
-- Custom command opens the admin spawner UI after permission passes
TriggerClientEvent('agency-vending:openSpawnerUI', src)agency-vending:buyMachineIgrok pokupaet vending-avtomat zadannogo tipa po ukazannym coords/heading.
Показать пример
Igrok pokupayet sprunk avtomat u NPC na svoikh tekushchikh koordinatakh.
-- Custom NPC sells vending machines via dialog
local coords = GetEntityCoords(PlayerPedId())
local heading = GetEntityHeading(PlayerPedId())
TriggerServerEvent('agency-vending:buyMachine', 'sprunk', coords, heading)agency-vending:requestOwnedListVyzyvayushchiy zaprashivaet spisok svoikh avtomatov dlya UI obzora vladeltsa.
Показать пример
Zaprashivaet u servera spisok prinadlezhashchikh igroku avtomatov.
-- Refresh owner overview after a balance/restock action elsewhere
TriggerServerEvent('agency-vending:requestOwnedList')agency-vending:requestMachinesVyzyvayushchiy zaprashivaet u servera polnuyu sinkhronizatsiyu vsekh igrokom-vladeemikh avtomatov.
Показать пример
Zaprashivaet u servera polnuyu sinkhronizatsiyu vsekh avtomatov igrokov.
-- Scan for nearby machines after teleport finished
TriggerServerEvent('agency-vending:requestMachines')agency-vending:requestManagementServer-proverennoye otkrytiye UI upravleniya dlya vladeemogo avtomata.
Показать пример
Zaprashivaet proverennyy serverom UI upravleniya dlya vybrannogo avtomata.
-- Owner UI requests verified management menu for a clicked machine
TriggerServerEvent('agency-vending:requestManagement', machineId)agency-vending:requestSpawnedMachinesVyzyvayushchiy zaprashivaet spisok admin-spaunenykh avtomatov dlya UI spaunera.
Показать пример
Zaprashivaet spisok vsekh admin-spaunennykh avtomatov dlya spaunera UI.
-- Admin spawner UI fetches all currently spawned machines
TriggerServerEvent('agency-vending:requestSpawnedMachines')agency-vending:adminSpawnMachineAdmin razmeshchaet novyy prop vending-avtomata na servere posle proverki prav.
Показать пример
Admin sozdaet novyy prop snack avtomata posle proverki razresheniy.
-- 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 udalyaet na servere ranee zaspaunenyy prop vending-avtomata.
Показать пример
Admin udalyaet na storone servera ranee spaunennyy prop avtomata.
-- Admin removes a misplaced machine via map editor button
TriggerServerEvent('agency-vending:adminDeleteSpawned', spawnedId)10Agency-Admin
Полнофункциональная админ-панель со стеклянным UI, чатом AgencyAI и 60+ инструментами.
События идеальны как "примитивы" для анти-чита, модерационных ботов или автоматических инструментов, вызывайте их из серверного скрипта для freeze/kick/notify без написания своего UI.
События
agency-admin:client:refreshStaffRanksZastavlyaet kliyenta povtorno zagruzit dannye rangov personala.
Показать пример
Obnovlyaet kesh rangov shtaba dlya vseh administratorov posle povysheniya.
-- 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:freezeTimeZamorazhivaet ili razmorazhivaet vremya mira na kliyente v zadannyy chas/minutu.
Показать пример
Anticheat zamorazhivaet mirovoe vremya v polden vo vremya proverki igroka.
-- 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:dashboardValueOtpravlyaet odno znachenie kartochki dashborda (zhivoy schetchik) v UI paneli.
Показать пример
Otpravlyaet aktualnoe chislo igrokov onlayn na kartu admin paneli.
-- Stream live online player count to admin dashboard cards
local count = #GetPlayers()
TriggerClientEvent('agency-admin:client:dashboardValue', adminSrc, 'players_online', count)agency-admin:client:teleportToCoordsTeleportiruet vyzyvayushchego na zadannye mirovye koordinaty.
Показать пример
Teleportiruet igroka na sokhranennye koordinaty posle sobytiya vozrozhdeniya.
-- 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Показывает баннер объявления на весь сервер.
Показать пример
Translyiruet banner ob'yavleniya po vsemu serveru ot imenovannogo otpravitelya.
-- 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Отправляет уведомление конкретному админу.
Показать пример
Otpravlyaet stilizovannoe uvedomlenie igroku, kogda ego zayavka odobrena.
-- Whitelist bot informs a player they passed the application
TriggerClientEvent('agency-admin:client:notify', src, 'Whitelist', 'Application approved!', 'success', 8000)agency-admin:client:freezeЗамораживает целевого игрока на месте.
Показать пример
Zamorazhivaet podozritelnogo igroka, chtoby personal mog provesti rassledovanie.
-- Anti-cheat freezes a suspect player while staff investigates
TriggerClientEvent('agency-admin:client:freeze', suspectSrc, true)agency-admin:client:healВосстанавливает HP/броню цели.
Показать пример
Polnostyu istselyaet patsiyenta posle zaversheniya RP meditsinskoy obrabotki.
-- Medic job script fully heals the player after RP treatment ends
TriggerClientEvent('agency-admin:client:heal', patientSrc)agency-admin:client:reviveВоскрешает целевого игрока.
Показать пример
Vozrozhdaet pavshego igroka posle uspeshnogo zaversheniya EMS mini-igry.
-- EMS revive minigame succeeds, server marks player alive again
TriggerClientEvent('agency-admin:client:revive', downedSrc)agency-admin:client:teleportTeleportiruet lokalnogo igroka v ukazannyy vektor koordinat.
Показать пример
Teleportiruet lokalnogo igroka na zadannye koordinaty.
-- 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Открывает UI админ-панели (требуется ACE-разрешение).
Показать пример
Otkryvaet osnovnoy interfeys admin paneli dlya sotrudnika pri zastuplenii.
-- Auto-open admin panel for staff right after they switch on duty
TriggerClientEvent('agency-admin:client:openMenu', src)agency-admin:client:openToolsMenuServer-trigger dlya otkrytiya podmenyu admin instrumentov.
Показать пример
Otkryvaet podmenu admin instrumentov pri nazhatii goryachey klavishi.
-- Quick-action keybind opens the admin tools sub-menu
TriggerClientEvent('agency-admin:client:openToolsMenu', src)agency-admin:client:closeMenuServer-trigger dlya zakrytiya UI admin paneli.
Показать пример
Prinuditelno zakryvaet admin panel UI, kogda admina rassleduyut.
-- Force-close the panel when admin gets reported themselves
TriggerClientEvent('agency-admin:client:closeMenu', adminSrc)agency-admin:client:openClothingMenuServer-trigger dlya otkrytiya vnutriigrovogo menyu odezhdy dlya igroka.
Показать пример
Otkryvaet menyu odezhdy posle pokupki naryada u portnogo.
-- Tailor NPC opens clothing menu after a uniform purchase
TriggerClientEvent('agency-admin:client:openClothingMenu', src)agency-admin:server:requestPlayersZaprashivaet tekushchiy spisok onlayn igrokov dlya admin paneli.
Показать пример
Zaprashivaet u servera aktualnyy spisok igrokov onlayn dlya paneli.
-- Custom dashboard widget refreshes its players list
TriggerServerEvent('agency-admin:server:requestPlayers')agency-admin:server:requestPanelPermissionsZaprashivaet tablitsu razresheniy paneli dlya redaktora rangov.
Показать пример
Zaprashivaet u servera tablitsu razresheniy paneli dlya redaktora rangov.
-- Permission editor needs the latest panel permission map
TriggerServerEvent('agency-admin:server:requestPanelPermissions')agency-admin:server:requestStaffRanksZaprashivaet nabor dannykh rangov personala dlya paneli.
Показать пример
Zaprashivaet polnyy nabor dannykh rangov shtaba dlya CRM vidzheta.
-- Sync staff ranks dataset into a custom CRM widget
TriggerServerEvent('agency-admin:server:requestStaffRanks')agency-admin:server:createRankSozdaet novyy rang personala s metadannymi i razresheniyami.
Показать пример
Sozdaet novyy rang shtaba iz sinkhronizatsii vneshnego HR portala.
-- 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:requestMyPermissionsVyzyvayushchiy zaprashivaet svoy razreshennyy nabor pravil paneli.
Показать пример
Zaprashivaet svoy razreshennyy nabor pravil paneli pri otkrytii UI.
-- Fetch caller's resolved permission set before showing dev tools
TriggerServerEvent('agency-admin:server:requestMyPermissions')agency-admin:server:requestSyncVyzyvayushchiy prosit server otpravit standartnuyu sync nagruzku (sluzhba/prava/etc.).
Показать пример
Zastavlyaet server otpravit standartnyy duty/perms sync paket vyzyvayushchemu.
-- Force a fresh sync after the player reconnects
TriggerServerEvent('agency-admin:server:requestSync')agency-admin:server:requestDutyRankVyzyvayushchiy zaprashivaet svoi tekushchiye dannye admin-duty ranga.
Показать пример
Zaprashivaet tekushchiy admin-duty rang vyzyvayushchego dlya HUD overleya.
-- Display admin's duty rank on a custom HUD overlay
TriggerServerEvent('agency-admin:server:requestDutyRank')agency-admin:server:requestSpawnedObjectsVyzyvayushchiy zaprashivaet spisok mirovykh obyektov, sozdannykh adminom.
Показать пример
Zaprashivaet spisok ob'yektov mira ot adminov dlya overlej minikarty.
-- Map editor needs to draw all admin-spawned objects on a minimap
TriggerServerEvent('agency-admin:server:requestSpawnedObjects')11Agency-Reports V2
Современная система репортов с живым чатом и ответами с поддержкой ИИ.
Используйте как основу "тикет-системы" для всего сервера. Ваши скрипты могут автоматически открывать репорты при сбоях (застрявшие машины, дублированные предметы, неудачные SQL-сохранения) для проверки админами.
События
agency-reports:client:notifyОтправляет уведомление "новый репорт" конкретному админу.
Показать пример
Servernoe uvedomlenie s uchetom predpochteniy UI igroka.
-- Server tells client a new admin reply landed
TriggerClientEvent('agency-reports:client:notify', source, 'New reply on your report', 'info')agency-reports:client:openPlayerUIОткрывает UI репорта со стороны игрока.
Показать пример
Otkryvaet UI otchetov s kategoriyami, otkrytymi otchetami i nastroykami 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Открывает список репортов со стороны админа.
Показать пример
Otkryvaet admin-panel otchetov s polnym naborom dannykh.
-- Force-open the admin reports dashboard from a staff command
TriggerEvent('agency-reports:client:openAdminUI', { reports = {}, total = 0 })agency-reports:client:teleportTeleportiruet vyzyvayushchego admina na zadannye koordinaty (dlya goto deystviy).
Показать пример
Teleportiruet admina na ukazannye koordinaty dlya deystviy 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:healSelfPolnostyu istselyaet pedа vyzyvayushchego admina.
Показать пример
Polnost'yu izlechivaet peda admina posle obrabotki otcheta.
-- Heal admin after a hostile scene to keep them in service
TriggerEvent('agency-reports:client:healSelf')agency-reports:server:submitReportОтправляет новый репорт извне UI.
Показать пример
Igrok otpravlyaet novyy otchet s nazvaniyem, kategoriey i opisaniyem v BD.
-- 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:requestPlayerDataVyzyvayushchiy zaprashivaet sobstvennyy report payload; oprtsionalno otkryvaet UI igroka pri otvete.
Показать пример
Vyzyvayushchiy zaprashivaet svoi dannye otchetov, opciya: otkryt UI igroka.
-- Pull fresh data and (optionally) auto-open the player UI
TriggerServerEvent('agency-reports:server:requestPlayerData', true)agency-reports:server:requestAdminDataAdmin zaprashivaet polnyy nabor dannykh reports i otkryvaet admin dashboard pri razreshenii.
Показать пример
Admin zaprashivaet polnyy nabor otchetov i otkryvaet dashboard, esli razresheno.
-- Admin staff opens the dashboard after going on duty
TriggerServerEvent('agency-reports:server:requestAdminData')agency-reports:server:sendChatMessageОтправляет сообщение чата в открытый репорт.
Показать пример
Otpravlyaet soobschenie v chat konkretnoy temy otcheta dlya admina ili igroka.
-- Player posts a follow-up chat message into report #42
TriggerServerEvent('agency-reports:server:sendChatMessage', 42, 'Still stuck, any ETA?')12Agency-Hud
Анимированный HUD с приборной панелью, статус-барами, спидометром и интеграцией ремня.
Если у вас своя экономика или система потребностей, управляйте HUD из своего скрипта через эти сеттеры вместо обхода. HUD сам берёт на себя анимацию и постоянство.
Экспорты на клиенте
GetVehicleSettings()Возвращает текущую таблицу настроек транспорта.
Показать пример
Читает локальную таблицу настроек HUD автомобиля для проверки или синхронизации.
local settings = exports['Agency-Hud']:GetVehicleSettings()
print('Speed unit:', settings.speedUnit)
print('HUD scale:', settings.scale)SetSpeedUnit(unit: string)Переключает спидометр между 'mph' и 'kmh'.
Показать пример
Переключает спидометр автомобиля на мили в час и сохраняет локально.
RegisterCommand('usemph', function()
exports['Agency-Hud']:SetSpeedUnit('mph')
end)SetHunger(value: number)Устанавливает значение шкалы голода (0-100).
Показать пример
Передаёт текущий уровень голода игрока в HUD.
AddEventHandler('player:hungerChanged', function(value)
exports['Agency-Hud']:SetHunger(value)
end)SetThirst(value: number)Устанавливает значение шкалы жажды (0-100).
Показать пример
Передаёт текущий уровень жажды игрока в HUD.
AddEventHandler('player:thirstChanged', function(value)
exports['Agency-Hud']:SetThirst(value)
end)SetStress(value: number)Устанавливает значение шкалы стресса (0-100).
Показать пример
Обновляет индикатор стресса HUD из пользовательской системы стресса.
AddEventHandler('jobstress:onTick', function(stress)
exports['Agency-Hud']:SetStress(stress)
end)SetMoney(value: number)Устанавливает отображаемый баланс наличных.
Показать пример
Обновляет сумму наличных, отображаемую в кошельке HUD.
AddEventHandler('wallet:cashChanged', function(cash)
exports['Agency-Hud']:SetMoney(cash)
end)SetBank(value: number)Устанавливает отображаемый банковский баланс (для собственных экономических скриптов).
Показать пример
Обновляет банковский баланс, отображаемый в HUD.
AddEventHandler('bank:balanceChanged', function(balance)
exports['Agency-Hud']:SetBank(balance)
end)SetJob(label: string)Устанавливает отображаемую метку профессии.
Показать пример
Устанавливает отображаемое название работы после смены профессии игроком.
AddEventHandler('job:onChange', function(job)
exports['Agency-Hud']:SetJob(job.label)
end)SetRank(rank: string)Устанавливает отображаемое звание/грейд профессии.
Показать пример
Обновляет ранг игрока, отображаемый рядом с названием работы.
AddEventHandler('job:onGradeChange', function(grade)
exports['Agency-Hud']:SetRank(grade.label)
end)GetDetectedFramework()Возвращает строку фреймворка ("qb", "esx", "standalone"), автоматически определённого HUD.
Показать пример
Считывает ключ обнаруженного фреймворка для ветвления пользовательской логики HUD.
local fw = exports['Agency-Hud']:GetDetectedFramework()
if fw == 'qb' then
print('QB-Core detected')
endСобытия
Agency-HUD:client:applyVehicleSettingsPatchПрименяет частичный патч настроек автомобиля к локальному HUD автомобиля.
Показать пример
Применяет частичный патч настроек HUD автомобиля на локальном клиенте.
TriggerEvent('Agency-HUD:client:applyVehicleSettingsPatch', {
style = 'modern',
speedUnit = 'kmh'
})Agency-HUD:client:openAdminMenuОткрывает админ-меню HUD (требуется разрешение).
Показать пример
Открывает NUI меню админа HUD у принимающего клиента.
TriggerEvent('Agency-HUD:client:openAdminMenu')Agency-HUD:server:checkAdminPermissionПроверяет права администратора вызывающего и открывает меню администратора при успехе.
Показать пример
Просит сервер проверить права админа и открыть меню админа HUD.
RegisterCommand('checkhudadmin', function()
TriggerServerEvent('Agency-HUD:server:checkAdminPermission')
end)Agency-HUD:server:saveGlobalSettingsСохранение глобальных настроек HUD только для администратора; рассылает синхронизацию.
Показать пример
Сохраняет новую глобальную конфигурацию HUD (только админ) и рассылает её.
TriggerServerEvent('Agency-HUD:server:saveGlobalSettings', {
style = 'modern',
accent = '#ff6b00'
})Agency-HUD:server:requestGlobalSettingsВозвращает текущие глобальные настройки запрашивающему клиенту.
Показать пример
Запрашивает текущие глобальные настройки HUD при запуске ресурса.
AddEventHandler('onClientResourceStart', function(res)
if res == GetCurrentResourceName() then
TriggerServerEvent('Agency-HUD:server:requestGlobalSettings')
end
end)Agency-HUD:server:requestTimeВозвращает текущее время сервера вызывающему для часов HUD.
Показать пример
Опрашивает часы сервера каждую минуту для обновления времени HUD.
CreateThread(function()
while true do
TriggerServerEvent('Agency-HUD:server:requestTime')
Wait(60000)
end
end)13Agency-Progressbar
Анимированный прогресс-бар со стеклянным UI, 4 темами, отменяемыми действиями и client/server экспортами.
Используйте везде, где обычно показываете "делаю X в течение Y секунд". Заменяет несколько устаревших ресурсов прогресс-баров единым согласованным UI на всём сервере.
Экспорты на клиенте
StartProgress(data: table)Запускает прогресс-бар с полной таблицей опций. Возвращается сразу; коллбэки срабатывают при завершении/отмене.
Показать пример
Запускает 8-секундный процесс взлома с анимацией и финальным колбэком.
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)Останавливает текущий прогресс-бар. Передайте true, чтобы пометить как отменённый.
Показать пример
Отменяет активный прогресс бар, когда игрок нажимает X.
if IsControlJustPressed(0, 73) then
exports['Agency-Progressbar']:StopProgress(false)
endIsProgressActive()Возвращает true, если в данный момент отображается прогресс-бар.
Показать пример
Запрещает начать новое крафт-действие, пока активен прогресс бар.
if exports['Agency-Progressbar']:IsProgressActive() then
return
end
startCrafting()GetProgressPercentage()Возвращает текущий процент заполнения (0-100).
Показать пример
Активирует тик мини-игры, когда прогресс бар заполнен более чем на 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)Переключает тему во время выполнения: 'modern', 'neon', 'minimal' или 'classic'.
Показать пример
Меняет внешний вид активного прогресс бара на современную тему.
RegisterCommand('darkbar', function()
exports['Agency-Progressbar']:SetProgressTheme('modern')
end)SetProgressPosition(position: string)Изменяет позицию: 'top', 'bottom', 'center'.
Показать пример
Перемещает активный прогресс бар в нижний центр экрана.
RegisterCommand('barbottom', function()
exports['Agency-Progressbar']:SetProgressPosition('bottom-center')
end)TryReload(usedItem?: string)Воспроизводит последовательность перезарядки в стиле ESX.
Показать пример
Запускает проверяемую сервером перезарядку с использованием коробки патронов 9mm.
RegisterKeyMapping('+reload', 'Reload weapon', 'keyboard', 'R')
RegisterCommand('+reload', function()
exports['Agency-Progressbar']:TryReload('ammo-9')
end)UseConsumable(itemName: string, isDrink: boolean)Воспроизводит анимацию еды/питья с прогресс-баром.
Показать пример
Воспроизводит анимацию питья и увеличивает уровень жажды при питье воды.
RegisterNetEvent('inventory:useItem', function(item)
if item == 'water_bottle' then
exports['Agency-Progressbar']:UseConsumable('water_bottle', true)
end
end)Экспорты на сервере
StartProgressForPlayer(playerId: number, data: table)Запускает прогресс-бар у конкретного клиента с сервера.
Показать пример
Запускает 5-секундный прогресс бар поднятия ящика на запрашивающем игроке.
RegisterCommand('lift', function(source)
exports['Agency-Progressbar']:StartProgressForPlayer(source, {
label = 'Lifting crate...',
duration = 5000
})
end, false)StopProgressForPlayer(playerId: number, completed?: boolean)Удалённо отменяет прогресс-бар конкретного игрока.
Показать пример
Отменяет активный прогресс бар целевого игрока со стороны сервера.
RegisterNetEvent('admin:cancelProgress', function(targetId)
exports['Agency-Progressbar']:StopProgressForPlayer(targetId, false)
end)StartProgressForAllPlayers(data: table)Транслирует прогресс-бар всем подключённым клиентам.
Показать пример
Транслирует всем игрокам 30-секундный прогресс бар штормового предупреждения.
RegisterNetEvent('event:weatherWarning', function()
exports['Agency-Progressbar']:StartProgressForAllPlayers({
label = 'Storm incoming - take shelter',
duration = 30000
})
end)StopProgressForAllPlayers(completed?: boolean)Отменяет прогресс-бар каждого игрока (например, конец раунда).
Показать пример
Останавливает глобальный прогресс бар штормового предупреждения у всех игроков.
RegisterNetEvent('event:weatherCleared', function()
exports['Agency-Progressbar']:StopProgressForAllPlayers(true)
end)События
Agency:Progressbar:LoadSettingsЗагружает настройки UI игрока (позиция, цвет, масштаб, стиль) из БД в клиент.
Показать пример
Загружает сохранённые настройки UI прогресс бара при спавне.
AddEventHandler('playerSpawned', function()
TriggerEvent('Agency:Progressbar:LoadSettings')
end)agency-progressbar:client:startЗапускает прогресс-бар на принимающем клиенте с указанными данными.
Показать пример
Запускает отменяемый 12-секундный прогресс бар ремонта двигателя.
TriggerEvent('agency-progressbar:client:start', {
label = 'Repairing engine...',
duration = 12000,
canCancel = true
})agency-progressbar:client:stopОстанавливает активный прогресс-бар с флагом завершения.
Показать пример
Прерывает активный прогресс бар, когда игрока заковывают в наручники.
RegisterNetEvent('police:cuffed', function()
TriggerEvent('agency-progressbar:client:stop', false)
end)agency:consumables:useFoodInventory-мост для потребления продукта питания (анимация + защищённое применение на server).
Показать пример
Запускает мост еды инвентаря для потребления сэндвича.
TriggerEvent('agency:consumables:useFood', 'sandwich')agency:consumables:useDrinkInventory-мост для потребления напитка (анимация + защищённое применение на server).
Показать пример
Запускает мост напитков инвентаря для потребления чашки кофе.
TriggerEvent('agency:consumables:useDrink', 'coffee_cup')Agency:Progressbar:SaveSettingsПроверяет и сохраняет настройки UI прогресс-бара игрока в БД.
Показать пример
Сохраняет настройки UI прогресс бара игрока в базу данных.
TriggerServerEvent('Agency:Progressbar:SaveSettings', {
position = 'top-right',
color = '#00aaff',
scale = 1.2
})agency-progressbar:server:startСерверный триггер для запуска прогресс-бара на цели (или себе).
Показать пример
Триггер сервера для запуска 6-секундного прогресс бара загрузки ящика на целевом игроке.
RegisterCommand('movecrate', function(source)
TriggerEvent('agency-progressbar:server:start', source, {
label = 'Loading crate onto truck',
duration = 6000
})
end, false)agency-progressbar:server:stopСерверный триггер для остановки прогресс-бара на цели (или себе).
Показать пример
Триггер сервера для остановки прогресс бара цели со статусом отмены.
RegisterNetEvent('admin:abortJob', function(targetId)
TriggerEvent('agency-progressbar:server:stop', targetId, false)
end)agency:reload:requestПроверяет патроны/оружие/предмет перед предоставлением перезарядки запрашивающему игроку.
Показать пример
Просит сервер проверить патроны и разрешить перезарядку пистолета.
TriggerServerEvent('agency:reload:request', 'WEAPON_PISTOL', 'ammo-9')agency:consumables:applyПроверяет инвентарь, удаляет один предмет и применяет прирост голода/жажды.
Показать пример
Просит сервер удалить продукт и применить прирост уровня голода.
RegisterNetEvent('food:onEatStart', function(itemName)
TriggerServerEvent('agency:consumables:apply', itemName)
end)14Agency-Notify
Sistema uvedomleniy so stilyami V1/V2, umnym prioritetom AgencyAI, zashchitoy ot spama i sokhraneniem v baze dannykh.
Zamenite lyuboy drugoy resurs uvedomleniy na vashem servere (qb-notify, esx_notify, mythic_notify, okok-notify i t.d.) edinym soglasovannym vidom. Sistema prioritetov AgencyAI avtomaticheski ogranichivayet spam-uvedomleniya.
Экспорты на клиенте
Notify(data: { title, text, type, duration, ... })Pokazyvaet uvedomlenie. Prinimayet { type, title, text, duration, icon, color }.
Показать пример
Отправляет 6-секундное уведомление об успехе с целью ограбления.
exports['Agency-Notify']:Notify({
title = 'Bank Heist',
text = 'Vault drilled, grab the loot!',
type = 'success',
duration = 6000
})События
Agency:Notify:SendTo zhe samoe, chto i export, pozvolyaet ispolzovat staryy shablon na osnove Trigger.
Показать пример
Устаревшее клиентское событие v1, отображающее ту же полезную нагрузку, что и экспорт.
TriggerEvent('Agency:Notify:Send', {
title = 'Old Notify',
text = 'Legacy v1 entry point still works',
type = 'info'
})Agency:Notify:LoadSettingsПрименяет сохранённые на server настройки UI игрока (позиция, цвет, масштаб, стиль).
Показать пример
Загружает сохранённые UI-настройки notify для игрока при спавне.
AddEventHandler('playerSpawned', function()
TriggerEvent('Agency:Notify:LoadSettings')
end)Agency:Notify:SaveSettingsПроверяет и сохраняет настройки notify игрока (позиция, акцентный цвет, масштаб, стиль).
Показать пример
Сохраняет позицию, акцент и масштаб notify игрока в базу данных.
TriggerServerEvent('Agency:Notify:SaveSettings', {
position = 'top-right',
accent = '#ff8800',
scale = 1.1,
style = 'modern'
})15Agency-Seatbelt
Remen bezopasnosti s fizikoy vybrasyvaniya, 3D-zvukami, podderzhkoy neskolkikh passazhirov i integratsiey s HUD.
Podklyuchite sostoyanie k svoyemu HUD ili prinuditelno vklyuchite v nachale politseyskoy pogoni / pobega s ogrableniya. Eksporty force-enable/disable otlichno podkhodyat dlya RP-momentov.
Экспорты на клиенте
enableSeatbelt()Prinuditelno vklyuchayet remen bezopasnosti (napr., pri politseyskom areste).
Показать пример
Пристёгивает ремень локального игрока с HUD и звуковой обратной связью.
RegisterNetEvent('vehicle:autoBuckle', function()
if IsPedInAnyVehicle(PlayerPedId(), false) then
exports['Agency-Seatbelt']:enableSeatbelt()
end
end)disableSeatbelt()Prinuditelno otklyuchayet remen (kat-stseny, RP-stsenarii).
Показать пример
Отстёгивает ремень локального игрока при выходе из автомобиля.
RegisterNetEvent('vehicle:onExit', function()
exports['Agency-Seatbelt']:disableSeatbelt()
end)toggleSeatbelt()Pereklyuchayet remen (eto delayet klavisha po umolchaniyu).
Показать пример
Переключает состояние ремня локального игрока при нажатии клавиши.
RegisterKeyMapping('+seatbelt', 'Toggle seatbelt', 'keyboard', 'B')
RegisterCommand('+seatbelt', function()
exports['Agency-Seatbelt']:toggleSeatbelt()
end)isSeatbeltOn()Vozvrashchayet true, yesli u igroka v dannyy moment pristegnut remen.
Показать пример
Отключает управление выходом, пока ремень пристёгнут.
if exports['Agency-Seatbelt']:isSeatbeltOn() then
DisableControlAction(0, 75, true)
end16Agency-Elevator
Realistichnaya sistema liftov s Liquid Glass UI i konfiguratorom.
Idealno podkhodit dlya skriptov kvartir/zhilya, politseyskogo shtaba, bolnitsy ili lyubogo mnogoetazhnogo intererla. Ispolzuyte konfigurator dlya vizualnogo razmeshcheniya liftov bez izmeneniya config-faylov.
События
Agency-Elevator:server:requestTravelServer-validirovannyy zapros na peremeshchenie mezhdu etazhami.
Показать пример
Просит сервер проверить доступ и отправиться на 3 этаж лифта.
TriggerServerEvent('Agency-Elevator:server:requestTravel', 'lspd-tower-1', 3)Agency-Elevator:server:travelCompleteПодтверждает прибытие клиента и отправляет уведомление 'прибыл на этаж'.
Показать пример
Сообщает серверу о прибытии игрока на 3 этаж для отправки уведомления.
TriggerServerEvent('Agency-Elevator:server:travelComplete', 'lspd-tower-1', 3)Agency-Elevator:server:requestElevatorsСинхронизирует загруженный список лифтов из базы данных с запрашивающим клиентом.
Показать пример
Запрашивает с сервера полный список лифтов при инициализации клиента.
AddEventHandler('onClientResourceStart', function(res)
if res == GetCurrentResourceName() then
TriggerServerEvent('Agency-Elevator:server:requestElevators')
end
end)Agency-Elevator:server:saveElevatorUpsert лифта (id/label/floors) в MySQL с проверкой прав.
Показать пример
Админский upsert лифта с одной записью этажа 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:loadElevatorSozdaet/zagruzhaet sokhrannenyy lift iz bazy dannykh.
Показать пример
Загружает данные одного лифта в NUI конфигуратора для редактирования.
TriggerServerEvent('Agency-Elevator:server:loadElevator', 'lspd-tower-1')Agency-Elevator:server:saveSettingsСохраняет настройки UI (позиция/масштаб/акцентный цвет) в MySQL и пересинхронизирует всех клиентов.
Показать пример
Сохраняет положение UI, акцентный цвет и масштаб и пересинхронизирует всех клиентов.
TriggerServerEvent('Agency-Elevator:server:saveSettings', {
position = 'top-right',
accent = '#22c55e',
scale = 1.0
})Agency-Elevator:client:startTravelZapuskayet kat-stsenu poyezdki na lifte dlya igroka.
Показать пример
Воспроизводит fade и анимацию, затем телепортирует пед на 2 этаж гаража.
TriggerEvent('Agency-Elevator:client:startTravel', 'parking-garage', 2)Agency-Elevator:client:applySettingsОтправляет настройки UI (акцент/масштаб/позиция) в NUI.
Показать пример
Применяет акцент, масштаб и позицию NUI лифта на локальном клиенте.
TriggerEvent('Agency-Elevator:client:applySettings', {
accent = '#0ea5e9',
scale = 0.9,
position = 'bottom-left'
})Agency-Elevator:client:openConfiguratorOtkryvayet vnutriigrovoy konfigurator liftov (tolko dlya admina).
Показать пример
Открывает NUI админ-конфигуратора с текущим списком лифтов.
TriggerEvent('Agency-Elevator:client:openConfigurator')Agency-Elevator:client:refreshConfiguratorОбновляет открытый конфигуратор после сохранения/удаления без его закрытия.
Показать пример
Обновляет открытое NUI конфигуратора после сохранения, не закрывая его.
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.
Экспорты на клиенте
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.
Экспорты на сервере
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.
События
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.
После этой страницы всё ещё не получается? Дальше подключается наша поддержка.