forked from Simnation/Main
81 lines
3.3 KiB
Lua
81 lines
3.3 KiB
Lua
![]() |
Framework = nil
|
||
|
PlayerStress = json.decode(LoadResourceFile(GetCurrentResourceName(), "./Stress.json"))
|
||
|
|
||
|
Citizen.CreateThread(function()
|
||
|
while Framework == nil do Citizen.Wait(750) end
|
||
|
Citizen.Wait(2500)
|
||
|
for _,v in pairs(GetPlayers()) do
|
||
|
local ID = (Customize.Framework == "ESX" or Customize.Framework == "NewESX") and Framework.GetPlayerFromId(tonumber(v))?.identifier or Framework.Functions.GetPlayer(tonumber(v))?.PlayerData?.citizenid
|
||
|
if Player ~= nil then
|
||
|
if not PlayerStress[ID] then PlayerStress[ID] = 0 end
|
||
|
TriggerClientEvent('PlayerLoaded', tonumber(v), tonumber(PlayerStress[ID]))
|
||
|
Wait(74)
|
||
|
end
|
||
|
end
|
||
|
end)
|
||
|
|
||
|
Citizen.CreateThread(function()
|
||
|
Framework = GetFramework()
|
||
|
Callback = (Customize.Framework == "ESX" or Customize.Framework == "NewESX") and Framework.RegisterServerCallback or Framework.Functions.CreateCallback
|
||
|
Citizen.Wait(2000)
|
||
|
|
||
|
Callback('Players', function(source, cb)
|
||
|
local count = 0
|
||
|
local plyr = (Customize.Framework == "ESX" or Customize.Framework == "NewESX") and Framework.GetPlayers() or Framework.Functions.GetPlayers()
|
||
|
for k,v in pairs(plyr) do
|
||
|
if v ~= nil then count = count + 1 end
|
||
|
end
|
||
|
cb(count)
|
||
|
end)
|
||
|
|
||
|
Callback('GetMoney', function(source, cb)
|
||
|
cb(Framework.GetPlayerFromId(source).getAccount("bank").money)
|
||
|
end)
|
||
|
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('esx:playerLoaded')
|
||
|
AddEventHandler('esx:playerLoaded', function(src)
|
||
|
Wait(700)
|
||
|
local ID = Framework.GetPlayerFromId(src)?.identifier
|
||
|
if not PlayerStress[ID] then PlayerStress[ID] = 0 end
|
||
|
TriggerClientEvent('PlayerLoaded', src, tonumber(PlayerStress[ID]))
|
||
|
end)
|
||
|
|
||
|
RegisterNetEvent('QBCore:Server:OnPlayerLoaded')
|
||
|
AddEventHandler('QBCore:Server:OnPlayerLoaded', function()
|
||
|
local source = source
|
||
|
Wait(700)
|
||
|
local ID = Framework.Functions.GetPlayer(source)?.PlayerData?.citizenid
|
||
|
if not PlayerStress[ID] then PlayerStress[ID] = 0 end
|
||
|
TriggerClientEvent('PlayerLoaded', source, tonumber(PlayerStress[ID]))
|
||
|
end)
|
||
|
|
||
|
|
||
|
-- PlayerStress = {}
|
||
|
|
||
|
RegisterNetEvent('SetStress', function(amount)
|
||
|
local Player = (Customize.Framework == "ESX" or Customize.Framework == "NewESX") and Framework.GetPlayerFromId(source) or Framework.Functions.GetPlayer(source)
|
||
|
local JobName = (Customize.Framework == "ESX" or Customize.Framework == "NewESX") and Player.job.label or Player.PlayerData.job.label
|
||
|
local ID = (Customize.Framework == "ESX" or Customize.Framework == "NewESX") and Player.identifier or Player.PlayerData.citizenid
|
||
|
local newStress
|
||
|
if not Player or IsWhitelisted(Player, JobName) then return end -- OLD: if not Player or (Customize.DisablePoliceStress and JobName == 'police') then return end
|
||
|
if not PlayerStress[ID] then PlayerStress[ID] = 0 end
|
||
|
newStress = PlayerStress[ID] + amount
|
||
|
if newStress <= 0 then newStress = 0 end
|
||
|
if newStress > 100 then newStress = 100 end
|
||
|
PlayerStress[ID] = newStress
|
||
|
TriggerClientEvent('UpdateStress', source, PlayerStress[ID])
|
||
|
SaveResourceFile(GetCurrentResourceName(), "./Stress.json", json.encode(PlayerStress), -1)
|
||
|
end)
|
||
|
|
||
|
function IsWhitelisted(Player, JobName)
|
||
|
if Player then
|
||
|
for _, v in pairs(Customize.DisableJobsStress) do
|
||
|
if jobName == v then
|
||
|
return true
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
return false
|
||
|
end
|