diff --git a/client/client.lua b/client/client.lua index 6fb5dd3..122f888 100644 --- a/client/client.lua +++ b/client/client.lua @@ -313,24 +313,33 @@ RegisterNetEvent(getScript()..':Consume', function(itemName) end end) if needStats then - if needStats.hunger then + jsonPrint(needStats) + if needStats.hunger > 0 then local hunger = 0 - if Core.Functions and Core.Functions.GetPlayerData then - hunger = Core.Functions.GetPlayerData().metadata["hunger"] or 0 + if Core and Core.Functions then + hunger = (Core.Functions.GetPlayerData().metadata["hunger"] or 0) + needStats.hunger + hunger = hunger > 100 and 100 or hunger + elseif ESX and ESX.GetPlayerData then - hunger = ESX.GetPlayerData().hunger or 0 + hunger = (needStats.thirst / 100) * 1000000 + hunger = hunger > 1000000 and 1000000 or hunger end - TriggerServerEvent(getScript()..":server:addNeed", hunger + needStats.hunger, "hunger") + + TriggerServerEvent(getScript()..":server:setNeed", "hunger", hunger) end - if needStats.thirst then + if needStats.thirst > 0 then local thirst = 0 - if Core.Functions and Core.Functions.GetPlayerData then - thirst = Core.Functions.GetPlayerData().metadata["thirst"] or 0 + if Core and Core.Functions then + thirst = (Core.Functions.GetPlayerData().metadata["thirst"] or 0) + needStats.thirst + thirst = thirst > 100 and 100 or thirst + elseif ESX and ESX.GetPlayerData then - thirst = ESX.GetPlayerData().thirst or 0 + thirst = (needStats.thirst / 100) * 1000000 + thirst = thirst > 1000000 and 1000000 or thirst end - TriggerServerEvent(getScript()..":server:addNeed", thirst + needStats.thirst, "thirst") + + TriggerServerEvent(getScript()..":server:setNeed", "thirst", thirst) end end debugPrint("^5Debug^7: ^2Hunger^7: [^6"..(needStats.hunger or 0).."^7] ^2Thrist^7: [^6"..(needStats.thirst or 0).."^7]" ) diff --git a/server/server.lua b/server/server.lua index dddb26f..09f89b7 100644 --- a/server/server.lua +++ b/server/server.lua @@ -18,40 +18,6 @@ onResourceStop(function() GlobalState.jimConsumableEmotes = Emotes end) -RegisterNetEvent(getScript()..':server:addNeed', function(amount, type) - local src = source - - if Core.Functions and Core.Functions.GetPlayer then -- QBCore/QBox - local Player = Core.Functions.GetPlayer(src) - if not Player then return end - - if type == "thirst" then - Player.Functions.SetMetaData('thirst', amount) - TriggerClientEvent('hud:client:UpdateNeeds', src, Player.PlayerData.metadata.hunger, amount) - elseif type == "hunger" then - Player.Functions.SetMetaData('hunger', amount) - TriggerClientEvent('hud:client:UpdateNeeds', src, amount, Player.PlayerData.metadata.thirst) - end - - elseif ESX and ESX.GetPlayerFromId then -- ESX - local xPlayer = ESX.GetPlayerFromId(src) - if not xPlayer then return end - - local hunger = xPlayer.get('hunger') or 0 - local thirst = xPlayer.get('thirst') or 0 - - if type == "thirst" then - thirst = amount - xPlayer.set('thirst', thirst) - elseif type == "hunger" then - hunger = amount - xPlayer.set('hunger', hunger) - end - - TriggerClientEvent('hud:client:UpdateNeeds', src, hunger, thirst) - end -end) - local syncScheduled = false function syncConsumables() debugPrint("^5Statebag^7: ^2Sending ^6"..countTable(Consumables).." ^3Consumables ^2to all clients^7")