178 lines
5.6 KiB
Lua
178 lines
5.6 KiB
Lua
lastHunger = nil
|
|
lastThirst = nil
|
|
function SetStatus(type, value)
|
|
NuiMessage("SET_STATUS", {
|
|
type = type,
|
|
value = value,
|
|
})
|
|
end
|
|
|
|
lastHealth = nil
|
|
CreateThread(function()
|
|
LoadPlayerInformations()
|
|
while true do
|
|
local playerPed = PlayerPedId()
|
|
local health = GetEntityHealth(playerPed)
|
|
if lastHealth == nil or lastHealth ~= health then
|
|
local val = health - 100
|
|
SetStatus('health', val)
|
|
lastHealth = health
|
|
if lastHealth <= 0 then
|
|
TriggerEvent('codem-inventory:client:closeInventory')
|
|
if Config.DiePlayerRemoveHandsWeaponItem then
|
|
TriggerEvent('codem-inventory:client:removeWeaponPlayerHands')
|
|
end
|
|
end
|
|
end
|
|
Wait(1600)
|
|
end
|
|
end)
|
|
function LoadPlayerInformations()
|
|
while Core == nil and not PlayerLoaded do
|
|
Wait(0)
|
|
end
|
|
CreateThread(function()
|
|
local cash = 0
|
|
local bank = 0
|
|
if Config.Framework == 'esx' or Config.Framework == 'oldesx' then
|
|
while Core.GetPlayerData() == nil and Core.GetPlayerData().accounts == nil do
|
|
Wait(0)
|
|
end
|
|
Wait(1000)
|
|
local PlayerData = Core.GetPlayerData()
|
|
if next(PlayerData) == nil then
|
|
else
|
|
local esxCash = TriggerCallback("codem-inventory:GetESXCash")
|
|
local esxBank = TriggerCallback("codem-inventory:GetESXBank")
|
|
bank = esxBank
|
|
cash = esxCash
|
|
end
|
|
else
|
|
while Core.Functions.GetPlayerData() == nil do
|
|
Wait(0)
|
|
end
|
|
local PlayerData = Core.Functions.GetPlayerData()
|
|
if next(PlayerData) == nil then
|
|
else
|
|
cash = PlayerData["money"].cash or 0
|
|
bank = PlayerData["money"].bank or 0
|
|
end
|
|
end
|
|
SetStatus("cash", cash)
|
|
SetStatus("bank", bank)
|
|
end)
|
|
end
|
|
|
|
local lastArmor = nil
|
|
CreateThread(function()
|
|
while true do
|
|
local playerPed = PlayerPedId()
|
|
local armor = GetPedArmour(playerPed)
|
|
if not lastArmor or lastArmor ~= armor then
|
|
local val = armor
|
|
SetStatus('armor', val)
|
|
lastArmor = armor
|
|
end
|
|
Wait(1600)
|
|
end
|
|
end)
|
|
local lastStamina = nil
|
|
CreateThread(function()
|
|
while true do
|
|
local value = 100 - GetPlayerSprintStaminaRemaining(PlayerId())
|
|
if lastStamina == nil or lastStamina ~= value then
|
|
SetStatus('stamina', value)
|
|
lastStamina = value
|
|
end
|
|
Wait(1600)
|
|
end
|
|
end)
|
|
|
|
RegisterNetEvent("QBCore:Player:SetPlayerData")
|
|
AddEventHandler("QBCore:Player:SetPlayerData", function(data)
|
|
SetStatus("cash", data.money.cash)
|
|
SetStatus("bank", data.money.bank)
|
|
end)
|
|
|
|
|
|
RegisterNetEvent('esx:setAccountMoney')
|
|
AddEventHandler('esx:setAccountMoney', function(account)
|
|
if account.name == 'money' then
|
|
account.name = 'cash'
|
|
end
|
|
SetStatus(account.name, account.money)
|
|
end)
|
|
|
|
RegisterNetEvent("es:removedMoney")
|
|
AddEventHandler("es:removedMoney", function(a, b, m)
|
|
Wait(1500)
|
|
local PlayerData = Core.GetPlayerData()
|
|
for _, v in pairs(PlayerData.accounts) do
|
|
if v.name == 'bank' then
|
|
SetStatus("bank", v.money)
|
|
end
|
|
if v.name == 'money' then
|
|
SetStatus("cash", v.money)
|
|
end
|
|
end
|
|
end)
|
|
|
|
|
|
RegisterNetEvent("es:addedMoney")
|
|
AddEventHandler("es:addedMoney", function(a, b, m)
|
|
Wait(1500)
|
|
local PlayerData = Core.GetPlayerData()
|
|
for _, v in pairs(PlayerData.accounts) do
|
|
if v.name == 'bank' then
|
|
SetStatus("bank", v.money)
|
|
end
|
|
if v.name == 'money' then
|
|
SetStatus("cash", v.money)
|
|
end
|
|
end
|
|
end)
|
|
|
|
CreateThread(function()
|
|
while true do
|
|
while Core == nil and not PlayerLoaded do
|
|
Wait(0)
|
|
end
|
|
if Config.Framework == "esx" or Config.Framework == "oldesx" then
|
|
TriggerEvent('esx_status:getStatus', 'hunger', function(hunger)
|
|
TriggerEvent('esx_status:getStatus', 'thirst', function(thirst)
|
|
local hunger = hunger.getPercent()
|
|
local thirst = thirst.getPercent()
|
|
if lastHunger == nil or hunger ~= lastHunger then
|
|
SetStatus('hunger', hunger)
|
|
lastHunger = hunger
|
|
end
|
|
if lastThirst == nil or thirst ~= lastThirst then
|
|
SetStatus('thirst', thirst)
|
|
lastThirst = thirst
|
|
end
|
|
end)
|
|
end)
|
|
else
|
|
while Core.Functions.GetPlayerData() == nil and Core.Functions.GetPlayerData().metadata == nil do
|
|
Wait(0)
|
|
end
|
|
local PlayerData = Core.Functions.GetPlayerData()
|
|
if next(PlayerData) == nil then
|
|
|
|
else
|
|
local hunger = PlayerData.metadata["hunger"]
|
|
local thirst = PlayerData.metadata["thirst"]
|
|
if lastHunger == nil or hunger ~= lastHunger then
|
|
SetStatus('hunger', hunger)
|
|
lastHunger = hunger
|
|
end
|
|
if lastThirst == nil or thirst ~= lastThirst then
|
|
SetStatus('thirst', thirst)
|
|
lastThirst = thirst
|
|
end
|
|
end
|
|
end
|
|
Wait(6000)
|
|
end
|
|
end)
|