From db5090dd77f711e7872fb268a258c65c805c7594 Mon Sep 17 00:00:00 2001 From: iLLeniumStudios <104288623+TheiLLeniumStudios@users.noreply.github.com> Date: Mon, 24 Apr 2023 10:13:07 +0200 Subject: [PATCH] feat(management/qbox): qbx-management support for BossManagedOutfits (#296) --- client/client.lua | 41 +++----------------------------- client/management/management.lua | 35 +++++++++++++++++++++++++++ client/management/qb.lua | 18 ++++++++++++++ client/management/qbx.lua | 17 +++++++++++++ fxmanifest.lua | 3 +++ server/server.lua | 2 +- 6 files changed, 77 insertions(+), 39 deletions(-) create mode 100644 client/management/management.lua create mode 100644 client/management/qb.lua create mode 100644 client/management/qbx.lua diff --git a/client/client.lua b/client/client.lua index 5e90373..0c83648 100644 --- a/client/client.lua +++ b/client/client.lua @@ -3,11 +3,6 @@ local client = client local currentZone = nil local radialOptionAdded = false -local ManagementItemIDs = { - Gang = nil, - Boss = nil -} - local reloadSkinTimer = GetGameTimer() local TargetPeds = { @@ -119,36 +114,6 @@ local function LoadPlayerUniform() end) end -local function RemoveManagementMenuItems() - if ManagementItemIDs.Boss then - exports["qb-management"]:RemoveBossMenuItem(ManagementItemIDs.Boss) - end - if ManagementItemIDs.Gang then - exports["qb-management"]:RemoveGangMenuItem(ManagementItemIDs.Gang) - end -end - -local function AddManagementMenuItems() - local eventName = "illenium-appearance:client:OutfitManagementMenu" - local menuItem = { - header = _L("outfitManagement.title"), - icon = "fa-solid fa-shirt", - params = { - event = eventName, - args = { - backEvent = eventName - } - } - } - menuItem.txt = _L("outfitManagement.jobText") - menuItem.params.args.type = "Job" - ManagementItemIDs.Boss = exports["qb-management"]:AddBossMenuItem(menuItem) - - menuItem.txt = _L("outfitManagement.gangText") - menuItem.params.args.type = "Gang" - ManagementItemIDs.Gang = exports["qb-management"]:AddGangMenuItem(menuItem) -end - local function RemoveRadialMenuOption() if radialOptionAdded then if Config.UseOxRadial then @@ -174,7 +139,7 @@ function InitAppearance() end) ResetBlips() if Config.BossManagedOutfits then - AddManagementMenuItems() + Management.AddItems() end RestorePlayerStats() end @@ -199,8 +164,8 @@ AddEventHandler("onResourceStop", function(resource) RemoveRadialMenuOption() end end - if Config.BossManagedOutfits and GetResourceState("qb-management") == "started" then - RemoveManagementMenuItems() + if Config.BossManagedOutfits then + Management.RemoveItems() end end end) diff --git a/client/management/management.lua b/client/management/management.lua new file mode 100644 index 0000000..67e062c --- /dev/null +++ b/client/management/management.lua @@ -0,0 +1,35 @@ +Management = {} + +Management.ItemIDs = { + Gang = nil, + Boss = nil +} + +function Management.IsQB() + local resName = "qb-management" + if GetResourceState(resName) ~= "missing" then + Management.ResourceName = resName + return true + end + return false +end + +function Management.IsQBX() + local resName = "qbx-management" + if GetResourceState(resName) ~= "missing" then + Management.ResourceName = resName + return true + end + return false +end + +function Management.RemoveItems() + if GetResourceState(Management.ResourceName) ~= "started" then return end + + if Management.ItemIDs.Boss then + exports[Management.ResourceName]:RemoveBossMenuItem(Management.ItemIDs.Boss) + end + if Management.ItemIDs.Gang then + exports[Management.ResourceName]:RemoveGangMenuItem(Management.ItemIDs.Gang) + end +end diff --git a/client/management/qb.lua b/client/management/qb.lua new file mode 100644 index 0000000..9fbb601 --- /dev/null +++ b/client/management/qb.lua @@ -0,0 +1,18 @@ +if not Management.IsQB() then return end + +function Management.AddItems() + local menuItem = { + header = _L("outfitManagement.title"), + icon = "fa-solid fa-shirt", + params = { + event = "illenium-appearance:client:OutfitManagementMenu" + } + } + menuItem.txt = _L("outfitManagement.jobText") + menuItem.params.args.type = "Job" + Management.ItemIDs.Boss = exports[Management.ResourceName]:AddBossMenuItem(menuItem) + + menuItem.txt = _L("outfitManagement.gangText") + menuItem.params.args.type = "Gang" + Management.ItemIDs.Gang = exports[Management.ResourceName]:AddGangMenuItem(menuItem) +end diff --git a/client/management/qbx.lua b/client/management/qbx.lua new file mode 100644 index 0000000..4052ac4 --- /dev/null +++ b/client/management/qbx.lua @@ -0,0 +1,17 @@ +if not Management.IsQBX() then return end + +function Management.AddItems() + local menuItem = { + title = _L("outfitManagement.title"), + icon = "fa-solid fa-shirt", + event = "illenium-appearance:client:OutfitManagementMenu", + args = {} + } + menuItem.description = _L("outfitManagement.jobText") + menuItem.args.type = "Job" + Management.ItemIDs.Boss = exports[Management.ResourceName]:AddBossMenuItem(menuItem) + + menuItem.description = _L("outfitManagement.gangText") + menuItem.args.type = "Gang" + Management.ItemIDs.Gang = exports[Management.ResourceName]:AddGangMenuItem(menuItem) +end diff --git a/fxmanifest.lua b/fxmanifest.lua index 416dc98..e1d5e08 100644 --- a/fxmanifest.lua +++ b/fxmanifest.lua @@ -23,6 +23,9 @@ client_scripts { "client/target/target.lua", "client/target/qb.lua", "client/target/ox.lua", + "client/management/management.lua", + "client/management/qb.lua", + "client/management/qbx.lua", "client/stats.lua", "client/defaults.lua", "client/blips.lua", diff --git a/server/server.lua b/server/server.lua index 26876cb..d7ceeca 100644 --- a/server/server.lua +++ b/server/server.lua @@ -254,7 +254,7 @@ RegisterNetEvent("illenium-appearance:server:saveManagementOutfit", function(out lib.notify(src, { title = _L("outfits.save.success.title"), - description = string.format(_L("outfits.save.success.description"), outfitData.name), + description = string.format(_L("outfits.save.success.description"), outfitData.Name), type = "success", position = Config.NotifyOptions.position })