Jump to content

[EMS] 0.2.6 Epoch Mission System


Fuchs

  

143 members have voted

  1. 1. Do you want the boxes integrated from EMS into the new system?

    • Yes ,highly recommended !
      129
    • No ,i don't care about !
      14


Recommended Posts

hellow i tried to put this on my server i used ems 0.2.6

i get stuck on the last loading screen i can hear the sound from ingame but stuck ont he loader

 

 

this is my init that is located in /mine ip/MPMissions/DayZ_Epoch_11.Chernarus

/*

For DayZ Epoch

Addons Credits: Jetski Yanahui by Kol9yN, Zakat, Gerasimow9, YuraPetrov, zGuba, A.Karagod, IceBreakr, Sahbazz

*/

startLoadingScreen ["","RscDisplayLoadCustom"];

cutText ["","BLACK OUT"];

enableSaving [false, false];

 

//REALLY IMPORTANT VALUES

dayZ_instance = 11;     //The instance

dayzHiveRequest = [];

initialized = false;

dayz_previousID = 0;

 

//disable greeting menu

player setVariable ["BIS_noCoreConversations", true];

//disable radio messages to be heard and shown in the left lower corner of the screen

enableRadio false;

// May prevent "how are you civillian?" messages from NPC

enableSentences false;

// DayZ Epoch config

spawnShoremode = 1; // Default = 1 (on shore)

spawnArea= 1500; // Default = 1500

MaxVehicleLimit = 300; // Default = 50

MaxDynamicDebris = 500; // Default = 100

dayz_MapArea = 14000; // Default = 10000

dayz_maxLocalZombies = 30; // Default = 30

 

dayz_paraSpawn = false;

 

dayz_minpos = -1;

dayz_maxpos = 16000;

dayz_sellDistance_vehicle = 10;

dayz_sellDistance_boat = 30;

dayz_sellDistance_air = 40;

dayz_maxAnimals = 5; // Default: 8

dayz_tameDogs = true;

DynamicVehicleDamageLow = 0; // Default: 0

DynamicVehicleDamageHigh = 100; // Default: 100

 

DZE_BuildOnRoads = false; // Default: False

 

EpochEvents = [["any","any","any","any",30,"crash_spawner"],["any","any","any","any",0,"crash_spawner"],["any","any","any","any",15,"supply_drop"]];

dayz_fullMoonNights = true;

//Load in compiled functions

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf";    //Initilize the Variables (IMPORTANT: Must happen very early)

progressLoadingScreen 0.1;

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf";    //Initilize the publicVariable event handlers

progressLoadingScreen 0.2;

call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; //Functions used by CLIENT for medical

progressLoadingScreen 0.4;

call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf";    //Compile regular functions

progressLoadingScreen 0.5;

call compile preprocessFileLineNumbers "server_traders.sqf";    //Compile trader configs

progressLoadingScreen 1.0;

"filmic" setToneMappingParams [0.153, 0.357, 0.231, 0.1573, 0.011, 3.750, 6, 4]; setToneMapping "Filmic";

if (isServer) then {

call compile preprocessFileLineNumbers "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\dynamic_vehicle.sqf";

//Compile vehicle configs

// Add trader citys

_nil = [] execVM "\z\addons\dayz_server\missions\DayZ_Epoch_11.Chernarus\mission.sqf";

_serverMonitor =  [] execVM "\z\addons\dayz_code\system\server_monitor.sqf";

};

 

