From e9535a17a15363bc3fa8e5c40a670fad0a4b341a Mon Sep 17 00:00:00 2001 From: Andy <86536434+Andyyy7666@users.noreply.github.com> Date: Sun, 17 Dec 2023 21:49:50 +0100 Subject: [PATCH] fix(nd): license check and loading correctness (#1559) --- modules/bridge/nd/client.lua | 4 ++-- modules/bridge/nd/server.lua | 15 ++++++++------- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/modules/bridge/nd/client.lua b/modules/bridge/nd/client.lua index 79c17f779..dc7d8e849 100644 --- a/modules/bridge/nd/client.lua +++ b/modules/bridge/nd/client.lua @@ -1,6 +1,6 @@ -local NDCore = lib.load('@ND_Core.init') +if not lib.checkDependency('ND_Core', '2.0.0', true) then return end -if lib.checkDependency('ND_Core', '2.0.0', true) then return end +lib.load('@ND_Core.init') RegisterNetEvent("ND:characterUnloaded", client.onLogout) diff --git a/modules/bridge/nd/server.lua b/modules/bridge/nd/server.lua index 530fa4218..6b00ab2c6 100644 --- a/modules/bridge/nd/server.lua +++ b/modules/bridge/nd/server.lua @@ -1,11 +1,10 @@ -local NDCore = lib.load('@ND_Core.init') +if not lib.checkDependency('ND_Core', '2.0.0', true) then return end -if lib.checkDependency('ND_Core', '2.0.0', true) then return end +local Inventory = require 'modules.inventory.server' +lib.load('@ND_Core.init') AddEventHandler("ND:characterUnloaded", server.playerDropped) -local Inventory = require 'modules.inventory.server' - local function reorderGroups(groups) groups = groups or {} for group, info in pairs(groups) do @@ -71,10 +70,12 @@ end ---@diagnostic disable-next-line: duplicate-set-field function server.hasLicense(inv, license) - local character = NDCore.getPlayer(inv.id) - if not character or not character.data.licences then return end + local player = NDCore.getPlayer(inv.id) + if not player then return end - for _, characterLicense in pairs(character.data.licences) do + local licenses = player.getMetadata("licenses") or {} + for i=1, #licenses do + local characterLicense = licenses[i] if characterLicense.type == license and characterLicense.status == "valid" then return characterLicense.type end