Agency Docs

Партнёрам-разработчикам

Подключение к скриптам 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:adminCreate

Admin создаёт 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:mdtCreateInvoice

MDT создаёт штраф/счёт для гражданина.

Показать пример

Создаёт штраф/счёт 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:closeMenu

Zakryvaet 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:openLaunderingMenu

Otkryvaet 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:showNotification

Pokazyvaet 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:completeBuy

Zavershaet 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:completeSell

Zavershaet 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:useRepairKit

ESX-специфичный псевдоним для запуска процесса прогресса ремкомплекта.

Показать пример

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:useRepairKit

QBCore-специфичный псевдоним для запуска процесса прогресса ремкомплекта.

Показать пример

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:showError

Pokazyvaet 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:showNotificationText

Pokazyvaet 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:showErrorText

Pokazyvaet 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:forceToggleLock

Put 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:forceToggleEngine

Put 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:checkOwnershipAndLock

Proveryaet 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:checkOwnershipAndStart

Proveryaet 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:universalEngineStart

Razreshaet 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:notify

Obshchiy 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:startAgencyPay

Initsiiruet 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:buyMachineResult

Rezultat 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:machineCreated

Broadcast 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:openManagementVerified

Server-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:openOwnedList

Otkryvaet 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:spawnMachineCreated

Broadcast 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:spawnMachineDeleted

Broadcast 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:openSpawnerUI

Otkryvaet 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:buyMachine

Igrok 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:requestOwnedList

Vyzyvayushchiy 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:requestMachines

Vyzyvayushchiy 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:requestManagement

Server-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:requestSpawnedMachines

Vyzyvayushchiy 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:adminSpawnMachine

Admin 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:adminDeleteSpawned

Admin 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:refreshStaffRanks

Zastavlyaet 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)) end
agency-admin:client:freezeTime

Zamorazhivaet 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:dashboardValue

Otpravlyaet 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:teleportToCoords

Teleportiruet 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:teleport

Teleportiruet 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:openToolsMenu

Server-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:closeMenu

Server-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:openClothingMenu

Server-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:requestPlayers

Zaprashivaet 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:requestPanelPermissions

Zaprashivaet 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:requestStaffRanks

Zaprashivaet 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:createRank

Sozdaet 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:requestMyPermissions

Vyzyvayushchiy 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:requestSync

Vyzyvayushchiy 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:requestDutyRank

Vyzyvayushchiy 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:requestSpawnedObjects

Vyzyvayushchiy 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:teleport

Teleportiruet 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:healSelf

Polnostyu 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:requestPlayerData

Vyzyvayushchiy 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:requestAdminData

Admin 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) end
IsProgressActive()

Возвращает 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:useFood

Inventory-мост для потребления продукта питания (анимация + защищённое применение на server).

Показать пример

Запускает мост еды инвентаря для потребления сэндвича.

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

Inventory-мост для потребления напитка (анимация + защищённое применение на 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:Send

To 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) end

16Agency-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:requestTravel

Server-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:saveElevator

Upsert лифта (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:loadElevator

Sozdaet/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:startTravel

Zapuskayet 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:openConfigurator

Otkryvayet 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:enteredZone

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

agency-housing:client:leftZone

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

После этой страницы всё ещё не получается? Дальше подключается наша поддержка.

После этой страницы всё ещё не получается? Дальше подключается наша поддержка.