Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.57 KB | None | 0 0
  1.  
  2. // This is a global variable that's local to the player (so player x will have a different value than player y)
  3. zoneDamage = 0; // How much damage has been taken
  4. DAMAGE_LIMIT = 60; // The limit for the damage
  5. SLEEP_TIME = 1; // How often the game checks. Better performance if larger.
  6.  
  7.  
  8.  
  9. // You can check the documentation for the function format but basically it's [script, sleep time, arguments to pass] call CBA_addPerFrameEventHandler
  10. [
  11. {
  12. params["_args", "_id"];
  13.  
  14. // Check if player is in the trigger area
  15. if (player inArea trigger_name) then {
  16. // Player is in zone
  17.  
  18. // Check if player is wearing mask
  19. if !(goggles player isEqualTo "G_AirPurifyingRespirator_01_nofilter_F") then {
  20. // Player is wearing mask so reduce the damage
  21. if (zoneDamage >= 0) then {
  22. zoneDamage = zoneDamage - SLEEP_TIME;
  23. } else {
  24. zoneDamage = 0;
  25. };
  26. } else {
  27. // Not wearing mask, so increase time by sleepTime
  28. zoneDamage = zoneDamage + SLEEP_TIME;
  29.  
  30. // If damage is >= limit, kill them
  31. if (zoneDamage >= DAMAGE_LIMIT) then {
  32. // player dies
  33. player setDamage 1;
  34. };
  35. };
  36. } else {
  37. // Player not in zone so reduce the damage (or set to zero or something)
  38. if (zoneDamage >= 0) then {
  39. zoneDamage = zoneDamage - SLEEP_TIME;
  40. } else {
  41. zoneDamage = 0;
  42. };
  43. };
  44. },
  45. SLEEP_TIME,
  46. []
  47. ] call CBA_fnc_addPerFrameHandler;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement