Advertisement
Guest User

Untitled

a guest
May 10th, 2015
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.82 KB | None | 0 0
  1. #include "\z\addons\dayz_server\compile\server_toggle_debug.hpp"
  2.  
  3. waituntil {!isnil "bis_fnc_init"};
  4.  
  5. BIS_MPF_remoteExecutionServer = {
  6. if ((_this select 1) select 2 == "JIPrequest") then {
  7. [nil,(_this select 1) select 0,"loc",rJIPEXEC,[any,any,"per","execVM","ca\Modules\Functions\init.sqf"]] call RE;
  8. };
  9. };
  10.  
  11. BIS_Effects_Burn = {};
  12. server_playerLogin = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf";
  13. server_playerSetup = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSetup.sqf";
  14. server_onPlayerDisconnect = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf";
  15. server_updateObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateObject.sqf";
  16. server_playerDied = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDied.sqf";
  17. server_publishObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishObject.sqf"; //Creates the object in DB
  18. server_deleteObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_deleteObj.sqf"; //Removes the object from the DB
  19. server_playerSync = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSync.sqf";
  20. zombie_findOwner = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\zombie_findOwner.sqf";
  21. server_updateNearbyObjects = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateNearbyObjects.sqf";
  22. server_spawnCrashSite = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnCrashSite.sqf";
  23. server_sendToClient = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_sendToClient.sqf";
  24. server_Wildgenerate = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\zombie_Wildgenerate.sqf";
  25. server_plantSpawner = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_plantSpawner.sqf";
  26.  
  27. server_lootSpawner = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_lootSpawner.sqf";
  28. server_spawnLoot = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnLoot.sqf";
  29. server_buildingLoot = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_buildingLoot.sqf";
  30.  
  31. server_systemCleanup = compile preprocessFileLineNumbers "\z\addons\dayz_server\system\server_cleanup.sqf";
  32.  
  33. spawnComposition = compile preprocessFileLineNumbers "ca\modules\dyno\data\scripts\objectMapper.sqf"; //"\z\addons\dayz_code\compile\object_mapper.sqf";
  34. fn_bases = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fn_bases.sqf";
  35. spawn_carePackages = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_carePkgs.sqf";
  36.  
  37.  
  38. server_medicalSync = {
  39. _player = _this select 0;
  40. _array = _this select 1;
  41.  
  42. _player setVariable["USEC_isDead",(_array select 0)]; //0
  43. _player setVariable["NORRN_unconscious", (_array select 1)]; //1
  44. _player setVariable["USEC_infected",(_array select 2)]; //2
  45. _player setVariable["USEC_injured",(_array select 3)]; //3
  46. _player setVariable["USEC_inPain",(_array select 4)]; //4
  47. _player setVariable["USEC_isCardiac",(_array select 5)]; //5
  48. _player setVariable["USEC_lowBlood",(_array select 6)]; //6
  49. _player setVariable["USEC_BloodQty",(_array select 7)]; //7
  50. // _wounds; //8
  51. // [_legs,_arms]; //9
  52. _player setVariable["unconsciousTime",(_array select 10)]; //10
  53. _player setVariable["blood_type",(_array select 11)]; //11
  54. _player setVariable["rh_factor",(_array select 12)]; //12
  55. _player setVariable["messing",(_array select 13)]; //13
  56. _player setVariable["blood_testdone",(_array select 14)]; //14
  57. };
  58.  
  59. vehicle_handleServerKilled = {
  60. private["_unit","_killer"];
  61. _unit = _this select 0;
  62. _killer = _this select 1;
  63.  
  64. [_unit, "killed"] call server_updateObject;
  65.  
  66. _unit removeAllMPEventHandlers "MPKilled";
  67. _unit removeAllEventHandlers "Killed";
  68. _unit removeAllEventHandlers "HandleDamage";
  69. _unit removeAllEventHandlers "GetIn";
  70. _unit removeAllEventHandlers "GetOut";
  71. };
  72.  
  73. check_publishobject = {
  74. private ["_saveObject","_allowed","_allowedObjects","_object","_playername"];
  75.  
  76. _object = _this select 0;
  77. _playername = _this select 1;
  78. _allowed = false;
  79.  
  80. #ifdef OBJECT_DEBUG
  81. diag_log format ["DEBUG: Checking if Object: %1 is allowed, published by %2", _object, _playername];
  82. #endif
  83.  
  84. if ((typeOf _object) in DayZ_SafeObjects) then {
  85. _saveObject = "DayZ_SafeObjects";
  86. _allowed = true;
  87. };
  88.  
  89. //Buildings
  90. if (_object iskindof "DZ_buildables") then {
  91. _saveObject = "DZ_buildables";
  92. _allowed = true;
  93. };
  94.  
  95. #ifdef OBJECT_DEBUG
  96. diag_log format ["DEBUG: Object: %1 published by %2 is allowed by %3",_object, _playername, _saveObject];
  97. #endif
  98.  
  99. _allowed
  100. };
  101.  
  102. //event Handlers
  103. eh_localCleanup = {
  104.  
  105. private ["_object","_type","_unit"];
  106. _object = _this select 0;
  107. _object addEventHandler ["local", {
  108. if(_this select 1) then {
  109. _unit = _this select 0;
  110. _type = typeOf _unit;
  111. _myGroupUnit = group _unit;
  112. _unit removeAllMPEventHandlers "mpkilled";
  113. _unit removeAllMPEventHandlers "mphit";
  114. _unit removeAllMPEventHandlers "mprespawn";
  115. _unit removeAllEventHandlers "FiredNear";
  116. _unit removeAllEventHandlers "HandleDamage";
  117. _unit removeAllEventHandlers "Killed";
  118. _unit removeAllEventHandlers "Fired";
  119. _unit removeAllEventHandlers "GetOut";
  120. _unit removeAllEventHandlers "GetIn";
  121. _unit removeAllEventHandlers "Local";
  122. clearVehicleInit _unit;
  123. deleteVehicle _unit;
  124. deleteGroup _myGroupUnit;
  125. _unit = nil;
  126. diag_log ("CLEANUP: DELETED A " + str(_type) );
  127. };
  128. }];
  129. };
  130.  
  131. server_hiveWrite = {
  132. private["_data"];
  133. //diag_log ("ATTEMPT WRITE: " + _this);
  134. _data = "HiveExt" callExtension _this;
  135. //diag_log ("WRITE: " +str(_data));
  136. };
  137.  
  138. server_hiveReadWrite = {
  139. private["_key","_resultArray","_data"];
  140. _key = _this;
  141. //diag_log ("ATTEMPT READ/WRITE: " + _key);
  142. _data = "HiveExt" callExtension _key;
  143. //diag_log ("READ/WRITE: " +str(_data));
  144. _resultArray = call compile format ["%1",_data];
  145. _resultArray
  146. };
  147.  
  148. onPlayerDisconnected "[_uid,_name] call server_onPlayerDisconnect;";
  149.  
  150. server_getDiff = {
  151. private["_variable","_object","_vNew","_vOld","_result"];
  152. _variable = _this select 0;
  153. _object = _this select 1;
  154. _vNew = _object getVariable[_variable,0];
  155. _vOld = _object getVariable[(_variable + "_CHK"),_vNew];
  156. _result = 0;
  157. if (_vNew < _vOld) then {
  158. //JIP issues
  159. _vNew = _vNew + _vOld;
  160. _object getVariable[(_variable + "_CHK"),_vNew];
  161. } else {
  162. _result = _vNew - _vOld;
  163. _object setVariable[(_variable + "_CHK"),_vNew];
  164. };
  165. _result
  166. };
  167.  
  168. server_getDiff2 = {
  169. private["_variable","_object","_vNew","_vOld","_result"];
  170. _variable = _this select 0;
  171. _object = _this select 1;
  172. _vNew = _object getVariable[_variable,0];
  173. _vOld = _object getVariable[(_variable + "_CHK"),_vNew];
  174. _result = _vNew - _vOld;
  175. _object setVariable[(_variable + "_CHK"),_vNew];
  176. _result
  177. };
  178.  
  179. dayz_objectUID2 = {
  180. private["_p","_d","_key"];
  181. _d = _this select 0;
  182. _p = _this select 1;
  183. _key = format [ "%1%2%3%4",
  184. abs round(10 * (_p select 0)),
  185. abs round(10 * (_p select 1)),
  186. abs round(100 * (_p select 2)),
  187. abs round((_d * diag_tickTime) % 1000)
  188. ];
  189. _key
  190. };
  191.  
  192. dayz_recordLogin = {
  193. private["_key"];
  194. _key = format["CHILD:103:%1:%2:%3:",_this select 0,_this select 1,_this select 2];
  195. _key call server_hiveWrite;
  196. };
  197.  
  198. dayz_reseed = {
  199. private ["_Loc","_i","_radius","_Ref"];
  200. _Loc = _this select 0;
  201. _Ref = _this select 1;
  202.  
  203. diag_log(str(_Loc));
  204.  
  205. //_lootspawner =[[10416.695, 4198.4634],[7982.2563, 1419.8256],[10795.93, 1419.8263],[7966.083, 4088.7463],[9259.7266, 2746.1985],[5200.5234, 3915.3274],[6494.1665, 2572.7798],[5216.6968, 1246.407],[2564.7244, 3915.3296],[3858.3674, 2572.782],[2580.8977, 1246.4092],[13398.995, 4400.5874],[12242.025, 2948.3196],[13551.842, 1832.2257],[14870.512, 3009.5117],[-178.19415, 1062.4478],[1099.2754, 2388.8206],[-194.36755, 3731.3679],[10394.215, 8322.1719],[7959.7759, 5543.5342],[10773.449, 5543.5342],[7943.6025, 8212.4551],[9237.2461, 6869.9063],[5178.043, 8039.0361],[6471.686, 6696.4883],[5194.2163, 5370.1152],[2542.2439, 8039.0381],[3835.887, 6696.4902],[2558.4172, 5370.1172],[13376.514, 8524.2969],[12219.544, 7072.0273],[13529.361, 5955.9336],[14848.032, 7133.2197],[-200.67474, 5186.1563],[1076.7949, 6512.5283],[-216.84814, 7855.0771],[10293.751, 12197.736],[7859.312, 9419.0996],[10672.988, 9419.0996],[7843.1387, 12088.021],[9136.7822, 10745.474],[5077.5791, 11914.601],[6371.2222, 10572.052],[5093.7524, 9245.6816],[2441.78, 11914.604],[3735.4231, 10572.055],[2457.9534, 9245.6816],[13276.053, 12399.861],[12119.08, 10947.596],[13428.897, 9831.501],[14747.566, 11008.786],[-301.13867, 9061.7207],[976.33112, 10388.096],[-317.31201, 11730.642],[10271.271, 16321.429],[7836.8315, 13542.813],[10650.506, 13542.813],[7820.6582, 16211.718],[9114.3018, 14869.175],[5055.0986, 16038.3],[6348.7417, 14695.758],[5071.272, 13369.392],[2419.2996, 16038.305],[3712.9426, 14695.76],[2435.4729, 13369.392],[13253.568, 16523.553],[12096.6, 15071.295],[13406.416, 13955.209],[14725.089, 15132.486],[-323.61914, 13185.43],[953.85059, 14511.8],[-339.79248, 15854.346]];
  206. //{
  207. _radius = 1500;
  208. dayz_lootspawner = [_Loc,_radius,_Ref] spawn server_lootSpawner;
  209. waitUntil {scriptDone dayz_lootspawner};
  210. //} foreach dayz_grid;
  211. };
  212.  
  213. call compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fa_hiveMaintenance.sqf";
  214.  
  215. if (isServer) then {
  216. [] spawn {
  217. waitUntil {!(isNil "sm_done")};
  218. _lastFPS = diag_tickTime;
  219. while {true} do {
  220. if ((diag_tickTime - _lastFPS) > 600) then {
  221. _lastFPS = diag_tickTime;
  222. _logFPS = format ["DEBUG FPS : %1 OBJECTS: %2 : PLAYERS: %3", diag_fps,(count (allMissionObjects "")),(playersNumber west)];
  223. diag_log (_logFPS);
  224. };
  225. };
  226. };
  227. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement