Advertisement
MGT

SZ

MGT
Jun 23rd, 2017
126
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.18 KB | None | 0 0
  1. [] spawn {
  2. if (isNil "inSafezone") then {inSafezone = false;};
  3. if (inSafeZone) then {[] spawn fnc_usec_recoverUncons;};
  4. player_fired_originalFunction = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_fired.sqf";
  5. _fired_custom = {
  6. _ct = cursorTarget;
  7. _targetInSafeZone = false;
  8. if(!isNull _ct)then
  9. {
  10. if((alive _ct)&&(_ct isKindOf "allVehicles"))then
  11. {
  12. _targetInSafeZone = call {
  13. if((_ct distance GerneralPartsSupplies_safezone) < 50)exitWith{true};
  14. if((_ct distance WholesalerNorth_safezone) < 50)exitWith{true};
  15. if((_ct distance Doctor_safezone) < 50)exitWith{true};
  16. if((_ct distance HighEndWeaponsAmmo_safezone) < 50)exitWith{true};
  17. if((_ct distance HeroVendor_safezone) < 50)exitWith{true};
  18. if((_ct distance VehicleFriendly_safezone) < 50)exitWith{true};
  19. if((_ct distance NeutralVendors_safezone) < 50)exitWith{true};
  20. if((_ct distance WholesalerSouth_safezone) < 50)exitWith{true};
  21. if((_ct distance LowEndWeaponsAmmo_safezone) < 50)exitWith{true};
  22. if((_ct distance BoatVendor_safezone) < 50)exitWith{true};
  23. if((_ct distance BanditTrader_safezone) < 50)exitWith{true};
  24. if((_ct distance PlaneVendor_safezone) < 50)exitWith{true};
  25. false
  26. };
  27. };
  28. };
  29. if(_targetInSafeZone)then
  30. {
  31. deleteVehicle (nearestObject [_this select 0,_this select 4]);
  32.  
  33. fnc_usec_unconscious = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_unconscious.sqf";
  34. _unit = player;
  35. if(_unit == player) then
  36. {
  37. [nil,player,rSAY,['babycry_1', 100]] call RE;
  38. player setHit["Legs",1];
  39. player setHit["Body",0.5];
  40. r_player_timeout = 30;
  41. r_player_unconscious = true;
  42. player setVariable["medForceUpdate",true,true];
  43. player setVariable["unconsciousTime", r_player_timeout, true];
  44. _hint = parseText format["<t align='center' color='#FF0033' shadow='2' size='3'>!Alert!</t><br/><t align='center' color='#ffffff' size='1.5'>%1</t><br/><t align='center' color='#FF0033' size='1.75'>Shot into trader area</t>",player];
  45. customRemoteMessage = ['hint', _hint];
  46. publicVariable "customRemoteMessage";
  47. };
  48. if(vehicle _unit != _unit) then
  49. {
  50. _unit spawn {
  51. private["_veh","_unit"];
  52. _veh = vehicle _this;
  53. _unit = _this;
  54. waitUntil{(((getPos _veh select 2 < 1) && (speed _veh < 1)) || (!r_player_unconscious))};
  55. if(r_player_unconscious) then {
  56. _unit action ["eject", _veh];
  57. waitUntil{((vehicle _this) != _this)};
  58. uiSleep 1;
  59. _unit setVariable["NORRN_unconscious", true, true];
  60. _unit playActionNow "Die";
  61. };
  62. };
  63. }
  64. else
  65. {
  66. _unit setVariable["NORRN_unconscious", true, true];
  67. _unit playActionNow "Die";
  68. };
  69. }
  70. else
  71. {
  72. _this call player_fired_originalFunction;
  73. };
  74. };
  75. player_fired = _fired_custom;
  76. _vehiclesAddedEventhandlerFired = [];
  77. while {true} do {
  78. waitUntil { inSafeZone };
  79. waitUntil { player == vehicle player };
  80.  
  81. player_zombieCheck = {};
  82. fnc_usec_damageHandler = {};
  83. fnc_usec_unconscious = {};
  84. fnc_veh_handleDam ={};
  85. fnc_veh_handleKilled ={};
  86.  
  87. player removeAllEventHandlers "handleDamage";
  88. player addEventHandler ["handleDamage", {false}];
  89. player allowDamage false;
  90.  
  91. player_fired = {
  92. titleText ["weapons disabled","PLAIN DOWN"]; titleFadeOut 4;
  93. deleteVehicle (nearestObject [_this select 0,_this select 4]);
  94. };
  95. player removeAllEventHandlers "Fired";
  96. mydamage_eh2 = player addEventHandler ["Fired", {_this call player_fired;}];
  97.  
  98. _veh = vehicle player;
  99. if (_veh != player) then {
  100. _vehiclesAddedEventhandlerFired = _vehiclesAddedEventhandlerFired + [_veh];
  101. _veh addEventHandler ["Fired", {_this call player_fired;}];
  102.  
  103. _veh removeAllEventHandlers "HandleDamage";
  104. _veh removeAllEventHandlers "Killed";
  105. _veh addeventhandler ["HandleDamage",{ false } ];
  106. _veh addeventhandler ["Killed",{ false } ];
  107. };
  108.  
  109. waitUntil {!inSafeZone};
  110.  
  111. {
  112. _x removeAllEventHandlers "Fired";
  113. _x removeAllEventHandlers "HandleDamage";
  114. _x removeAllEventHandlers "Killed";
  115. _x addeventhandler ["HandleDamage",{ _this call vehicle_handleDamage } ];
  116. _x addeventhandler ["Killed",{ _this call vehicle_handleKilled } ];
  117. } forEach _vehiclesAddedEventhandlerFired;
  118. _vehiclesAddedEventhandlerFired = [];
  119.  
  120. player_fired = _fired_custom;
  121. player removeAllEventHandlers "Fired";
  122. mydamage_eh2 = player addEventHandler ["Fired", {_this call player_fired;}];
  123.  
  124. player_zombieCheck = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\player_zombieCheck.sqf";
  125. fnc_usec_damageHandler = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandler.sqf";
  126. fnc_usec_unconscious = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_unconscious.sqf";
  127. fnc_veh_handleDam = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleDam.sqf";
  128. fnc_veh_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleKilled.sqf";
  129.  
  130. player allowDamage true;
  131. player removeAllEventHandlers "HandleDamage";
  132. player addeventhandler ["HandleDamage",{_this call fnc_usec_damageHandler;} ];
  133. };
  134. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement