/*%FSM*/ /*%FSM*/ /* item0[] = {"Start",0,250,-104.760094,-181.497162,-14.760086,-131.497162,0.000000,"Start"}; item1[] = {"inited",4,218,-103.953484,-78.981430,-13.953476,-28.981430,0.000000,"inited"}; item2[] = {"Server_Functions",2,250,-107.015732,-12.949921,-17.015717,37.050079,0.000000,"Server Functions"}; link0[] = {0,1}; link1[] = {1,2}; globals[] = {0.000000,0,0,0,0,640,480,1,6,6316128,1,-265.558594,265.554321,134.962708,-365.217285,1229,1244,1}; window[] = {2,-1,-1,-1,-1,1128,-22,2558,126,3,1247}; *//*%FSM*/ class FSM { fsmName = "DayZ Server Init"; class States { /*%FSM*/ class Start { name = "Start"; itemno = 0; init = /*%FSM*/"#include ""\z\addons\dayz_server\compile\server_toggle_debug.hpp""" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { /*%FSM*/ class inited { itemno = 1; priority = 0.000000; to="Server_Functions"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"isServer && !isNil ""bis_fnc_init"""/*%FSM*/; action=/*%FSM*/""/*%FSM*/; }; /*%FSM*/ }; }; /*%FSM*/ /*%FSM*/ class Server_Functions { name = "Server_Functions"; itemno = 2; init = /*%FSM*/"BIS_MPF_remoteExecutionServer = {" \n " if ((_this select 1) select 2 == ""JIPrequest"") then {" \n " [nil,(_this select 1) select 0,""loc"",rJIPEXEC,[any,any,""per"",""execVM"",""ca\Modules\Functions\init.sqf""]] call RE;" \n " };" \n "};" \n "" \n "call compile preprocessFileLineNumbers ""\z\addons\dayz_code\util\compile.sqf"";" \n "call compile preprocessFileLineNumbers ""\z\addons\dayz_code\loot\compile.sqf"";" \n "" \n "BIS_Effects_Burn = {};" \n "dayz_disconnectPlayers = [];" \n "server_playerLogin = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_playerLogin.sqf"";" \n "server_playerSetup = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_playerSetup.sqf"";" \n "server_onPlayerDisconnect = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf"";" \n "server_updateObject = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_updateObject.sqf"";" \n "server_playerDied = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_playerDied.sqf"";" \n "server_publishObj = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_publishObject.sqf""; //Creates the object in DB" \n "server_publishFullObject = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_publishFullObject.sqf"";" \n "server_deleteObj = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_deleteObj.sqf""; //Removes the object from the DB" \n "server_playerSync = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_playerSync.sqf"";" \n "zombie_findOwner = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\zombie_findOwner.sqf"";" \n "server_Wildgenerate = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\zombie_Wildgenerate.sqf"";" \n "server_plantSpawner = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_plantSpawner.sqf"";" \n "base_fireMonitor = compile preprocessFileLineNumbers ""\z\addons\dayz_code\system\fire_monitor.sqf"";" \n "server_systemCleanup = compile preprocessFileLineNumbers ""\z\addons\dayz_server\system\server_cleanup.sqf"";" \n "spawnComposition = compile preprocessFileLineNumbers ""ca\modules\dyno\data\scripts\objectMapper.sqf""; //""\z\addons\dayz_code\compile\object_mapper.sqf"";" \n "server_sendToClient = compile preprocessFileLineNumbers ""\z\addons\dayz_server\eventHandlers\server_sendToClient.sqf"";" \n "" \n "// EPOCH ADDITIONS" \n "server_swapObject = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_swapObject.sqf""; //Used to downgrade and upgrade Epoch buildables" \n "server_publishVeh = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_publishVehicle.sqf""; //Used to spawn random vehicles by server" \n "server_publishVeh2 = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_publishVehicle2.sqf""; //Used to purchase vehicles at traders" \n "server_publishVeh3 = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_publishVehicle3.sqf""; //Used for car upgrades" \n "server_tradeObj = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_tradeObject.sqf"";" \n "server_traders = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_traders.sqf"";" \n "server_spawnEvents = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_spawnEvent.sqf"";" \n "server_deaths = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_playerDeaths.sqf"";" \n "server_maintainArea = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_maintainArea.sqf"";" \n "server_checkIfTowed = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_checkIfTowed.sqf"";" \n "server_logUnlockLockEvent = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\server_logUnlockLockEvent.sqf"";" \n "spawn_ammosupply = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\spawn_ammosupply.sqf"";" \n "spawn_mineveins = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\spawn_mineveins.sqf"";" \n "spawn_roadblocks = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\spawn_roadblocks.sqf"";" \n "spawn_vehicles = compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\spawn_vehicles.sqf"";" \n "" \n "server_medicalSync = {" \n " _player = _this select 0;" \n " _array = _this select 1;" \n " " \n " _player setVariable [""USEC_isDead"",(_array select 0)]; //0" \n " _player setVariable [""NORRN_unconscious"",(_array select 1)]; //1" \n " _player setVariable [""USEC_infected"",(_array select 2)]; //2" \n " _player setVariable [""USEC_injured"",(_array select 3)]; //3" \n " _player setVariable [""USEC_inPain"",(_array select 4)]; //4" \n " _player setVariable [""USEC_isCardiac"",(_array select 5)]; //5" \n " _player setVariable [""USEC_lowBlood"",(_array select 6)]; //6" \n " _player setVariable [""USEC_BloodQty"",(_array select 7)]; //7" \n " // _wounds; //8" \n " // [_legs,_arms]; //9" \n " _player setVariable [""unconsciousTime"",(_array select 10)]; //10" \n " _player setVariable [""blood_type"",(_array select 11)]; //11" \n " _player setVariable [""rh_factor"",(_array select 12)]; //12" \n " _player setVariable [""messing"",(_array select 13)]; //13" \n " _player setVariable [""blood_testdone"",(_array select 14)]; //14" \n "};" \n "" \n "dayz_Achievements = {" \n " _achievementID = (_this select 0) select 0;" \n " _player = (_this select 0) select 1;" \n " _playerOwnerID = owner _player;" \n " " \n " _achievements = _player getVariable ""Achievements"";" \n " _achievements set [_achievementID,1];" \n " _player setVariable [""Achievements"",_achievements];" \n "};" \n "" \n "vehicle_handleServerKilled = {" \n " private [""_unit"",""_killer""];" \n " _unit = _this select 0;" \n " _killer = _this select 1;" \n " " \n " [_unit, ""killed""] call server_updateObject; " \n " _unit removeAllMPEventHandlers ""MPKilled"";" \n " _unit removeAllEventHandlers ""Killed"";" \n " _unit removeAllEventHandlers ""HandleDamage"";" \n " _unit removeAllEventHandlers ""GetIn"";" \n " _unit removeAllEventHandlers ""GetOut"";" \n "};" \n "" \n "check_publishobject = {" \n " private [""_saveObject"",""_allowed"",""_allowedObjects"",""_object"",""_playername""];" \n "" \n " _object = _this select 0;" \n " _playername = _this select 1;" \n " _allowed = false;" \n "" \n " #ifdef OBJECT_DEBUG" \n " diag_log format[""DEBUG: Checking if Object: %1 is allowed, published by %2"",_object,_playername];" \n " #endif" \n "" \n " if ((typeOf _object) in DayZ_SafeObjects) then {" \n " _saveObject = ""DayZ_SafeObjects"";" \n " _allowed = true;" \n " };" \n " " \n " //Buildings" \n " if (_object isKindOf ""DZ_buildables"") then {" \n " _saveObject = ""DZ_buildables"";" \n " _allowed = true;" \n " };" \n " " \n " #ifdef OBJECT_DEBUG" \n " diag_log format[""DEBUG: Object: %1 published by %2 is allowed by %3"",_object,_playername,_saveObject];" \n " #endif" \n "" \n " _allowed" \n "};" \n "" \n "server_hiveWrite = {" \n " private ""_data"";" \n " //diag_log (""ATTEMPT WRITE: "" + _this);" \n " _data = ""HiveExt"" callExtension _this;" \n " //diag_log (""WRITE: "" +str(_data));" \n "};" \n "" \n "server_hiveReadWrite = {" \n " private [""_key"",""_resultArray"",""_data""];" \n " _key = _this;" \n " //diag_log (""ATTEMPT READ/WRITE: "" + _key);" \n " _data = ""HiveExt"" callExtension _key;" \n " //diag_log (""READ/WRITE: "" +str(_data));" \n " _resultArray = call compile format [""%1"",_data];" \n " _resultArray" \n "};" \n "" \n "onPlayerDisconnected ""[_uid,_name] call server_onPlayerDisconnect;"";" \n "" \n "server_getDiff = {" \n " private [""_variable"",""_object"",""_vNew"",""_vOld"",""_result""];" \n " _variable = _this select 0;" \n " _object = _this select 1;" \n " _vNew = _object getVariable [_variable,0];" \n " _vOld = _object getVariable [(_variable + ""_CHK""),_vNew];" \n " _result = 0;" \n " if (_vNew < _vOld) then {" \n " //JIP issues" \n " _vNew = _vNew + _vOld;" \n " _object getVariable [(_variable + ""_CHK""),_vNew];" \n " } else {" \n " _result = _vNew - _vOld;" \n " _object setVariable [(_variable + ""_CHK""),_vNew];" \n " };" \n " _result" \n "};" \n "" \n "server_getDiff2 = {" \n " private [""_variable"",""_object"",""_vNew"",""_vOld"",""_result""];" \n " _variable = _this select 0;" \n " _object = _this select 1;" \n " _vNew = _object getVariable [_variable,0];" \n " _vOld = _object getVariable [(_variable + ""_CHK""),_vNew];" \n " _result = _vNew - _vOld;" \n " _object setVariable [(_variable + ""_CHK""),_vNew];" \n " _result" \n "};" \n "" \n "// 1.8.7 dayz_objectUID2 seems to generate keys that are too long for Epoch hive. Keep old method for now." \n "dayz_objectUID2 = {" \n " private[""_position"",""_dir"",""_key"",""_element"",""_vector"",""_set"",""_vecCnt"",""_usedVec""];" \n " _dir = _this select 0;" \n " _key = """";" \n " _position = _this select 1;" \n " if((count _this) == 2) then{" \n " {" \n " _x = _x * 10;" \n " if (_x < 0) then { _x = _x * -10 };" \n " _key = _key + str(round(_x));" \n " } count _position;" \n " _key = _key + str(round(_dir));" \n " } else {" \n " _vector = [];" \n " _usedVec = false;" \n " {" \n " _element = _x;" \n " if(typeName _element == ""ARRAY"") then{" \n " _vector = _element;" \n " if((count _vector) == 2)then{" \n " if(((count (_vector select 0)) == 3) && ((count (_vector select 1)) == 3))then{" \n " {" \n " _x = _x * 10;" \n " if ( _x < 0 ) then { _x = _x * -10 };" \n " _key = _key + str(round(_x));" \n " } count _position;" \n "" \n " _vecCnt = 0;" \n " {" \n " _set = _x;" \n " {" \n " _vecCnt = _vecCnt + (round (_x * 100));" \n "" \n " } foreach _set;" \n "" \n " } foreach _vector;" \n " if(_vecCnt < 0)then{" \n " _vecCnt = ((_vecCnt * -1) * 3);" \n " };" \n " _key = _key + str(_vecCnt);" \n " _usedVec = true;" \n " };" \n " };" \n " };" \n " } count _this;" \n "" \n " if!(_usedVec) then{" \n " {" \n " _x = _x * 10;" \n " if ( _x < 0 ) then { _x = _x * -10 };" \n " _key = _key + str(round(_x));" \n " } count _position;" \n " _key = _key + str(round(_dir));" \n " };" \n " };" \n " _key" \n "};" \n "" \n "dayz_recordLogin = {" \n " private [""_key"",""_status"",""_name""];" \n " _key = format[""CHILD:103:%1:%2:%3:"",_this select 0,_this select 1,_this select 2];" \n " _key call server_hiveWrite;" \n " " \n " _status = switch (1==1) do {" \n " case ((_this select 2) == 0): { ""CLIENT LOADED & PLAYING"" };" \n " case ((_this select 2) == 1): { ""LOGGED IN"" };" \n " case ((_this select 2) == 2): { ""LOGGED OUT"" };" \n " };" \n " " \n " _name = if (typeName (_this select 3) == ""ARRAY"") then { toString (_this select 3) } else { _this select 3 };" \n " diag_log format[""INFO - Player: %1(UID:%3/CID:%4) Status: %2"",_name,_status,(_this select 0),(_this select 1)];" \n "};" \n "" \n "dayz_reseed = {" \n " private [""_loc"",""_i"",""_radius"",""_ref""];" \n " _loc = _this select 0;" \n " _ref = _this select 1;" \n " " \n " diag_log str(_loc);" \n " //_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]];" \n " //{" \n " _radius = 1500;" \n " dayz_lootspawner = [_loc,_radius,_ref] spawn server_lootSpawner;" \n " waitUntil {scriptDone dayz_lootspawner};" \n " //} forEach dayz_grid;" \n "};" \n "" \n "generate_new_damage = {" \n " private ""_damage"";" \n " _damage = ((random(DynamicVehicleDamageHigh-DynamicVehicleDamageLow))+DynamicVehicleDamageLow) / 100;" \n " _damage" \n "};" \n "" \n "server_hiveReadWriteLarge = {" \n " private[""_key"",""_resultArray"",""_data""];" \n " _key = _this;" \n " _data = ""HiveExt"" callExtension _key;" \n " _resultArray = call compile _data;" \n " _resultArray" \n "};" \n "" \n "call compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\fa_hiveMaintenance.sqf"";" \n "// Precise base building 1.0.5" \n "call compile preprocessFileLineNumbers ""\z\addons\dayz_server\compile\kk_functions.sqf"";" \n "#include ""adminmenu.sqf"""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { }; }; /*%FSM*/ }; initState="Start"; finalStates[] = { }; }; /*%FSM*/