jumpHandler.sqf 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. personToApply=_this select 0;
  2. personToApply addEventHandler ["HandleDamage",
  3. {
  4. _namUnit=_this select 0;
  5. _namJumpData=_namUnit getVariable["jumpArray",[false,0,0,5,2]];
  6. _namIsJumping=(_namJumpData)select 0;
  7. _namResult=0;
  8. _namIsToggling=_namUnit getVariable["isTogglingJumpEH",true];
  9. if(_namIsJumping && {isTouchingGround _namUnit} ) then
  10. {
  11. _namResult=0;
  12. _null = _this spawn
  13. {
  14. _namUnitSpawn=_this select 0;
  15. _namJumpDataSpawn=_namUnitSpawn getVariable["jumpArray",[false,0,0,5,2]];
  16. sleep 0.25;
  17. if(_namJumpDataSpawn select 0) then//added measures to ensure u dont die/knock out
  18. {
  19. _namUnitSpawn setVariable ["jumpArray", [true,(_namJumpDataSpawn select 1),(_namJumpDataSpawn select 2),(_namJumpDataSpawn select 3),(_namJumpDataSpawn select 4)],true];
  20. }
  21. else
  22. {
  23. _namUnitSpawn setVariable ["jumpArray", [false,(_namJumpDataSpawn select 1),(_namJumpDataSpawn select 2),(_namJumpDataSpawn select 3),(_namJumpDataSpawn select 4)],true];
  24. };
  25. };
  26. _namResult=0;
  27. }
  28. else
  29. {
  30. if(!(isTouchingGround _namUnit)) then//if ur not touching ground then ur still flying
  31. {
  32. _namUnitSpawn setVariable ["jumpArray", [true,(_namJumpDataSpawn select 1),(_namJumpDataSpawn select 2),(_namJumpDataSpawn select 3),(_namJumpDataSpawn select 4)],true];
  33. _namResult=0;
  34. }
  35. else
  36. {
  37. _namResult=_this call ACE_medical_fnc_handleDamage;
  38. };
  39. };
  40. _namResult
  41. }];