From ccc1df87ec1d97d2285a0028338018f5398e4297 Mon Sep 17 00:00:00 2001 From: xoomer Date: Sun, 10 Jul 2022 09:21:09 +0500 Subject: [PATCH 1/9] Update README.md --- README.md | 103 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 97 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 0c91e4b..886efda 100644 --- a/README.md +++ b/README.md @@ -45,16 +45,22 @@ self.Functions.AddItem = function(item, amount, slot, info, created) } end if (totalWeight + (itemInfo['weight'] * amount)) <= QBCore.Config.Player.MaxWeight then - if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and (itemInfo['type'] == 'item' and not itemInfo['unique']) then + if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and self.PlayerData.items[slot].info.quality == info.quality and (itemInfo['type'] == 'item' and not itemInfo['unique']) then self.PlayerData.items[slot].amount = self.PlayerData.items[slot].amount + amount self.Functions.UpdatePlayerData() TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) return true - elseif (not itemInfo['unique'] and slot or slot and self.PlayerData.items[slot] == nil) then - self.PlayerData.items[slot] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = slot, combinable = itemInfo['combinable'], created = itemInfo['created'] } - self.Functions.UpdatePlayerData() - TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) - return true + elseif not itemInfo['unique'] or (not slot or slot == nil) or itemInfo['type'] == 'item' and self.PlayerData.items[slot].info.quality ~= info.quality and self.PlayerData.items[slot].name:lower() == item:lower() then + for i = 1, QBConfig.Player.MaxInvSlots, 1 do + if self.PlayerData.items[i] == nil then + self.PlayerData.items[i] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = i, combinable = itemInfo['combinable'], created = itemInfo['created'] } + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. i .. '], itemname: ' .. self.PlayerData.items[i].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[i].amount) + + + return true + end + end elseif (itemInfo['unique']) or (not slot or slot == nil) or (itemInfo['type'] == 'weapon') then for i = 1, QBConfig.Player.MaxInvSlots, 1 do if self.PlayerData.items[i] == nil then @@ -144,3 +150,88 @@ function QBCore.Player.SaveInventory(source) end end ``` + + +#if u are on Latest updated qbcore u need to replace these function not above + + +### self.Functions.AddItem | server/player.lua | replace with below: + +```lua + function self.Functions.AddItem(item, amount, slot, info,created) + local totalWeight = QBCore.Player.GetTotalWeight(self.PlayerData.items) + local itemInfo = QBCore.Shared.Items[item:lower()] + + local time = os.time() + if not created then + itemInfo['created'] = time + else + itemInfo['created'] = created + end + -- itemInfo['created'] = time + if itemInfo["type"] == 'item' and info == nil then + info = { quality = 100 } + end + + if not itemInfo and not self.Offline then + TriggerClientEvent('QBCore:Notify', self.PlayerData.source, Lang:t('error.item_not_exist'), 'error') + return + end + + amount = tonumber(amount) + slot = tonumber(slot) or QBCore.Player.GetFirstSlotByItem(self.PlayerData.items, item) + if itemInfo['type'] == 'weapon' and not info then + info = { + serie = tostring(QBCore.Shared.RandomInt(2) .. QBCore.Shared.RandomStr(3) .. QBCore.Shared.RandomInt(1) .. QBCore.Shared.RandomStr(2) .. QBCore.Shared.RandomInt(3) .. QBCore.Shared.RandomStr(4)), + } + end + if (totalWeight + (itemInfo['weight'] * amount)) <= QBCore.Config.Player.MaxWeight then + if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and self.PlayerData.items[slot].info.quality == info.quality and (itemInfo['type'] == 'item' and not itemInfo['unique']) then + + self.PlayerData.items[slot].amount = self.PlayerData.items[slot].amount + amount + + + if not self.Offline then + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) + end + + return true + + elseif not itemInfo['unique'] or (not slot or slot == nil) or itemInfo['type'] == 'item' and self.PlayerData.items[slot].info.quality ~= info.quality and self.PlayerData.items[slot].name:lower() == item:lower() then + for i = 1, QBConfig.Player.MaxInvSlots, 1 do + if self.PlayerData.items[i] == nil then + self.PlayerData.items[i] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = i, combinable = itemInfo['combinable'], created = itemInfo['created'] } + + if not self.Offline then + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. i .. '], itemname: ' .. self.PlayerData.items[i].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[i].amount) + end + + return true + end + end + + elseif itemInfo['unique'] or (not slot or slot == nil) or itemInfo['type'] == 'weapon' then + for i = 1, QBConfig.Player.MaxInvSlots, 1 do + if self.PlayerData.items[i] == nil then + self.PlayerData.items[i] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = i, combinable = itemInfo['combinable'], created = itemInfo['created'] } + + if not self.Offline then + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. i .. '], itemname: ' .. self.PlayerData.items[i].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[i].amount) + end + + return true + end + end + end + elseif not self.Offline then + TriggerClientEvent('QBCore:Notify', self.PlayerData.source, Lang:t('error.too_heavy'), 'error') + end + return false + end +``` + + + From 76f84970b459b6c1745f8a1a391b78c4b5fe78dd Mon Sep 17 00:00:00 2001 From: xoomer Date: Sun, 10 Jul 2022 09:23:19 +0500 Subject: [PATCH 2/9] Updated Additem function updated the add item function also for latest qbcore update and a fix for item quality stacked u have item with 0 quality and u add item using command it gets 0 quality --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 886efda..2361a1e 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ end ``` -#if u are on Latest updated qbcore u need to replace these function not above +# if u are on Latest updated qbcore u need to replace these function not above ### self.Functions.AddItem | server/player.lua | replace with below: From e4e427e091441a340c83261892e59a7659ceedc1 Mon Sep 17 00:00:00 2001 From: xoomer Date: Sun, 10 Jul 2022 09:24:28 +0500 Subject: [PATCH 3/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2361a1e..ada8650 100644 --- a/README.md +++ b/README.md @@ -152,7 +152,7 @@ end ``` -# if u are on Latest updated qbcore u need to replace these function not above +# if u are on Latest updated qbcore u need to replace this Add Item function not above ### self.Functions.AddItem | server/player.lua | replace with below: From 360e8e3fe4d4c38efeae7beb3b4fda95a3940739 Mon Sep 17 00:00:00 2001 From: xoomer Date: Sun, 10 Jul 2022 16:15:57 +0500 Subject: [PATCH 4/9] updated add item function --- README.md | 52 +++++++++++++++++++++++++++++++++------------------- 1 file changed, 33 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index ada8650..e2b14cb 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ end ### self.Functions.AddItem | server/player.lua | replace with below: ```lua - function self.Functions.AddItem(item, amount, slot, info,created) + function self.Functions.AddItem(item, amount, slot, info,created) local totalWeight = QBCore.Player.GetTotalWeight(self.PlayerData.items) local itemInfo = QBCore.Shared.Items[item:lower()] @@ -186,32 +186,46 @@ end } end if (totalWeight + (itemInfo['weight'] * amount)) <= QBCore.Config.Player.MaxWeight then - if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and self.PlayerData.items[slot].info.quality == info.quality and (itemInfo['type'] == 'item' and not itemInfo['unique']) then - - self.PlayerData.items[slot].amount = self.PlayerData.items[slot].amount + amount - - if not self.Offline then - self.Functions.UpdatePlayerData() - TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) - end - return true + if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and (itemInfo['type'] == 'item' and not itemInfo['unique']) then + + if info.quality == self.PlayerData.items[slot].info.quality or self.PlayerData.items[slot].info.quality >= 99 then - elseif not itemInfo['unique'] or (not slot or slot == nil) or itemInfo['type'] == 'item' and self.PlayerData.items[slot].info.quality ~= info.quality and self.PlayerData.items[slot].name:lower() == item:lower() then - for i = 1, QBConfig.Player.MaxInvSlots, 1 do - if self.PlayerData.items[i] == nil then - self.PlayerData.items[i] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = i, combinable = itemInfo['combinable'], created = itemInfo['created'] } + self.PlayerData.items[slot].amount = self.PlayerData.items[slot].amount + amount + if not self.Offline then + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) + end + return true - if not self.Offline then - self.Functions.UpdatePlayerData() - TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. i .. '], itemname: ' .. self.PlayerData.items[i].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[i].amount) + else + slot = nil + for i = 1, QBConfig.Player.MaxInvSlots, 1 do + if self.PlayerData.items[i] == nil then + self.PlayerData.items[i] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = i, combinable = itemInfo['combinable'], created = itemInfo['created'] } + + if not self.Offline then + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. i .. '], itemname: ' .. self.PlayerData.items[i].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[i].amount) + end + + return true end - - return true end + end + elseif not itemInfo['unique'] and slot or slot and self.PlayerData.items[slot] == nil then + self.PlayerData.items[slot] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = slot, combinable = itemInfo['combinable'] ,created = itemInfo['created']} + + if not self.Offline then + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) + end + + return true + elseif itemInfo['unique'] or (not slot or slot == nil) or itemInfo['type'] == 'weapon' then for i = 1, QBConfig.Player.MaxInvSlots, 1 do if self.PlayerData.items[i] == nil then From 83730dfc1b661e8fcd92ca37acd648e499199ac7 Mon Sep 17 00:00:00 2001 From: xoomer Date: Sun, 10 Jul 2022 16:17:41 +0500 Subject: [PATCH 5/9] Update Add item function --- README.md | 34 +++++++++++++++++++++++++++------- 1 file changed, 27 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e2b14cb..9cf85d6 100644 --- a/README.md +++ b/README.md @@ -45,11 +45,33 @@ self.Functions.AddItem = function(item, amount, slot, info, created) } end if (totalWeight + (itemInfo['weight'] * amount)) <= QBCore.Config.Player.MaxWeight then - if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and self.PlayerData.items[slot].info.quality == info.quality and (itemInfo['type'] == 'item' and not itemInfo['unique']) then - self.PlayerData.items[slot].amount = self.PlayerData.items[slot].amount + amount - self.Functions.UpdatePlayerData() - TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) - return true + if (slot and self.PlayerData.items[slot]) and (self.PlayerData.items[slot].name:lower() == item:lower()) and (itemInfo['type'] == 'item' and not itemInfo['unique']) then + + if info.quality == self.PlayerData.items[slot].info.quality or self.PlayerData.items[slot].info.quality >= 99 then + + self.PlayerData.items[slot].amount = self.PlayerData.items[slot].amount + amount + + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. slot .. '], itemname: ' .. self.PlayerData.items[slot].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[slot].amount) + + return true + + else + slot = nil + for i = 1, QBConfig.Player.MaxInvSlots, 1 do + if self.PlayerData.items[i] == nil then + self.PlayerData.items[i] = { name = itemInfo['name'], amount = amount, info = info or '', label = itemInfo['label'], description = itemInfo['description'] or '', weight = itemInfo['weight'], type = itemInfo['type'], unique = itemInfo['unique'], useable = itemInfo['useable'], image = itemInfo['image'], shouldClose = itemInfo['shouldClose'], slot = i, combinable = itemInfo['combinable'], created = itemInfo['created'] } + + + self.Functions.UpdatePlayerData() + TriggerEvent('qb-log:server:CreateLog', 'playerinventory', 'AddItem', 'green', '**' .. GetPlayerName(self.PlayerData.source) .. ' (citizenid: ' .. self.PlayerData.citizenid .. ' | id: ' .. self.PlayerData.source .. ')** got item: [slot:' .. i .. '], itemname: ' .. self.PlayerData.items[i].name .. ', added amount: ' .. amount .. ', new total amount: ' .. self.PlayerData.items[i].amount) + + + return true + end + end + + end elseif not itemInfo['unique'] or (not slot or slot == nil) or itemInfo['type'] == 'item' and self.PlayerData.items[slot].info.quality ~= info.quality and self.PlayerData.items[slot].name:lower() == item:lower() then for i = 1, QBConfig.Player.MaxInvSlots, 1 do if self.PlayerData.items[i] == nil then @@ -76,8 +98,6 @@ self.Functions.AddItem = function(item, amount, slot, info, created) end return false end -``` - ### QBCore.Player.LoadInventory | server/player.lua | replace with below: ```lua From 5af44d13b472a2083615ba9b459c852ed2a44148 Mon Sep 17 00:00:00 2001 From: xoomer Date: Mon, 11 Jul 2022 22:01:59 +0500 Subject: [PATCH 6/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9cf85d6..fca0c25 100644 --- a/README.md +++ b/README.md @@ -98,7 +98,7 @@ self.Functions.AddItem = function(item, amount, slot, info, created) end return false end - +``` ### QBCore.Player.LoadInventory | server/player.lua | replace with below: ```lua function QBCore.Player.LoadInventory(PlayerData) From 999c913254ffd35cdb40f5d8f3a2d6c13be22511 Mon Sep 17 00:00:00 2001 From: xoomer Date: Tue, 16 Aug 2022 19:04:44 +0500 Subject: [PATCH 7/9] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index fca0c25..bc59ad3 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,7 @@ self.Functions.AddItem = function(item, amount, slot, info, created) itemInfo['created'] = created end -- itemInfo['created'] = time - if itemInfo["type"] == 'item' and info == nil then + if itemInfo["type"] == 'item' and (info == nil or info == '') then info = { quality = 100 } end if itemInfo == nil then From 32f4edad8e641cda855baa6aa1ce133133d951b1 Mon Sep 17 00:00:00 2001 From: xoomer Date: Tue, 16 Aug 2022 19:06:05 +0500 Subject: [PATCH 8/9] Update README.md --- README.md | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index bc59ad3..31298ff 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ self.Functions.AddItem = function(item, amount, slot, info, created) return end local amount = tonumber(amount) - local slot = tonumber(slot) or QBCore.Player.GetFirstSlotByItem(self.PlayerData.items, item) + local slot = tonumber(slot) or QBCore.Player.GetFirstSlotByItem(self.PlayerData.items, item, info) if itemInfo['type'] == 'weapon' and info == nil then info = { serie = tostring(QBCore.Shared.RandomInt(2) .. QBCore.Shared.RandomStr(3) .. QBCore.Shared.RandomInt(1) .. QBCore.Shared.RandomStr(2) .. QBCore.Shared.RandomInt(3) .. QBCore.Shared.RandomStr(4)), @@ -99,6 +99,27 @@ self.Functions.AddItem = function(item, amount, slot, info, created) return false end ``` +### QBCore.Player.GetFirstSlotByItem | server/player.lua | replace with below: +```lua +function QBCore.Player.GetFirstSlotByItem(items, itemName, info) + if not items then return nil end + for slot, item in pairs(items) do + if info then + if item.name:lower() == itemName:lower() then + if tonumber(item.info.quality) == tonumber(info.quality) then + return tonumber(slot) + end + end + else + if item.name:lower() == itemName:lower() and tonumber(item.info.quality) > 0 then + return tonumber(slot) + end + end + end + return nil +end +``` + ### QBCore.Player.LoadInventory | server/player.lua | replace with below: ```lua function QBCore.Player.LoadInventory(PlayerData) From 62c3a94a204b0fbeb3243673d64c6db8d96e8314 Mon Sep 17 00:00:00 2001 From: xoomer Date: Tue, 16 Aug 2022 19:09:02 +0500 Subject: [PATCH 9/9] Update main.lua --- lj-inventory/server/main.lua | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/lj-inventory/server/main.lua b/lj-inventory/server/main.lua index 16e5466..6546ac7 100644 --- a/lj-inventory/server/main.lua +++ b/lj-inventory/server/main.lua @@ -873,6 +873,7 @@ RegisterNetEvent('inventory:server:UseItemSlot', function(slot) if itemData.type == "weapon" then if itemData.info.quality then if itemData.info.quality > 0 then + vitri = slot TriggerClientEvent("inventory:client:UseWeapon", src, itemData, true) else TriggerClientEvent("inventory:client:UseWeapon", src, itemData, false) @@ -890,6 +891,7 @@ RegisterNetEvent('inventory:server:UseItemSlot', function(slot) TriggerClientEvent("QBCore:Notify", src, "You can't use this item", "error") end else + TriggerClientEvent("QBCore:Client:UseItem", src, itemData) TriggerClientEvent('inventory:client:ItemBox', src, itemInfo, "use") end @@ -911,6 +913,7 @@ RegisterNetEvent('inventory:server:UseItem', function(inventory, item) end end end + vitri = item.slot TriggerClientEvent("QBCore:Client:UseItem", src, itemData) end end @@ -1663,3 +1666,30 @@ QBCore.Functions.CreateUseableItem("id_card", function(source, item) end end end) + +RegisterNetEvent('lj-inventory:server:setQuality',function (amount, name) + local src = source + local Player = QBCore.Functions.GetPlayer(src) + if name then + for k, v in pairs(Player.PlayerData.items) do + if v.name == name then + if (v.info.quality - amount) > 0 then + v.info.quality = v.info.quality - amount + Player.Functions.SetInventory(Player.PlayerData.items, true) + else + v.info.quality = 0 + Player.Functions.SetInventory(Player.PlayerData.items, true) + end + end + end + else + local itemData = Player.PlayerData.items[vitri] + if (itemData.info.quality - amount) > 0 then + itemData.info.quality = itemData.info.quality - amount + Player.Functions.SetInventory(Player.PlayerData.items, true) + else + itemData.info.quality = 0 + Player.Functions.SetInventory(Player.PlayerData.items, true) + end + end +end)