Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // This is a global variable that's local to the player (so player x will have a different value than player y)
- zoneDamage = 0; // How much damage has been taken
- DAMAGE_LIMIT = 60; // The limit for the damage
- SLEEP_TIME = 1; // How often the game checks. Better performance if larger.
- // You can check the documentation for the function format but basically it's [script, sleep time, arguments to pass] call CBA_addPerFrameEventHandler
- [
- {
- params["_args", "_id"];
- // Check if player is in the trigger area
- if (player inArea trigger_name) then {
- // Player is in zone
- // Check if player is wearing mask
- if !(goggles player isEqualTo "G_AirPurifyingRespirator_01_nofilter_F") then {
- // Player is wearing mask so reduce the damage
- if (zoneDamage >= 0) then {
- zoneDamage = zoneDamage - SLEEP_TIME;
- } else {
- zoneDamage = 0;
- };
- } else {
- // Not wearing mask, so increase time by sleepTime
- zoneDamage = zoneDamage + SLEEP_TIME;
- // If damage is >= limit, kill them
- if (zoneDamage >= DAMAGE_LIMIT) then {
- // player dies
- player setDamage 1;
- };
- };
- } else {
- // Player not in zone so reduce the damage (or set to zero or something)
- if (zoneDamage >= 0) then {
- zoneDamage = zoneDamage - SLEEP_TIME;
- } else {
- zoneDamage = 0;
- };
- };
- },
- SLEEP_TIME,
- []
- ] call CBA_fnc_addPerFrameHandler;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement