Files
red-valley/resources/[framework]/[addons]/qs-advancedgarages/client/custom/menu/nh-context.lua
2026-03-29 21:41:17 +03:00

146 lines
3.5 KiB
Lua

if Config.Menu ~= 'nh-context' then
return
end
function OpenManagementMenu()
TriggerEvent('nh-context:createMenu', {
{
header = 'Management',
},
{
header = 'Give Key',
event = 'advancedgarages:openGiveKeyMenu',
},
{
header = 'Key Holders',
event = 'advancedgarages:openKeyHoldersMenu',
},
{
header = 'Sell Garage',
event = 'advancedgarages:sellGarage',
}
})
end
function openGiveKeyMenu(players)
local Elements = {
{
header = 'Give Key',
}
}
for k, v in pairs(players) do
local data = {
id = v.id,
garage = ClosestGarage
}
table.insert(Elements, {
header = 'Give Key',
context = 'Player: ' .. v.name.firstName .. ' ' .. v.name.lastName,
event = 'advancedgarages:giveKey',
server = true,
args = {
data
}
})
end
TriggerEvent('nh-context:createMenu', Elements)
end
function openTakeKeyMenu()
local Elements = {
{
header = 'Take Key',
}
}
local holders = lib.callback.await('advancedgarages:getGarageKeyHolders', false, ClosestGarage)
if not holders or #holders == 0 then
Notification(i18n.t('keyholders.empty_list'), 'info')
return
end
for k, v in pairs(holders) do
local data = {
id = v.identifier,
garage = ClosestGarage
}
table.insert(Elements, {
header = 'Take Key',
context = 'Player: ' .. v.firstname .. ' ' .. v.lastname,
event = 'advancedgarages:takeKey',
server = true,
args = {
data
}
})
end
TriggerEvent('nh-context:createMenu', Elements)
end
function HandleKeyboard(callback)
local keyboard, value = exports['nh-keyboard']:Keyboard({
header = 'Set a Price',
rows = { 'Price' }
})
if keyboard then
callback(value)
end
end
function HandleGarageJob()
local keyboard, value = exports['nh-keyboard']:Keyboard({
header = 'Job Name (you can leave it blank for everyone)',
rows = { 'Job Name' }
})
if keyboard then
return value
end
end
function OpenRecoveryMenu(vehicleList)
local menu = {}
table.insert(menu, {
header = 'Recovery Vehicle (OUT)'
})
for k, v in pairs(vehicleList) do
table.insert(menu, {
header = v.plate,
event = 'advancedgarages:RecoveryVehicle',
server = true,
args = {
v
}
})
end
TriggerEvent('nh-context:createMenu', menu)
end
function OpenDeleteJobVehicleMenu(garage, job)
local menu = {}
local vehicles = lib.callback.await('advancedgarages:getJobVehicles', false, garage, job)
if not vehicles or #vehicles == 0 then
Notification(i18n.t('keyholders.empty_out'), 'info')
return
end
table.insert(menu, {
header = 'Delete work vehicles'
})
for k, v in pairs(vehicles) do
local data = {
plate = v.plate,
garage = garage
}
table.insert(menu, {
header = v.plate,
event = 'advancedgarages:deleteJobVehicle',
server = true,
args = {
data
}
})
end
TriggerEvent('nh-context:createMenu', menu)
end