81 lines
		
	
	
		
			No EOL
		
	
	
		
			3.3 KiB
		
	
	
	
		
			Lua
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			No EOL
		
	
	
		
			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 |