if (!isDedicated) then {

//Conduct map operations

0 fadeSound 0;

waitUntil {!isNil "dayz_loadScreenMsg"};

dayz_loadScreenMsg = (localize "STR_AUTHENTICATING");

 

//Run the player monitor

_id = player addEventHandler ["Respawn", {_id = [] spawn player_death;}];

_playerMonitor =  [] execVM "\z\addons\dayz_code\system\player_monitor.sqf";

 

//anti Hack

 

//Lights

   //[21,04,false,true,false,50,200,300,[0.698, 0.556, 0.419],"Generator_DZ",0.1] execVM "\z\addons\dayz_code\compile\local_lights_init.sqf";

 

    // Mission System Markers

   If (!isnil ("Ccoords")) then {

    [] execVM "debug\addmarkers.sqf";

    };

If (!isnil ("MCoords")) then {

    [] execVM "debug\addmarkers75.sqf";

    };

 

//Start Dynamic Weather

execVM "\z\addons\dayz_code\external\DynamicWeatherEffects.sqf";

 

#include "\z\addons\dayz_code\system\BIS_Effects\init.sqf"

dayz_antihack = 0; // DayZ Antihack / 1 = enabled // 0 = disabled

dayz_REsec = 0; // DayZ RE Security / 1 = enabled // 0 = disabled

 

 

 

this is my server_cleanup.fsm

 

/*%FSM<COMPILE "D:\Programme\Bohemia Interactive\Tools\FSM Editor Personal Edition\scriptedFSM.cfg, DayZ Server Cleanup">*/
/*%FSM<HEAD>*/
/*
item0[] = {"init",0,250,-25.000000,-350.000000,75.000000,-300.000000,0.000000,"init"};
item1[] = {"prepare",2,250,375.000000,-350.000000,475.000000,-300.000000,0.000000,"prepare"};
item2[] = {"initialized",4,218,175.000000,-350.000000,275.000000,-300.000000,0.000000,"initialized"};
item3[] = {"true",8,218,375.000000,-275.000000,475.000000,-225.000000,0.000000,"true"};
item4[] = {"waiting",2,250,375.000000,-200.000000,475.000000,-150.000000,0.000000,"waiting"};
item5[] = {"true",8,218,375.000000,75.000000,475.000000,125.000000,0.000000,"true"};
item6[] = {"general_cleanup",2,250,375.000000,150.000000,475.000000,200.000000,0.000000,"general" \n "cleanup" \n "loop"};
item7[] = {"",7,210,21.000000,170.999985,29.000000,179.000000,0.000000,""};
item8[] = {"",7,210,21.000004,-254.000000,28.999998,-246.000000,0.000000,""};
item9[] = {"",7,210,821.000000,-179.000000,829.000000,-171.000000,0.000000,""};
item10[] = {"",7,210,821.000000,96.000000,829.000000,104.000000,0.000000,""};
item11[] = {"___second_loop",4,218,50.000000,-75.000000,150.000000,-25.000000,1.000000,"3 second" \n "loop"};
item12[] = {"__s_update__obje",4,218,175.000000,-100.000000,275.000000,-50.000000,2.000000,"5s" \n "update " \n "objects"};
item13[] = {"___min__loop",4,218,300.000000,-125.000000,400.000000,-75.000000,3.000000,"1 min" \n " loop"};
item14[] = {"___min_loop",4,218,450.000000,-125.000000,550.000000,-75.000000,4.000000,"5 min" \n "loop"};
item15[] = {"__0_min__loop",4,218,575.000000,-100.000000,675.000000,-50.000000,5.000000,"10 min" \n " loop"};
item16[] = {"__5_min__loop",4,218,700.000000,-75.000000,800.000000,-25.000000,6.000000,"15 min" \n " loop"};
item17[] = {"cleanup_animals",2,250,700.000000,25.000000,800.000000,75.000000,0.000000,"cleanup" \n "animals and fire"};
item18[] = {"cleanup_dead",2,250,575.000000,0.000000,675.000000,50.000000,0.000000,"cleanup" \n "dead"};
item19[] = {"sync_time",2,250,450.000000,-25.000000,550.000000,25.000000,0.000000,"sync time"};
item20[] = {"cleanup_loot",2,250,300.000000,-25.000000,400.000000,25.000000,0.000000,"cleanup" \n "loot"};
item21[] = {"group_cleanup",2,4346,50.000000,25.000000,150.000000,75.000000,0.000000,"group" \n "cleanup"};
item22[] = {"update_objects",2,250,175.000000,0.000000,275.000000,50.000000,0.000000,"update objects"};
link0[] = {0,2};
link1[] = {1,3};
link2[] = {2,1};
link3[] = {3,4};
link4[] = {4,9};
link5[] = {4,11};
link6[] = {4,12};
link7[] = {4,13};
link8[] = {4,14};
link9[] = {4,15};
link10[] = {4,16};
link11[] = {5,6};
link12[] = {6,7};
link13[] = {7,8};
link14[] = {8,3};
link15[] = {9,10};
link16[] = {10,5};
link17[] = {11,21};
link18[] = {12,22};
link19[] = {13,20};
link20[] = {14,19};
link21[] = {15,18};
link22[] = {16,17};
link23[] = {17,5};
link24[] = {18,5};
link25[] = {19,5};
link26[] = {20,5};
link27[] = {21,5};
link28[] = {22,5};
globals[] = {25.000000,1,0,0,0,640,480,1,136,6316128,1,-53.328339,954.791992,443.544983,-436.145996,1044,911,1};
window[] = {2,-1,-1,-1,-1,1089,222,1514,277,3,1062};
*//*%FSM</HEAD>*/
class FSM
{
  fsmName = "DayZ Server Cleanup";
  class States
  {
    /*%FSM<STATE "init">*/
    class init
    {
      name = "init";
      init = /*%FSM<STATEINIT""">*/"//Major Performance Speedup by Skaronator ;)"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "initialized">*/
        class initialized
        {
          priority = 0.000000;
          to="prepare";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"!isnil ""bis_fnc_init"""/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "prepare">*/
    class prepare
    {
      name = "prepare";
      init = /*%FSM<STATEINIT""">*/"diag_log (""CLEANUP: INITIALIZING CLEANUP SCRIPT"");" \n
       "" \n
       "_lastUpdate = diag_tickTime;" \n
       "_lastNeedUpdate = diag_tickTime;" \n
       "_lastCleanupVehicles = diag_tickTime;" \n
       "_lastCleanupGroups = diag_tickTime;" \n
       "_lastCleanupNull = diag_tickTime;" \n
       "" \n
       "_lastCleanup900 = diag_tickTime;" \n
       "" \n
       ""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="waiting";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "waiting">*/
    class waiting
    {
      name = "waiting";
      init = /*%FSM<STATEINIT""">*/"//diag_log ""CLEANUP: Waiting for next task"";" \n
       ""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "__5_min__loop">*/
        class __5_min__loop
        {
          priority = 6.000000;
          to="cleanup_animals";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanup900) > 900)"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/"_lastCleanup900 = diag_tickTime;"/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "__0_min__loop">*/
        class __0_min__loop
        {
          priority = 5.000000;
          to="cleanup_dead";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanupNull) > 600)"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/"_lastCleanupNull = diag_tickTime;"/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "___min_loop">*/
        class ___min_loop
        {
          priority = 4.000000;
          to="sync_time";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastUpdate) > 300)"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/"_lastUpdate = diag_tickTime;"/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "___min__loop">*/
        class ___min__loop
        {
          priority = 3.000000;
          to="cleanup_loot";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanupVehicles) > 60)"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/"_lastCleanupVehicles = diag_tickTime;"/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "__s_update__obje">*/
        class __s_update__obje
        {
          priority = 2.000000;
          to="update_objects";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"(( (count needUpdate_objects) > 0) && (diag_tickTime -_lastNeedUpdate> 5))"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/"_lastNeedUpdate = diag_tickTime;"/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "___second_loop">*/
        class ___second_loop
        {
          priority = 1.000000;
          to="group_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"((diag_tickTime - _lastCleanupGroups) > 3)"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/"_lastCleanupGroups = diag_tickTime;"/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "general_cleanup">*/
    class general_cleanup
    {
      name = "general_cleanup";
      init = /*%FSM<STATEINIT""">*/"//diag_log ""CLEANUP: Starting loop for next task"";" \n
       ""/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="waiting";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "cleanup_animals">*/
    class cleanup_animals
    {
      name = "cleanup_animals";
      init = /*%FSM<STATEINIT""">*/"[] spawn server_spawnCleanFire;" \n
       "[] spawn server_spawnCleanAnimals;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "cleanup_dead">*/
    class cleanup_dead
    {
      name = "cleanup_dead";
      init = /*%FSM<STATEINIT""">*/"[] spawn server_spawncleanDead;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "sync_time">*/
    class sync_time
    {
      name = "sync_time";
      init = /*%FSM<STATEINIT""">*/"if (DZE_DiagFpsSlow) then {" \n
       " call dze_diag_fps;" \n
       "};" \n
       "call server_timeSync;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "cleanup_loot">*/
    class cleanup_loot
    {
      name = "cleanup_loot";
      init = /*%FSM<STATEINIT""">*/"if (DZE_DiagFpsFast) then {" \n
       " call dze_diag_fps;" \n
       "};" \n
       "" \n
       "[] spawn server_spawnCleanLoot;" \n
       "" \n
       "// set player save time based on server performance" \n
       "PVDZE_plr_SetSaveTime = round(60 - diag_fps);" \n
       "publicVariable ""PVDZE_plr_SetSaveTime"";"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "group_cleanup">*/
    class group_cleanup
    {
      name = "group_cleanup";
      init = /*%FSM<STATEINIT""">*/"[] spawn server_checkHackers;" \n
       "[] spawn server_cleanupGroups;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
    /*%FSM<STATE "update_objects">*/
    class update_objects
    {
      name = "update_objects";
      init = /*%FSM<STATEINIT""">*/"{" \n
       " needUpdate_objects = needUpdate_objects - [_x];" \n
       " [_x,""damage"",true] call server_updateObject;" \n
       "} forEach needUpdate_objects;"/*%FSM</STATEINIT""">*/;
      precondition = /*%FSM<STATEPRECONDITION""">*/""/*%FSM</STATEPRECONDITION""">*/;
      class Links
      {
        /*%FSM<LINK "true">*/
        class true
        {
          priority = 0.000000;
          to="general_cleanup";
          precondition = /*%FSM<CONDPRECONDITION""">*/""/*%FSM</CONDPRECONDITION""">*/;
          condition=/*%FSM<CONDITION""">*/"true"/*%FSM</CONDITION""">*/;
          action=/*%FSM<ACTION""">*/""/*%FSM</ACTION""">*/;
        };
        /*%FSM</LINK>*/
      };
    };
    /*%FSM</STATE>*/
  };
  initState="init";
  finalStates[] =
  {
  };
};
/*%FSM</COMPILE>*/
 
and this is my server_functions
[] spawn {[] execVM "\z\addons\dayz_server\init\AH.sqf";};
waituntil {!isnil "bis_fnc_init"};
 
BIS_MPF_remoteExecutionServer = {
if ((_this select 1) select 2 == "JIPrequest") then {
[nil,(_this select 1) select 0,"loc",rJIPEXEC,[any,any,"per","execVM","ca\Modules\Functions\init.sqf"]] call RE;
};
};
/* Skaronator - secured better remoteExecServer
BIS_MPF_remoteExecutionServer = {
if ((_this select 1) select 2 == "JIPrequest") then {
_playerObj = (_this select 1) select 0;
remExField = [nil, nil, format ["";if !(isServer) then {[] execVM "ca\Modules\Functions\init.sqf";};""]];
(owner _playerObj) publicVariableClient "remExField";
};
};*/
 
BIS_Effects_Burn = {};
server_playerLogin = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerLogin.sqf";
server_playerSetup = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSetup.sqf";
server_onPlayerDisconnect = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_onPlayerDisconnect.sqf";
server_updateObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_updateObject.sqf";
server_playerDied = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDied.sqf";
server_publishObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishObject.sqf";
server_deleteObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_deleteObj.sqf";
server_swapObject = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_swapObject.sqf"; 
server_publishVeh = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle.sqf";
server_publishVeh2 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle2.sqf";
server_publishVeh3 = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_publishVehicle3.sqf";
server_tradeObj = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_tradeObject.sqf";
server_traders = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_traders.sqf";
server_playerSync = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerSync.sqf";
server_spawnCrashSite  =     compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnCrashSite.sqf";
server_spawnEvents = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_spawnEvent.sqf";
//server_weather = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_weather.sqf";
fnc_plyrHit   = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\fnc_plyrHit.sqf";
server_deaths = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_playerDeaths.sqf";
server_maintainArea = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_maintainArea.sqf";
fnc_hTime =                     compile preprocessFile "\z\addons\dayz_server\EMS\misc\fnc_hTime.sqf"; //Random integer selector for mission wait time
 
/* PVS/PVC - Skaronator */
server_sendToClient = compile preprocessFileLineNumbers "\z\addons\dayz_server\compile\server_sendToClient.sqf";
 
//onPlayerConnected {[_uid,_name] call server_onPlayerConnect;};
onPlayerDisconnected {[_uid,_name] call server_onPlayerDisconnect;};
 
server_updateNearbyObjects = {
private["_pos"];
_pos = _this select 0;
{
[_x, "gear"] call server_updateObject;
} forEach nearestObjects [_pos, dayz_updateObjects, 10];
};
 
server_handleZedSpawn = {
private["_zed"];
_zed = _this select 0;
_zed enableSimulation false;
};
 
zombie_findOwner = {
private["_unit"];
_unit = _this select 0;
#ifdef DZE_SERVER_DEBUG
diag_log ("CLEANUP: DELETE UNCONTROLLED ZOMBIE: " + (typeOf _unit) + " OF: " + str(_unit) );
#endif
deleteVehicle _unit;
};
 
vehicle_handleInteract = {
private["_object"];
_object = _this select 0;
needUpdate_objects = needUpdate_objects - [_object];
[_object, "all"] call server_updateObject;
};
 
array_reduceSizeReverse = {
private["_array","_count","_num","_newarray","_startnum","_index"];
_array = _this select 0;
_newarray = [];
_count = _this select 1;
_num = count _array;
if (_num > _count) then {
_startnum = _num - 1;
_index = _count - 1;
for "_i" from 0 to _index do {
_newarray set [(_index-_i),_array select (_startnum - _i)];
};
_array = _newarray;
}; 
_array
};
 
array_reduceSize = {
private ["_array1","_array","_count","_num"];
_array1 = _this select 0;
_array = _array1 - ["Hatchet_Swing","Machete_Swing","Fishing_Swing","sledge_swing","crowbar_swing","CSGAS"];
_count = _this select 1;
_num = count _array;
if (_num > _count) then {
_array resize _count;
};
_array
};
 
object_handleServerKilled = {
private["_unit","_objectID","_objectUID","_killer"];
_unit = _this select 0;
_killer = _this select 1;
 
_objectID = _unit getVariable ["ObjectID","0"];
_objectUID = _unit getVariable ["ObjectUID","0"];
 
[_objectID,_objectUID,_killer] call server_deleteObj;
 
_unit removeAllMPEventHandlers "MPKilled";
_unit removeAllEventHandlers "Killed";
_unit removeAllEventHandlers "HandleDamage";
_unit removeAllEventHandlers "GetIn";
_unit removeAllEventHandlers "GetOut";
};
 
check_publishobject = {
private["_allowed","_object","_playername"];
 
_object = _this select 0;
_playername = _this select 1;
_allowed = false;
 
if ((typeOf _object) in dayz_allowedObjects) then {
//diag_log format ["DEBUG: Object: %1 published by %2 is Safe",_object, _playername];
_allowed = true;
};
    _allowed
};
 
//event Handlers
eh_localCleanup = {
private ["_object"];
_object = _this select 0;
_object addEventHandler ["local", {
if(_this select 1) then {
private["_type","_unit"];
_unit = _this select 0;
_type = typeOf _unit;
_myGroupUnit = group _unit;
  _unit removeAllMPEventHandlers "mpkilled";
  _unit removeAllMPEventHandlers "mphit";
  _unit removeAllMPEventHandlers "mprespawn";
  _unit removeAllEventHandlers "FiredNear";
_unit removeAllEventHandlers "HandleDamage";
_unit removeAllEventHandlers "Killed";
_unit removeAllEventHandlers "Fired";
_unit removeAllEventHandlers "GetOut";
_unit removeAllEventHandlers "GetIn";
_unit removeAllEventHandlers "Local";
clearVehicleInit _unit;
deleteVehicle _unit;
deleteGroup _myGroupUnit;
//_unit = nil;
diag_log ("CLEANUP: DELETED A " + str(_type) );
};
}];
};
 
server_hiveWrite = {
private["_data"];
_data = "HiveExt" callExtension _this;
};
 
server_hiveReadWrite = {
private["_key","_resultArray","_data"];
_key = _this;
_data = "HiveExt" callExtension _key;
_resultArray = call compile format ["%1",_data];
_resultArray
};
 
server_hiveReadWriteLarge = {
private["_key","_resultArray","_data"];
_key = _this;
_data = "HiveExt" callExtension _key;
_resultArray = call compile _data;
_resultArray
};
 
server_checkIfTowed = {
private ["_vehicle","_player","_attached"];
if (DZE_HeliLift) then {
_vehicle = _this select 0;
_player = _this select 2;
_attached = _vehicle getVariable["attached",false];
if ((typeName _attached == "OBJECT")) then {
_player action ["eject", _vehicle];
detach _vehicle;
_vehicle setVariable["attached",false,true];
_attached setVariable["hasAttached",false,true];
};
};
};
 
server_characterSync = {
private ["_characterID","_playerPos","_playerGear","_playerBackp","_medical","_currentState","_currentModel","_key"];
_characterID = _this select 0;
_playerPos = _this select 1;
_playerGear = _this select 2;
_playerBackp = _this select 3;
_medical = _this select 4;
_currentState = _this select 5;
_currentModel = _this select 6;
 
_key = format["CHILD:201:%1:%2:%3:%4:%5:%6:%7:%8:%9:%10:%11:%12:%13:%14:%15:%16:",_characterID,_playerPos,_playerGear,_playerBackp,_medical,false,false,0,0,0,0,_currentState,0,0,_currentModel,0];
_key call server_hiveWrite;
};
 
if(isnil "dayz_MapArea") then {
dayz_MapArea = 10000;
};
if(isnil "DynamicVehicleArea") then {
DynamicVehicleArea = dayz_MapArea / 2;
};
 
// Get all buildings and roads only once TODO: set variables to nil after done if nessicary 
MarkerPosition = getMarkerPos "center";
RoadList = MarkerPosition nearRoads DynamicVehicleArea;
 
// Very taxing !!! but only on first startup
BuildingList = [];
{
if (DZE_MissionLootTable) then {
if (isClass (missionConfigFile >> "CfgBuildingLoot" >> (typeOf _x))) then
{
BuildingList set [count BuildingList,_x];
};
} else {
if (isClass (configFile >> "CfgBuildingLoot" >> (typeOf _x))) then
{
BuildingList set [count BuildingList,_x];
};
};
 
 
} forEach (MarkerPosition nearObjects ["building",DynamicVehicleArea]);
 
spawn_vehicles = {
private ["_random","_lastIndex","_weights","_index","_vehicle","_velimit","_qty","_isAir","_isShip","_position","_dir","_istoomany","_veh","_objPosition","_marker","_iClass","_itemTypes","_cntWeights","_itemType","_num","_allCfgLoots"];
 
if (!isDedicated) exitWith { }; //Be sure the run this
 
while {count AllowedVehiclesList > 0} do {
// BIS_fnc_selectRandom replaced because the index may be needed to remove the element
_index = floor random count AllowedVehiclesList;
_random = AllowedVehiclesList select _index;
 
_vehicle = _random select 0;
_velimit = _random select 1;
 
_qty = {_x == _vehicle} count serverVehicleCounter;
 
// If under limit allow to proceed
if (_qty <= _velimit) exitWith {};
 
// vehicle limit reached, remove vehicle from list
// since elements cannot be removed from an array, overwrite it with the last element and cut the last element of (as long as order is not important)
_lastIndex = (count AllowedVehiclesList) - 1;
if (_lastIndex != _index) then {
AllowedVehiclesList set [_index, AllowedVehiclesList select _lastIndex];
};
AllowedVehiclesList resize _lastIndex;
};
 
if (count AllowedVehiclesList == 0) then {
diag_log("DEBUG: unable to find suitable vehicle to spawn");
} else {
 
// add vehicle to counter for next pass
serverVehicleCounter set [count serverVehicleCounter,_vehicle];
 
// Find Vehicle Type to better control spawns
_isAir = _vehicle isKindOf "Air";
_isShip = _vehicle isKindOf "Ship";
 
if(_isShip || _isAir) then {
if(_isShip) then {
// Spawn anywhere on coast on water
waitUntil{!isNil "BIS_fnc_findSafePos"};
_position = [MarkerPosition,0,DynamicVehicleArea,10,1,2000,1] call BIS_fnc_findSafePos;
//diag_log("DEBUG: spawning boat near coast " + str(_position));
} else {
// Spawn air anywhere that is flat
waitUntil{!isNil "BIS_fnc_findSafePos"};
_position = [MarkerPosition,0,DynamicVehicleArea,10,0,2000,0] call BIS_fnc_findSafePos;
//diag_log("DEBUG: spawning air anywhere flat " + str(_position));
};
 
 
} else {
// Spawn around buildings and 50% near roads
if((random 1) > 0.5) then {
 
waitUntil{!isNil "BIS_fnc_selectRandom"};
_position = RoadList call BIS_fnc_selectRandom;
 
_position = _position modelToWorld [0,0,0];
 
waitUntil{!isNil "BIS_fnc_findSafePos"};
_position = [_position,0,10,10,0,2000,0] call BIS_fnc_findSafePos;
 
//diag_log("DEBUG: spawning near road " + str(_position));
 
} else {
 
waitUntil{!isNil "BIS_fnc_selectRandom"};
_position = BuildingList call BIS_fnc_selectRandom;
 
_position = _position modelToWorld [0,0,0];
 
waitUntil{!isNil "BIS_fnc_findSafePos"};
_position = [_position,0,40,5,0,2000,0] call BIS_fnc_findSafePos;
 
//diag_log("DEBUG: spawning around buildings " + str(_position));
 
};
};
// only proceed if two params otherwise BIS_fnc_findSafePos failed and may spawn in air
if ((count _position) == 2) then { 
 
_dir = round(random 180);
 
_istoomany = _position nearObjects ["AllVehicles",50];
if((count _istoomany) > 0) exitWith { diag_log("DEBUG: Too many vehicles at " + str(_position)); };
 
//place vehicle 
_veh = createVehicle [_vehicle, _position, [], 0, "CAN_COLLIDE"];
_veh setdir _dir;
_veh setpos _position;
 
if(DZEdebug) then {
_marker = createMarker [str(_position) , _position];
_marker setMarkerShape "ICON";
_marker setMarkerType "DOT";
_marker setMarkerText _vehicle;
};
 
// Get position with ground
_objPosition = getPosATL _veh;
 
clearWeaponCargoGlobal  _veh;
clearMagazineCargoGlobal  _veh;
// _veh setVehicleAmmo DZE_vehicleAmmo;
 
// Add 0-3 loots to vehicle using random cfgloots 
_num = floor(random 4);
_allCfgLoots = ["trash","civilian","food","generic","medical","military","policeman","hunter","worker","clothes","militaryclothes","specialclothes","trash"];
 
for "_x" from 1 to _num do {
_iClass = _allCfgLoots call BIS_fnc_selectRandom;
 
_itemTypes = [];
if (DZE_MissionLootTable) then {
_itemTypes = ((getArray (missionConfigFile >> "cfgLoot" >> _iClass)) select 0);
} else {
_itemTypes = ((getArray (configFile >> "cfgLoot" >> _iClass)) select 0);
};
 
_index = dayz_CLBase find _iClass;
_weights = dayz_CLChances select _index;
_cntWeights = count _weights;
 
_index = floor(random _cntWeights);
_index = _weights select _index;
_itemType = _itemTypes select _index;
_veh addMagazineCargoGlobal [_itemType,1];
//diag_log("DEBUG: spawed loot inside vehicle " + str(_itemType));
};
 
[_veh,[_dir,_objPosition],_vehicle,true,"0"] call server_publishVeh;
};
};
};
 
spawn_ammosupply = {
private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"];
if (isDedicated) then {
_WreckList = ["Supply_Crate_DZE"];
waitUntil{!isNil "BIS_fnc_selectRandom"};
_position = RoadList call BIS_fnc_selectRandom;
_position = _position modelToWorld [0,0,0];
waitUntil{!isNil "BIS_fnc_findSafePos"};
_position = [_position,5,20,5,0,2000,0] call BIS_fnc_findSafePos;
if ((count _position) == 2) then {
 
_istoomany = _position nearObjects ["All",5];
 
if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many at " + str(_position)); };
 
_spawnveh = _WreckList call BIS_fnc_selectRandom;
 
if(DZEdebug) then {
_marker = createMarker [str(_position) , _position];
_marker setMarkerShape "ICON";
_marker setMarkerType "DOT";
_marker setMarkerText str(_spawnveh);
};
 
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh enableSimulation false;
_veh setDir round(random 360);
_veh setpos _position;
_veh setVariable ["ObjectID","1",true];
};
};
};
 
DZE_LocalRoadBlocks = [];
 
spawn_roadblocks = {
private ["_position","_veh","_istoomany","_marker","_spawnveh","_WreckList"];
_WreckList = ["SKODAWreck","HMMWVWreck","UralWreck","datsun01Wreck","hiluxWreck","datsun02Wreck","UAZWreck","Land_Misc_Garb_Heap_EP1","Fort_Barricade_EP1","Rubbish2"];
 
waitUntil{!isNil "BIS_fnc_selectRandom"};
if (isDedicated) then {
 
_position = RoadList call BIS_fnc_selectRandom;
 
_position = _position modelToWorld [0,0,0];
 
waitUntil{!isNil "BIS_fnc_findSafePos"};
_position = [_position,0,10,5,0,2000,0] call BIS_fnc_findSafePos;
 
if ((count _position) == 2) then {
// Get position with ground
 
_istoomany = _position nearObjects ["All",5];
 
if((count _istoomany) > 0) exitWith { diag_log("DEBUG: Too many at " + str(_position)); };
 
waitUntil{!isNil "BIS_fnc_selectRandom"};
_spawnveh = _WreckList call BIS_fnc_selectRandom;
 
if(DZEdebug) then {
_marker = createMarker [str(_position) , _position];
_marker setMarkerShape "ICON";
_marker setMarkerType "DOT";
_marker setMarkerText str(_spawnveh);
};
 
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh enableSimulation false;
 
_veh setDir round(random 360); // Randomize placement a bit
_veh setpos _position;
 
_veh setVariable ["ObjectID","1",true];
};
 
};
 
};
 
spawn_mineveins = {
private ["_position","_veh","_istoomany","_marker","_spawnveh","_positions"];
 
if (isDedicated) then {
 
_position = [getMarkerPos "center",0,(HeliCrashArea*0.75),10,0,2000,0] call BIS_fnc_findSafePos;
 
if ((count _position) == 2) then {
 
_positions = selectBestPlaces [_position, 500, "(1 + forest) * (1 + hills) * (1 - houses) * (1 - sea)", 10, 5];
 
_position = (_positions call BIS_fnc_selectRandom) select 0;
 
// Get position with ground
_istoomany = _position nearObjects ["All",10];
 
if((count _istoomany) > 0) exitWith { diag_log("DEBUG VEIN: Too many objects at " + str(_position)); };
 
if(isOnRoad _position) exitWith { diag_log("DEBUG VEIN: on road " + str(_position)); };
 
_spawnveh = ["Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Iron_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Silver_Vein_DZE","Gold_Vein_DZE","Gold_Vein_DZE"] call BIS_fnc_selectRandom;
 
if(DZEdebug) then {
_marker = createMarker [str(_position) , _position];
_marker setMarkerShape "ICON";
_marker setMarkerType "DOT";
_marker setMarkerText str(_spawnveh);
};
 
//diag_log("DEBUG: Spawning a crashed " + _spawnveh + " with " + _spawnloot + " at " + str(_position));
_veh = createVehicle [_spawnveh,_position, [], 0, "CAN_COLLIDE"];
_veh enableSimulation false;
 
// Randomize placement a bit
_veh setDir round(random 360);
_veh setpos _position;
 
_veh setVariable ["ObjectID","1",true];
 
 
};
};
};
 
if(isnil "DynamicVehicleDamageLow") then {
DynamicVehicleDamageLow = 0;
};
if(isnil "DynamicVehicleDamageHigh") then {
DynamicVehicleDamageHigh = 100;
};
 
if(isnil "DynamicVehicleFuelLow") then {
DynamicVehicleFuelLow = 0;
};
if(isnil "DynamicVehicleFuelHigh") then {
DynamicVehicleFuelHigh = 100;
};
 
if(isnil "DZE_DiagFpsSlow") then {
DZE_DiagFpsSlow = false;
};
if(isnil "DZE_DiagFpsFast") then {
DZE_DiagFpsFast = false;
};
if(isnil "DZE_DiagVerbose") then {
DZE_DiagVerbose = false;
};
 
dze_diag_fps = {
if(DZE_DiagVerbose) then {
diag_log format["DEBUG FPS : %1 OBJECTS: %2 : PLAYERS: %3", diag_fps,(count (allMissionObjects "")),(playersNumber west)];
} else {
diag_log format["DEBUG FPS : %1", diag_fps];
};
};
 
// Damage generator function
generate_new_damage = {
private ["_damage"];
    _damage = ((random(DynamicVehicleDamageHigh-DynamicVehicleDamageLow))+DynamicVehicleDamageLow) / 100;
_damage;
};
 
// Damage generator fuction
generate_exp_damage = {
private ["_damage"];
    _damage = ((random(DynamicVehicleDamageHigh-DynamicVehicleDamageLow))+DynamicVehicleDamageLow) / 100;
 
// limit this to 85% since vehicle would blow up otherwise.
//if(_damage >= 0.85) then {
// _damage = 0.85;
//};
_damage;
};
 
server_getDiff = {
private["_variable","_object","_vNew","_vOld","_result"];
_variable = _this select 0;
_object = _this select 1;
_vNew = _object getVariable[_variable,0];
_vOld = _object getVariable[(_variable + "_CHK"),_vNew];
_result = 0;
if (_vNew < _vOld) then {
//JIP issues
_vNew = _vNew + _vOld;
_object getVariable[(_variable + "_CHK"),_vNew];
} else {
_result = _vNew - _vOld;
_object setVariable[(_variable + "_CHK"),_vNew];
};
_result
};
 
server_getDiff2 = {
private["_variable","_object","_vNew","_vOld","_result"];
_variable = _this select 0;
_object = _this select 1;
_vNew = _object getVariable[_variable,0];
_vOld = _object getVariable[(_variable + "_CHK"),_vNew];
_result = _vNew - _vOld;
_object setVariable[(_variable + "_CHK"),_vNew];
_result
};
 
dayz_objectUID = {
private["_position","_dir","_key","_object"];
_object = _this;
_position = getPosATL _object;
_dir = direction _object;
_key = [_dir,_position] call dayz_objectUID2;
    _key
};
 
dayz_objectUID2 = {
private["_position","_dir","_key"];
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} forEach _position;
_key = _key + str(round(_dir));
_key
};
 
dayz_objectUID3 = {
private["_position","_dir","_key"];
_dir = _this select 0;
_key = "";
_position = _this select 1;
{
_x = _x * 10;
if ( _x < 0 ) then { _x = _x * -10 };
_key = _key + str(round(_x));
} forEach _position;
_key = _key + str(round(_dir + time));
_key
};
 
dayz_recordLogin = {
private["_key"];
_key = format["CHILD:103:%1:%2:%3:",_this select 0,_this select 1,_this select 2];
_key call server_hiveWrite;
};
 
//----------InitMissions--------//
    MissionGo = 0;
    MissionGoMinor = 0;
    if (isServer) then { 
      SMarray = ["SM1","SM2","SM3","SM4","SM5","SM6","SM7","SM8","SM9","SM10","SM11","SM12","SM13"];
      [] execVM "\z\addons\dayz_server\EMS\major\SMfinder.sqf"; //Starts major mission system
      SMarray2 = ["SM1","SM2","SM3","SM4","SM5","SM6","SM7","SM8","SM9","SM10","SM11","SM12","SM13"];
      [] execVM "\z\addons\dayz_server\EMS\minor\SMfinder.sqf"; //Starts minor mission system
    };
    //---------EndInitMissions------//
 
dayz_perform_purge = {
if(!isNull(_this)) then {
_this removeAllMPEventHandlers "mpkilled";
_this removeAllMPEventHandlers "mphit";
_this removeAllMPEventHandlers "mprespawn";
_this removeAllEventHandlers "FiredNear";
_this removeAllEventHandlers "HandleDamage";
_this removeAllEventHandlers "Killed";
_this removeAllEventHandlers "Fired";
_this removeAllEventHandlers "GetOut";
_this removeAllEventHandlers "GetIn";
_this removeAllEventHandlers "Local";
clearVehicleInit _this;
deleteVehicle _this;
deleteGroup (group _this);
};
};
 
dayz_perform_purge_player = {
 
private ["_countr","_backpack","_backpackType","_backpackWpn","_backpackMag","_objWpnTypes","_objWpnQty","_location","_dir","_holder","_weapons","_magazines"];
    diag_log ("Purging player: " + str(_this));
 
if(!isNull(_this)) then {
 
_location = getPosATL _this;
_dir = getDir _this;
 
_holder = createVehicle ["GraveDZE", _location, [], 0, "CAN_COLLIDE"];
_holder setDir _dir;
_holder setPosATL _location;
 
_holder enableSimulation false;
 
_weapons = weapons _this;
_magazines = magazines _this;
 
// find backpack
if(!(isNull unitBackpack _this)) then {
_backpack = unitBackpack _this;
_backpackType = typeOf _backpack;
_backpackWpn = getWeaponCargo _backpack;
_backpackMag = getMagazineCargo _backpack;
 
_holder addBackpackCargoGlobal [_backpackType,1];
 
// add items from backpack 
_objWpnTypes = _backpackWpn select 0;
_objWpnQty = _backpackWpn select 1;
_countr = 0;
{
_holder addWeaponCargoGlobal [_x,(_objWpnQty select _countr)];
_countr = _countr + 1;
} forEach _objWpnTypes;
 
// add backpack magazine items
_objWpnTypes = _backpackMag select 0;
_objWpnQty = _backpackMag select 1;
_countr = 0;
{
_holder addMagazineCargoGlobal [_x,(_objWpnQty select _countr)];
_countr = _countr + 1;
} forEach _objWpnTypes;
};
};
 
// add weapons
_holder addWeaponCargoGlobal [_x, 1];
} forEach _weapons;
 
// add mags
_holder addMagazineCargoGlobal [_x, 1];
} forEach _magazines;
 
_this removeAllMPEventHandlers "mpkilled";
_this removeAllMPEventHandlers "mphit";
_this removeAllMPEventHandlers "mprespawn";
_this removeAllEventHandlers "FiredNear";
_this removeAllEventHandlers "HandleDamage";
_this removeAllEventHandlers "Killed";
_this removeAllEventHandlers "Fired";
_this removeAllEventHandlers "GetOut";
_this removeAllEventHandlers "GetIn";
_this removeAllEventHandlers "Local";
clearVehicleInit _this;
deleteVehicle _this;
deleteGroup (group _this);
//  _this = nil;
};
 
 
dayz_removePlayerOnDisconnect = {
if(!isNull(_this)) then {
_this removeAllMPEventHandlers "mphit";
deleteVehicle _this;
deleteGroup (group _this);
};
};
 
server_timeSync = {
//Send request
private ["_hour","_minute","_date","_key","_result","_outcome"];
    _key = "CHILD:307:";
_result = _key call server_hiveReadWrite;
_outcome = _result select 0;
if(_outcome == "PASS") then {
_date = _result select 1; 
 
if(dayz_fullMoonNights) then {
_hour = _date select 3;
_minute = _date select 4;
//Force full moon nights
_date = [2013,8,3,_hour,_minute];
};
 
setDate _date;
PVDZE_plr_SetDate = _date;
publicVariable "PVDZE_plr_SetDate";
diag_log ("TIME SYNC: Local Time set to " + str(_date));
};
};
 
// must spawn these 
server_spawncleanDead = {
private ["_deathTime","_delQtyZ","_delQtyP","_qty","_allDead"];
_allDead = allDead;
_delQtyZ = 0;
_delQtyP = 0;
{
if (local _x) then {
if (_x isKindOf "zZombie_Base") then
{
_x call dayz_perform_purge;
sleep 0.05;
_delQtyZ = _delQtyZ + 1;
} else {
if (_x isKindOf "CAManBase") then {
_deathTime = _x getVariable ["processedDeath", diag_tickTime];
if (diag_tickTime - _deathTime > 1800) then {
_x call dayz_perform_purge_player;
sleep 0.025;
_delQtyP = _delQtyP + 1;
};
};
};
};
sleep 0.025;
} forEach _allDead;
if (_delQtyZ > 0 or _delQtyP > 0) then {
_qty = count _allDead;
diag_log (format["CLEANUP: Deleted %1 players and %2 zombies out of %3 dead",_delQtyP,_delQtyZ,_qty]);
};
};
server_cleanupGroups = {
if (DZE_DYN_AntiStuck3rd > 3) then { DZE_DYN_GroupCleanup = nil; DZE_DYN_AntiStuck3rd = 0; };
if(!isNil "DZE_DYN_GroupCleanup") exitWith {  DZE_DYN_AntiStuck3rd = DZE_DYN_AntiStuck3rd + 1;};
DZE_DYN_GroupCleanup = true;
{
if (count units _x == 0) then {
deleteGroup _x;
};
sleep 0.001;
} forEach allGroups;
DZE_DYN_GroupCleanup = nil;
};
 
server_checkHackers = {
if (DZE_DYN_AntiStuck2nd > 3) then { DZE_DYN_HackerCheck = nil; DZE_DYN_AntiStuck2nd = 0; };
if(!isNil "DZE_DYN_HackerCheck") exitWith {  DZE_DYN_AntiStuck2nd = DZE_DYN_AntiStuck2nd + 1;};
DZE_DYN_HackerCheck = true;
{
if(vehicle _x != _x && !(vehicle _x in PVDZE_serverObjectMonitor) && (isPlayer _x) && (vehicle _x getVariable ["Sarge",0] != 1) && !((typeOf vehicle _x) in DZE_safeVehicle)) then {" \n
diag_log ("CLEANUP: KILLING A HACKER " + (name _x) + " " + str(_x) + " IN " + (typeOf vehicle _x));
(vehicle _x) setDamage 1;
_x setDamage 1;
sleep 0.25;
};
sleep 0.001;
} forEach allUnits;
DZE_DYN_HackerCheck = nil;
};
 
server_spawnCleanFire = {
private ["_delQtyFP","_qty","_delQtyNull","_missionFires"];
_missionFires = allMissionObjects "Land_Fire_DZ";
_delQtyFP = 0;
{
if (local _x) then {
deleteVehicle _x;
sleep 0.025;
_delQtyFP = _delQtyFP + 1;
};
sleep 0.001;
} forEach _missionFires;
if (_delQtyFP > 0) then {
_qty = count _missionFires;
diag_log (format["CLEANUP: Deleted %1 fireplaces out of %2",_delQtyNull,_qty]);
};
};
server_spawnCleanLoot = {
private ["_created","_delQty","_nearby","_age","_keep","_qty","_missionObjs","_dateNow"];
if (DZE_DYN_AntiStuck > 3) then { DZE_DYN_cleanLoot = nil; DZE_DYN_AntiStuck = 0; };
if(!isNil "DZE_DYN_cleanLoot") exitWith {  DZE_DYN_AntiStuck = DZE_DYN_AntiStuck + 1;};
DZE_DYN_cleanLoot = true;
 
_missionObjs =  allMissionObjects "ReammoBox";
_delQty = 0;
_dateNow = (DateToNumber date);
{
_keep = _x getVariable ["permaLoot",false];
if (!_keep) then {
_created = _x getVariable ["created",-0.1];
if (_created == -0.1) then {
_x setVariable ["created",_dateNow,false];
_created = _dateNow;
} else {
_age = (_dateNow - _created) * 525948;
if (_age > 20) then {
_nearby = {(isPlayer _x) and (alive _x)} count (_x nearEntities [["CAManBase","AllVehicles"], 130]);
if (_nearby==0) then {
deleteVehicle _x;
sleep 0.025;
_delQty = _delQty + 1;
};
};
};
};
sleep 0.001;
} forEach _missionObjs;
if (_delQty > 0) then {
_qty = count _missionObjs;
diag_log (format["CLEANUP: Deleted %1 Loot Piles out of %2",_delQty,_qty]);
};
DZE_DYN_cleanLoot = nil;
};
 
server_spawnCleanAnimals = {
private ["_pos","_delQtyAnimal","_qty","_missonAnimals","_nearby"];
_missonAnimals = entities "CAAnimalBase";
_delQtyAnimal = 0;
{
if (local _x) then {
_x call dayz_perform_purge;
sleep 0.05;
_delQtyAnimal = _delQtyAnimal + 1;
} else {
if (!alive _x) then {
_pos = getPosATL _x;
if (count _pos > 0) then {
_nearby = {(isPlayer _x) and (alive _x)} count (_pos nearEntities [["CAManBase","AllVehicles"], 130]);
if (_nearby==0) then {
_x call dayz_perform_purge;
sleep 0.05;
_delQtyAnimal = _delQtyAnimal + 1;
};
};
};
};
sleep 0.001;
} forEach _missonAnimals;
if (_delQtyAnimal > 0) then {
_qty = count _missonAnimals;
diag_log (format["CLEANUP: Deleted %1 Animals out of %2",_delQtyAnimal,_qty]);
};
};
 
server_getLocalObjVars = {
private ["_player","_obj","_objectID","_objectUID","_weapons","_magazines","_backpacks"];
 
_player = _this select 0;
_obj = _this select 1;
 
_objectID = _obj getVariable["ObjectID","0"];
_objectUID = _obj getVariable["ObjectUID","0"];
 
_weapons = _obj getVariable ["WeaponCargo", false];
_magazines = _obj getVariable ["MagazineCargo", false];
_backpacks = _obj getVariable ["BackpackCargo", false];
 
PVDZE_localVarsResult = [_weapons,_magazines,_backpacks];
(owner _player) publicVariableClient "PVDZE_localVarsResult";
 
diag_log format["SAFE UNLOCKED: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), (getPlayerUID _player)];
};
 
server_setLocalObjVars = {
private ["_obj","_holder","_weapons","_magazines","_backpacks","_player","_objectID","_objectUID"];
 
_obj = _this select 0;
_holder = _this select 1;
_player = _this select 2;
 
_objectID = _obj getVariable["ObjectID","0"];
_objectUID = _obj getVariable["ObjectUID","0"];
 
_weapons = getWeaponCargo _obj;
_magazines = getMagazineCargo _obj;
_backpacks = getBackpackCargo _obj;
 
deleteVehicle _obj;
 
_holder setVariable ["WeaponCargo", _weapons];
_holder setVariable ["MagazineCargo", _magazines];
_holder setVariable ["BackpackCargo", _backpacks];
 
diag_log format["SAFE LOCKED: ID:%1 UID:%2 BY %3(%4)", _objectID, _objectUID, (name _player), (getPlayerUID _player)];
};
 
 
im sorry for posting it like this but i dont know how else :D

 

Link to comment
Share on other sites

hello! i need help whitch code

i have idea, spawn zombie after Mission completed! its cool i think, zombie apocalypse, walking dead...

and players run to the boxes not kill all in a mission, zombies to keep them

 

i cant transplantation this code in antihax:

(code default)

	adminCallZeds =
	{
		fnc_addZeds =
		{
			_position = _this;
			for "_i" from 1 to 10 do
			{
				_unitTypes = 	[]+ getArray (configFile >> "CfgBuildingLoot" >> "Default" >> "zombieClass");
				_agent = 	objNull;
				_type = _unitTypes call BIS_fnc_selectRandom;
				_radius = 40;
				_method = "NONE";
				_agent = createAgent [_type, _position, [], _radius, _method];
				_id = [_position,_agent] execFSM "\z\AddOns\dayz_code\system\zombie_agent.fsm";
			};
		};
		openMap [true, false];
		onMapSingleClick '
			[_pos select 0,_pos select 1,_pos select 2] spawn fnc_addZeds;
			openMap [false, false];
			onMapSingleClick "";
		';
	};

Anyone can help whitch this idea?

Link to comment
Share on other sites

 

hellow i tried to put this on my server i used ems 0.2.6

i get stuck on the last loading screen i can hear the sound from ingame but stuck ont he loader

 

 

this is my init that is located in /mine ip/MPMissions/DayZ_Epoch_11.Chernarus

 

 
im sorry for posting it like this but i dont know how else :D

 

 

For the love of God, please put it in a spoiler next time.

Link to comment
Share on other sites

 

hellow i tried to put this on my server i used ems 0.2.6

i get stuck on the last loading screen i can hear the sound from ingame but stuck ont he loader

 

 

 

Sure, i will call Police, Ambulance, NSA,CIA, FBI for your problem!!!

Maybe learn to pack your shit into a spolier first.

 

Noone will help you, and thats good! Learn that basics of a forum first.

Link to comment
Share on other sites

Sure, i will call Police, Ambulance, NSA,CIA, FBI for your problem!!!

Maybe learn to pack your shit into a spolier first.

 

Noone will help you, and thats good! Learn that basics of a forum first.

Me thinks itsa firetruck

Link to comment
Share on other sites

9/11 is everywhere.

 

So sad that he forgot to post his 60 days old logfile. so we can better analyse his problems.

Im now reading his code for the next 6hours to help him, because its so structured.

Its simple he misses a closing   brace

 

if (!isDedicated) then {    // and then no end   };

 

 

should be 1  before

 

this is my server_cleanup.fsm

Link to comment
Share on other sites

For some reason any of the vehicles spawned by EMS blow up if you try to get in them.  Like at the stash house mission there are 3 or 4 vehicles, one being a camo SUV.  Upon getting into it it exploded.  It does this on all vehicles spawned by EMS.  Is this normal, anyone have any ideas?

Link to comment
Share on other sites

For all who are interested in some fixed coordinates for napf:

 

DZMSFunctions.sqf:

 

DZMSFindPos = 
{
_coord1 = [18630.9, 17689.5, 0];
_coord2 = [16754.1, 18123.1, 0];
_coord3 = [13543.8, 19631.4, 0];
_coord4 = [10268.8, 18443.3, 0];
_coord5 = [949.3, 10969.1, 0];
_coord6 = [707.2, 6570.9, 0];
_coord7 = [1258.2, 3183.9, 0];
_coord8 = [6882.7, 3523.4, 0];
_coord9 = [9909.3, 4132.2, 0];
_coord10 = [14427.7, 3643.6, 0];
_coord11 = [18143.4, 2442.1, 0];
_coord12 = [19145.5, 6659.6, 0];
_coord13 = [16879.9, 8732.3, 0];
_coord14 = [18574.1, 11316, 0];
_coord15 = [14505.1, 11664.4, 0];
_coord16 = [11760.5, 12486.9, 0];
_coord17 = [8377.5, 13175.1, 0];
_coord18 = [8549.9, 10524.6, 0];
_coord19 = [4318.3, 9766.3, 0];
_coord20 = [5525.3, 6980.9, 0];
_coord21 = [8345.3, 5938.1, 0];
_coord22 = [8965.8, 8137.3, 0];
_coord23 = [11050.2, 10125.1, 0];
_coord24 = [12211.9, 6532.1, 0];
_coord25 = [14295.1, 7978.3, 0];
_coord26 = [14228, 9716.9, 0];
_coord27 = [8163.8, 1860.5, 0];
_coord28 = [5426, 2953.7, 0];
_coord29 = [6501.9, 14635.3, 0];
_coord30 = [10997.7, 14732.7, 0];
_coord31 = [13156.2, 15218.8, 0];
_coord32 = [16747.6, 14517.1, 0];
_coord33 = [18994.7, 13115.2, 0];
_coord34 = [14353.1, 4289.4, 0];
_coord35 = [18321.1, 4403.4, 0];
_coord36 = [13211.1, 16013, 0];
 
_fin = [_coord1, _coord2, _coord3, _coord4, _coord5, _coord6, _coord7, _coord8, _coord9, _coord10, _coord11, _coord12,_coord13, _coord14, _coord15, _coord16, _coord17, _coord18, _coord19, _coord20, _coord21, _coord22, _coord23, _coord24,_coord25, _coord26, _coord27, _coord28, _coord29, _coord30, _coord31, _coord32, _coord33, _coord34, _coord35, _coord36] call BIS_fnc_selectRandom;
 
_fin
};
Link to comment
Share on other sites

For some reason any of the vehicles spawned by EMS blow up if you try to get in them.  Like at the stash house mission there are 3 or 4 vehicles, one being a camo SUV.  Upon getting into it it exploded.  It does this on all vehicles spawned by EMS.  Is this normal, anyone have any ideas?

 

This is the error I get in my server report upon geting into an EMS spawned vehicles and it blows up:

 

 

18:42:33 "EMS: AI Bandit1_DZ was killed by HybridFury (+200 humanity, new total 13782)"

18:43:57 "CLEANUP: KILLING A HACKER HybridFury B 1-1-B:1 (HybridFury) REMOTE IN HMMWV_DZ"

18:43:57 Client: Object 4:108 (type Type_69) not found.

18:43:57 Client: Object 4:108 (type Type_70) not found.

18:43:57 Client: Object 4:108 (type Type_70) not found.

18:43:57 WARNING: Function 'name' - HybridFury is dead

18:43:57 "PDEATH: Player Died 121794246"

18:44:23 "ERROR: server_playerSync: Cannot Sync Player HybridFury [41]. Position in debug! [-7239.67,19539.3,0.245514]"

18:44:25 "get: STRING (121794246), sent: STRING (121794246)"

18:44:25 "DISCONNECT: HybridFury (121794246) Object: B 1-1-A:1 (

Any help please?

Link to comment
Share on other sites

Wondering...

 

Do the SARGE, DZAi and the mission bandits attack each other if they happen to run into each other?

 

Yes, sometimes we are doing a mission and see a group of soldiers flanking and helping us.. sometimes the survivor Ai does the killing for us... sometimes a heli goes by and we hear the m240 roaring and attacking the bandits... I am already used to build in my base with the sound of firefights around. Just awesome!

Link to comment
Share on other sites

  • 2 weeks later...

  • THX to MimiC,Torndeco,waTTe,Mochnant,deadeye2,iFear,umfufu,skynetdev for their help/fixes !!

well im not really sure what ive done or how i helped but u are welcome xD !

Link to comment
Share on other sites

Hello !
So i've installed this awesome script to my Epoch server, however i have a problem.

Everything works but the normal (NOT the mission vehicles) vehicles despawn to their original spawn point after a server restart, how can this be? Again it is NOT the mission vehicle i'm talking about.

I've reinstalled the script a million times, and i've yet to find the error. Anyone else experiencing this?

 

Thank you ! :)

Link to comment
Share on other sites

  • 3 weeks later...

Those line for the server part are inside @DayZ_Epoch_Server\dayz_server.pbo

U need to extract them in order to change them and after that u need to repack

 

Those for the mission are in side the folder MPmissions\DayZ_Epoch_11.Chernarus

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...