diff --git a/@epochhive/addons/custom_server.pbo b/@epochhive/addons/custom_server.pbo deleted file mode 100644 index a984799..0000000 Binary files a/@epochhive/addons/custom_server.pbo and /dev/null differ diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf index d000a02..9b01f77 100644 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf +++ b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf @@ -5,10 +5,12 @@ - whether it is time to delete the mission objects at a specific location - whether it is time to delete live AI associated with a specific mission By Ghostrider-DbD- - Last modified 11-16-16 + Last modified 1-2-17 */ -private _index = 0; -_timeAccelUpdated = diag_tickTime; +private ["_index","_timer10Min","_timer1min","_timer5min","_modType"]; + +_index = 0; +//_timeAccelUpdated = diag_tickTime; _timer1min = diag_tickTime; _timer5min = diag_tickTime; _timer10Min = diag_tickTime; @@ -18,7 +20,6 @@ while {true} do uiSleep blck_mainThreadUpdateInterval; if ((diag_tickTime - _timer1min) > 60) then { - { if (diag_tickTime > (_x select 1) ) then { //diag_log format["_fnc_mainTread:: cleaning up AI group %1",_x]; @@ -36,11 +37,37 @@ while {true} do [] call GMS_fnc_cleanupDeadAI; - //if (_modType isEqualTo "Epoch") then { - diag_log "calling blck_fnc_cleanEmptyGroups"; + if (_modType isEqualTo "Epoch") then { + //diag_log "calling blck_fnc_cleanEmptyGroups"; [] spawn blck_fnc_cleanEmptyGroups; - //}; // Exile cleans up empty groups automatically so this should not be needed with that mod. + }; // Exile cleans up empty groups automatically so this should not be needed with that mod. + + { + diag_log format["_fnc_mainThread:: -- >> _x = %1 and _x select 6 = %2",_x, _x select 6]; + if (_x select 6 > 0) then // The mission is not running, check the time left till it is spawned + { + if (diag_tickTime > (_x select 6)) then // time to spawn the mission + { + private _coords = [] call blck_fnc_FindSafePosn; + _coords pushback 0; + blck_ActiveMissionCoords pushback _coords; // Note, old entries are delete in blck_fnc_FindSafePosn + private["_markerClass","_missionName","_missionPath","_aiDifficultyLevel"]; + //diag_log format["_fnc_mainThread:: -->> _missionClass would = %1%2",_x select 2, _index]; + _markerClass = _x select 2; + diag_log format["_fnc_mainThread:: -->> _markerClass = %1",_markerClass]; + _aiDifficultyLevel = _x select 4; + _missionName = selectRandom (_x select 0); + _missionPath = _x select 1; + // example: + // [_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter] + [_coords,_markerClass,_aiDifficultyLevel] execVM format["\q\addons\custom_server\Missions\%1\%2.sqf",_missionPath,_missionName]; + }; + }; + }forEach blck_pendingMissions; + _timer1min = diag_tickTime; + + }; if ((diag_tickTime - _timer5min) > 300) then { @@ -60,26 +87,7 @@ while {true} do }; */ - { - if (_x select 6 > 0) then // The mission is not running, check the time left till it is spawned - { - if (diag_tickTime > (_x select 6)) then // time to spawn the mission - { - private _coords = [] call blck_fnc_FindSafePosn; - _coords pushback 0; - blck_ActiveMissionCoords pushback _coords; - private["_markerClass","_missionName","_missionPath","_aiDifficultyLevel"]; - diag_log format["_fnc_mainThread:: -->> _missionClass would = %1%2",_x select 2, _index]; - _markerClass = _x select 2; - [_markerClass,"Active",_coords] call blck_fnc_updateMissionQue; - _aiDifficultyLevel = _x select 4; - _missionName = selectRandom (_x select 0); - _missionPath = _x select 1; - // [_missionListHunbers,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter] - [_coords,_markerClass,_aiDifficultyLevel] execVM format["\q\addons\custom_server\Missions\%1\%2.sqf",_missionPath,_missionName]; - }; - }; - }forEach blck_pendingMissions; + }; diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf index 9d8af0b..6a0eeac 100644 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf +++ b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf @@ -24,7 +24,7 @@ if (blck_debugLevel isEqualTo 3) then diag_log format["spawnGroup.sqf: _numbertospawn = %1",_numbertospawn]; }; //Creates a group to make them attack players -_groupSpawned = createGroup blck_AI_Side; // ; Group changed for Exile for which player is RESISTANCE. +_groupSpawned = createGroup blck_AI_Side; if !(isNull _groupSpawned) then { diag_log format["_fnc_spawnGroup:: -- >> Group created = %1",_groupSpawned]; diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf index 6b7c484..752ff9f 100644 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf +++ b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf @@ -5,17 +5,18 @@ Last modified 10-14-16 */ -private _mission = _this; -diag_log format["_fnc_addMissionToQue:: -- >> _mission - %1",_mission]; +//private _mission = _this; +//diag_log format["_fnc_addMissionToQue:: -- >> _mission - %1",_mission]; // 0 1 2 3 4 5 // [_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange,] -params["_missionList","_path","_marker","_difficulty","_tMin","_tMax","_noMissions"]; +params["_missionList","_path","_marker","_difficulty","_tMin","_tMax",["_noMissions",1]]; for "_i" from 1 to _noMissions do { private _waitTime = diag_tickTime + (_tMin) + random((_tMax) - (_tMin)); - _mission = [_missionList,_path,format["%1%2",_marker,_i],_difficulty,_tMin,_tMax,_waitTime,[0,0,0]]; - //diag_log format["-fnc_addMissionToQue::-->> _mission = %1",_mission]; + // 0 1 2 3 4 5 6 7 + private _mission = [_missionList,_path,format["%1%2",_marker,_i],_difficulty,_tMin,_tMax,_waitTime,[0,0,0]]; + diag_log format["-fnc_addMissionToQue::-->> _mission = %1",_mission]; blck_pendingMissions pushback _mission; }; diag_log format["_fnc_addMissionToQue:: -- >> Result - blck_pendingMissions = %1",blck_pendingMissions]; diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf index 981f002..93ae443 100644 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf +++ b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf @@ -57,9 +57,9 @@ else //diag_log "missionSpawner:: Mission specific values used for _reinforcementLootCounts"; }; -if (blck_debugON) exitWith { +if (blck_debugON) then { diag_log format["[blckEagle] Mission Reinforcement Parameters: changeReinforcements %1 numAI %2 changePatrol %3 chanceLoot %4",_chanceReinforcements,_noPara,_chanceHeliPatrol,_chanceLoot]; - [_blck_localMissionMarker select 0,"Completed"] call blck_fnc_updateMissionQue; + //[_blck_localMissionMarker select 0,"Completed"] call blck_fnc_updateMissionQue; }; private["_useMines","_abortMissionSpawner","_blck_AllMissionAI","_delayTime","_groupPatrolRadius"]; @@ -77,6 +77,9 @@ _delayTime = 1; _groupPatrolRadius = 50; _abortMissionSpawner = false; +// [_markerClass,"Active",_coords] call blck_fnc_updateMissionQue; +[_blck_localMissionMarker select 0,"Active",_coords] call blck_fnc_updateMissionQue; + if ((_noEmplacedWeapons + _noAIGroups + _noVehiclePatrols + ([] call blck_fnc_groupsOnAISide)) > 140) then { // There are insufficient groups available within the 144 group per side maximum to spawn the entire mission // Log the Error Condition diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf index af92639..6b00757 100644 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf +++ b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf @@ -43,7 +43,7 @@ if (blck_useKilledAIName) then _message = format["[blck] %1 killed with %2 from %3 meters",name _killer,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _killer)]; }; _message =_message + _killstreakMsg; -diag_log format["[blck] unit killed message is %1",_message,""]; +//diag_log format["[blck] unit killed message is %1",_message,""]; [["aikilled",_message,"victory"]] call blck_fnc_messageplayers; [_unit,_killer,_kills] call blck_fnc_rewardKiller; { diff --git a/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf b/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf index f1f1add..d82b6fe 100644 --- a/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf +++ b/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf @@ -89,6 +89,7 @@ Last modified 8/1/15 blck_killEmptyAIVehicles = true; // when true, the AI vehicle will be extensively damaged once all AI have gotten out. blck_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases + // Updated for v6.51 //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission. blck_enableOrangeMissions = 1; blck_enableGreenMissions = 1; @@ -130,9 +131,6 @@ Last modified 8/1/15 blck_MissionTimout = 40*60; // 40 min - // Define the maximum number of crash sites on the map at any one time - blck_maxCrashSites = 3; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable - blck_maxDynamicUnderwaterMissions = 3; /**************************************************************** GENERAL AI SETTINGS @@ -141,7 +139,7 @@ Last modified 8/1/15 blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND" - blck_AI_Side = INDEPENDENT; + blck_AI_Side = RESISTANCE; blck_chanceBackpack = 0.3; // Chance AI will be spawned with a backpack blck_useNVG = true; // When true, AI will be spawned with NVG if is dark diff --git a/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf b/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf index 858d827..9a30212 100644 --- a/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf +++ b/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf @@ -11,15 +11,10 @@ switch (toLower (worldName)) do { case"tanoa": {blck_maxCrashSites = 2}; case"namalsk": { - blck_enableOrangeMissions = 1; + blck_enableOrangeMissions = -1; blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - - // Define the maximum number of crash sites on the map at any one time - blck_maxCrashSites = -1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable + blck_enableRedMissions = -1; + blck_enableBlueMissions = 1; } }; @@ -34,11 +29,7 @@ if (blck_debugON) then blck_enableGreenMissions = 1; blck_enableRedMissions = 1; blck_enableBlueMissions = 1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = 1; - blck_maxCrashSites = 3; - - blck_enabeUnderwaterMissions = -1; + blck_cleanupCompositionTimer = 10; // Time after mission completion at which items in the composition are deleted. blck_AliveAICleanUpTime = 10; // Time after mission completion at which any remaining live AI are deleted. @@ -60,18 +51,14 @@ if (blck_debugON) then blck_TMin_Red = 20; blck_TMin_Green = 23; blck_TMin_Orange = 20; - blck_TMin_Hunter = 15; - blck_TMin_Scouts = 20; - blck_TMin_Crashes = 5; + //Maximum Spawn time between missions in seconds blck_TMax_Blue = 12; blck_TMax_Red = 35; blck_TMax_Green = 38; blck_TMax_Orange = 31; - blck_TMax_Hunter = 40; - blck_TMax_Scouts = 45; - blck_TMax_Crashes = 15; + //blck_MissionTimout = 120; // 40 min blck_SkillsBlue = [ diff --git a/@epochhive/addons/custom_server/init/blck_init.sqf b/@epochhive/addons/custom_server/init/blck_init.sqf index 3045f26..95c5abe 100644 --- a/@epochhive/addons/custom_server/init/blck_init.sqf +++ b/@epochhive/addons/custom_server/init/blck_init.sqf @@ -12,15 +12,6 @@ _blck_loadingStartTime = diag_tickTime; #include "\q\addons\custom_server\init\build.sqf"; diag_log format["[blckeagls] Loading version %1 Build %2",_blck_versionDate,_blck_version]; -// spawn map addons to give the server time to position them before spawning in crates etc. -if (blck_spawnMapAddons) then -{ - call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\MapAddons\MapAddons_init.sqf"; -}else{ - diag_log "[blckegls] Map Addons disabled"; -}; -blck_spawnMapAddons = nil; - call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf"; waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;}; waitUntil{blck_variablesLoaded}; @@ -57,6 +48,15 @@ if (_modType isEqualTo "Exile") then if (blck_blacklistTraderCities || blck_blacklistSpawns || blcklistConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\getTraderCitesExile.sqf";}; }; +// spawn map addons to give the server time to position them before spawning in crates etc. +if (blck_spawnMapAddons) then +{ + call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\MapAddons\MapAddons_init.sqf"; +}else{ + diag_log "[blckegls] Map Addons disabled"; +}; +blck_spawnMapAddons = nil; + diag_log "[blckeagls] Loading Map-specific information"; execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_findWorld.sqf"; waitUntil {(isNil "blck_worldSet") isEqualTo false;}; diff --git a/@epochhive/addons/custom_server/init/build.sqf b/@epochhive/addons/custom_server/init/build.sqf index b10ba6a..d6669e9 100644 --- a/@epochhive/addons/custom_server/init/build.sqf +++ b/@epochhive/addons/custom_server/init/build.sqf @@ -1,3 +1,3 @@ private ["_version","_versionDate"]; -_blck_version = "6.50 Build 21"; -_blck_versionDate = "12-22-16 8:00 PM"; +_blck_version = "6.51 Build 22"; +_blck_versionDate = "1-2-17 1:00 PM"; diff --git a/MPMissions/epoch.Altis/debug/blckClient.sqf b/MPMissions/epoch.Altis/debug/blckClient.sqf index ee16c5f..b5e3481 100644 --- a/MPMissions/epoch.Altis/debug/blckClient.sqf +++ b/MPMissions/epoch.Altis/debug/blckClient.sqf @@ -198,3 +198,4 @@ if (hasInterface) then }; }; +