jumpHandler.sqf 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. _namUnit setVariable ["jumpArray", [false,(_namJumpData select 1),(_namJumpData select 2),(_namJumpData select 3),(_namJumpData select 4)],true];
  39. };
  40. };
  41. _namResult
  42. }];