Dynamic Stress System for RP
Add a whole new layer of immersion to your RP server with a fully customizable stress system! Playersβ actions trigger real psychological effects that influence their movement, aim, and overall gameplay, making stress management a vital part of roleplay.
Stress Levels and Effects
Stress accumulates dynamically and is divided into 6 distinct stages, each with escalating impact:
No Stress β Calm and steady, no penalties
Low Stress β Minor distractions and slight hand tremors
Medium Stress β Noticeable visual effects and impaired focus
High Stress β Strong tremors and reduced aiming accuracy
Very High Stress β Severe control issues, intense screen effects
Extreme Stress β Critical state, maximum difficulty in controlling actions
Each stage is fully configurable, with adjustable timers and effect intensity to fit your serverβs needs.
Sources of Stress
Stress increases due to various in-game events:
Shooting β Every shot fired adds stress
Car Crashes β Collisions cause a spike in stress
Fights β Engaging or receiving hits adds to stress
Fast Driving β Speeding elevates stress over time
Witnessing Death β Seeing NPCs or players killed adds stress
Stress Relief and RP Items
This system does not include built-in stress-reducing items.
You can easily create your own immersive RP items (cigarettes, pills, tea, etc.) using exports that reduce stress.
Stress Immunity & Temporary Buffs
Exports allow granting:
- Immunity to stress from specific activities
- Temporary reduction of incoming stress by percentage
Exports Documentation
AddStress(Value) β Adds stress
GetStress() β Returns stress
SetStress(Value) β Sets stress
SetStressProof(Name, Value) β Immunity toggle
SetTemporaryProof(Percent, Time) β Temporary stress reduction
Fully Configurable & Multi-language Support
- Select your notification system
- Configure stress drop intervals and cooldowns
- Full language support
CONFIG
Config = {}
Config.Debug = {
command = false,
info = false,
}
Config.Notification = 'OxLib' -- Notification type: 'OxLib', 'ESX', 'QBCore', 'nrg_hud' or 'Custom (see client/notify.lua)'
Config.SavaToSQL = false -- Save to SQL (true/false) -- TODO: if you use multicharacter, go to server/PlayerLicense.lua and change the GetPlayerLicense function
Config.HUD = true -- Show HUD (true/false)
Config.DynamicHud = true -- Show dynamic hud (true/false) if false hud is visible all the time
Config.NrgAlcoEffect = false -- If you use as nrg_alcoeffect, set to true for refresh the Alcohol effect
Config.Language = 'en' -- Language
-- Available languages:
-- 'pl' - Polish
-- 'en' - English
-- 'fr' - French
-- 'it' - Italian
-- 'pt' - Portuguese
-- 'sv' - Swedish
-- 'es' - Spanish
-- 'de' - German
-- 'tr' - Turkish
Config.MaxStress = 100 -- Max stress
Config.StressDrop = {
interval = 20, -- Stress drop interval in seconds
drop = 1, -- Stress drop in one interval
}
Config.StressLevel = {
['Low'] = {
stress = 10, -- Start 'low' stress
ShakeIntensity = 0.2, -- Shake intensity
redmistStrength = 0, -- Redmist strength
audio = {
Play = true, -- Play audio
Number = {1}, -- Number of audio to play from 1 to 3
},
interval = 30, -- Interval in seconds
HoldEffect = 300 -- Hold effect in milliseconds
},
['Medium'] = {
stress = 30, -- Start 'medium' stress
ShakeIntensity = 0.3, -- Shake intensity
redmistStrength = 0, -- Redmist strength
audio = {
Play = true, -- Play audio
Number = {1, 2}, -- Number of audio to play from 1 to 3
},
interval = 20, -- Interval in seconds
HoldEffect = 600 -- Hold effect in milliseconds
},
['High'] = {
stress = 50, -- Start 'high' stress
ShakeIntensity = 0.5, -- Shake intensity
redmistStrength = 0.5, -- Redmist strength
audio = {
Play = true, -- Play audio
Number = {1, 2}, -- Number of audio to play from 1 to 3
},
interval = 15, -- Interval in seconds
HoldEffect = 800 -- Hold effect in milliseconds
},
['Very High'] = {
stress = 70, -- Start 'very high' stress
ShakeIntensity = 0.7, -- Shake intensity
redmistStrength = 0.7, -- Redmist strength
audio = {
Play = true, -- Play audio
Number = {2, 3}, -- Number of audio to play from 1 to 3
},
interval = 10, -- Interval in seconds
HoldEffect = 1000 -- Hold effect in milliseconds
},
['Extreme'] = {
stress = 90, -- Start 'extreme' stress
ShakeIntensity = 1.0, -- Shake intensity
redmistStrength = 0.7, -- Redmist strength
audio = {
Play = true, -- Play audio
Number = {2, 3}, -- Number of audio to play from 1 to 3
},
interval = 8, -- Interval in seconds
HoldEffect = 1200 -- Hold effect in milliseconds
},
}
Config.Shooting = {
AddStressPerShooting = true, -- add stress per shooting
ShowNotify = true, -- show notify when shooting
CoolDown = 3000, -- shooting timeout before adding stress again in milliseconds
add = 1, -- add stress per shooting after CoolDown
}
Config.FastDriving = {
AddStress = true, -- add stress per speed
ShowNotify = true, -- show notify when driving fast
Speedmeter = 'km/h', -- 'km/h' or 'mph'
CoolDown = 10, -- CoolDown in seconds
Speed = {
['100'] = 1.5, -- Speed in km/h or mph you can add more speeds
['160'] = 2,
['200'] = 2.5,
['300'] = 3, -- Speed in km/h or mph you can add more speeds
}
}
Config.Fight = {
AddStress = true, -- add stress per fight
ShowNotify = true, -- show notify when fighting
Hit = 1, -- add stress per hit
TakeHit = 2, -- add stress per take hit
}
Config.CarCrash = {
AddStress = true, -- add stress per car crash
ShowNotify = true, -- show notify when car crash
CoolDown = 1000, -- CoolDown in milliseconds
add = 2, -- add stress per car crash after CoolDown
}
Config.SeenPedKilled = {
AddStress = true, -- add stress per seen ped/player killed
ShowNotify = true, -- show notify when seen ped/player killed
add = 1, -- add stress per seen ped/player killed
}
Config.Running = {
RemoveStress = true, -- remove stress for running
ShowNotify = true, -- show notify when running
CoolDown = 10, -- CoolDown in seconds
remove = 7, -- remove stress per coolDown
}
Config.NoAddingStress = {
Coords = {
-- {x = -1303.2339, y = -922.2253, z = 11.2965, radius = 50.0},
},
AllBucket = true, -- if on false, Stress will be added only in general bucket
}
-- Client exports
-- exports["nrg_stress"]:AddStress(Value) -- Add stress to player [number]
-- exports["nrg_stress"]:GetStress() -- Get stress from player [number]
-- exports["nrg_stress"]:SetStress(Value) -- Set stress to player [number]
-- exports["nrg_stress"]:SetStressProof(Name, Value) -- Set stress proof to player [string, number] Name = (Shooting, CarCrash, Fight, FastDriving, SeenPedKilled) Value = (1 = true, 0 = false)
-- exports["nrg_stress"]:SetTemporaryProof(Procent, Time) -- Set temporary proof to player [number, number]
-- exports["nrg_stress"]:GetStressProof() -- Get stress proof from player [table]
-- Server exports
-- exports["nrg_stress"]:AddStress(Source, Value) -- Add stress to player [number, number]
-- exports["nrg_stress"]:SetStress(Source, Value) -- Set stress to player [number, number]
-- exports["nrg_stress"]:SetStressProof(Source, Name, Value) -- Set stress proof to player [number, string, number]
-- exports["nrg_stress"]:SetTemporaryProof(Source, Procent, Time) -- Set temporary proof to player [number, number, number]
Preview
Download
Final Information
| Code is accessible | Escrow β editable: config, notify, etc. |
| Subscription-based | No |
| Lines (approximately) | 1800+ |
| Requirements | Standalone |
| Support | Yes β regular updates |
NRG Releases on CFX
![]() Advanced SIM Card System For LB_phone |
![]() NRG Alco Effect System Realistic Drunk Effect |
![]() NRG HUD Customizable & Modern |
![]() NRG Pro Meter Vehicle Performance Test |




