From ad185183f7f7ed5938cfc8bfff080629ee565d22 Mon Sep 17 00:00:00 2001 From: Jim Shield Date: Tue, 14 Feb 2023 14:40:09 +0000 Subject: [PATCH] Add support for exports itemSyncing --- server/server.lua | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/server/server.lua b/server/server.lua index b5a695a..400cfd8 100644 --- a/server/server.lua +++ b/server/server.lua @@ -2,8 +2,8 @@ local QBCore = exports['qb-core']:GetCoreObject() for k, v in pairs(Config.Consumables) do QBCore.Functions.CreateUseableItem(k, function(source, item) TriggerClientEvent('jim-consumables:Consume', source, item.name) end) - if not QBCore.Shared.Items[k] then print("Item check - '"..k.."' not found in the shared lua") end - if not Config.Emotes[v.emote] then print("Emote check - '"..k.."' requested emote '"..v.emote.."' - not found in config.lua") end + if not QBCore.Shared.Items[k] then print("^1Debug^7: ^2Item check ^7- '^1"..k.."^7' ^2not found in the shared lua^7") end + if not Config.Emotes[v.emote] then print("^1Debug^7: ^2Emote check ^7- '^1"..k.."^7' ^2requested emote ^7'^6"..v.emote.."^7' - ^2not found in config^7.^2lua^7") end end RegisterNetEvent('jim-consumables:server:toggleItem', function(give, item, amount) @@ -13,8 +13,6 @@ RegisterNetEvent('jim-consumables:server:toggleItem', function(give, item, amoun TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[item], "remove", amount or 1) end else - if not Config.Consumables[give] then print(('%s may have potentially attempted an item exploit to gain %s %s'):format(src, amount, item)) return end -- cancel if item does not exist in config - if QBCore.Functions.GetPlayer(src).Functions.AddItem(item, amount or 1) then TriggerClientEvent('inventory:client:ItemBox', src, QBCore.Shared.Items[item], "add", amount or 1) end @@ -34,3 +32,22 @@ RegisterNetEvent('jim-consumables:server:addHunger', function(amount) Player.Functions.SetMetaData('hunger', amount) TriggerClientEvent('hud:client:UpdateNeeds', source, amount, Player.PlayerData.metadata.thirst) end) + +--Export Import System-- +RegisterNetEvent("jim-consumables:getSync", function() local src = source TriggerClientEvent("jim-consumables:syncItems", source, Config.Consumables, Config.Emotes) end) +local function importEmote(emoteName, eInfo) + if Config.Debug then print("^5Debug^7: ^2Importing Item ^7'^6"..emoteName.."^7'") end + Config.Emotes[emoteName] = eInfo + TriggerClientEvent("jim-consumables:syncItems", -1, nil, Config.Emotes) +end + +local function importConsumable(itemName, conInfo) + if Config.Debug then print("^5Debug^7: ^2Importing Item ^7'^6"..itemName.."^7'") end + if not QBCore.Shared.Items[itemName] then print("^1Debug^7: ^2Item check ^7- '^1"..k.."^7' ^2not found in the shared lua^7") end + Config.Consumables[itemName] = conInfo + QBCore.Functions.CreateUseableItem(itemName, function(source, item) TriggerClientEvent('jim-consumables:Consume', source, itemName) end) + TriggerClientEvent("jim-consumables:syncItems", -1, Config.Consumables, nil) +end + +exports("importEmote", importEmote) +exports("importConsumable", importConsumable)