/** * ExileServerManager_system_process_postInit * * Bryan * www.arcasindustries.com * © 2017 Arcas Industries * * This work is licensed under the Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. * To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. */ private["_restart", "_data", "_return"]; _restart = getArray(configFile >> "CfgSettings" >> "RCON" >> "restartTimer"); _data = [ getText(configFile >> "CfgESM" >> "key"), serverName, getText(configFile >> "CfgESM" >> "website"), getNumber(missionConfigFile >> "CfgTerritories" >> "popTabAmountPerObject"), getNumber(configFile >> "CfgSettings" >> "GarbageCollector" >> "Database" >> "territoryLifeTime"), _restart select 0, _restart select 1 ]; { _data pushBack (_x select 0); _data pushBack (_x select 1); _data pushBack (_x select 2); } forEach (getArray(missionConfigFile >> "CfgTerritories" >> "prices")); _return = parseSimpleArray(["initialize", _data] call ExileServerManager_util_dll_call); if (_return select 0) then { ESM_Initialized = true; ESM_ThreadDelay = getNumber(configFile >> "CfgESM" >> "requestCheckTime"); ESM_DebugEnabled = getNumber(configFile >> "CfgESM" >> "debugEnabled") isEqualTo 1; if (getNumber(configFile >> "CfgESM" >> "useExileThreading") isEqualTo 1) then { [] spawn { waitUntil {!isNil "PublicServerIsLoaded"}; [ESM_ThreadDelay, ExileServerManager_system_thread_check, [], true] call ExileServer_system_thread_addTask; }; } else { [] spawn { waitUntil {PublicServerIsLoaded}; while {true} do { call ExileServerManager_system_thread_check; uiSleep ESM_ThreadDelay; }; }; }; } else { format["Failed to initialize!!! Reason: %1", _return select 1] call ExileServerManager_util_log; };