Agency Docs
QBESXStandalone

Agency-Vehiclekeys V2 Экспорты & API

Универсальные ключи для автомобилей FiveM на QBCore, Qbox, ESX или полностью в standalone-режиме.

v2.0.0Платно5 Страницы

01Клиентские экспорты

ЭкспортОписание
HasKeys(plate)Возвращает true, если у игрока есть ключ от этого номера: owner, shared или temporary. Служебные автомобили открываются по модели и здесь не учитываются.
GetKeys()Все ключи игрока в виде списка { plate, kind }. Значение kind: owner, shared или temp.
ToggleLock(vehicle)Запирает или отпирает автомобиль, на который у игрока есть ключ, с той же анимацией и проверками, что и G. Если игрок не находится в автомобиле, используется ближайший в радиусе досягаемости.
ToggleEngine()Запускает или останавливает двигатель автомобиля, которым управляет игрок, как U.
OpenMenu()Открывает связку ключей, например из радиального меню или приложения для телефона.
CloseMenu()Закрывает связку ключей и возвращает управление мышью игре.
IsMenuOpen()Возвращает true, пока связка ключей открыта.
useLockpick()Начинает попытку взлома замка автомобиля перед игроком или заводит автомобиль напрямую, если игрок на водительском сиденье. Предназначено для предметов ox_inventory: client = { export = 'Agency-Vehiclekeys.useLockpick' }.

02Серверные экспорты

ЭкспортОписание
GiveKeys(source, plate, mode, hours)Выдаёт ключ. Режим 'temp' (по умолчанию) выдаёт временный ключ, при необходимости на указанное количество часов, а 'perm' , постоянный ключ, который сохраняется. Можно указать source или identifier.
RemoveKeys(source, plate)Забирает выданный ключ shared или temporary. Возвращает true, если такой ключ был.
HasKeys(source, plate)Возвращает true, если у игрока есть ключ от номера, включая ключи от служебных автомобилей поблизости.
SetOwner(source, plate)Назначает игрока владельцем автомобиля с указанным номером для гаражей и магазинов на standalone-серверах. Предыдущий владелец теряет ключ.
RemoveOwner(plate)Удаляет владельца номера, сохранённого этим скриптом.
GetOwner(plate)Идентификатор владельца и источник данных: 'framework' для принадлежащих игрокам автомобилей в QBCore, Qbox или ESX, 'store' для владельцев, сохранённых этим скриптом.
GetKeyHolders(plate)Все остальные пользователи с ключом от машины с этим номером, в виде списка { identifier, kind, name, expires }.
SetVehicleLocked(vehicle, locked)Запирает или отпирает автомобиль для всех, без проверки ключа. Для скриптов, которым нужно открыть автомобиль.
IsVehicleLocked(vehicle)True, если автомобиль заперт.
GetFramework()Фреймворк, обнаруженный скриптом: qbcore, esx или standalone.

03События

НазваниеСторонаОписание
Agency:Keys:GiveServerСерверЗапрашивает временный ключ для автомобиля с указанным номером, как это делают Agency Garage и Agency Vehicleshop. Вызовите событие на клиенте, передав номер. Автомобиль должен находиться рядом с игроком или принадлежать ему.
qb-vehiclekeys:server:AcquireVehicleKeysСерверСобытие выдачи ключа из qb-vehiclekeys, обработанное аналогичным образом, чтобы гаражи и магазины, созданные для qb-vehiclekeys, продолжали работать.
vehiclekeys:client:SetOwnerКлиентКлиентское событие, которое многие гаражи и магазины вызывают после появления автомобиля. После тех же проверок на сервере выдаёт временный ключ для автомобиля с этим номером.
qb-vehiclekeys:client:AddKeysКлиентКлиентское событие qb-vehiclekeys для выдачи ключей, обработанное аналогичным образом.
simple_carkeys:client:toggleEngineКлиентВызывается на клиенте, когда двигатель запускают или глушат ключом, чтобы HUD, например Agency-Hud, мог отслеживать состояние двигателя.

+Полезно знать

Agency-Vehiclekeys V2 предоставляет exports и поддерживает распространённые события ключей, поэтому скрипты гаражей, магазинов, работ и ограблений могут выдавать, проверять и забирать ключи.

Выдача и проверка ключей
GiveKeys выдаёт временный или сохранённый ключ, RemoveKeys забирает его, а HasKeys проверяет его наличие. На сервере используются source или identifier, а на клиенте проверяется сам игрок.
Владельцы для автономных гаражей
На автономных серверах нет таблицы фреймворка с принадлежащими игрокам автомобилями. SetOwner назначает игрока владельцем автомобиля по номерному знаку, RemoveOwner снимает это назначение, а GetOwner возвращает владельца.
События, используемые другими скриптами
Agency:Keys:GiveServer, qb-vehiclekeys:server:AcquireVehicleKeys, vehiclekeys:client:SetOwner и qb-vehiclekeys:client:AddKeys выдают временный ключ после одинаковых проверок: автомобиль должен находиться рядом с игроком или принадлежать ему.

?Частые вопросы

Как выдать ключ из скрипта гаража?

На сервере вызовите exports['Agency-Vehiclekeys']:GiveKeys(source, plate) после появления автомобиля или вызовите на клиенте TriggerServerEvent('Agency:Keys:GiveServer', plate). Скрипты, созданные для qb-vehiclekeys, не требуют изменений.

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