80 lines
2.0 KiB
Lua
80 lines
2.0 KiB
Lua
|
QBCore = exports['qb-core']:GetCoreObject()
|
||
|
PlayerData = {}
|
||
|
|
||
|
-- Functions
|
||
|
local function setupMenu()
|
||
|
Wait(500)
|
||
|
PlayerData = QBCore.Functions.GetPlayerData()
|
||
|
local resources = lib.callback.await('ps-adminmenu:callback:GetResources', false)
|
||
|
local commands = lib.callback.await('ps-adminmenu:callback:GetCommands', false)
|
||
|
GetData()
|
||
|
SendNUIMessage({
|
||
|
action = "setupUI",
|
||
|
data = {
|
||
|
actions = Config.Actions,
|
||
|
resources = resources,
|
||
|
playerData = PlayerData,
|
||
|
commands = commands
|
||
|
}
|
||
|
})
|
||
|
end
|
||
|
|
||
|
-- Event Handlers
|
||
|
AddEventHandler("QBCore:Client:OnPlayerLoaded", function()
|
||
|
setupMenu()
|
||
|
end)
|
||
|
|
||
|
AddEventHandler("onResourceStart", function(resourceName)
|
||
|
if (GetCurrentResourceName() == resourceName) then
|
||
|
setupMenu()
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
-- NUICallbacks
|
||
|
RegisterNUICallback("hideUI", function()
|
||
|
ToggleUI(false)
|
||
|
end)
|
||
|
|
||
|
RegisterNUICallback("clickButton", function(data)
|
||
|
local selectedData = data.selectedData
|
||
|
local key = data.data
|
||
|
local data = CheckDataFromKey(key)
|
||
|
if not data or not CheckPerms(data.perms) then return end
|
||
|
|
||
|
if data.type == "client" then
|
||
|
TriggerEvent(data.event, key, selectedData)
|
||
|
elseif data.type == "server" then
|
||
|
TriggerServerEvent(data.event, key, selectedData)
|
||
|
elseif data.type == "command" then
|
||
|
ExecuteCommand(data.event)
|
||
|
end
|
||
|
|
||
|
Log("Action Used",
|
||
|
PlayerData.name ..
|
||
|
" (" ..
|
||
|
PlayerData.citizenid ..
|
||
|
") - Used: " .. data.label .. (selectedData and (" with args: " .. json.encode(selectedData)) or ""))
|
||
|
end)
|
||
|
|
||
|
-- Open UI Event
|
||
|
RegisterNetEvent('ps-adminmenu:client:OpenUI', function()
|
||
|
ToggleUI(true)
|
||
|
end)
|
||
|
|
||
|
-- Close UI Event
|
||
|
RegisterNetEvent('ps-adminmenu:client:CloseUI', function()
|
||
|
ToggleUI(false)
|
||
|
end)
|
||
|
|
||
|
-- Change resource state
|
||
|
RegisterNUICallback("setResourceState", function(data, cb)
|
||
|
local resources = lib.callback.await('ps-adminmenu:callback:ChangeResourceState', false, data)
|
||
|
cb(resources)
|
||
|
end)
|
||
|
|
||
|
-- Get players
|
||
|
RegisterNUICallback("getPlayers", function(data, cb)
|
||
|
local players = lib.callback.await('ps-adminmenu:callback:GetPlayers', false)
|
||
|
cb(players)
|
||
|
end)
|