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 | 
