From 1d42585fe51aa35f929b4b6502fd00a03b20759d Mon Sep 17 00:00:00 2001 From: Chris Cardozo Date: Mon, 19 Nov 2018 15:33:20 -0500 Subject: [PATCH] Build 163 Many code optimizations and a few bug fixes, all courtesy of HeMan. --- .../Functions/GMS_fnc_addMoneyToObject.sqf | 4 +- .../GMS_fnc_emptyObjectInventory.sqf | 9 - .../Compiles/Functions/GMS_fnc_mainThread.sqf | 1 - .../GMS_fnc_spawnMissionEmplacedRelative.sqf | 2 +- .../Groups/GMS_fnc_create_AI_Group.sqf | 2 +- .../Missions/GMS_fnc_cleanUpObjects.sqf | 32 +- .../Compiles/Missions/GMS_fnc_endMission.sqf | 6 - .../GMS_fnc_spawnEmplacedWeaponArray.sqf | 5 +- .../Missions/GMS_fnc_spawnMissionAI.sqf | 7 +- .../Missions/GMS_fnc_spawnPendingMissions.sqf | 4 - .../Missions/GMS_fnc_spawnRandomLandscape.sqf | 9 +- .../Compiles/Units/GMS_fnc_cleanupAliveAI.sqf | 54 +- .../Compiles/Units/GMS_fnc_cleanupDeadAI.sqf | 2 +- .../Units/GMS_fnc_processIlleagalAIKills.sqf | 2 +- .../Compiles/Units/GMS_fnc_spawnUnit.sqf | 6 +- .../Vehicles/GMS_fnc_revealNearbyPlayers.sqf | 71 +- .../Vehicles/GMS_fnc_spawnMissionHeli.sqf | 4 +- .../Vehicles/GMS_fnc_spawnVehiclePatrol.sqf | 7 +- .../Vehicles/GMS_fnc_vehicleMonitor.sqf | 17 +- .../custom_server/Compiles/blck_functions.sqf | 300 ++-- .../custom_server/Compiles/blck_variables.sqf | 4 +- .../custom_server/Configs/blck_configs.sqf | 79 +- .../Configs/blck_configs_epoch.sqf | 16 +- .../Configs/blck_configs_epoch_mil.sqf | 14 +- .../Configs/blck_configs_exile.sqf | 14 +- .../Configs/blck_configs_exile_mil.sqf | 14 +- .../Configs/blck_configs_mil.sqf | 83 +- .../Configs/blck_custom_config.sqf | 20 +- .../Configs/blck_custom_config_DEV.sqf | 1352 ----------------- .../Configs/blck_custom_config_RC.sqf | 1269 ---------------- .../custom_server/Configs/blck_defines.hpp | 2 +- .../Configs/blck_dynamicConfigs.sqf | 2 - .../Static/missions/staticMissionExample1.sqf | 66 - .../Static/missions/staticMissionExample2.sqf | 135 -- .../staticMissions/staticMissionExample2.sqf | 133 -- .../custom_server/init/GMS_fnc_findWorld.sqf | 16 +- .../init/GMS_fnc_getTraderCites.sqf | 9 +- .../custom_server/init/blck_defines.hpp | 37 - .../custom_server/init/blck_init_HC.sqf | 14 +- .../custom_server/init/blck_init_server.sqf | 101 +- .../custom_server/init/broadcastServerFPS.sqf | 14 - @GMS/addons/custom_server/init/build.sqf | 4 +- 42 files changed, 512 insertions(+), 3430 deletions(-) delete mode 100644 @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObjectInventory.sqf delete mode 100644 @GMS/addons/custom_server/Configs/blck_custom_config_DEV.sqf delete mode 100644 @GMS/addons/custom_server/Configs/blck_custom_config_RC.sqf delete mode 100644 @GMS/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf delete mode 100644 @GMS/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf delete mode 100644 @GMS/addons/custom_server/Missions/UMS/staticMissions/staticMissionExample2.sqf delete mode 100644 @GMS/addons/custom_server/init/blck_defines.hpp delete mode 100644 @GMS/addons/custom_server/init/broadcastServerFPS.sqf diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addMoneyToObject.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addMoneyToObject.sqf index 5848ad7..39c10c6 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addMoneyToObject.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addMoneyToObject.sqf @@ -19,7 +19,7 @@ params["_obj","_difficulty"]; diag_log format["_fnc_addMoneyToOject: _this select %1 = %2",_foreachindex, _this select _foreachindex]; }forEach _this; #endif -if ((tolower blck_modType) isEqualTo "exile") then +if (blck_modType isEqualTo "Exile") then { switch (_difficulty) do { @@ -33,7 +33,7 @@ if ((tolower blck_modType) isEqualTo "exile") then }; }; -if ((tolower blck_modType) isEqualTo "epoch") then +if (blck_modType isEqualTo "Epoch") then { switch (_difficulty) do { diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObjectInventory.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObjectInventory.sqf deleted file mode 100644 index 8e911cd..0000000 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObjectInventory.sqf +++ /dev/null @@ -1,9 +0,0 @@ - - - - // replaces blck_fnc_emptyObject - params["_object"]; - clearWeaponCargoGlobal _object; - clearMagazineCargoGlobal _object; - clearBackpackCargoGlobal _object; - clearItemCargoGlobal _object; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf index 152885c..46d1e1c 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf @@ -61,7 +61,6 @@ while {true} do { [] call blck_fnc_timeAcceleration; }; - #ifdef blck_debugMode //diag_log format["_fnc_mainThread: active SQFscripts include: %1",diag_activeSQFScripts]; diag_log format["_fnc_mainThread: active scripts include: %1",diag_activeScripts]; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionEmplacedRelative.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionEmplacedRelative.sqf index d1f3ef8..a7db252 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionEmplacedRelative.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionEmplacedRelative.sqf @@ -22,7 +22,7 @@ _obj setDir _objDir; _unit = [_group] call blck_fnc_spawnUnit; _unit moveInGunner _unit; - _wep addMPEventHandler["MPHit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; + _wep addMPEventHandler["MPHit",{[_this] call blck_EH_AIVehicle_HandleDamage}]; _wep setVariable["GRG_vehType","emplaced"]; [_wep,false] call blck_fnc_configureMissionVehicle; }forEach _emplaced; diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_create_AI_Group.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_create_AI_Group.sqf index b2d35da..06cf2f1 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_create_AI_Group.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_create_AI_Group.sqf @@ -29,4 +29,4 @@ _groupSpawned setVariable ["blck_group",true,true]; if (blck_debugLevel >= 2) then {diag_log format["_fnc_create_AI_Group: _groupSpawned = %1",_groupSpawned]}; #endif -_groupSpawned +_groupSpawned \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf index 139e192..0121f33 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf @@ -19,45 +19,33 @@ _fn_deleteObjects = { params["_objects"]; - #ifdef blck_debugMode if (blck_debugLevel > 0) then {diag_log format["_fn_deleteObjects:: -> _objects = %1",_objects];}; #endif - { #ifdef blck_debugMode if (blck_debugLevel > 1) then {diag_log format["_fnc_cleanUpObjects: -> deleting object %1",_x];}; #endif - deleteVehicle _x; } forEach _objects; }; //diag_log format["_fnc_cleanUpObjects called at %1",diag_tickTime]; private["_oldObjs"]; -for "_i" from 1 to (count blck_oldMissionObjects) do -{ - if (_i <= count blck_oldMissionObjects) then - { - _oldObjs = blck_oldMissionObjects select (_i - 1); - //diag_log format["_fnc_cleanUpObjects ::-->> evaluating missionObjects = %1 with delete time of %3 and diag_tickTime %2",_oldObjs,diag_tickTime, _oldObjs select 1]; - if (diag_tickTime > (_oldObjs select 1) ) then { - //diag_log format["_fn_deleteObjects:: (50) cleaning up mission objects %1",_oldObjs]; - [_oldObjs select 0] call _fn_deleteObjects; +for "_i" from 1 to (count blck_oldMissionObjects) do { + if (_i <= count blck_oldMissionObjects) then { + _oldObjs = blck_oldMissionObjects deleteat 0; + _oldObjs params ["_objarr","_timer"]; + if (diag_tickTime > _timer) then { + [_objarr] call _fn_deleteObjects; uiSleep 0.1; - blck_oldMissionObjects set[(_i - 1), -1]; - blck_oldMissionObjects = blck_oldMissionObjects - [-1]; - #ifdef blck_debugMode //diag_log format["_fn_deleteObjects:: blck_oldMissionObjects updated from %1",_obj]; if (blck_debugLevel > 1) then {diag_log format["_fn_deleteObjects:: (48) blck_oldMissionObjects updated to %1",blck_oldMissionObjects];}; #endif + } + else { + blck_oldMissionObjects pushback _oldObjs; }; }; -}; - - - - - - +}; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf index 2353ef0..f17d00b 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf @@ -62,12 +62,6 @@ _fn_missionCleanup = { diag_log format["_fnc_endMission: Mission Aborted, setting all timers to 0"]; }; #endif - /* - if (_endCondition == 2) then - { - [["warning",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; - }; - */ [_blck_localMissionMarker select 0] call blck_fnc_deleteMarker; _cleanupCompositionTimer = 0; _cleanupAliveAITimer = 0; diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf index 9aed887..9dd86ed 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf @@ -94,7 +94,7 @@ if (blck_debugLevel > 1) then _empGroup setcombatmode "RED"; _empGroup setBehaviour "COMBAT"; [(_x select 1),0.01,0.02,_empGroup,"random","SAD","emplaced"] spawn blck_fnc_setupWaypoints; - if (isNull _empGroup) exitWith {_abort = _true}; + if (isNull _empGroup) exitWith {_abort = true}; #ifdef blck_debugMode if (blck_debugLevel > 1) then @@ -105,8 +105,7 @@ if (blck_debugLevel > 1) then // params["_vehType","_pos",["_clearInventory",true]]; _wep = [(_x select 0),[0,0,0],false,true] call blck_fnc_spawnVehicle; - //_wep addEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; - _wep addMPEventHandler["MPHit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; + _wep addMPEventHandler ["MPHit",{[_this] call blck_EH_AIVehicle_HandleDamage}]; //_empGroup setVariable["groupVehicle",_wep]; _wep setVariable["vehicleGroup",_empGroup]; #ifdef blck_debugMode diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf index 0c2b044..0349ff9 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf @@ -70,7 +70,7 @@ if ( (count _missionGroups > 0) && _noAIGroups > 0) then else { _newAI = units _newGroup; - //blck_monitoredMissionAIGroups pushback _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode if (blck_debugLevel >= 2) then { @@ -152,6 +152,7 @@ if (_missionGroups isEqualTo [] && _noAIGroups > 0) then { _newAI = units _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode if (blck_debugLevel >= 2) then { @@ -181,6 +182,7 @@ if (_missionGroups isEqualTo [] && _noAIGroups > 0) then { _newAI = units _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode if (blck_debugLevel >= 2) then { @@ -201,6 +203,7 @@ if (_missionGroups isEqualTo [] && _noAIGroups > 0) then { _newAI = units _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode if (blck_debugLevel >= 2) then { @@ -229,6 +232,7 @@ if (_missionGroups isEqualTo [] && _noAIGroups > 0) then }; _newAI = units _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode if (blck_debugLevel >= 2) then { @@ -247,6 +251,7 @@ if (_missionGroups isEqualTo [] && _noAIGroups > 0) then else { _newAI = units _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode if (blck_debugLevel > 2) then { diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf index cb9bfdd..914adf7 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf @@ -68,11 +68,7 @@ if (count _readyToSpawnQue > 0) then // _mission = [_compiledMissionsList,format["%1%2",_marker,_i],_difficulty,_tMin,_tMax,_waitTime,[0,0,0]]; _missionMarker = _missionToSpawn select 1; _missionDifficulty = _missionToSpawn select 2; - //diag_log format["_fnc_spawnPendingMissions: _missionMarker %1",_missionMarker]; - //diag_log format["_fnc_spawnPendingMissions: _missionDifficulty %1",_missionDifficulty]; - //diag_log format["_fnc_spawnPendingMissions: _compiledMission %1",_compiledMission]; [_coords,_missionMarker,_missionDifficulty] spawn _compiledMission; - //diag_log format["_fnc_spawnPendingMissions: blck_missionsRunning = %1", blck_missionsRunning]; }; true diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf index 562d308..d0d906e 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf @@ -13,7 +13,10 @@ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]]; private["_objects","_wreck","_dir","_dirOffset"]; -#define objectSpawnRadius 15 +#define maxObjectSpawnRadius 25 +#define minObjectSpawnRadius 10 +private _objectSpawnRange = maxObjectSpawnRadius - minObjectSpawnRadius; + _objects = []; _wreck = createVehicle ["RoadCone_L_F", _coords]; // To designate the mission center _wreck allowDamage true; @@ -24,8 +27,8 @@ _objects pushBack _wreck; { //Random Position Objects based on distance in array // https://community.bistudio.com/wiki/BIS_fnc_findSafePos - private _posX = ((_coords select 0) + random(objectSpawnRadius)) * (selectRandom[1,-1]); - private _posY = ((_coords select 1) + random(objectSpawnRadius)) * (selectRandom[1,-1]); + private _posX = ((_coords select 0) + ((random(_objectSpawnRange) + minObjectSpawnRadius) * (selectRandom[1,-1])); + private _posY = ((_coords select 1) + ((random(_objectSpawnRange) + minObjectSpawnRadius) * (selectRandom[1,-1])); _pos = [_coords,_min,_max,_nearest,0,5,0] call BIS_fnc_findSafePos; _wreck = createVehicle[_x, _pos, [], 2]; //diag_log format["_fnc_spawnRandomLandscape: _x = %1 | _wreck = %2",_x,_wreck]; diff --git a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf index 5e841cd..c600cb4 100644 --- a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf @@ -13,56 +13,24 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -/* -_fn_deleteAIfromList = { - params["_aiList"]; - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log format["_fn_deleteAIfromList:: _aiList = %1",_aiList];}; - #endif - - { - #ifdef blck_debugMode - if (blck_debugLevel > 1) then {diag_log format["_fn_deleteAIfromList:: -> deleteing AI Unit %1",_x];}; - #endif - - [_x] call blck_fnc_deleteAI; - }forEach _aiList; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["_fnc_cleanupAliveAI called at %1",diag_tickTime];}; -#endif -*/ -for "_i" from 1 to (count blck_liveMissionAI) do -{ - if ((_i) <= count blck_liveMissionAI) then - { - _units = blck_liveMissionAI select (_i - 1); - //diag_log format["_fnc_cleanupAliveAI:: (34) evaluating with delete time = %2 and diag_tickTime %1", diag_tickTime, _units select 1]; - if (diag_tickTime > (_units select 1) ) then - { - //diag_log format["_fnc_cleanupAliveAI:: cleaning up AI group %1",_units]; +for "_i" from 1 to (count blck_liveMissionAI) do { + if ((_i) <= count blck_liveMissionAI) then { + _units = blck_liveMissionAI deleteat 0; + _units params ["_unitsarr","_timer"]; + if (diag_tickTime > _timer) then { { - - //diag_log format["_fnc_cleanupAliveAI:: deleting unit %1",_x]; - //diag_log format["_fnc_cleanupAliveAI:: vehicle _x = %1",vehicle _x]; - //diag_log format["_fnc_cleanupAliveAI:: objectParent _x = %1",objectParent _x]; - - if ((alive _x) && !(isNull objectParent _x)) then // mark the vehicle for deletion - { - //diag_log format["_fnc_cleanupAliveAI: deleteing objectParent %1 [%3] for unit %2",objectParent _x, _x, typeName (objectParent _x), typeOf (objectParent _x)]; + if ((alive _x) && !(isNull objectParent _x)) then { [objectParent _x] call blck_fnc_deleteAIvehicle; }; [_x] call blck_fnc_deleteAI; - }forEach (_units select 0); + } forEach _unitsarr; uiSleep 0.1; - blck_liveMissionAI set[(_i - 1), -1]; - blck_liveMissionAI = blck_liveMissionAI - [-1]; // Remove that list of live AI from the list. - #ifdef blck_debugMode if (blck_debugLevel > 1) then {diag_log format["_fnc_mainTread:: blck_liveMissionAI updated to %1",blck_liveMissionAI];}; #endif + } + else { + blck_liveMissionAI pushback _units; }; }; -}; - +}; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf index c10490a..eab24c7 100644 --- a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf @@ -18,7 +18,7 @@ if (blck_debugLevel > 2) then {diag_log format["fnc_cleanupDeadAI called at time private["_aiList","_ai"]; _aiList = +blck_deadAI; { - if ( diag_tickTime > _x getVariable ["blck_cleanupAt",0] ) then // DBD_DeleteAITimer + if (diag_tickTime > _x getVariable ["blck_cleanupAt",0]) then { _ai = _x; { diff --git a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf index 0bec3ce..e54d152 100644 --- a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf @@ -80,9 +80,9 @@ if ( blck_VK_GunnerDamage ) then if ((currentWeapon _killer) in blck_forbidenVehicleGuns) then { _legal = false;}; }; - if (blck_VK_Gear) then {[_unit] call _fn_deleteAIGear;}; if !(_legal) then { + if (blck_VK_Gear) then {[_unit] call _fn_deleteAIGear;}; [_unit, vehicle _killer] call _fn_targetVehicle; [vehicle _killer] call _fn_applyVehicleDamage; [_killer] call _fn_msgIED; diff --git a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf index 2c3c5e2..b181d8b 100644 --- a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf @@ -193,9 +193,9 @@ if (blck_debugLevel > 2) then }; #endif -_unit addEventHandler ["Reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]; -_unit addMPEventHandler ["MPKilled", {[(_this select 0), (_this select 1)] call compile preprocessfilelinenumbers blck_EH_AIKilled;}]; // changed to reduce number of concurrent threads, but also works as spawn blck_AIKilled; }]; -_unit addMPEventHandler ["MPHit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIHit;}]; +_unit addEventHandler ["Reloaded", {_this call blck_EH_unitWeaponReloaded;}]; +_unit addMPEventHandler ["MPKilled", {[(_this select 0), (_this select 1)] call blck_EH_AIKilled;}]; +_unit addMPEventHandler ["MPHit",{[_this] call blck_EH_AIHit;}]; switch (_skillLevel) do { diff --git a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_revealNearbyPlayers.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_revealNearbyPlayers.sqf index 84da46c..c34eedf 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_revealNearbyPlayers.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_revealNearbyPlayers.sqf @@ -8,45 +8,42 @@ params["_vehicle","_searchRadius","_detectionOdds"]; private["_player","_detectionOdds","_nearbyPlayers","_knowsAbout","_cansee","_knowledgeGained"]; _nearbyPlayers = [position _vehicle, _vehicle getVariable["blck_vehicleSearchRange",500]] call blck_fnc_nearestPlayers; -if (blck_revealMode isEqualTo "detailed") then -{ - private["_crew","_group"]; - _crew = crew _vehicle; - _group = group(_crew select 0); - { - if (random(1) < _detectionOdds) then +switch blck_revealMode do { + case "detailed": { + private["_crew"]; + _crew = crew _vehicle; + if !(_crew isequalto []) then { + { + if (random(1) < _detectionOdds) then { + _player = _x; + { + _cansee = [objNull, "VIEW"] checkVisibility [eyePos _x, position _player]; + if (_cansee > 0) then { + _knowledgeGained = _cansee; + } + else { + _knowledgeGained = _x knowsAbout _player; + if (_knowledgeGained == 0) then {_knowledgeGained = 0.1}; + }; + _x reveal[_player,_knowledgeGained]; + }forEach _crew; + }; + }forEach _nearbyPlayers; + }; + }; + case "basic": { { _player = _x; - { - _cansee = [objNull, "VIEW"] checkVisibility [eyePos _x, position _player]; - if (_cansee > 0) then - { - _knowledgeGained = _cansee; - } else { - _knowledgeGained = _x knowsAbout _player; - if (_knowledgeGained == 0) then {_knowledgeGained = 0.1}; + if (random(1) < _detectionOdds) then { + _knowsAbout = (_vehicle) knowsAbout _player; + if (_knowsAbout > 0) then { + _knowledgeGained = _knowsAbout; + } + else { + _knowledgeGained = (_searchRadius - (_x distance _vehicle))/_searchRadius; }; - _x reveal[_player,_knowledgeGained]; - //diag_log format["_fnc_revealNearbyPlayers: player %1 revealed to unit %2",_player,_x]; - }forEach _crew; - }; - }forEach _nearbyPlayers; -}; - -if (blck_revealMode isEqualTo "basic") then -{ - { - _player = _x; - if (random(1) < _detectionOdds) then - { - _knowsAbout = (_vehicle) knowsAbout _player; - if (_knowsAbout > 0) then - { - _knowledgeGained = _knowsAbout; - } else { - _knowledgeGained = (_searchRadius - (_x distance _vehicle))/_searchRadius; + _x reveal[_player, _knowledgeGained]; }; - _x reveal[_player, _knowledgeGained]; - }; - }forEach _nearbyPlayers; + }forEach _nearbyPlayers; + }; }; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf index 6ef61f1..5ec87e3 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf @@ -55,8 +55,9 @@ if !(isNull _grpPilot) then _grpPilot setVariable["arc",0]; _grpPilot setVariable["wpRadius",30]; _grpPilot setVariable["wpMode","SAD"]; - //[_coords,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] spawn blck_fnc_setupWaypoints; diag_log format["_fnc_spawnMissionHeli - max radii are: blue %1 | red %2 | green %3 | orange %4",blck_maxPatrolRadiusHelisBlue,blck_maxPatrolRadiusHelisRed,blck_maxPatrolRadiusHelisGreen,blck_maxPatrolRadiusHelisOrange]; + diag_log format["_fnc_spawnMissionHeli(59): _skillAI = %1 | _minDist = %2 | _maxDist = %3",_skillAI,_minDist,_maxDist]; + [_coords,_minDist,_maxDist,_grpPilot,"random","SAD","pilot"] call blck_fnc_setupWaypoints; switch (toLower(_skillAI)) do { case "blue": {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisBlue}; @@ -66,7 +67,6 @@ if !(isNull _grpPilot) then default {_minDist = 150; _maxDist = 500}; }; - [_coords,_minDist,_maxDist,_grpPilot,"random","SAD","helicopter"] call blck_fnc_setupWaypoints; blck_monitoredMissionAIGroups pushBack _grpPilot; //create helicopter and spawn it if (( typeName _helis) isEqualTo "ARRAY") then diff --git a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf index 937c362..c8d4454 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf @@ -35,11 +35,10 @@ if (blck_debugLevel > 1) then -if !(isNull _group) then -{ // exitWith {diag_log "[blckeagls] ERROR CONDITION:-->> NULL-GROUP Provided to _fnc_spawnVehiclePatrol"; objNull;}; +if !(isNull _group) then { _veh = [_vehType,_pos] call blck_fnc_spawnVehicle; -// _veh addEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; - _veh addMPEventHandler["MPHit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleHit}]; +// _veh addEventHandler["HandleDamage",{ [_this] call blck_EH_AIVehicle_HandleDamage}]; + _veh addMPEventHandler["MPHit",{ [_this] call blck_EH_AIVehicle_HandleHit}]; _veh setVariable["blck_vehicleSearchRadius",blck_playerDetectionRangeGroundVehicle]; _veh setVariable["blck_vehiclePlayerDetectionOdds",blck_vehiclePlayerDetectionOdds]; diff --git a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf index 4144343..be77337 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf @@ -11,7 +11,7 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -private ["_vehList","_veh","_isEmplaced","_ownerIsPlayer","_allCrewDead","_deleteNow","_evaluate"]; +private ["_vehList"]; _vehList = +blck_monitoredVehicles; #ifdef blck_debugMode @@ -36,17 +36,18 @@ if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: function c if (true) then { - private["_veh","_isEmplaced","_ownerIsPlayer","_allCrewDead","_deleteNow","_evaluate"]; + private["_veh","_isEmplaced","_ownerIsPlayer","_allCrewDead","_evaluate","_deleteat"]; _veh = _x; // (purely for clarity at this point, _x could be used just as well) _isEmplaced = _veh getVariable["GRG_vehType","none"] isEqualTo "emplaced"; - _ownerIsPlayer = if (owner _veh > 2 && !(owner _veh in blck_connectedHCs)) then {true} else {false}; - _allCrewDead = if (({alive _x} count (crew _veh)) == 0) then {true} else {false}; + _ownerIsPlayer = owner _veh > 2 && !(owner _veh in blck_connectedHCs); + _allCrewDead = {alive _x} count (crew _veh) == 0; _evaluate = 0; - if (_allCrewDead && _isEmplaced && (_veh getVariable["blck_deleteAt",0] == 0)) then {_evaluate = 1}; - if (_allCrewDead && !(_isEmplaced) && (_veh getVariable["blck_deleteAt",0] == 0)) then {_evaluate = 2}; - if ((_veh getVariable["blck_deleteAt",0] > 0) && (diag_tickTime > (_veh getVariable["blck_deleteAt",0]))) then {_evaluate = 3}; - if (/*_ownerIsPlayer*/ (owner _veh > 2) && !(owner _veh in blck_connectedHCs)) then {_evaluate = 4}; + _deleteat = _veh getVariable ["blck_deleteAt",0]; + if (_allCrewDead && _isEmplaced && _deleteat == 0) then {_evaluate = 1}; + if (_allCrewDead && !(_isEmplaced) && _deleteat == 0) then {_evaluate = 2}; + if (_deleteat > 0 && diag_tickTime > _deleteat) then {_evaluate = 3}; + if (_ownerIsPlayer) then {_evaluate = 4}; //diag_log format["_fnc_vehicleMonitor: vehicle = %1 | owner = %2 | crew = %2",_veh, owner _veh, {alive _x} count (crew _veh)]; switch (_evaluate) do { diff --git a/@GMS/addons/custom_server/Compiles/blck_functions.sqf b/@GMS/addons/custom_server/Compiles/blck_functions.sqf index 5a7f9bc..6c45af0 100644 --- a/@GMS/addons/custom_server/Compiles/blck_functions.sqf +++ b/@GMS/addons/custom_server/Compiles/blck_functions.sqf @@ -13,161 +13,159 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -// General functions -blck_fnc_waitTimer = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_waitTimer.sqf"; -blck_fnc_timedOut = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_timedOut.sqf"; -blck_fnc_FindSafePosn = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_findSafePosn.sqf"; -blck_fnc_randomPosition = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_randomPosn.sqf";// find a randomPosn. see script for details. -blck_fnc_findPositionsAlongARadius = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_findPositionsAlongARadius.sqf"; -blck_fnc_giveTakeCrypto = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_giveTakeCrypto.sqf"; -blck_fnc_timeAcceleration = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\TimeAccel\GMS_fnc_Time.sqf"; -blck_fnc_getModType = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getModType.sqf"; // Test if Epoch or Exile is loaded -blck_fnc_groupsOnAISide = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_GroupsOnAISide.sqf"; // Returns the number of groups on the side used by AI -blck_fnc_emptyObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObject.sqf"; -blck_fnc_playerInRange = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRange.sqf"; -blck_fnc_playerInRangeArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRangeArray.sqf"; // GMS_fnc_playerInRangeArray -blck_fnc_mainThread = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_mainThread.sqf"; -blck_fnc_allPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_allPlayers.sqf"; -blck_fnc_addItemToCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_addItemToCrate.sqf"; -blck_fnc_loadLootItemsFromArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_loadLootItemsFromArray.sqf"; -blck_fnc_getNumberFromRange = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getNumberFromRange.sqf"; -blck_fnc_spawnMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMarker.sqf"; -blck_fnc_missionCompleteMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_missionCompleteMarker.sqf"; -blck_fnc_deleteMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_deleteMarker.sqf"; -blck_fnc_updateMarkerAliveCount = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_updateMarkerAliveCount.sqf"; -blck_fnc_addMoneyToObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_addMoneyToObject.sqf"; -blck_fnc_spawnMissionEmplacedRelative = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionEmplacedRelative.sqf"; -blck_fnc_spawnMissionLootBoxesRelative = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionLootBoxesRelative.sqf"; -blck_fnc_spawnSingleObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnSingleObject.sqf"; -blck_fnc_emptyObjectInventory = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObjectInventory.sqf"; -blck_fnc_spawnMissionLandscapeRelative = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionLandscapeRelative.sqf"; -blck_fnc_nearestPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_nearestPlayers.sqf"; -//blck_fnc_getTraderCitiesEpoch = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitiesEpoch.sqf"; -//blck_fnc_getTraderCitesExile = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf"; +private _functions = [ + // General functions + ["blck_fnc_waitTimer","\q\addons\custom_server\Compiles\Functions\GMS_fnc_waitTimer.sqf"], + ["blck_fnc_timedOut","\q\addons\custom_server\Compiles\Functions\GMS_fnc_timedOut.sqf"], + ["blck_fnc_FindSafePosn","\q\addons\custom_server\Compiles\Functions\GMS_fnc_findSafePosn.sqf"], + ["blck_fnc_randomPosition","\q\addons\custom_server\Compiles\Functions\GMS_fnc_randomPosn.sqf"], // find a randomPosn. see script for details. + ["blck_fnc_findPositionsAlongARadius","\q\addons\custom_server\Compiles\Functions\GMS_fnc_findPositionsAlongARadius.sqf"], + ["blck_fnc_giveTakeCrypto","\q\addons\custom_server\Compiles\Functions\GMS_fnc_giveTakeCrypto.sqf"], + ["blck_fnc_timeAcceleration","\q\addons\custom_server\Compiles\TimeAccel\GMS_fnc_Time.sqf"], + ["blck_fnc_groupsOnAISide","\q\addons\custom_server\Compiles\Functions\GMS_fnc_GroupsOnAISide.sqf"], // Returns the number of groups on the side used by AI + ["blck_fnc_emptyObject","\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObject.sqf"], + ["blck_fnc_playerInRange","\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRange.sqf"], + ["blck_fnc_playerInRangeArray","\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRangeArray.sqf"], + ["blck_fnc_mainThread","\q\addons\custom_server\Compiles\Functions\GMS_fnc_mainThread.sqf"], + ["blck_fnc_allPlayers","\q\addons\custom_server\Compiles\Functions\GMS_fnc_allPlayers.sqf"], + ["blck_fnc_addItemToCrate","\q\addons\custom_server\Compiles\Functions\GMS_fnc_addItemToCrate.sqf"], + ["blck_fnc_loadLootItemsFromArray","\q\addons\custom_server\Compiles\Functions\GMS_fnc_loadLootItemsFromArray.sqf"], + ["blck_fnc_getNumberFromRange","\q\addons\custom_server\Compiles\Functions\GMS_fnc_getNumberFromRange.sqf"], + ["blck_fnc_spawnMarker","\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMarker.sqf"], + ["blck_fnc_missionCompleteMarker","\q\addons\custom_server\Compiles\Functions\GMS_fnc_missionCompleteMarker.sqf"], + ["blck_fnc_deleteMarker","\q\addons\custom_server\Compiles\Functions\GMS_fnc_deleteMarker.sqf"], + ["blck_fnc_updateMarkerAliveCount","\q\addons\custom_server\Compiles\Functions\GMS_fnc_updateMarkerAliveCount.sqf"], + ["blck_fnc_addMoneyToObject","\q\addons\custom_server\Compiles\Functions\GMS_fnc_addMoneyToObject.sqf"], + ["blck_fnc_spawnMissionEmplacedRelative","\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionEmplacedRelative.sqf"], + ["blck_fnc_spawnMissionLootBoxesRelative","\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionLootBoxesRelative.sqf"], + ["blck_fnc_spawnSingleObject","\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnSingleObject.sqf"], + ["blck_fnc_emptyObjectInventory","\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObjectInventory.sqf"], + ["blck_fnc_spawnMissionLandscapeRelative","\q\addons\custom_server\Compiles\Functions\GMS_fnc_spawnMissionLandscapeRelative.sqf"], + ["blck_fnc_nearestPlayers","\q\addons\custom_server\Compiles\Functions\GMS_fnc_nearestPlayers.sqf"], + + // Player-related functions + ["blck_fnc_rewardKiller","\q\addons\custom_server\Compiles\Units\GMS_fnc_rewardKiller.sqf"], + ["blck_fnc_MessagePlayers","\q\addons\custom_server\Compiles\Functions\GMS_fnc_AIM.sqf"], // Send messages to players regarding Missions + + // Mission-related functions + ["blck_fnc_selectAILoadout","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAILoadout.sqf"], + ["blck_fnc_selectAISidearms","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAISidearms.sqf"], + ["blck_fnc_selectAIUniforms","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIUniforms.sqf"], + ["blck_fnc_selectAIHeadgear","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIHeadgear.sqf"], + ["blck_fnc_selectAIVests","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIVests.sqf"], + ["blck_fnc_selectAIBackpacks","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIBackpacks.sqf"], + ["blck_fnc_selectChanceHeliPatrol","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectChanceHeliPatrol.sqf"], + ["blck_fnc_selectMissionHelis","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectMissionHelis.sqf"], + ["blck_fnc_selectNumberAirPatrols","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectNumberAirPatrols.sqf"], + ["blck_fnc_selectNumberParatroops","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectNumberParatroops.sqf"], + ["blck_fnc_selectChanceParatroops","\q\addons\custom_server\Compiles\Missions\GMS_fnc_selecctChanceParatroops.sqf"], + ["blck_fnc_addMissionToQue","\q\addons\custom_server\Compiles\Missions\GMS_fnc_addMissionToQue.sqf"], + ["blck_fnc_updateMissionQue","\q\addons\custom_server\Compiles\Missions\GMS_fnc_updateMissionQue.sqf"], + ["blck_fnc_spawnPendingMissions","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnPendingMissions.sqf"], + ["blck_fnc_addLiveAItoQue","\q\addons\custom_server\Compiles\Missions\GMS_fnc_addLiveAItoQue.sqf"], + ["blck_fnc_addObjToQue","\q\addons\custom_server\Compiles\Missions\GMS_fnc_addObjToQue.sqf"], + ["blck_fnc_spawnCrate","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnCrate.sqf"], // Simply spawns a crate of a specified type at a specific position. + ["blck_fnc_spawnMissionCrates","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionCrates.sqf"], + ["blck_fnc_cleanupObjects","\q\addons\custom_server\Compiles\Missions\GMS_fnc_cleanUpObjects.sqf"], + ["blck_fnc_spawnCompositionObjects","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnBaseObjects.sqf"], + ["blck_fnc_spawnRandomLandscape","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnRandomLandscape.sqf"], + ["blck_fnc_spawnMissionVehiclePatrols","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionVehiclePatrols.sqf"], + ["blck_fnc_spawnEmplacedWeaponArray","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnEmplacedWeaponArray.sqf"], + ["blck_fnc_spawnMissionAI","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionAI.sqf"], + ["blck_fnc_spawnMissionLootVehicles","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionLootVehicles.sqf"], + ["blck_fnc_fillBoxes","\q\addons\custom_server\Compiles\Missions\GMS_fnc_fillBoxes.sqf"], // Adds items to an object according to passed parameters. See the script for details. + ["blck_fnc_smokeAtCrates","\q\addons\custom_server\Compiles\Missions\GMS_fnc_smokeAtCrates.sqf"], // Spawns a wreck and adds smoke to it + ["blck_fnc_spawnMines","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMines.sqf"], // Deploys mines at random locations around the mission center + ["blck_fnc_clearMines","\q\addons\custom_server\Compiles\Missions\GMS_fnc_clearMines.sqf"], // clears mines in an array passed as a parameter + ["blck_fnc_signalEnd","\q\addons\custom_server\Compiles\Missions\GMS_fnc_signalEnd.sqf"], // deploy smoke grenades at loot crates at the end of the mission. + ["blck_fnc_endMission","\q\addons\custom_server\Compiles\Missions\GMS_fnc_endMission.sqf"], + ["blck_fnc_paraDropObject","\q\addons\custom_server\Compiles\Missions\GMS_fnc_paraDropObject.sqf"], + ["blck_fnc_loadMissionCrate","\q\addons\custom_server\Compiles\Missions\GMS_fnc_loadMissionCrate.sqf"], + ["blck_fnc_crateMoved","\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMoved.sqf"], + ["blck_fnc_crateMarker","\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMarker.sqf"], + ["blck_fnc_garrisonBuilding_RelPosSystem","\q\addons\custom_server\Compiles\Missions\GMS_fnc_garrisonBuilding_relPosSystem.sqf"], + ["blck_fnc_garrisonBuilding_ATLsystem","\q\addons\custom_server\Compiles\Missions\GMS_fnc_garrisonBuilding_ATLsystem.sqf"], + ["blck_fnc_spawnGarrisonInsideBuilding_ATL","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf"], + ["blck_fnc_spawnGarrisonInsideBuilding_relPos","\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf"], + + // Group-related functions + ["blck_fnc_spawnGroup","\q\addons\custom_server\Compiles\Groups\GMS_fnc_spawnGroup.sqf"], // Spawn a single group and populate it with AI units] + ["blck_fnc_setupWaypoints","\q\addons\custom_server\Compiles\Groups\GMS_fnc_setupWaypoints.sqf"], // Set default waypoints for a group + ["blck_fnc_missionGroupMonitor","\q\addons\custom_server\Compiles\Groups\GMS_fnc_missionGroupMonitor.sqf"], // Monitors active groups for those that are stuck in an SAD waypoint but not in combat + ["blck_fnc_changeToSADWaypoint","\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToSADWaypoint.sqf"], + ["blck_fnc_changeToMoveWaypoint","\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToMoveWaypoint.sqf"], + ["blck_fnc_changeToSentryWaypoint","\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToSentryWaypoint.sqf"], +// ["blck_fnc_setNextWaypoint","\q\addons\custom_server\Compiles\Groups\GMS_fnc_setNextWaypoint.sqf"], + ["blck_fnc_cleanEmptyGroups","\q\addons\custom_server\Compiles\Groups\GMS_fnc_cleanEmptyGroups.sqf"], // GMS_fnc_cleanEmptyGroups + ["blck_fnc_findNearestInfantryGroup","\q\addons\custom_server\Compiles\Groups\GMS_fnc_findNearestInfantryGroup.sqf"], + ["blck_fnc_create_AI_Group","\q\addons\custom_server\Compiles\Groups\GMS_fnc_create_AI_Group.sqf"], // create a group for which other functions spawn AI. + + // Functions specific to vehicles, whether wheeled, aircraft or static + ["blck_fnc_spawnVehicle","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehicle.sqf"], + ["blck_fnc_spawnVehiclePatrol","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehiclePatrol.sqf"], + ["blck_fnc_protectVehicle","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_protectVehicle.sqf"], + ["blck_fnc_configureMissionVehicle","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_configureMissionVehicle.sqf"], + ["blck_fnc_vehicleMonitor","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitor.sqf"], + ["blck_fnc_spawnMissionReinforcements","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionReinforcements.sqf"], + ["blck_fnc_spawnMissionHeli","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionHeli.sqf"], + ["blck_EH_AIVehicle_HandleHit","\q\addons\custom_server\Compiles\Vehicles\GMS_EH_AIVehicle_Hit.sqf"], + ["blck_fnc_HandleAIVehicleHit","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_HandleAIVehicleHit.sqf"], + ["blck_EH_VehicleKilled","\q\addons\custom_server\Compiles\Vehicles\GMS_EH_VehicleKilled.sqf"], + ["blck_fnc_processAIVehicleKill","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_processAIVehicleKill.sqf"], + ["blck_fnc_selectPatrolVehicle","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_selectPatrolVehicle.sqf"], + ["blck_fnc_releaseVehicleToPlayers","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_releaseVehicleToPlayers.sqf"], + ["blck_fnc_deleteAIVehicle","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_deleteAIVehicle.sqf"], + ["blck_fnc_destroyVehicleAndCrew","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_destroyVehicleAndCrew.sqf"], + ["blck_fnc_reloadVehicleAmmo","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_reloadVehicleAmmo.sqf"], + ["blck_fnc_scanForPlayersNearVehicles","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_scanForPlayersNearVehicles.sqf"], + ["blck_fnc_revealNearbyPlayers","\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_revealNearbyPlayers.sqf"], + + // functions to support Units + ["blck_fnc_removeGear","\q\addons\custom_server\Compiles\Units\GMS_fnc_removeGear.sqf"], // Strip an AI unit of all gear. + ["blck_fnc_spawnUnit","\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnUnit.sqf"], // spawn individual AI + ["blck_EH_AIKilled","\q\addons\custom_server\Compiles\Units\GMS_EH_AIKilled.sqf"], // Event handler to process AI deaths + ["blck_EH_AIHit","\q\addons\custom_server\Compiles\Units\GMS_EH_AIHit.sqf"], + ["blck_EH_unitWeaponReloaded","\q\addons\custom_server\Compiles\Units\GMS_EH_unitWeaponReloaded.sqf"], + ["blck_EH_animDone","\q\addons\custom_server\Compiles\Units\GMS_EH_animDone.sqf"], + ["blck_fnc_processAIKill","\q\addons\custom_server\Compiles\Units\GMS_fnc_processAIKill.sqf"], + ["blck_fnc_removeLaunchers","\q\addons\custom_server\Compiles\Units\GMS_fnc_removeLaunchers.sqf"], + ["blck_fnc_removeNVG","\q\addons\custom_server\Compiles\Units\GMS_fnc_removeNVG.sqf"], + ["blck_fnc_alertNearbyUnits","\q\addons\custom_server\Compiles\Units\GMS_fnc_alertNearbyUnits.sqf"], + ["blck_fnc_alertGroupUnits","\q\addons\custom_server\Compiles\Units\GMS_fnc_alertGroupUnits.sqf"], + ["blck_fnc_alertNearbyVehicles","\q\addons\custom_server\Compiles\Units\GMS_fnc_alertNearbyVehicles.sqf"], + ["blck_fnc_processIlleagalAIKills","\q\addons\custom_server\Compiles\Units\GMS_fnc_processIlleagalAIKills.sqf"], + ["blck_fnc_cleanupDeadAI","\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupDeadAI.sqf"], // handles deletion of AI bodies and gear when it is time. + ["blck_fnc_setSkill","\q\addons\custom_server\Compiles\Units\GMS_fnc_setSkill.sqf"], + ["blck_fnc_cleanupAliveAI","\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupAliveAI.sqf"], + ["blck_fnc_deleteAI","\q\addons\custom_server\Compiles\Units\GMS_fnc_deleteAI.sqf"], + ["blck_fnc_processAIHit","\q\addons\custom_server\Compiles\Units\GMS_fnc_processAIHit.sqf"], + ["blck_fnc_spawnHostage","\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnHostage.sqf"], + ["blck_fnc_spawnLeader","\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnLeader.sqf"], + ["blck_fnc_spawnCharacter","\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnCharacter.sqf"], + ["blck_fnc_spawnParaUnits","\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnParaUnits.sqf"], + ["blck_fnc_nextAnim","\q\addons\custom_server\Compiles\Units\GMS_fnc_nextAnim.sqf"], + ["blck_fnc_placeCharacterInBuilding","\q\addons\custom_server\Compiles\Units\GMS_fnc_placeCharacterInBuilding.sqf"], + + // HC support functions + ["blck_fnc_HC_XferGroup","\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferGroup.sqf"], + ["blck_fnc_onPlayerDisconnected","\q\addons\custom_server\Compiles\HC\GMS_fnc_onPlayerDisconnected.sqf"], + ["blck_fnc_HC_monitor","\q\addons\custom_server\Compiles\HC\GMS_fnc_HCmonitor.sqf"], + ["blck_fnc_HC_passToHCs","\q\addons\custom_server\Compiles\HC\GMS_fnc_passToHCs.sqf"], + ["blck_fnc_HC_getListConnected","\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_getListConnected.sqf"], + ["blck_fnc_HC_leastBurdened","\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_leastBurdened.sqf"], + ["blck_fnc_HC_countGroupsAssigned","\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_countGroupsAssigned.sqf"] +]; + +{ + _x params ["_name","_path"]; + missionnamespace setvariable [_name,compileFinal preprocessFileLineNumbers _path]; +} foreach _functions; #ifdef GRGserver blck_fnc_broadcastServerFPS = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_broadcastServerFPS.sqf"; diag_log "blck_functions loaded using GRGserver settings ---- >>>> "; #endif -// Player-related functions -blck_fnc_rewardKiller = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_rewardKiller.sqf"; -blck_fnc_MessagePlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_AIM.sqf"; // Send messages to players regarding Missions - -// Mission-related functions -blck_fnc_selectAILoadout = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAILoadout.sqf"; -blck_fnc_selectAISidearms = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAISidearms.sqf"; -blck_fnc_selectAIUniforms = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIUniforms.sqf"; -blck_fnc_selectAIHeadgear = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIHeadgear.sqf"; -blck_fnc_selectAIVests = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIVests.sqf"; -blck_fnc_selectAIBackpacks = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAIBackpacks.sqf"; -blck_fnc_selectChanceHeliPatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectChanceHeliPatrol.sqf"; -blck_fnc_selectMissionHelis = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectMissionHelis.sqf"; -blck_fnc_selectNumberAirPatrols = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectNumberAirPatrols.sqf"; -blck_fnc_selectNumberParatroops = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectNumberParatroops.sqf"; -blck_fnc_selectChanceParatroops = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selecctChanceParatroops.sqf"; -blck_fnc_addMissionToQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addMissionToQue.sqf"; // -blck_fnc_updateMissionQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_updateMissionQue.sqf"; // -blck_fnc_spawnPendingMissions = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnPendingMissions.sqf"; // -blck_fnc_addLiveAItoQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addLiveAItoQue.sqf"; -blck_fnc_addObjToQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addObjToQue.sqf"; // -blck_fnc_spawnCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnCrate.sqf"; // Simply spawns a crate of a specified type at a specific position. -blck_fnc_spawnMissionCrates = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionCrates.sqf"; -blck_fnc_cleanupObjects = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_cleanUpObjects.sqf"; -blck_fnc_spawnCompositionObjects = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnBaseObjects.sqf"; -blck_fnc_spawnRandomLandscape = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnRandomLandscape.sqf"; -blck_fnc_spawnMissionVehiclePatrols = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionVehiclePatrols.sqf"; -blck_fnc_spawnEmplacedWeaponArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnEmplacedWeaponArray.sqf"; -blck_fnc_spawnMissionAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionAI.sqf"; -blck_fnc_spawnMissionLootVehicles = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionLootVehicles.sqf"; -blck_fnc_fillBoxes = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_fillBoxes.sqf"; // Adds items to an object according to passed parameters. See the script for details. -blck_fnc_smokeAtCrates = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_smokeAtCrates.sqf"; // Spawns a wreck and adds smoke to it -blck_fnc_spawnMines = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMines.sqf"; // Deploys mines at random locations around the mission center -blck_fnc_clearMines = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_clearMines.sqf"; // clears mines in an array passed as a parameter -blck_fnc_signalEnd = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_signalEnd.sqf"; // deploy smoke grenades at loot crates at the end of the mission. -blck_fnc_endMission = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_endMission.sqf"; -blck_fnc_paraDropObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_paraDropObject.sqf"; -blck_fnc_loadMissionCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_loadMissionCrate.sqf"; -blck_fnc_crateMoved = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMoved.sqf"; -blck_fnc_crateMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMarker.sqf"; -blck_fnc_garrisonBuilding_RelPosSystem = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_garrisonBuilding_relPosSystem.sqf"; -blck_fnc_garrisonBuilding_ATLsystem = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_garrisonBuilding_ATLsystem.sqf"; -blck_fnc_spawnGarrisonInsideBuilding_ATL = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_ATL.sqf"; -blck_fnc_spawnGarrisonInsideBuilding_relPos = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf"; - -// Group-related functions -blck_fnc_spawnGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_spawnGroup.sqf"; // Spawn a single group and populate it with AI units] -blck_fnc_setupWaypoints = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_setupWaypoints.sqf"; // Set default waypoints for a group -blck_fnc_missionGroupMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_missionGroupMonitor.sqf"; // Monitors active groups for those that are stuck in an SAD waypoint but not in combat -//blck_fnc_monitorWaypoints = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_monitorWaypoints.sqf"; // periodically check for groups that have been led far from the mission -//blck_fnc_changeToSADWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToSADWaypoint.sqf"; -blck_fnc_changeToMoveWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToMoveWaypoint.sqf"; -//blck_fnc_changeToSentryWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_changeToSentryWaypoint.sqf"; // -//blck_fnc_setNextWaypoint = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_setNextWaypoint.sqf"; -blck_fnc_cleanEmptyGroups = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_cleanEmptyGroups.sqf"; // GMS_fnc_cleanEmptyGroups -blck_fnc_findNearestInfantryGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_findNearestInfantryGroup.sqf"; -blck_fnc_create_AI_Group = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Groups\GMS_fnc_create_AI_Group.sqf"; // create a group for which other functions spawn AI. - -// Functions specific to vehicles, whether wheeled, aircraft or static -blck_fnc_spawnVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehicle.sqf"; -blck_fnc_spawnVehiclePatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehiclePatrol.sqf"; -blck_fnc_protectVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_protectVehicle.sqf"; -blck_fnc_configureMissionVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_configureMissionVehicle.sqf"; -blck_fnc_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitor.sqf"; -blck_fnc_spawnMissionReinforcements = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionReinforcements.sqf"; -blck_fnc_spawnMissionHeli = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionHeli.sqf"; -blck_EH_AIVehicle_HandleHit = "\q\addons\custom_server\Compiles\Vehicles\GMS_EH_AIVehicle_Hit.sqf"; -blck_fnc_HandleAIVehicleHit = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_HandleAIVehicleHit.sqf"; -blck_EH_VehicleKilled = "\q\addons\custom_server\Compiles\Vehicles\GMS_EH_VehicleKilled.sqf"; -blck_fnc_processAIVehicleKill = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_processAIVehicleKill.sqf"; -blck_fnc_selectPatrolVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_selectPatrolVehicle.sqf"; -blck_fnc_releaseVehicleToPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_releaseVehicleToPlayers.sqf"; -blck_fnc_deleteAIVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_deleteAIVehicle.sqf"; -blck_fnc_destroyVehicleAndCrew = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_destroyVehicleAndCrew.sqf"; -blck_fnc_reloadVehicleAmmo = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_reloadVehicleAmmo.sqf"; -blck_fnc_scanForPlayersNearVehicles = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_scanForPlayersNearVehicles.sqf"; -blck_fnc_revealNearbyPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_revealNearbyPlayers.sqf"; - -// functions to support Units -blck_fnc_removeGear = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeGear.sqf"; // Strip an AI unit of all gear. -blck_fnc_spawnUnit = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnUnit.sqf"; // spawn individual AI -blck_EH_AIKilled = "\q\addons\custom_server\Compiles\Units\GMS_EH_AIKilled.sqf"; // Event handler to process AI deaths -blck_EH_AIHit = "\q\addons\custom_server\Compiles\Units\GMS_EH_AIHit.sqf"; -blck_EH_AIFiredNear = "\q\addons\custom_server\Compiles\Units\GMS_EH_AIFiredNear.sqf"; -blck_EH_unitWeaponReloaded = "\q\addons\custom_server\Compiles\Units\GMS_EH_unitWeaponReloaded.sqf"; -blck_EH_animDone = "\q\addons\custom_server\Compiles\Units\GMS_EH_animDone.sqf"; -blck_fnc_processAIKill = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_processAIKill.sqf"; -blck_fnc_removeLaunchers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeLaunchers.sqf"; -blck_fnc_removeNVG = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeNVG.sqf"; -blck_fnc_alertNearbyUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_alertNearbyUnits.sqf"; -blck_fnc_alertGroupUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_alertGroupUnits.sqf"; -blck_fnc_alertNearbyVehicles = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_alertNearbyVehicles.sqf"; -blck_fnc_processIlleagalAIKills = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_processIlleagalAIKills.sqf"; -blck_fnc_cleanupDeadAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupDeadAI.sqf"; // handles deletion of AI bodies and gear when it is time. -blck_fnc_setSkill = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_setSkill.sqf"; -blck_fnc_cleanupAliveAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupAliveAI.sqf"; -blck_fnc_deleteAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_deleteAI.sqf"; -blck_fnc_processAIHit = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_processAIHit.sqf"; -blck_fnc_spawnHostage = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnHostage.sqf"; -blck_fnc_spawnLeader = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnLeader.sqf"; -blck_fnc_spawnCharacter = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnCharacter.sqf"; -blck_fnc_spawnParaUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnParaUnits.sqf"; -blck_fnc_nextAnim = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_nextAnim.sqf"; -blck_fnc_placeCharacterInBuilding = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_placeCharacterInBuilding.sqf"; - -// HC support functions -blck_fnc_HC_XferGroup = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferGroup.sqf"; -//blck_fnc_HC_XferVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_XferVehicle.sqf"; -blck_fnc_onPlayerDisconnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_onPlayerDisconnected.sqf"; -//blck_fnc_HC_groupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_groupsAssigned.sqf"; -blck_fnc_HC_monitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HCmonitor.sqf"; -//blck_fnc_HC_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_vehicleMonitor.sqf"; -//blck_fnc_HC_monitorHC = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_monitorHC.sqf"; -blck_fnc_HC_passToHCs = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_passToHCs.sqf"; -blck_fnc_HC_getListConnected = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_getListConnected.sqf"; -blck_fnc_HC_leastBurdened = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_leastBurdened.sqf"; -blck_fnc_HC_countGroupsAssigned = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HC_countGroupsAssigned.sqf"; - onPlayerDisconnected {[_name,_owner] call blck_fnc_onPlayerDisconnected;}; -diag_log "[blckeagls] Functions Loaded"; -blck_functionsCompiled = true; + + diff --git a/@GMS/addons/custom_server/Compiles/blck_variables.sqf b/@GMS/addons/custom_server/Compiles/blck_variables.sqf index 1637c0f..ac57890 100644 --- a/@GMS/addons/custom_server/Compiles/blck_variables.sqf +++ b/@GMS/addons/custom_server/Compiles/blck_variables.sqf @@ -49,9 +49,7 @@ if (blck_simulationManager == 2) then blck_heliCrashSites = []; - - blck_mainThreadUpdateInterval = 60; blck_revealMode = "detailed"; //""basic" /*group or vehicle level reveals*/,detailed /*unit by unit reveals*/"; //diag_log "[blckeagls] Variables Loaded"; -blck_variablesLoaded = true; + diff --git a/@GMS/addons/custom_server/Configs/blck_configs.sqf b/@GMS/addons/custom_server/Configs/blck_configs.sqf index 3e3dd19..e5b6db4 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs.sqf @@ -42,7 +42,7 @@ blck_spawnMapAddons = true; // When true map addons will be spawned based on parameters define in custum_server\MapAddons\MapAddons_init.sqf blck_spawnStaticLootCrates = true; // When true, static loot crates will be spawned and loaded with loot as specified in custom_server\SLS\SLS_init_Epoch.sqf (or its exile equivalent). - blck_simulationManager = blck_useBlckeaglsSimulationManagement; + blck_simulationManager = blck_simulationManagementOff; diag_log format["[blckeagls] blck_configs: blck_simulationManager = %1",blck_simulationManager]; /* blck_simulationManagementOff - no simulation management occurs @@ -212,8 +212,12 @@ //////////////////// // Maximum number of missions shown on the map at any one time. + #ifdef GRGserver + blck_maxSpawnedMissions = 15; + #else // Change this value to reduce the number of spawned missions at any one time. blck_maxSpawnedMissions = 4; + #endif //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. blck_enableOrangeMissions = 1; @@ -222,6 +226,12 @@ blck_enableBlueMissions = 1; blck_numberUnderwaterDynamicMissions = 3; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. + #ifdef GRGserver + blck_enableHunterMissions = 1; + blck_enableScoutsMissions = 2; + blck_maxcrashsites = 4; + #endif + //////////////////// // MISSION TIMERS //////////////////// @@ -232,6 +242,12 @@ blck_TMin_Blue = 120; blck_TMin_Red = 150; blck_TMin_UMS = 180; + #ifdef GRGserver + blck_TMin_Hunter = 120; + blck_TMin_Scouts = 115; + blck_TMin_Crashes = 115; + + #endif //Maximum Spawn time between missions in seconds blck_TMax_Orange = 360; @@ -239,6 +255,11 @@ blck_TMax_Blue = 200; blck_TMax_Red = 250; blck_TMax_UMS = 400; + #ifdef GRGserver + blck_TMax_Hunter = 200; + blck_TMax_Scouts = 200; + blck_TMax_Crashes = 200; + #endif /////////////////////////////// // AI VEHICLE PATROL PARAMETERS @@ -357,7 +378,61 @@ blck_maxMoneyRed = 15; blck_maxMoneyBlue = 10; - private["_modType"]; + #ifdef GRGserver + blck_AIAlertDistance = [250,450,650,800]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. + //blck_AIAlertDistance = [150,225,400,500]; + // How precisely player locations will be revealed to AI after an AI kill + // values are ordered as follows [blue, red, green, orange]; + blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; + + blck_baseSkill = 0.7; // The overal skill of the AI - range 0.1 to 1.0. + + /*************************************************************** + + MISSION TYPE SPECIFIC AI SETTINGS + + **************************************************************/ + //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type + // Orange Missions + blck_MinAI_Orange = 20; + blck_MaxAI_Orange = 25; + blck_AIGrps_Orange = 5; + blck_SkillsOrange = [ + ["aimingAccuracy",[0.25,0.36]],["aimingShake",[0.45,0.55]],["aimingSpeed",[0.65,0.75]],["endurance",1.00],["spotDistance",1.0],["spotTime",0.7],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00] + ]; + + // Green Missions + blck_MinAI_Green = 16; + blck_MaxAI_Green = 21; + blck_AIGrps_Green = 4; + blck_SkillsGreen = [ + ["aimingAccuracy",[0.2,0.3]],["aimingShake",[0.4,0.5]],["aimingSpeed",[0.55,0.7]],["endurance",0.9],["spotDistance",0.9],["spotTime",0.65],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75] + ]; + + // Red Missions + blck_MinAI_Red = 12; + blck_MaxAI_Red = 15; + blck_AIGrps_Red = 3; + blck_SkillsRed = [ + ["aimingAccuracy",[0.2,0.25]],["aimingShake",[0.35,0.4]],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.6],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70] + ]; + + // Blue Missions + blck_MinAI_Blue = 8; + blck_MaxAI_Blue = 12; + blck_AIGrps_Blue = 2; + blck_SkillsBlue = [ + ["aimingAccuracy",[0.08,16]],["aimingShake",[0.25,0.35]],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] + ]; + + // Add some money to AI; only works with Exile for now. + blck_maxMoneyOrange = 25; + blck_maxMoneyGreen = 20; + blck_maxMoneyRed = 15; + blck_maxMoneyBlue = 10; + #endif + + private["_modType"]; _modType = [] call blck_fnc_getModType; if (_modType isEqualTo "Epoch") then { diff --git a/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf b/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf index bdfa5c6..0573079 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf @@ -589,13 +589,13 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["MMG_01_tan_F","150Rnd_93x64_Mag"], ["MMG_02_black_F","130Rnd_338_Mag"], @@ -727,14 +727,14 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["MMG_01_tan_F","150Rnd_93x64_Mag"], ["MMG_02_black_F","130Rnd_338_Mag"], @@ -875,7 +875,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], @@ -1001,7 +1001,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], @@ -1010,7 +1010,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], ["srifle_DMR_06_camo_F","10Rnd_338_Mag"] @@ -1081,7 +1081,7 @@ for examples of how you can do this see \Major\Compositions.sqf "FAK" , "Towelette" , "ItemVitamins", "morphine_epoch", "iodide_pills_epoch", "adrenaline_epoch", "caffeinepills_epoch", "orlistat_epoch", "ItemCanteen_Empty", "ItemCanteen_Clean", "ItemBottlePlastic_Empty", "ItemBottlePlastic_Clean", "atropine_epoch", "ItemWaterPurificationTablets", "ItemPainKillers", "ItemDefibrillator", - "ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "nanite_pills_epoch" + "ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "nanite_cream_epoch", "nanite_pills_epoch" ], [ // Backpacks ["B_AssaultPack_dgtl",0,2],["B_AssaultPack_khk",0,2],["B_AssaultPack_mcamo",0,2],["B_AssaultPack_ocamo",0,2],["B_AssaultPack_rgr",0,2],["B_AssaultPack_sgg",0,2], diff --git a/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf index 2ee2612..9002f51 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf @@ -603,13 +603,13 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["MMG_01_tan_F","150Rnd_93x64_Mag"], ["MMG_02_black_F","150Rnd_93x64_Mag"], @@ -716,14 +716,14 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["srifle_DMR_02_camo_F","10Rnd_338_Mag"], ["srifle_DMR_03_F","10Rnd_338_Mag"], @@ -827,7 +827,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], @@ -926,7 +926,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], ["m107_EPOCH","5Rnd_127x108_Mag"], ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], @@ -935,7 +935,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], ["srifle_DMR_06_camo_F","10Rnd_338_Mag"] diff --git a/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf b/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf index 47af76e..6283616 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf @@ -700,14 +700,14 @@ for examples of how you can do this see \Major\Compositions.sqf #endif ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["MMG_01_tan_F","150Rnd_93x64_Mag"], ["MMG_02_black_F","130Rnd_338_Mag"], @@ -799,14 +799,14 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_F","30Rnd_65x39_caseless_mag"], ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["MMG_01_tan_F","150Rnd_93x64_Mag"], ["MMG_02_black_F","130Rnd_338_Mag"], @@ -894,7 +894,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], @@ -974,14 +974,14 @@ for examples of how you can do this see \Major\Compositions.sqf ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], ["srifle_DMR_06_camo_F","10Rnd_338_Mag"] diff --git a/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf index 504fdcc..80d5520 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf @@ -720,14 +720,14 @@ for examples of how you can do this see \Major\Compositions.sqf #endif ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["MMG_01_tan_F","150Rnd_93x64_Mag"], ["MMG_02_black_F","150Rnd_93x64_Mag"], @@ -818,14 +818,14 @@ for examples of how you can do this see \Major\Compositions.sqf ["arifle_MXM_F","30Rnd_65x39_caseless_mag"], ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["srifle_DMR_02_camo_F","10Rnd_338_Mag"], ["srifle_DMR_03_F","10Rnd_338_Mag"], @@ -910,7 +910,7 @@ for examples of how you can do this see \Major\Compositions.sqf ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], @@ -990,14 +990,14 @@ for examples of how you can do this see \Major\Compositions.sqf ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], + ["srifle_DMR_01_F","10Rnd_762x54_Mag"], ["srifle_LRR_F","7Rnd_408_Mag"], ["srifle_EBR_F","20Rnd_762x51_Mag"], ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], ["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"], ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], + ["LMG_Zafir_F","150Rnd_762x54_Box"], ["MMG_01_hex_F","150Rnd_93x64_Mag"], ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], ["srifle_DMR_06_camo_F","10Rnd_338_Mag"] diff --git a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf index a4b3d78..dd114cd 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf @@ -203,7 +203,12 @@ //////////////////// // Maximum number of missions shown on the map at any one time. + #ifdef GRGserver + blck_maxSpawnedMissions = 15; + #else + // Change this value to reduce the number of spawned missions at any one time. blck_maxSpawnedMissions = 4; + #endif //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. blck_enableOrangeMissions = 1; @@ -212,6 +217,12 @@ blck_enableBlueMissions = 2; blck_numberUnderwaterDynamicMissions = 2; // Values from 0 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. + #ifdef GRGserver + blck_enableHunterMissions = 1; + blck_enableScoutsMissions = 2; + blck_maxcrashsites = 3; + #endif + //////////////////// // MISSION TIMERS //////////////////// @@ -222,6 +233,12 @@ blck_TMin_Blue = 120; blck_TMin_Red = 150; blck_TMin_UMS = 180; + #ifdef GRGserver + blck_TMin_Hunter = 120; + blck_TMin_Scouts = 115; + blck_TMin_Crashes = 115; + + #endif //Maximum Spawn time between missions in seconds blck_TMax_Orange = 360; @@ -229,6 +246,11 @@ blck_TMax_Blue = 200; blck_TMax_Red = 250; blck_TMax_UMS = 200; + #ifdef GRGserver + blck_TMax_Hunter = 200; + blck_TMax_Scouts = 200; + blck_TMax_Crashes = 200; + #endif /////////////////////////////// // AI VEHICLE PATROL PARAMETERS @@ -286,6 +308,11 @@ //This defines how long after an AI dies that it's body disappears. blck_bodyCleanUpTimer = 40*60; // time in seconds after which dead AI bodies are deleted + #ifdef GRGserver + #ifdef blck_milServer + blck_bodyCleanUpTimer = 40*60; // Trying to reduce lag with player counts > 20 + #endif + #endif // Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable // values are ordered as follows [blue, red, green, orange]; @@ -345,6 +372,60 @@ blck_maxMoneyRed = 30; blck_maxMoneyBlue = 20; + #ifdef GRGserver + blck_AIAlertDistance = [250,425,650,800]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. + //blck_AIAlertDistance = [150,225,400,500]; + // How precisely player locations will be revealed to AI after an AI kill + // values are ordered as follows [blue, red, green, orange]; + blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; + + blck_baseSkill = 1; // The overal skill of the AI - range 0.1 to 1.0. + + /*************************************************************** + + MISSION TYPE SPECIFIC AI SETTINGS + + **************************************************************/ + //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type + // Orange Missions + blck_MinAI_Orange = 30; + blck_MaxAI_Orange = 35; + blck_AIGrps_Orange = 5; + blck_SkillsOrange = [ + ["aimingAccuracy",0.6],["aimingShake",0.9],["aimingSpeed",0.9],["endurance",1.00],["spotDistance",1.0],["spotTime",1.0],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00] + ]; + + // Green Missions + blck_MinAI_Green = 26; + blck_MaxAI_Green = 31; + blck_AIGrps_Green = 4; + blck_SkillsGreen = [ + ["aimingAccuracy",0.55],["aimingShake",0.75],["aimingSpeed",0.85],["endurance",0.9],["spotDistance",0.9],["spotTime",0.9],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75] + ]; + + // Red Missions + blck_MinAI_Red = 12; + blck_MaxAI_Red = 18; + blck_AIGrps_Red = 3; + blck_SkillsRed = [ + ["aimingAccuracy",0.4],["aimingShake",0.6],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.8],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70] + ]; + + // Blue Missions + blck_MinAI_Blue = 8; + blck_MaxAI_Blue = 14; + blck_AIGrps_Blue = 2; + blck_SkillsBlue = [ + ["aimingAccuracy",0.12],["aimingShake",0.3],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] + ]; + + // Add some money to AI; only works with Exile for now. + blck_maxMoneyOrange = 25; + blck_maxMoneyGreen = 20; + blck_maxMoneyRed = 15; + blck_maxMoneyBlue = 10; + #endif + private["_modType"]; _modType = [] call blck_fnc_getModType; if (_modType isEqualTo "Epoch") then @@ -374,4 +455,4 @@ waitUntil{blck_dynamicConfigsLoaded}; blck_dynamicConfigsLoaded = nil; }; - blck_configsLoaded = true; + diff --git a/@GMS/addons/custom_server/Configs/blck_custom_config.sqf b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf index 36d8dfd..9c98ba7 100644 --- a/@GMS/addons/custom_server/Configs/blck_custom_config.sqf +++ b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf @@ -149,13 +149,13 @@ if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in blck_maxSpawnedMissions = 15; blck_mainThreadUpdateInterval = 10; blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = -1; - blck_enableBlueMissions = -1; - blck_numberUnderwaterDynamicMissions = -3; - blck_enableHunterMissions = -1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = -3; + blck_enableGreenMissions = 1; + blck_enableRedMissions = 1; + blck_enableBlueMissions = 1; + blck_numberUnderwaterDynamicMissions = 3; + blck_enableHunterMissions = 1; + blck_enableScoutsMissions = 1; + blck_maxCrashSites = 3; //blck_killEmptyStaticWeapons = false; //blck_killEmptyAIVehicles = true; @@ -165,7 +165,7 @@ if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in blck_vehicleDeleteTimer = 20; blck_MissionTimeout = 30; - blck_noPatrolHelisOrange = 1; + //blck_noPatrolHelisOrange = 1; //blck_chanceHeliPatrolOrange = 1; //blck_chanceParaOrange = 1; //blck_chanceHeliPatrolBlue = -1; @@ -175,12 +175,12 @@ if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in //blck_paraTriggerDistanceBlue = 400; //blck_chanceHeliPatrolBlue = 1; - blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions + //blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions //blck_SpawnEmplaced_Green = 1; // Number of static weapons at Green Missions //blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions //blck_SpawnEmplaced_Red = 1; - blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions + //blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions //blck_SpawnVeh_Green = 1; // Number of vehicles at Green Missions //blck_SpawnVeh_Blue = 1; // Number of vehicles at Blue Missions //blck_SpawnVeh_Red = 1; diff --git a/@GMS/addons/custom_server/Configs/blck_custom_config_DEV.sqf b/@GMS/addons/custom_server/Configs/blck_custom_config_DEV.sqf deleted file mode 100644 index 738730f..0000000 --- a/@GMS/addons/custom_server/Configs/blck_custom_config_DEV.sqf +++ /dev/null @@ -1,1352 +0,0 @@ - -/* - for ghostridergaming - By Ghostrider [GRG] - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -diag_log "[blckeagls] Loading Configuration Overides"; - -private["_startTime"]; -_startTime = diag_tickTime; -_world = toLower format ["%1", worldName]; -private["_nightAccel","_dayAccel","_duskAccel"]; -switch (_world) do { - case "altis":{_nightAccel = 3;_dayAccel=0.5; _duskAccel = 3;}; - case "napf":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;}; - case "namalsk":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;}; - case "tanoa":{_nightAccel = 12; _dayAccel = 3.2;_duskAccel = 6;}; - case "namalsk":{_nightAccel = 12; _dayAccel = 2; _duskAccel = 6;}; -}; - -switch (toLower (worldName)) do -{ - case "altis": - { - private ["_arr","_sunrise","_sunset","_time"]; - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _daylight = _sunset - _sunrise; - _nightTime = abs(24 - _daylight); - _time = dayTime; - #ifdef blck_milServer - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight)/3; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = _nightTime / 6; // Nighttim time acceleration - #else - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight)/8; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = _nightTime / 8; // Nighttim time acceleration - #endif - //blck_maxCrashSites = 3; - }; - case"tanoa": - { - blck_maxCrashSites = 2; - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1.4; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case"namalsk": - { - private ["_arr","_sunrise","_sunset","_time"]; - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _daylight = _sunset - _sunrise; - _nightTime = abs(24 - _daylight); - _time = dayTime; - _serverUpTime = 8; - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 2; // Daytime time accelearation - blck_timeAccelerationDusk = 6; // Dawn/dusk time accelearation - blck_timeAccelerationNight = (12); // Nighttim time acceleration - }; - case "esseker": - { - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 1; - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 3; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 6; // Nighttim time acceleration - }; - case "panthera3": - { - blck_maxCrashSites = 2; - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1.4; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case "malden": - { - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _time = dayTime; - _daylight = _sunset - _sunrise; - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight / 2.5); // Daytime time accelearation - blck_timeAccelerationDusk = 8; // Dawn/dusk time accelearation - blck_timeAccelerationNight = ((24 - _daylight) / 1.5); // Nighttim time acceleration - blck_enableOrangeMissions = -1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = -2; - blck_enableBlueMissions = -1; - blck_numberUnderwaterDynamicMissions = -3; - blck_enableHunterMissions = -1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 3; - }; -}; - -if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in \custom_server\compiles\blck_variables.sqf -{ - // Used primarily for debugging. - diag_log "[blckeagls] Debug seting is ON, Custom configurations used"; - - //blck_useTimeAcceleration = false; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - //blck_timeAccelerationDay = 1; // Daytime time accelearation - //blck_timeAccelerationDusk = 18; // Dawn/dusk time accelearation - //blck_timeAccelerationNight = 24; // Nighttim time acceleration - - blck_useHC = true; - - blck_maxSpawnedMissions = 15; - blck_mainThreadUpdateInterval = 10; - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = 1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = 1; - blck_numberUnderwaterDynamicMissions = 1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = 1; - blck_maxCrashSites = 3; - - blck_cleanupCompositionTimer = 20; // Time after mission completion at which items in the composition are deleted. - blck_AliveAICleanUpTimer = 20; // Time after mission completion at which any remaining live AI are deleted. - blck_bodyCleanUpTimer = 20; - blck_vehicleDeleteTimer = 20; - //blck_MissionTimeout = 30; - - blck_noPatrolHelisOrange = 1; - blck_chanceHeliPatrolOrange = 1; - blck_chanceParaOrange = 1; - blck_chanceHeliPatrolBlue = -1; - blck_noPatrolHelisBlue = -1; - blck_chanceParaBlue = -1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3] - blck_noParaBlue = 3; // [1-N] - blck_paraTriggerDistanceBlue = 400; - - //blck_chanceHeliPatrolBlue = 1; - blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions - blck_SpawnEmplaced_Green = 1; // Number of static weapons at Green Missions - blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions - blck_SpawnEmplaced_Red = 1; - - blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions - blck_SpawnVeh_Green = 1; // Number of vehicles at Green Missions - blck_SpawnVeh_Blue = 1; // Number of vehicles at Blue Missions - blck_SpawnVeh_Red = 1; - - blck_TMin_Blue = 7; - blck_TMin_Red = 10; - blck_TMin_Green = 13; - blck_TMin_Orange = 16; - blck_TMin_Hunter = 20; - blck_TMin_Scouts = 20; - blck_TMin_Crashes = 5; - blck_TMin_UMS = 20; - //Maximum Spawn time between missions in seconds - blck_TMax_Blue = 12; - blck_TMax_Red = 15; - blck_TMax_Green = 17; - blck_TMax_Orange = 21; - blck_TMax_Hunter = 22; - blck_TMax_Scouts = 22; - blck_TMax_Crashes = 15; - blck_TMax_UMS = 25; - - //blck_MinAI_Orange = 1; - //blck_MaxAI_Orange = 2; - //blck_AIGrps_Orange = 1; - - blck_MinAI_Blue = 1; - blck_MaxAI_Blue = 2; - blck_AIGrps_Blue = 1; - - blck_AIPatrolVehicles = ["Exile_Car_MB4WDOpen"]; - /* - blck_SkillsBlue = [ - ["aimingAccuracy",0.01], - ["aimingShake",0.01], - ["aimingSpeed",0.01], - ["endurance",0.01], - ["spotDistance",0.01], - ["spotTime",0.01], - ["courage",0.01], - ["reloadSpeed",0.80], - ["commanding",0.8], - ["general",1.00] - ]; - */ -}; - -blck_CUPWeapons = [ - "CUP_lmg_L7A2", - "CUP_lmg_L110A1", - "CUP_lmg_M240", - "CUP_lmg_M249", - "CUP_lmg_M249_ElcanM145_Laser", - "CUP_lmg_Mk48_des", - "CUP_lmg_Mk48_wdl", - "CUP_lmg_PKM", - "CUP_lmg_UK59", - "CUP_lmg_Pecheneg", - "CUP_arifle_AK74", - "CUP_arifle_AK107", - "CUP_arifle_AK107_GL", - "CUP_arifle_AKS74", - "CUP_arifle_AKS74U", - "CUP_arifle_AK74_GL", - "CUP_arifle_AKM", - "CUP_arifle_AKS", - "CUP_arifle_AKS_Gold", - "CUP_arifle_RPK74", - "CUP_arifle_CZ805_A2", - "CUP_arifle_FNFAL", - "CUP_arifle_G36A", - "CUP_arifle_G36A_camo", - "CUP_arifle_G36K", - "CUP_arifle_G36K_camo", - "CUP_arifle_G36C", - "CUP_arifle_G36C_camo", - "CUP_arifle_MG36", - "CUP_arifle_MG36_camo", - "CUP_arifle_L85A2", - "CUP_arifle_L85A2_GL", - "CUP_arifle_L86A2", - "CUP_arifle_M16A2", - "CUP_arifle_M16A2_GL", - "CUP_arifle_M4A1", - "CUP_arifle_M4A1_camo", - "CUP_arifle_M4A3_desert_Aim_Flashlight", - "CUP_arifle_M16A4_Base", - "CUP_arifle_M4A1_BUIS_GL", - "CUP_arifle_M4A1_BUIS_camo_GL", - "CUP_arifle_M4A1_BUIS_desert_GL", - "CUP_arifle_M4A1_desert", - "CUP_arifle_Sa58P", - "CUP_arifle_Sa58V", - "CUP_arifle_Mk16_CQC", - "CUP_arifle_XM8_Railed", - "CUP_arifle_XM8_Carbine", - "CUP_arifle_XM8_Carbine_FG", - "CUP_arifle_XM8_Carbine_GL", - "CUP_arifle_XM8_Compact", - "CUP_arifle_xm8_SAW", - "CUP_arifle_xm8_sharpshooter", - "CUP_arifle_CZ805_A1", - "CUP_arifle_CZ805_GL", - "CUP_arifle_CZ805_B_GL", - "CUP_arifle_CZ805_B", - "CUP_arifle_Sa58P_des", - "CUP_arifle_Sa58V_camo", - "CUP_arifle_Sa58RIS1", - "CUP_arifle_Sa58RIS2", - "CUP_arifle_Mk16_CQC_FG", - "CUP_arifle_Mk16_CQC_SFG", - "CUP_arifle_Mk16_CQC_EGLM", - "CUP_arifle_Mk16_STD", - "CUP_arifle_Mk16_STD_FG", - "CUP_arifle_Mk16_STD_SFG", - "CUP_arifle_Mk16_STD_EGLM", - "CUP_arifle_Mk16_SV", - "CUP_arifle_Mk17_CQC", - "CUP_arifle_Mk17_CQC_FG", - "CUP_arifle_Mk17_CQC_SFG", - "CUP_arifle_Mk17_CQC_EGLM", - "CUP_arifle_Mk17_STD", - "CUP_arifle_Mk17_STD_FG", - "CUP_arifle_Mk17_STD_SFG", - "CUP_arifle_Mk17_STD_EGLM", - "CUP_arifle_Mk20", - "CUP_srifle_AWM_des", - "CUP_srifle_AWM_wdl", - "CUP_srifle_CZ750", - "CUP_srifle_DMR", - "CUP_srifle_CZ550", - "CUP_srifle_LeeEnfield", - "CUP_srifle_M14", - "CUP_srifle_Mk12SPR", - "CUP_srifle_M24_des", - "CUP_srifle_M24_wdl", - "CUP_srifle_M24_ghillie", - "CUP_srifle_M40A3", - "CUP_srifle_M107_Base", - "CUP_srifle_M110", - "CUP_srifle_SVD", - "CUP_srifle_SVD_des", - "CUP_srifle_SVD_wdl_ghillie", - "CUP_srifle_SVD_NSPU", - "CUP_srifle_ksvk", - "CUP_srifle_VSSVintorez", - "CUP_srifle_AS50" -]; - -blck_CUPUniforms = [ - "CUP_U_B_CZ_WDL_TShirt", - "CUP_U_I_GUE_Anorak_01", - "CUP_U_I_GUE_Anorak_03", - "CUP_U_I_GUE_Anorak_02", - "CUP_U_B_BAF_DDPM_S2_UnRolled", - "CUP_U_B_BAF_DDPM_S1_RolledUp", - "CUP_U_B_BAF_DDPM_Tshirt", - "CUP_U_B_BAF_DPM_S2_UnRolled", - "CUP_U_B_BAF_DPM_S1_RolledUp", - "CUP_U_B_BAF_DPM_Tshirt", - "CUP_U_B_BAF_MTP_S2_UnRolled", - "CUP_U_B_BAF_MTP_S1_RolledUp", - "CUP_U_B_BAF_MTP_Tshirt", - "CUP_U_B_BAF_MTP_S4_UnRolled", - "CUP_U_B_BAF_MTP_S3_RolledUp", - "CUP_U_B_BAF_MTP_S5_UnRolled", - "CUP_U_B_BAF_MTP_S6_UnRolled", - "CUP_U_O_CHDKZ_Bardak", - "CUP_U_O_CHDKZ_Lopotev", - "CUP_U_O_CHDKZ_Kam_03", - "CUP_U_O_CHDKZ_Kam_01", - "CUP_U_O_CHDKZ_Kam_04", - "CUP_U_O_CHDKZ_Kam_02", - "CUP_U_O_CHDKZ_Commander", - "CUP_U_O_CHDKZ_Kam_08", - "CUP_U_O_CHDKZ_Kam_05", - "CUP_U_O_CHDKZ_Kam_07", - "CUP_U_O_CHDKZ_Kam_06", - "CUP_U_C_Citizen_02", - "CUP_U_C_Citizen_01", - "CUP_U_C_Citizen_04", - "CUP_U_C_Citizen_03", - "CUP_U_C_Fireman_01", - "CUP_U_B_GER_Flecktarn_2", - "CUP_U_B_GER_Tropentarn_2", - "CUP_U_B_GER_Flecktarn_1", - "CUP_U_B_GER_Tropentarn_1", - "CUP_O_TKI_Khet_Jeans_04", - "CUP_O_TKI_Khet_Jeans_02", - "CUP_O_TKI_Khet_Jeans_01", - "CUP_O_TKI_Khet_Jeans_03", - "CUP_O_TKI_Khet_Partug_04", - "CUP_O_TKI_Khet_Partug_02", - "CUP_O_TKI_Khet_Partug_01", - "CUP_O_TKI_Khet_Partug_07", - "CUP_O_TKI_Khet_Partug_08", - "CUP_O_TKI_Khet_Partug_05", - "CUP_O_TKI_Khet_Partug_06", - "CUP_O_TKI_Khet_Partug_03", - "CUP_U_C_Labcoat_02", - "CUP_U_C_Labcoat_03", - "CUP_U_C_Labcoat_01", - "CUP_U_B_USMC_Officer", - "CUP_U_B_USMC_MARPAT_WDL_RollUpKneepad", - "CUP_U_B_USMC_MARPAT_WDL_RolledUp", - "CUP_U_B_USMC_MARPAT_WDL_Kneepad", - "CUP_U_B_USMC_MARPAT_WDL_TwoKneepads", - "CUP_U_B_USMC_MARPAT_WDL_Sleeves", - "CUP_U_C_Mechanic_02", - "CUP_U_C_Mechanic_03", - "CUP_U_C_Mechanic_01", - "CUP_U_I_GUE_Flecktarn2", - "CUP_U_I_GUE_Flecktarn3", - "CUP_U_I_GUE_Flecktarn", - "CUP_U_I_GUE_Woodland1", - "CUP_B_USMC_Navy_Blue", - "CUP_B_USMC_Navy_Brown", - "CUP_B_USMC_Navy_Green", - "CUP_B_USMC_Navy_Red", - "CUP_B_USMC_Navy_Violet", - "CUP_B_USMC_Navy_White", - "CUP_B_USMC_Navy_Yellow", - "CUP_U_C_Rescuer_01", - "CUP_U_O_Partisan_TTsKO", - "CUP_U_O_Partisan_TTsKO_Mixed", - "CUP_U_O_Partisan_VSR_Mixed1", - "CUP_U_O_Partisan_VSR_Mixed2", - "CUP_U_C_Pilot_01", - "CUP_U_C_Policeman_01", - "CUP_U_C_Priest_01", - "CUP_U_C_Profiteer_02", - "CUP_U_C_Profiteer_03", - "CUP_U_C_Profiteer_01", - "CUP_U_C_Profiteer_04", - "CUP_U_I_RACS_Desert_2", - "CUP_U_I_RACS_Urban_2", - "CUP_U_I_RACS_PilotOverall", - "CUP_U_I_RACS_Desert_1", - "CUP_U_I_RACS_Urban_1", - "CUP_U_C_Rocker_01", - "CUP_U_C_Rocker_03", - "CUP_U_C_Rocker_02", - "CUP_U_C_Rocker_04", - "CUP_U_O_RUS_Gorka_Green", - "CUP_U_O_RUS_Gorka_Partizan_A", - "CUP_U_O_RUS_Gorka_Partizan", - "CUP_U_O_RUS_EMR_1_VDV", - "CUP_U_O_RUS_EMR_1", - "CUP_U_O_RUS_Flora_1_VDV", - "CUP_U_O_RUS_Flora_1", - "CUP_U_O_RUS_Commander", - "CUP_U_O_RUS_EMR_2_VDV", - "CUP_U_O_RUS_EMR_2", - "CUP_U_O_RUS_Flora_2_VDV", - "CUP_U_O_RUS_Flora_2", - "CUP_U_O_SLA_Officer_Suit", - "CUP_U_O_SLA_Overalls_Pilot", - "CUP_U_O_SLA_Overalls_Tank", - "CUP_U_O_SLA_MixedCamo", - "CUP_U_O_SLA_Desert", - "CUP_U_O_SLA_Green", - "CUP_U_O_SLA_Urban", - "CUP_U_B_FR_SpecOps", - "CUP_U_B_FR_Officer", - "CUP_U_B_FR_DirAction", - "CUP_U_B_FR_DirAction2", - "CUP_U_B_FR_Corpsman", - "CUP_U_B_FR_Light", - "CUP_U_B_FR_Scout1", - "CUP_U_B_FR_Scout2", - "CUP_U_B_FR_Scout3", - "CUP_U_B_FR_Scout", - "CUP_U_C_Suit_01", - "CUP_U_C_Suit_02", - "CUP_U_O_TK_Officer", - "CUP_U_O_SLA_Officer", - "CUP_U_O_TK_Green", - "CUP_U_O_TK_MixedCamo", - "CUP_U_B_USArmy_TwoKnee", - "CUP_U_B_USArmy_Base", - "CUP_U_B_USArmy_Soft", - "CUP_U_B_USArmy_UBACS", - "CUP_U_B_USArmy_PilotOverall", - "CUP_U_B_USMC_PilotOverall", - "CUP_U_C_Villager_01", - "CUP_U_C_Villager_04", - "CUP_U_C_Villager_02", - "CUP_U_C_Villager_03", - "CUP_U_C_Woodlander_01", - "CUP_U_C_Woodlander_02", - "CUP_U_C_Woodlander_03", - "CUP_U_C_Woodlander_04", - "CUP_U_C_Worker_03", - "CUP_U_C_Worker_04", - "CUP_U_C_Worker_02", - "CUP_U_C_Worker_01", - "CUP_U_B_BAF_DDPM_Ghillie", - "CUP_U_B_BAF_MTP_Ghillie", - "CUP_U_B_BAF_DPM_Ghillie", - "CUP_U_B_GER_Ghillie", - "CUP_U_B_GER_Fleck_Ghillie", - "CUP_U_B_USMC_Ghillie_WDL", - "CUP_U_I_Ghillie_Top", - "CUP_U_O_RUS_Ghillie", - "CUP_U_O_TK_Ghillie", - "CUP_U_O_TK_Ghillie_Top", - "CUP_U_B_USArmy_Ghillie" -]; - -blck_CUPVests = [ - "CUP_V_BAF_Osprey_Mk2_DDPM_Grenadier", - "CUP_V_BAF_Osprey_Mk2_DDPM_Medic", - "CUP_V_BAF_Osprey_Mk2_DDPM_Officer", - "CUP_V_BAF_Osprey_Mk2_DDPM_Sapper", - "CUP_V_BAF_Osprey_Mk2_DDPM_Scout", - "CUP_V_BAF_Osprey_Mk2_DDPM_Soldier1", - "CUP_V_BAF_Osprey_Mk2_DDPM_Soldier2", - "CUP_V_BAF_Osprey_Mk2_DPM_Grenadier", - "CUP_V_BAF_Osprey_Mk2_DPM_Medic", - "CUP_V_BAF_Osprey_Mk2_DPM_Officer", - "CUP_V_BAF_Osprey_Mk2_DPM_Sapper", - "CUP_V_BAF_Osprey_Mk2_DPM_Scout", - "CUP_V_BAF_Osprey_Mk2_DPM_Soldier1", - "CUP_V_BAF_Osprey_Mk2_DPM_Soldier2", - "CUP_V_BAF_Osprey_Mk4_MTP_Grenadier", - "CUP_V_BAF_Osprey_Mk4_MTP_MachineGunner", - "CUP_V_BAF_Osprey_Mk4_MTP_Rifleman", - "CUP_V_BAF_Osprey_Mk4_MTP_SquadLeader", - "CUP_V_B_GER_Carrier_Rig", - "CUP_V_B_GER_Carrier_Rig_2", - "CUP_V_B_GER_Carrier_Vest", - "CUP_V_B_GER_Carrier_Vest_2", - "CUP_V_B_GER_Carrier_Vest_3", - "CUP_V_B_GER_Vest_1", - "CUP_V_B_GER_Vest_2", - "CUP_V_B_LHDVest_Blue", - "CUP_V_B_LHDVest_Brown", - "CUP_V_B_LHDVest_Green", - "CUP_V_B_LHDVest_Red", - "CUP_V_B_LHDVest_Violet", - "CUP_V_B_LHDVest_White", - "CUP_V_B_LHDVest_Yellow", - "CUP_V_B_MTV", - "CUP_V_B_MTV_LegPouch", - "CUP_V_B_MTV_MG", - "CUP_V_B_MTV_Marksman", - "CUP_V_B_MTV_Mine", - "CUP_V_B_MTV_Patrol", - "CUP_V_B_MTV_PistolBlack", - "CUP_V_B_MTV_Pouches", - "CUP_V_B_MTV_TL", - "CUP_V_B_MTV_noCB", - "CUP_V_B_PilotVest", - "CUP_V_B_RRV_DA1", - "CUP_V_B_RRV_DA2", - "CUP_V_B_RRV_Light", - "CUP_V_B_RRV_MG", - "CUP_V_B_RRV_Medic", - "CUP_V_B_RRV_Officer", - "CUP_V_B_RRV_Scout", - "CUP_V_B_RRV_Scout2", - "CUP_V_B_RRV_Scout3", - "CUP_V_B_RRV_TL", - "CUP_V_I_Carrier_Belt", - "CUP_V_I_Guerilla_Jacket", - "CUP_V_I_RACS_Carrier_Vest", - "CUP_V_I_RACS_Carrier_Vest_2", - "CUP_V_I_RACS_Carrier_Vest_3", - "CUP_V_OI_TKI_Jacket1_01", - "CUP_V_OI_TKI_Jacket1_02", - "CUP_V_OI_TKI_Jacket1_03", - "CUP_V_OI_TKI_Jacket1_04", - "CUP_V_OI_TKI_Jacket1_05", - "CUP_V_OI_TKI_Jacket1_06", - "CUP_V_OI_TKI_Jacket2_01", - "CUP_V_OI_TKI_Jacket2_02", - "CUP_V_OI_TKI_Jacket2_03", - "CUP_V_OI_TKI_Jacket2_04", - "CUP_V_OI_TKI_Jacket2_05", - "CUP_V_OI_TKI_Jacket2_06", - "CUP_V_OI_TKI_Jacket3_01", - "CUP_V_OI_TKI_Jacket3_02", - "CUP_V_OI_TKI_Jacket3_03", - "CUP_V_OI_TKI_Jacket3_04", - "CUP_V_OI_TKI_Jacket3_05", - "CUP_V_OI_TKI_Jacket3_06", - "CUP_V_OI_TKI_Jacket4_01", - "CUP_V_OI_TKI_Jacket4_02", - "CUP_V_OI_TKI_Jacket4_03", - "CUP_V_OI_TKI_Jacket4_04", - "CUP_V_OI_TKI_Jacket4_05", - "CUP_V_OI_TKI_Jacket4_06", - "CUP_V_O_SLA_Carrier_Belt", - "CUP_V_O_SLA_Carrier_Belt02", - "CUP_V_O_SLA_Carrier_Belt03", - "CUP_V_O_SLA_Flak_Vest01", - "CUP_V_O_SLA_Flak_Vest02", - "CUP_V_O_SLA_Flak_Vest03", - "CUP_V_O_TK_CrewBelt", - "CUP_V_O_TK_OfficerBelt", - "CUP_V_O_TK_OfficerBelt2", - "CUP_V_O_TK_Vest_1", - "CUP_V_O_TK_Vest_2" -]; - -blck_CUPBackpacks = [ - "CUP_B_ACRPara_m95", - "CUP_B_AssaultPack_ACU", - "CUP_B_AssaultPack_Black", - "CUP_B_AssaultPack_Coyote", - "CUP_B_Bergen_BAF", - "CUP_B_CivPack_WDL", - "CUP_B_GER_Pack_Flecktarn", - "CUP_B_GER_Pack_Tropentarn", - "CUP_B_HikingPack_Civ", - "CUP_B_MOLLE_WDL", - "CUP_B_RUS_Backpack", - "CUP_B_USMC_AssaultPack", - "CUP_B_USMC_MOLLE", - "CUP_B_USPack_Black", - "CUP_B_USPack_Coyote" -]; - -blck_CUPHeadgear = [ - "CUP_H_BAF_Helmet_1_DDPM", - "CUP_H_BAF_Helmet_1_DPM", - "CUP_H_BAF_Helmet_1_MTP", - "CUP_H_BAF_Helmet_2_DDPM", - "CUP_H_BAF_Helmet_2_DPM", - "CUP_H_BAF_Helmet_2_MTP", - "CUP_H_BAF_Helmet_3_DDPM", - "CUP_H_BAF_Helmet_3_DPM", - "CUP_H_BAF_Helmet_3_MTP", - "CUP_H_BAF_Helmet_4_DDPM", - "CUP_H_BAF_Helmet_4_DPM", - "CUP_H_BAF_Helmet_4_MTP", - "CUP_H_BAF_Officer_Beret_PRR_O", - "CUP_H_C_Beanie_01", - "CUP_H_C_Beanie_02", - "CUP_H_C_Beanie_03", - "CUP_H_C_Beanie_04", - "CUP_H_C_Beret_01", - "CUP_H_C_Beret_02", - "CUP_H_C_Beret_03", - "CUP_H_C_Beret_04", - "CUP_H_C_Ushanka_01", - "CUP_H_C_Ushanka_02", - "CUP_H_C_Ushanka_03", - "CUP_H_C_Ushanka_04", - "CUP_H_FR_BandanaGreen", - "CUP_H_FR_BandanaWdl", - "CUP_H_FR_Bandana_Headset", - "CUP_H_FR_BeanieGreen", - "CUP_H_FR_BoonieMARPAT", - "CUP_H_FR_BoonieWDL", - "CUP_H_FR_Cap_Headset_Green", - "CUP_H_FR_Cap_Officer_Headset", - "CUP_H_FR_ECH", - "CUP_H_FR_Headband_Headset", - "CUP_H_FR_Headset", - "CUP_H_FR_PRR_BoonieWDL", - "CUP_H_GER_Boonie_Flecktarn", - "CUP_H_GER_Boonie_desert", - "CUP_H_NAPA_Fedora", - "CUP_H_Navy_CrewHelmet_Blue", - "CUP_H_Navy_CrewHelmet_Brown", - "CUP_H_Navy_CrewHelmet_Green", - "CUP_H_Navy_CrewHelmet_Red", - "CUP_H_Navy_CrewHelmet_Violet", - "CUP_H_Navy_CrewHelmet_White", - "CUP_H_Navy_CrewHelmet_Yellow", - "CUP_H_PMC_Cap_Grey", - "CUP_H_PMC_Cap_PRR_Grey", - "CUP_H_PMC_Cap_PRR_Tan", - "CUP_H_PMC_Cap_Tan", - "CUP_H_PMC_EP_Headset", - "CUP_H_PMC_PRR_Headset", - "CUP_H_RACS_Beret_Blue", - "CUP_H_RACS_Helmet_DPAT", - "CUP_H_RACS_Helmet_Des", - "CUP_H_RACS_Helmet_Goggles_DPAT", - "CUP_H_RACS_Helmet_Goggles_Des", - "CUP_H_RACS_Helmet_Headset_DPAT", - "CUP_H_RACS_Helmet_Headset_Des", - "CUP_H_SLA_BeenieGreen", - "CUP_H_SLA_Beret", - "CUP_H_SLA_Boonie", - "CUP_H_SLA_Helmet", - "CUP_H_SLA_OfficerCap", - "CUP_H_SLA_Pilot_Helmet", - "CUP_H_SLA_SLCap", - "CUP_H_SLA_TankerHelmet", - "CUP_H_TKI_Lungee_01", - "CUP_H_TKI_Lungee_02", - "CUP_H_TKI_Lungee_03", - "CUP_H_TKI_Lungee_04", - "CUP_H_TKI_Lungee_05", - "CUP_H_TKI_Lungee_06", - "CUP_H_TKI_Lungee_Open_01", - "CUP_H_TKI_Lungee_Open_02", - "CUP_H_TKI_Lungee_Open_03", - "CUP_H_TKI_Lungee_Open_04", - "CUP_H_TKI_Lungee_Open_05", - "CUP_H_TKI_Lungee_Open_06", - "CUP_H_TKI_Pakol_1_01", - "CUP_H_TKI_Pakol_1_02", - "CUP_H_TKI_Pakol_1_03", - "CUP_H_TKI_Pakol_1_04", - "CUP_H_TKI_Pakol_1_05", - "CUP_H_TKI_Pakol_1_06", - "CUP_H_TKI_Pakol_2_01", - "CUP_H_TKI_Pakol_2_02", - "CUP_H_TKI_Pakol_2_03", - "CUP_H_TKI_Pakol_2_04", - "CUP_H_TKI_Pakol_2_05", - "CUP_H_TKI_Pakol_2_06", - "CUP_H_TKI_SkullCap_01", - "CUP_H_TKI_SkullCap_02", - "CUP_H_TKI_SkullCap_03", - "CUP_H_TKI_SkullCap_04", - "CUP_H_TKI_SkullCap_05", - "CUP_H_TKI_SkullCap_06", - "CUP_H_TK_Beret", - "CUP_H_TK_Helmet", - "CUP_H_TK_Lungee", - "CUP_H_TK_PilotHelmet", - "CUP_H_TK_TankerHelmet", - "CUP_H_USMC_Crew_Helmet", - "CUP_H_USMC_Goggles_HelmetWDL", - "CUP_H_USMC_HeadSet_GoggleW_HelmetWDL", - "CUP_H_USMC_HeadSet_HelmetWDL", - "CUP_H_USMC_HelmetWDL", - "CUP_H_USMC_Helmet_Pilot", - "CUP_H_USMC_Officer_Cap" -]; -blck_RHS_Weapons = [ - "rhs_weap_hk416d10", - "rhs_weap_hk416d10_LMT", - "rhs_weap_hk416d10_m320", - "rhs_weap_hk416d145", - "rhs_weap_hk416d145_m320", - "rhs_weap_m16a4", - "rhs_weap_m16a4_carryhandle", - "rhs_weap_m16a4_carryhandle_M203", - "rhs_weap_m16a4_carryhandle_pmag", - "rhs_weap_m4_carryhandle", - "rhs_weap_m4_carryhandle_pmag", - "rhs_weap_m4_m203", - "rhs_weap_m4_m320", - "rhs_weap_m4a1", - "rhs_weap_m4a1_blockII", - "rhs_weap_m4a1_blockII_KAC", - "rhs_weap_m4a1_blockII_KAC_bk", - "rhs_weap_m4a1_blockII_KAC_d", - "rhs_weap_m4a1_blockII_KAC_wd", - "rhs_weap_m4a1_blockII_M203", - "rhs_weap_m4a1_blockII_M203_bk", - "rhs_weap_m4a1_blockII_M203_d", - "rhs_weap_m4a1_blockII_M203_wd", - "rhs_weap_m4a1_blockII_bk", - "rhs_weap_m4a1_blockII_d", - "rhs_weap_m4a1_blockII_wd", - "rhs_weap_m4a1_carryhandle", - "rhs_weap_m4a1_carryhandle_m203", - "rhs_weap_m4a1_carryhandle_pmag", - "rhs_weap_m4a1_m203", - "rhs_weap_m4a1_m320", - "rhs_weap_mk18", - "rhs_weap_mk18", - "rhs_weap_mk18_KAC", - "rhs_weap_mk18_KAC_bk", - "rhs_weap_mk18_KAC_d", - "rhs_weap_mk18_KAC_wd", - "rhs_weap_mk18_bk", - "rhs_weap_mk18_d", - "rhs_weap_mk18_m320", - "rhs_weap_mk18_wd", - "rhs_weap_m249_pip_L", - "rhs_weap_m249_pip_L_para", - "rhs_weap_m249_pip_L_vfg", - "rhs_weap_m249_pip_S", - "rhs_weap_m249_pip_S_para", - "rhs_weap_m249_pip_S_vfg", - "rhs_weap_m240B", - "rhs_weap_m240B_CAP", - "rhs_weap_m240G", - "rhs_weap_pkm", - "rhs_weap_pkp", - // Added by ElShotte - 1 Item - "rhs_weap_m27iar" -]; - -blck_RHS_UniformsUSAF = [ - "rhs_uniform_FROG01_m81", - "rhs_uniform_FROG01_d", - "rhs_uniform_FROG01_wd", - "rhs_uniform_cu_ocp", - "rhs_uniform_cu_ucp", - "rhs_uniform_cu_ocp_101st", - "rhs_uniform_cu_ocp_10th", - "rhs_uniform_cu_ocp_1stcav", - "rhs_uniform_cu_ocp_82nd", - "rhs_uniform_cu_ucp_101st", - "rhs_uniform_cu_ucp_10th", - "rhs_uniform_cu_ucp_1stcav", - "rhs_uniform_cu_ucp_82nd", - "rhs_uniform_cu_ocp_patchless", - "rhs_uniform_cu_ucp_patchless", - // Added by ElShotte - 5 Items - "rhs_uniform_g3_m81", - "rhs_uniform_g3_blk", - "rhs_uniform_g3_mc", - "rhs_uniform_g3_rgr", - "rhs_uniform_g3_tan" - -]; - -blck_RHS_VestsUSAF = [ - "rhsusf_iotv_ucp", - "rhsusf_iotv_ucp_grenadier", - "rhsusf_iotv_ucp_medic", - "rhsusf_iotv_ucp_repair", - "rhsusf_iotv_ucp_rifleman", - "rhsusf_iotv_ucp_SAW", - "rhsusf_iotv_ucp_squadleader", - "rhsusf_iotv_ucp_teamleader", - "rhsusf_iotv_ocp", - "rhsusf_iotv_ocp_grenadier", - "rhsusf_iotv_ocp_medic", - "rhsusf_iotv_ocp_repair", - "rhsusf_iotv_ocp_rifleman", - "rhsusf_iotv_ocp_SAW", - "rhsusf_iotv_ocp_squadleader", - "rhsusf_iotv_ocp_teamleader", - //added by chainsaw - 2 - "rhsusf_spc", - "rhsusf_spc_mg", - // Added by ElShotte - 12 Items - "rhsusf_spc_marksman", - "rhsusf_spc_corpsman", - "rhsusf_spc_patchless", - "rhsusf_spc_squadleader", - "rhsusf_spc_teamleader", - "rhsusf_spc_light", - "rhsusf_spc_rifleman", - "rhsusf_spc_iar", - "rhsusf_spcs_ocp_rifleman", - "rhsusf_spcs_ocp", - "rhsusf_spcs_ucp_rifleman", - "rhsusf_spcs_ucp" - -]; - -blck_RHS_BackpacksUSAF = [ - "rhsusf_assault_eagleaiii_coy", - "rhsusf_assault_eagleaiii_ocp", - "rhsusf_assault_eagleaiii_ucp", - "rhsusf_falconii_coy", - "rhsusf_falconii_mc", - "rhsusf_falconii", - "RHS_M2_Gun_Bag" - -]; - -blck_RHS_HeadgearUSAF = [ - "rhs_Booniehat_m81", - "rhs_Booniehat_marpatd", - "rhs_Booniehat_marpatwd", - "rhs_Booniehat_ocp", - "rhs_Booniehat_ucp", - "rhsusf_Bowman", - "rhsusf_ach_bare", - "rhsusf_ach_bare_des", - "rhsusf_ach_bare_des_ess", - "rhsusf_ach_bare_des_headset", - "rhsusf_ach_bare_des_headset_ess", - "rhsusf_ach_bare_ess", - "rhsusf_ach_bare_headset", - "rhsusf_ach_bare_headset_ess", - "rhsusf_ach_bare_semi", - "rhsusf_ach_bare_semi_ess", - "rhsusf_ach_bare_semi_headset", - "rhsusf_ach_bare_semi_headset_ess", - "rhsusf_ach_bare_tan", - "rhsusf_ach_bare_tan_ess", - "rhsusf_ach_bare_tan_headset", - "rhsusf_ach_bare_tan_headset_ess", - "rhsusf_ach_bare_wood", - "rhsusf_ach_bare_wood_ess", - "rhsusf_ach_bare_wood_headset", - "rhsusf_ach_bare_wood_headset_ess", - "rhsusf_ach_helmet_ESS_ocp", - "rhsusf_ach_helmet_ESS_ucp", - "rhsusf_ach_helmet_M81", - "rhsusf_ach_helmet_camo_ocp", - "rhsusf_ach_helmet_headset_ess_ocp", - "rhsusf_ach_helmet_headset_ess_ucp", - "rhsusf_ach_helmet_headset_ocp", - "rhsusf_ach_helmet_headset_ucp", - "rhsusf_ach_helmet_ocp", - "rhsusf_ach_helmet_ocp_norotos", - "rhsusf_ach_helmet_ucp", - "rhsusf_ach_helmet_ucp_norotos", - "rhsusf_bowman_cap", - "rhsusf_lwh_helmet_M1942", - "rhsusf_lwh_helmet_marpatd", - "rhsusf_lwh_helmet_marpatd_ess", - "rhsusf_lwh_helmet_marpatd_headset", - "rhsusf_lwh_helmet_marpatwd", - "rhsusf_lwh_helmet_marpatwd_ess", - "rhsusf_lwh_helmet_marpatwd_headset", - "rhsusf_mich_bare", - "rhsusf_mich_bare_alt", - "rhsusf_mich_bare_alt_semi", - "rhsusf_mich_bare_alt_tan", - "rhsusf_mich_bare_headset", - "rhsusf_mich_bare_norotos", - "rhsusf_mich_bare_norotos_alt", - "rhsusf_mich_bare_norotos_alt_headset", - "rhsusf_mich_bare_norotos_alt_semi", - "rhsusf_mich_bare_norotos_alt_semi_headset", - "rhsusf_mich_bare_norotos_alt_tan", - "rhsusf_mich_bare_norotos_alt_tan_headset", - "rhsusf_mich_bare_norotos_arc", - "rhsusf_mich_bare_norotos_arc_alt", - "rhsusf_mich_bare_norotos_arc_alt_headset", - "rhsusf_mich_bare_norotos_arc_alt_semi", - "rhsusf_mich_bare_norotos_arc_alt_semi_headset", - "rhsusf_mich_bare_norotos_arc_alt_tan", - "rhsusf_mich_bare_norotos_arc_alt_tan_headset", - "rhsusf_mich_bare_norotos_arc_headset", - "rhsusf_mich_bare_norotos_arc_semi", - "rhsusf_mich_bare_norotos_arc_semi_headset", - "rhsusf_mich_bare_norotos_arc_tan", - "rhsusf_mich_bare_norotos_headset", - "rhsusf_mich_bare_norotos_semi", - "rhsusf_mich_bare_norotos_semi_headset", - "rhsusf_mich_bare_norotos_tan", - "rhsusf_mich_bare_norotos_tan_headset", - "rhsusf_mich_bare_semi", - "rhsusf_mich_bare_semi_headset", - "rhsusf_mich_bare_tan", - "rhsusf_mich_bare_tan_headset", - "rhsusf_mich_helmet_marpatd_alt_headset", - "rhsusf_mich_helmet_marpatd_headset", - "rhsusf_mich_helmet_marpatd_norotos", - "rhsusf_mich_helmet_marpatd_norotos_arc", - "rhsusf_mich_helmet_marpatd_norotos_arc_headset", - "rhsusf_mich_helmet_marpatd_norotos_headset", - "rhsusf_mich_helmet_marpatwd", - "rhsusf_mich_helmet_marpatwd_alt", - "rhsusf_mich_helmet_marpatwd_alt_headset", - "rhsusf_mich_helmet_marpatwd_headset", - "rhsusf_mich_helmet_marpatwd_norotos", - "rhsusf_mich_helmet_marpatwd_norotos_arc", - "rhsusf_mich_helmet_marpatwd_norotos_arc_headset", - "rhsusf_mich_helmet_marpatwd_norotos_headset", - // added by chainsaw - 13 - "rhsusf_patrolcap_ocp", - "rhsusf_patrolcap_ucp", - "rhsusf_opscore_01", - "rhsusf_opscore_01_tan", - "rhsusf_opscore_02_tan", - "rhsusf_opscore_03_ocp", - "rhsusf_opscore_04_ocp", - "rhsusf_cvc_helmet", - "rhsusf_cvc_ess", - "rhsusf_hgu56p", - "rhsusf_hgu56p_mask", - "rhsusf_cvc_green_helmet", - "rhsusf_cvc_green_ess", - // Added by ElShotte - 41 Items - "rhsusf_opscore_bk_pelt", - "rhsusf_opscore_bk", - "rhsusf_opscore_coy_cover", - "rhsusf_opscore_coy_cover_pelt", - "rhsusf_opscore_fg", - "rhsusf_opscore_fg_pelt", - "rhsusf_opscore_fg_pelt_cam", - "rhsusf_opscore_fg_pelt_nsw", - "rhsusf_opscore_mc", - "rhsusf_opscore_mc_pelt", - "rhsusf_opscore_mc_pelt_nsw", - "rhsusf_opscore_mc_cover", - "rhsusf_opscore_mc_cover_pelt", - "rhsusf_opscore_mc_cover_pelt_nsw", - "rhsusf_opscore_mc_cover_pelt_cam", - "rhsusf_opscore_paint", - "rhsusf_opscore_paint_pelt", - "rhsusf_opscore_paint_pelt_nsw", - "rhsusf_opscore_paint_pelt_nsw_cam", - "rhsusf_opscore_rg_cover", - "rhsusf_opscore_rg_cover_pelt", - "rhsusf_opscore_ut", - "rhsusf_opscore_ut_pelt", - "rhsusf_opscore_ut_pelt_cam", - "rhsusf_opscore_ut_pelt_nsw", - "rhsusf_opscore_ut_pelt_nsw_cam", - "rhsusf_opscore_mar_ut_pelt", - "rhsusf_opscore_mar_ut", - "rhsusf_opscore_mar_fg_pelt", - "rhsusf_opscore_mar_fg", - "rhsusf_protech_helmet", - "rhsusf_protech_helmet_ess", - "rhsusf_protech_helmet_rhino", - "rhsusf_protech_helmet_rhino_ess" -]; - -blck_RHS_UniformsGREF = [ - "rhsgref_uniform_alpenflage", - "rhsgref_uniform_flecktarn", - "rhsgref_uniform_para_ttsko_mountain", - "rhsgref_uniform_para_ttsko_oxblood", - "rhsgref_uniform_para_ttsko_urban", - "rhsgref_uniform_reed", - "rhsgref_uniform_specter", - "rhsgref_uniform_tigerstripe", - "rhsgref_uniform_ttsko_forest", - "rhsgref_uniform_ttsko_mountain", - "rhsgref_uniform_ttsko_urban", - "rhsgref_uniform_vsr", - "rhsgref_uniform_woodland", - "rhsgref_uniform_woodland_olive" -]; - -blck_RHS_VestsGREF = [ - "rhsgref_6b23", - "rhsgref_6b23_khaki", - "rhsgref_6b23_khaki_medic", - "rhsgref_6b23_khaki_nco", - "rhsgref_6b23_khaki_officer", - "rhsgref_6b23_khaki_rifleman", - "rhsgref_6b23_khaki_sniper", - "rhsgref_6b23_ttsko_digi", - "rhsgref_6b23_ttsko_digi_medic", - "rhsgref_6b23_ttsko_digi_nco", - "rhsgref_6b23_ttsko_digi_officer", - "rhsgref_6b23_ttsko_digi_rifleman", - "rhsgref_6b23_ttsko_digi_sniper", - "rhsgref_6b23_ttsko_forest", - "rhsgref_6b23_ttsko_forest_rifleman", - "rhsgref_6b23_ttsko_mountain", - "rhsgref_6b23_ttsko_mountain_medic", - "rhsgref_6b23_ttsko_mountain_nco", - "rhsgref_6b23_ttsko_mountain_officer", - "rhsgref_6b23_ttsko_mountain_rifleman", - "rhsgref_6b23_ttsko_mountain_sniper", - "rhsgref_otv_digi", - "rhsgref_otv_khaki" -]; - -blck_RHS_HeadgearGREF = [ - "rhsgref_6b27m", - "rhsgref_6b27m_ttsko_digi", - "rhsgref_6b27m_ttsko_forest", - "rhsgref_6b27m_ttsko_mountain", - "rhsgref_6b27m_ttsko_urban", - "rhsgref_Booniehat_alpen", - "rhsgref_fieldcap", - "rhsgref_fieldcap_ttsko_digi", - "rhsgref_fieldcap_ttsko_forest", - "rhsgref_fieldcap_ttsko_mountain", - "rhsgref_fieldcap_ttsko_urban", - "rhsgref_patrolcap_specter", - "rhsgref_ssh68", - "rhsgref_ssh68_emr", - "rhsgref_ssh68_ttsko_digi", - "rhsgref_ssh68_ttsko_forest", - "rhsgref_ssh68_ttsko_mountain", - "rhsgref_ssh68_un" -]; -blck_RHS_WeaponsGREF = [ - "rhs_weap_kar98k", - "rhs_weap_m21a", - "rhs_weap_m21a_fold", - "rhs_weap_m21a_pr", - "rhs_weap_m21s", - "rhs_weap_m21s_fold", - "rhs_weap_m21s_pr", - "rhs_weap_m38", - "rhs_weap_m70ab2", - "rhs_weap_m70ab2_fold", - "rhs_weap_m70b1", - "rhs_weap_m76", - "rhs_weap_m92", - "rhs_weap_m92_fold" -]; - -blck_RHS_HeadgearSAF = [ - "rhssaf_helmet_m59_85_nocamo", - "rhssaf_helmet_m59_85_oakleaf", - "rhssaf_helmet_m97_olive_nocamo", - "rhssaf_helmet_m97_olive_nocamo_black_ess", - "rhssaf_helmet_m97_olive_nocamo_black_ess_bare", - "rhssaf_helmet_m97_black_nocamo", - "rhssaf_helmet_m97_black_nocamo_black_ess", - "rhssaf_helmet_m97_black_nocamo_black_ess_bare", - "rhssaf_Helmet_m97_woodland", - "rhssaf_Helmet_m97_digital", - "rhssaf_Helmet_m97_md2camo", - "rhssaf_Helmet_m97_oakleaf", - "rhssaf_helmet_m97_nostrap_blue", - "rhssaf_helmet_m97_nostrap_blue_tan_ess", - "rhssaf_helmet_m97_nostrap_blue_tan_ess_bare", - "rhssaf_helmet_m97_woodland_black_ess", - "rhssaf_helmet_m97_woodland_black_ess_bare", - "rhssaf_helmet_m97_digital_black_ess", - "rhssaf_helmet_m97_digital_black_ess_bare", - "rhssaf_helmet_m97_md2camo_black_ess", - "rhssaf_helmet_m97_md2camo_black_ess_bare", - "rhssaf_helmet_m97_oakleaf_black_ess", - "rhssaf_helmet_m97_oakleaf_black_ess_bare", - "rhssaf_helmet_hgu56p", - "rhssaf_beret_green", - "rhssaf_beret_red", - "rhssaf_beret_black", - "rhssaf_beret_blue_un", - "rhssaf_booniehat_digital", - "rhssaf_booniehat_md2camo", - "rhssaf_booniehat_woodland" -]; - -blck_RHS_UniformsSAF = [ - "rhssaf_uniform_m10_digital", - "rhssaf_uniform_m10_digital_summer", - "rhssaf_uniform_m10_digital_desert", - "rhssaf_uniform_m10_digital_tan_boots", - "rhssaf_uniform_m93_oakleaf", - "rhssaf_uniform_m93_oakleaf_summer", - "rhssaf_uniform_heli_pilot" -]; - -blck_RHS_VestsSAF = [ - "rhssaf_vest_md98_woodland", - "rhssaf_vest_md98_md2camo", - "rhssaf_vest_md98_digital", - "rhssaf_vest_md98_officer", - "rhssaf_vest_md98_rifleman", - "rhssaf_vest_otv_md2camo", - "rhssaf_vest_md99_md2camo_rifleman", - "rhssaf_vest_md99_digital_rifleman", - "rhssaf_vest_md99_woodland_rifleman", - "rhssaf_vest_md99_md2camo", - "rhssaf_vest_md99_digital", - "rhssaf_vest_md99_woodland" -]; - -blck_RHS_BackpacksSAF = [ - "rhssaf_30rnd_556x45_EPR_G36", - "rhssaf_30rnd_556x45_SOST_G36", - "rhssaf_100rnd_556x45_EPR_G36", - "rhssaf_30rnd_556x45_SPR_G36", - "rhssaf_30rnd_556x45_Tracers_G36", - "rhssaf_30rnd_556x45_MDIM_G36", - "rhssaf_30rnd_556x45_TDIM_G36", - "150Rnd_556x45_Drum_Mag_F", - "150Rnd_556x45_Drum_Mag_Tracer_F", - "rhs_30Rnd_762x39mm", - "rhs_30Rnd_762x39mm_tracer", - "rhs_30Rnd_762x39mm_89", - "rhs_30Rnd_762x39mm_U", - "rhsgref_30rnd_556x45_m21", - "rhsgref_30rnd_556x45_m21_t", - "rhs_100Rnd_762x54mmR", - "rhs_100Rnd_762x54mmR_green", - "rhssaf_250Rnd_762x54R" -]; - -blck_RHS_WeaponsSAF = [ - "rhs_weap_m70ab2_fold", - "rhs_weap_m70b1", - "rhs_weap_m70b1n", - "rhs_weap_m70b3n", - "rhs_weap_m70b3n_pbg40", - "rhs_weap_m92", - "rhs_weap_m92_fold", - "rhs_weap_m76", - "rhs_weap_m21a", - "rhs_weap_m21a_pr", - "rhs_weap_m21a_pr_pbg40", - "rhs_weap_m21a_fold", - "rhs_weap_m21a_pbg40", - "rhs_weap_m21s", - "rhs_weap_m21s_pr", - "rhs_weap_m21s_fold", - "rhs_weap_m82a1", - "rhs_weap_minimi_para_railed", - "rhs_weap_g36c", - "rhs_weap_g36kv", - "rhs_weap_g36kv_ag36", - "rhs_weap_m84" -]; - -blck_NIA_WeaponsLMG = [ - "hlc_lmg_M249E2", - "hlc_lmg_M249E2", - "hlc_lmg_M60E4", - "hlc_lmg_MG3KWS_b", - "hlc_lmg_MG3KWS_g", - "hlc_lmg_MG42", - "hlc_lmg_MG42KWS_t", - "hlc_lmg_m249para", - "hlc_lmg_m249para", - "hlc_lmg_m60", - "hlc_lmg_mg42kws_b", - "hlc_lmg_mg42kws_g", - "hlc_lmg_minimi", - "hlc_lmg_minimi_railed", - "hlc_lmg_minimipara", - "hlc_lmg_mk48", - "hlc_m249_pip1", - "hlc_m249_pip2", - "hlc_m249_pip3", - "hlc_m249_pip4", - "hlc_rifle_rpk", - "hlc_rifle_rpk12", - "hlc_rifle_rpk74n" -]; - -blck_NIA_WeaponsSMG = [ - "hlc_smg_9mmar", - "hlc_smg_MP5N", - "hlc_smg_mp510", - "hlc_smg_mp5a2", - "hlc_smg_mp5a3", - "hlc_smg_mp5a4", - "hlc_smg_mp5k", - "hlc_smg_mp5k_PDW", - "hlc_smg_mp5sd5", - "hlc_smg_mp5sd6" -]; - -blck_NIA_WeaponsAR = [ - "HLC_Rifle_g3ka4_GL", - "hlc_barrel_carbine", - "hlc_barrel_hbar", - "hlc_barrel_standard", - "hlc_rifle_Bushmaster300", - "hlc_rifle_Colt727", - "hlc_rifle_Colt727_GL", - "hlc_rifle_FAL5000", - "hlc_rifle_FAL5000Rail", - "hlc_rifle_FAL5000_RH", - "hlc_rifle_FAL5061", - "hlc_rifle_FAL5061Rail", - "hlc_rifle_G36A1", - "hlc_rifle_G36A1AG36", - "hlc_rifle_G36C", - "hlc_rifle_G36CMLIC", - "hlc_rifle_G36CTAC", - "hlc_rifle_G36CV", - "hlc_rifle_G36E1", - "hlc_rifle_G36E1AG36", - "hlc_rifle_G36KA1", - "hlc_rifle_G36KE1", - "hlc_rifle_G36KMLIC", - "hlc_rifle_G36KTAC", - "hlc_rifle_G36KV", - "hlc_rifle_G36MLIAG36", - "hlc_rifle_G36MLIC", - "hlc_rifle_G36TAC", - "hlc_rifle_G36V", - "hlc_rifle_G36VAG36", - "hlc_rifle_LAR", - "hlc_rifle_M14", - "hlc_rifle_M14DMR", - "hlc_rifle_M21", - "hlc_rifle_MG36", - "hlc_rifle_RK62", - "hlc_rifle_RU556", - "hlc_rifle_RU5562", - "hlc_rifle_SAMR", - "hlc_rifle_SLR", - "hlc_rifle_SLRchopmod", - "hlc_rifle_STG58F", - "hlc_rifle_STGW57", - "hlc_rifle_aek971", - "hlc_rifle_aek971_mtk", - "hlc_rifle_ak12", - "hlc_rifle_ak12gl", - "hlc_rifle_ak47", - "hlc_rifle_ak74", - "hlc_rifle_ak74_MTK", - "hlc_rifle_ak74_dirty", - "hlc_rifle_ak74_dirty2", - "hlc_rifle_ak74m", - "hlc_rifle_ak74m_MTK", - "hlc_rifle_ak74m_gl", - "hlc_rifle_akm", - "hlc_rifle_akm_MTK", - "hlc_rifle_akmgl", - "hlc_rifle_aks74", - "hlc_rifle_aks74_GL", - "hlc_rifle_aks74_MTK", - "hlc_rifle_aks74u", - "hlc_rifle_aks74u_MTK", - "hlc_rifle_aku12", - "hlc_rifle_amt", - "hlc_rifle_aug", - "hlc_rifle_auga1_B", - "hlc_rifle_auga1_t", - "hlc_rifle_auga1carb", - "hlc_rifle_auga1carb_b", - "hlc_rifle_auga1carb_t", - "hlc_rifle_auga2", - "hlc_rifle_auga2_b", - "hlc_rifle_auga2_t", - "hlc_rifle_auga2carb", - "hlc_rifle_auga2carb_b", - "hlc_rifle_auga2carb_t", - "hlc_rifle_auga2lsw", - "hlc_rifle_auga2lsw_b", - "hlc_rifle_auga2lsw_t", - "hlc_rifle_auga3", - "hlc_rifle_auga3_GL", - "hlc_rifle_auga3_GL_B", - "hlc_rifle_auga3_GL_BL", - "hlc_rifle_auga3_b", - "hlc_rifle_auga3_bl", - "hlc_rifle_aughbar", - "hlc_rifle_aughbar_b", - "hlc_rifle_aughbar_t", - "hlc_rifle_augsr", - "hlc_rifle_augsr_b", - "hlc_rifle_augsr_t", - "hlc_rifle_augsrcarb", - "hlc_rifle_augsrcarb_b", - "hlc_rifle_augsrcarb_t", - "hlc_rifle_augsrhbar", - "hlc_rifle_augsrhbar_b", - "hlc_rifle_augsrhbar_t", - "hlc_rifle_bcmblackjack", - "hlc_rifle_bcmjack", - "hlc_rifle_c1A1", - "hlc_rifle_falosw", - "hlc_rifle_g3a3", - "hlc_rifle_g3a3ris", - "hlc_rifle_g3a3v", - "hlc_rifle_g3ka4", - "hlc_rifle_g3sg1", - "hlc_rifle_hk33a2", - "hlc_rifle_hk33a2RIS", - "hlc_rifle_hk51", - "hlc_rifle_hk53", - "hlc_rifle_hk53RAS", - "hlc_rifle_honeybadger", - "hlc_rifle_l1a1slr", - "hlc_rifle_m14sopmod", - "hlc_rifle_osw_GL", - "hlc_rifle_rpk74n", - "hlc_rifle_sig5104", - "hlc_rifle_slr107u", - "hlc_rifle_slr107u_MTK", - "hlc_rifle_stgw57_RIS", - "hlc_rifle_stgw57_commando", - "hlc_rifle_vendimus" -]; - -blck_NIA_WeaponsSniper = [ - "hlc_rifle_M1903A1", - "hlc_rifle_M1903A1OMR", - "hlc_rifle_M1903A1_unertl", - "hlc_rifle_PSG1A1_RIS", - "hlc_rifle_awMagnum_BL_ghillie", - "hlc_rifle_awMagnum_FDE_ghillie", - "hlc_rifle_awMagnum_OD_ghillie", - "hlc_rifle_awcovert", - "hlc_rifle_awcovert_BL", - "hlc_rifle_awcovert_FDE", - "hlc_rifle_awmagnum", - "hlc_rifle_awmagnum_BL", - "hlc_rifle_awmagnum_FDE", - "hlc_rifle_psg1", - "hlc_rifle_psg1A1" -]; diff --git a/@GMS/addons/custom_server/Configs/blck_custom_config_RC.sqf b/@GMS/addons/custom_server/Configs/blck_custom_config_RC.sqf deleted file mode 100644 index f1540cb..0000000 --- a/@GMS/addons/custom_server/Configs/blck_custom_config_RC.sqf +++ /dev/null @@ -1,1269 +0,0 @@ - -/* - for ghostridergaming - By Ghostrider [GRG] - Copyright 2016 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -diag_log "[blckeagls] Loading Configuration Overides"; - -/* - See the examples below as a guide for adding configs that are unique for each of several servers. -*/ -/* -private["_startTime"]; -_startTime = diag_tickTime; -_world = toLower format ["%1", worldName]; -private["_nightAccel","_dayAccel","_duskAccel"]; -switch (_world) do { - case "altis":{_nightAccel = 3;_dayAccel=0.5; _duskAccel = 3;}; - case "napf":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;}; - case "namalsk":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;}; - case "tanoa":{_nightAccel = 12; _dayAccel = 3.2;_duskAccel = 6;}; -}; - -switch (toLower (worldName)) do -{ - case "altis": - { - private ["_arr","_sunrise","_sunset","_time"]; - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _daylight = _sunset - _sunrise; - _nightTime = abs(24 - _daylight); - _time = dayTime; - #ifdef blck_milServer - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight)/3; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = _nightTime / 6; // Nighttim time acceleration - #else - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight)/8; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = _nightTime / 8; // Nighttim time acceleration - #endif - //blck_maxCrashSites = 3; - }; - case"tanoa": - { - blck_maxCrashSites = 2; - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1.4; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case"namalsk": - { - private ["_arr","_sunrise","_sunset","_time"]; - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _daylight = _sunset - _sunrise; - _nightTime = abs(24 - _daylight); - _time = dayTime; - _serverUpTime = 8; - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = ((_serverUpTime + 2)/_daylight); // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = (3/_nightTime); // Nighttim time acceleration - }; - case "esseker": - { - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 1; - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 3; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 6; // Nighttim time acceleration - }; - case "panthera3": - { - blck_maxCrashSites = 2; - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1.4; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case "malden": - { - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _time = dayTime; - _daylight = _sunset - _sunrise; - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight / 2.5); // Daytime time accelearation - blck_timeAccelerationDusk = 8; // Dawn/dusk time accelearation - blck_timeAccelerationNight = ((24 - _daylight) / 1.5); // Nighttim time acceleration - blck_enableOrangeMissions = -1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = -2; - blck_enableBlueMissions = -1; - blck_numberUnderwaterDynamicMissions = -3; - blck_enableHunterMissions = -1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 3; - }; -}; -*/ - - -/* - You can define configs for additional mods or loadouts here -*/ -/* -blck_CUPWeapons = [ - "CUP_lmg_L7A2", - "CUP_lmg_L110A1", - "CUP_lmg_M240", - "CUP_lmg_M249", - "CUP_lmg_M249_ElcanM145_Laser", - "CUP_lmg_Mk48_des", - "CUP_lmg_Mk48_wdl", - "CUP_lmg_PKM", - "CUP_lmg_UK59", - "CUP_lmg_Pecheneg", - "CUP_arifle_AK74", - "CUP_arifle_AK107", - "CUP_arifle_AK107_GL", - "CUP_arifle_AKS74", - "CUP_arifle_AKS74U", - "CUP_arifle_AK74_GL", - "CUP_arifle_AKM", - "CUP_arifle_AKS", - "CUP_arifle_AKS_Gold", - "CUP_arifle_RPK74", - "CUP_arifle_CZ805_A2", - "CUP_arifle_FNFAL", - "CUP_arifle_G36A", - "CUP_arifle_G36A_camo", - "CUP_arifle_G36K", - "CUP_arifle_G36K_camo", - "CUP_arifle_G36C", - "CUP_arifle_G36C_camo", - "CUP_arifle_MG36", - "CUP_arifle_MG36_camo", - "CUP_arifle_L85A2", - "CUP_arifle_L85A2_GL", - "CUP_arifle_L86A2", - "CUP_arifle_M16A2", - "CUP_arifle_M16A2_GL", - "CUP_arifle_M4A1", - "CUP_arifle_M4A1_camo", - "CUP_arifle_M4A3_desert_Aim_Flashlight", - "CUP_arifle_M16A4_Base", - "CUP_arifle_M4A1_BUIS_GL", - "CUP_arifle_M4A1_BUIS_camo_GL", - "CUP_arifle_M4A1_BUIS_desert_GL", - "CUP_arifle_M4A1_desert", - "CUP_arifle_Sa58P", - "CUP_arifle_Sa58V", - "CUP_arifle_Mk16_CQC", - "CUP_arifle_XM8_Railed", - "CUP_arifle_XM8_Carbine", - "CUP_arifle_XM8_Carbine_FG", - "CUP_arifle_XM8_Carbine_GL", - "CUP_arifle_XM8_Compact", - "CUP_arifle_xm8_SAW", - "CUP_arifle_xm8_sharpshooter", - "CUP_arifle_CZ805_A1", - "CUP_arifle_CZ805_GL", - "CUP_arifle_CZ805_B_GL", - "CUP_arifle_CZ805_B", - "CUP_arifle_Sa58P_des", - "CUP_arifle_Sa58V_camo", - "CUP_arifle_Sa58RIS1", - "CUP_arifle_Sa58RIS2", - "CUP_arifle_Mk16_CQC_FG", - "CUP_arifle_Mk16_CQC_SFG", - "CUP_arifle_Mk16_CQC_EGLM", - "CUP_arifle_Mk16_STD", - "CUP_arifle_Mk16_STD_FG", - "CUP_arifle_Mk16_STD_SFG", - "CUP_arifle_Mk16_STD_EGLM", - "CUP_arifle_Mk16_SV", - "CUP_arifle_Mk17_CQC", - "CUP_arifle_Mk17_CQC_FG", - "CUP_arifle_Mk17_CQC_SFG", - "CUP_arifle_Mk17_CQC_EGLM", - "CUP_arifle_Mk17_STD", - "CUP_arifle_Mk17_STD_FG", - "CUP_arifle_Mk17_STD_SFG", - "CUP_arifle_Mk17_STD_EGLM", - "CUP_arifle_Mk20", - "CUP_srifle_AWM_des", - "CUP_srifle_AWM_wdl", - "CUP_srifle_CZ750", - "CUP_srifle_DMR", - "CUP_srifle_CZ550", - "CUP_srifle_LeeEnfield", - "CUP_srifle_M14", - "CUP_srifle_Mk12SPR", - "CUP_srifle_M24_des", - "CUP_srifle_M24_wdl", - "CUP_srifle_M24_ghillie", - "CUP_srifle_M40A3", - "CUP_srifle_M107_Base", - "CUP_srifle_M110", - "CUP_srifle_SVD", - "CUP_srifle_SVD_des", - "CUP_srifle_SVD_wdl_ghillie", - "CUP_srifle_SVD_NSPU", - "CUP_srifle_ksvk", - "CUP_srifle_VSSVintorez", - "CUP_srifle_AS50" -]; - -blck_CUPUniforms = [ - "CUP_U_B_CZ_WDL_TShirt", - "CUP_U_I_GUE_Anorak_01", - "CUP_U_I_GUE_Anorak_03", - "CUP_U_I_GUE_Anorak_02", - "CUP_U_B_BAF_DDPM_S2_UnRolled", - "CUP_U_B_BAF_DDPM_S1_RolledUp", - "CUP_U_B_BAF_DDPM_Tshirt", - "CUP_U_B_BAF_DPM_S2_UnRolled", - "CUP_U_B_BAF_DPM_S1_RolledUp", - "CUP_U_B_BAF_DPM_Tshirt", - "CUP_U_B_BAF_MTP_S2_UnRolled", - "CUP_U_B_BAF_MTP_S1_RolledUp", - "CUP_U_B_BAF_MTP_Tshirt", - "CUP_U_B_BAF_MTP_S4_UnRolled", - "CUP_U_B_BAF_MTP_S3_RolledUp", - "CUP_U_B_BAF_MTP_S5_UnRolled", - "CUP_U_B_BAF_MTP_S6_UnRolled", - "CUP_U_O_CHDKZ_Bardak", - "CUP_U_O_CHDKZ_Lopotev", - "CUP_U_O_CHDKZ_Kam_03", - "CUP_U_O_CHDKZ_Kam_01", - "CUP_U_O_CHDKZ_Kam_04", - "CUP_U_O_CHDKZ_Kam_02", - "CUP_U_O_CHDKZ_Commander", - "CUP_U_O_CHDKZ_Kam_08", - "CUP_U_O_CHDKZ_Kam_05", - "CUP_U_O_CHDKZ_Kam_07", - "CUP_U_O_CHDKZ_Kam_06", - "CUP_U_C_Citizen_02", - "CUP_U_C_Citizen_01", - "CUP_U_C_Citizen_04", - "CUP_U_C_Citizen_03", - "CUP_U_C_Fireman_01", - "CUP_U_B_GER_Flecktarn_2", - "CUP_U_B_GER_Tropentarn_2", - "CUP_U_B_GER_Flecktarn_1", - "CUP_U_B_GER_Tropentarn_1", - "CUP_O_TKI_Khet_Jeans_04", - "CUP_O_TKI_Khet_Jeans_02", - "CUP_O_TKI_Khet_Jeans_01", - "CUP_O_TKI_Khet_Jeans_03", - "CUP_O_TKI_Khet_Partug_04", - "CUP_O_TKI_Khet_Partug_02", - "CUP_O_TKI_Khet_Partug_01", - "CUP_O_TKI_Khet_Partug_07", - "CUP_O_TKI_Khet_Partug_08", - "CUP_O_TKI_Khet_Partug_05", - "CUP_O_TKI_Khet_Partug_06", - "CUP_O_TKI_Khet_Partug_03", - "CUP_U_C_Labcoat_02", - "CUP_U_C_Labcoat_03", - "CUP_U_C_Labcoat_01", - "CUP_U_B_USMC_Officer", - "CUP_U_B_USMC_MARPAT_WDL_RollUpKneepad", - "CUP_U_B_USMC_MARPAT_WDL_RolledUp", - "CUP_U_B_USMC_MARPAT_WDL_Kneepad", - "CUP_U_B_USMC_MARPAT_WDL_TwoKneepads", - "CUP_U_B_USMC_MARPAT_WDL_Sleeves", - "CUP_U_C_Mechanic_02", - "CUP_U_C_Mechanic_03", - "CUP_U_C_Mechanic_01", - "CUP_U_I_GUE_Flecktarn2", - "CUP_U_I_GUE_Flecktarn3", - "CUP_U_I_GUE_Flecktarn", - "CUP_U_I_GUE_Woodland1", - "CUP_B_USMC_Navy_Blue", - "CUP_B_USMC_Navy_Brown", - "CUP_B_USMC_Navy_Green", - "CUP_B_USMC_Navy_Red", - "CUP_B_USMC_Navy_Violet", - "CUP_B_USMC_Navy_White", - "CUP_B_USMC_Navy_Yellow", - "CUP_U_C_Rescuer_01", - "CUP_U_O_Partisan_TTsKO", - "CUP_U_O_Partisan_TTsKO_Mixed", - "CUP_U_O_Partisan_VSR_Mixed1", - "CUP_U_O_Partisan_VSR_Mixed2", - "CUP_U_C_Pilot_01", - "CUP_U_C_Policeman_01", - "CUP_U_C_Priest_01", - "CUP_U_C_Profiteer_02", - "CUP_U_C_Profiteer_03", - "CUP_U_C_Profiteer_01", - "CUP_U_C_Profiteer_04", - "CUP_U_I_RACS_Desert_2", - "CUP_U_I_RACS_Urban_2", - "CUP_U_I_RACS_PilotOverall", - "CUP_U_I_RACS_Desert_1", - "CUP_U_I_RACS_Urban_1", - "CUP_U_C_Rocker_01", - "CUP_U_C_Rocker_03", - "CUP_U_C_Rocker_02", - "CUP_U_C_Rocker_04", - "CUP_U_O_RUS_Gorka_Green", - "CUP_U_O_RUS_Gorka_Partizan_A", - "CUP_U_O_RUS_Gorka_Partizan", - "CUP_U_O_RUS_EMR_1_VDV", - "CUP_U_O_RUS_EMR_1", - "CUP_U_O_RUS_Flora_1_VDV", - "CUP_U_O_RUS_Flora_1", - "CUP_U_O_RUS_Commander", - "CUP_U_O_RUS_EMR_2_VDV", - "CUP_U_O_RUS_EMR_2", - "CUP_U_O_RUS_Flora_2_VDV", - "CUP_U_O_RUS_Flora_2", - "CUP_U_O_SLA_Officer_Suit", - "CUP_U_O_SLA_Overalls_Pilot", - "CUP_U_O_SLA_Overalls_Tank", - "CUP_U_O_SLA_MixedCamo", - "CUP_U_O_SLA_Desert", - "CUP_U_O_SLA_Green", - "CUP_U_O_SLA_Urban", - "CUP_U_B_FR_SpecOps", - "CUP_U_B_FR_Officer", - "CUP_U_B_FR_DirAction", - "CUP_U_B_FR_DirAction2", - "CUP_U_B_FR_Corpsman", - "CUP_U_B_FR_Light", - "CUP_U_B_FR_Scout1", - "CUP_U_B_FR_Scout2", - "CUP_U_B_FR_Scout3", - "CUP_U_B_FR_Scout", - "CUP_U_C_Suit_01", - "CUP_U_C_Suit_02", - "CUP_U_O_TK_Officer", - "CUP_U_O_SLA_Officer", - "CUP_U_O_TK_Green", - "CUP_U_O_TK_MixedCamo", - "CUP_U_B_USArmy_TwoKnee", - "CUP_U_B_USArmy_Base", - "CUP_U_B_USArmy_Soft", - "CUP_U_B_USArmy_UBACS", - "CUP_U_B_USArmy_PilotOverall", - "CUP_U_B_USMC_PilotOverall", - "CUP_U_C_Villager_01", - "CUP_U_C_Villager_04", - "CUP_U_C_Villager_02", - "CUP_U_C_Villager_03", - "CUP_U_C_Woodlander_01", - "CUP_U_C_Woodlander_02", - "CUP_U_C_Woodlander_03", - "CUP_U_C_Woodlander_04", - "CUP_U_C_Worker_03", - "CUP_U_C_Worker_04", - "CUP_U_C_Worker_02", - "CUP_U_C_Worker_01", - "CUP_U_B_BAF_DDPM_Ghillie", - "CUP_U_B_BAF_MTP_Ghillie", - "CUP_U_B_BAF_DPM_Ghillie", - "CUP_U_B_GER_Ghillie", - "CUP_U_B_GER_Fleck_Ghillie", - "CUP_U_B_USMC_Ghillie_WDL", - "CUP_U_I_Ghillie_Top", - "CUP_U_O_RUS_Ghillie", - "CUP_U_O_TK_Ghillie", - "CUP_U_O_TK_Ghillie_Top", - "CUP_U_B_USArmy_Ghillie" -]; - -blck_CUPVests = [ - "CUP_V_BAF_Osprey_Mk2_DDPM_Grenadier", - "CUP_V_BAF_Osprey_Mk2_DDPM_Medic", - "CUP_V_BAF_Osprey_Mk2_DDPM_Officer", - "CUP_V_BAF_Osprey_Mk2_DDPM_Sapper", - "CUP_V_BAF_Osprey_Mk2_DDPM_Scout", - "CUP_V_BAF_Osprey_Mk2_DDPM_Soldier1", - "CUP_V_BAF_Osprey_Mk2_DDPM_Soldier2", - "CUP_V_BAF_Osprey_Mk2_DPM_Grenadier", - "CUP_V_BAF_Osprey_Mk2_DPM_Medic", - "CUP_V_BAF_Osprey_Mk2_DPM_Officer", - "CUP_V_BAF_Osprey_Mk2_DPM_Sapper", - "CUP_V_BAF_Osprey_Mk2_DPM_Scout", - "CUP_V_BAF_Osprey_Mk2_DPM_Soldier1", - "CUP_V_BAF_Osprey_Mk2_DPM_Soldier2", - "CUP_V_BAF_Osprey_Mk4_MTP_Grenadier", - "CUP_V_BAF_Osprey_Mk4_MTP_MachineGunner", - "CUP_V_BAF_Osprey_Mk4_MTP_Rifleman", - "CUP_V_BAF_Osprey_Mk4_MTP_SquadLeader", - "CUP_V_B_GER_Carrier_Rig", - "CUP_V_B_GER_Carrier_Rig_2", - "CUP_V_B_GER_Carrier_Vest", - "CUP_V_B_GER_Carrier_Vest_2", - "CUP_V_B_GER_Carrier_Vest_3", - "CUP_V_B_GER_Vest_1", - "CUP_V_B_GER_Vest_2", - "CUP_V_B_LHDVest_Blue", - "CUP_V_B_LHDVest_Brown", - "CUP_V_B_LHDVest_Green", - "CUP_V_B_LHDVest_Red", - "CUP_V_B_LHDVest_Violet", - "CUP_V_B_LHDVest_White", - "CUP_V_B_LHDVest_Yellow", - "CUP_V_B_MTV", - "CUP_V_B_MTV_LegPouch", - "CUP_V_B_MTV_MG", - "CUP_V_B_MTV_Marksman", - "CUP_V_B_MTV_Mine", - "CUP_V_B_MTV_Patrol", - "CUP_V_B_MTV_PistolBlack", - "CUP_V_B_MTV_Pouches", - "CUP_V_B_MTV_TL", - "CUP_V_B_MTV_noCB", - "CUP_V_B_PilotVest", - "CUP_V_B_RRV_DA1", - "CUP_V_B_RRV_DA2", - "CUP_V_B_RRV_Light", - "CUP_V_B_RRV_MG", - "CUP_V_B_RRV_Medic", - "CUP_V_B_RRV_Officer", - "CUP_V_B_RRV_Scout", - "CUP_V_B_RRV_Scout2", - "CUP_V_B_RRV_Scout3", - "CUP_V_B_RRV_TL", - "CUP_V_I_Carrier_Belt", - "CUP_V_I_Guerilla_Jacket", - "CUP_V_I_RACS_Carrier_Vest", - "CUP_V_I_RACS_Carrier_Vest_2", - "CUP_V_I_RACS_Carrier_Vest_3", - "CUP_V_OI_TKI_Jacket1_01", - "CUP_V_OI_TKI_Jacket1_02", - "CUP_V_OI_TKI_Jacket1_03", - "CUP_V_OI_TKI_Jacket1_04", - "CUP_V_OI_TKI_Jacket1_05", - "CUP_V_OI_TKI_Jacket1_06", - "CUP_V_OI_TKI_Jacket2_01", - "CUP_V_OI_TKI_Jacket2_02", - "CUP_V_OI_TKI_Jacket2_03", - "CUP_V_OI_TKI_Jacket2_04", - "CUP_V_OI_TKI_Jacket2_05", - "CUP_V_OI_TKI_Jacket2_06", - "CUP_V_OI_TKI_Jacket3_01", - "CUP_V_OI_TKI_Jacket3_02", - "CUP_V_OI_TKI_Jacket3_03", - "CUP_V_OI_TKI_Jacket3_04", - "CUP_V_OI_TKI_Jacket3_05", - "CUP_V_OI_TKI_Jacket3_06", - "CUP_V_OI_TKI_Jacket4_01", - "CUP_V_OI_TKI_Jacket4_02", - "CUP_V_OI_TKI_Jacket4_03", - "CUP_V_OI_TKI_Jacket4_04", - "CUP_V_OI_TKI_Jacket4_05", - "CUP_V_OI_TKI_Jacket4_06", - "CUP_V_O_SLA_Carrier_Belt", - "CUP_V_O_SLA_Carrier_Belt02", - "CUP_V_O_SLA_Carrier_Belt03", - "CUP_V_O_SLA_Flak_Vest01", - "CUP_V_O_SLA_Flak_Vest02", - "CUP_V_O_SLA_Flak_Vest03", - "CUP_V_O_TK_CrewBelt", - "CUP_V_O_TK_OfficerBelt", - "CUP_V_O_TK_OfficerBelt2", - "CUP_V_O_TK_Vest_1", - "CUP_V_O_TK_Vest_2" -]; - -blck_CUPBackpacks = [ - "CUP_B_ACRPara_m95", - "CUP_B_AssaultPack_ACU", - "CUP_B_AssaultPack_Black", - "CUP_B_AssaultPack_Coyote", - "CUP_B_Bergen_BAF", - "CUP_B_CivPack_WDL", - "CUP_B_GER_Pack_Flecktarn", - "CUP_B_GER_Pack_Tropentarn", - "CUP_B_HikingPack_Civ", - "CUP_B_MOLLE_WDL", - "CUP_B_RUS_Backpack", - "CUP_B_USMC_AssaultPack", - "CUP_B_USMC_MOLLE", - "CUP_B_USPack_Black", - "CUP_B_USPack_Coyote" -]; - -blck_CUPHeadgear = [ - "CUP_H_BAF_Helmet_1_DDPM", - "CUP_H_BAF_Helmet_1_DPM", - "CUP_H_BAF_Helmet_1_MTP", - "CUP_H_BAF_Helmet_2_DDPM", - "CUP_H_BAF_Helmet_2_DPM", - "CUP_H_BAF_Helmet_2_MTP", - "CUP_H_BAF_Helmet_3_DDPM", - "CUP_H_BAF_Helmet_3_DPM", - "CUP_H_BAF_Helmet_3_MTP", - "CUP_H_BAF_Helmet_4_DDPM", - "CUP_H_BAF_Helmet_4_DPM", - "CUP_H_BAF_Helmet_4_MTP", - "CUP_H_BAF_Officer_Beret_PRR_O", - "CUP_H_C_Beanie_01", - "CUP_H_C_Beanie_02", - "CUP_H_C_Beanie_03", - "CUP_H_C_Beanie_04", - "CUP_H_C_Beret_01", - "CUP_H_C_Beret_02", - "CUP_H_C_Beret_03", - "CUP_H_C_Beret_04", - "CUP_H_C_Ushanka_01", - "CUP_H_C_Ushanka_02", - "CUP_H_C_Ushanka_03", - "CUP_H_C_Ushanka_04", - "CUP_H_FR_BandanaGreen", - "CUP_H_FR_BandanaWdl", - "CUP_H_FR_Bandana_Headset", - "CUP_H_FR_BeanieGreen", - "CUP_H_FR_BoonieMARPAT", - "CUP_H_FR_BoonieWDL", - "CUP_H_FR_Cap_Headset_Green", - "CUP_H_FR_Cap_Officer_Headset", - "CUP_H_FR_ECH", - "CUP_H_FR_Headband_Headset", - "CUP_H_FR_Headset", - "CUP_H_FR_PRR_BoonieWDL", - "CUP_H_GER_Boonie_Flecktarn", - "CUP_H_GER_Boonie_desert", - "CUP_H_NAPA_Fedora", - "CUP_H_Navy_CrewHelmet_Blue", - "CUP_H_Navy_CrewHelmet_Brown", - "CUP_H_Navy_CrewHelmet_Green", - "CUP_H_Navy_CrewHelmet_Red", - "CUP_H_Navy_CrewHelmet_Violet", - "CUP_H_Navy_CrewHelmet_White", - "CUP_H_Navy_CrewHelmet_Yellow", - "CUP_H_PMC_Cap_Grey", - "CUP_H_PMC_Cap_PRR_Grey", - "CUP_H_PMC_Cap_PRR_Tan", - "CUP_H_PMC_Cap_Tan", - "CUP_H_PMC_EP_Headset", - "CUP_H_PMC_PRR_Headset", - "CUP_H_RACS_Beret_Blue", - "CUP_H_RACS_Helmet_DPAT", - "CUP_H_RACS_Helmet_Des", - "CUP_H_RACS_Helmet_Goggles_DPAT", - "CUP_H_RACS_Helmet_Goggles_Des", - "CUP_H_RACS_Helmet_Headset_DPAT", - "CUP_H_RACS_Helmet_Headset_Des", - "CUP_H_SLA_BeenieGreen", - "CUP_H_SLA_Beret", - "CUP_H_SLA_Boonie", - "CUP_H_SLA_Helmet", - "CUP_H_SLA_OfficerCap", - "CUP_H_SLA_Pilot_Helmet", - "CUP_H_SLA_SLCap", - "CUP_H_SLA_TankerHelmet", - "CUP_H_TKI_Lungee_01", - "CUP_H_TKI_Lungee_02", - "CUP_H_TKI_Lungee_03", - "CUP_H_TKI_Lungee_04", - "CUP_H_TKI_Lungee_05", - "CUP_H_TKI_Lungee_06", - "CUP_H_TKI_Lungee_Open_01", - "CUP_H_TKI_Lungee_Open_02", - "CUP_H_TKI_Lungee_Open_03", - "CUP_H_TKI_Lungee_Open_04", - "CUP_H_TKI_Lungee_Open_05", - "CUP_H_TKI_Lungee_Open_06", - "CUP_H_TKI_Pakol_1_01", - "CUP_H_TKI_Pakol_1_02", - "CUP_H_TKI_Pakol_1_03", - "CUP_H_TKI_Pakol_1_04", - "CUP_H_TKI_Pakol_1_05", - "CUP_H_TKI_Pakol_1_06", - "CUP_H_TKI_Pakol_2_01", - "CUP_H_TKI_Pakol_2_02", - "CUP_H_TKI_Pakol_2_03", - "CUP_H_TKI_Pakol_2_04", - "CUP_H_TKI_Pakol_2_05", - "CUP_H_TKI_Pakol_2_06", - "CUP_H_TKI_SkullCap_01", - "CUP_H_TKI_SkullCap_02", - "CUP_H_TKI_SkullCap_03", - "CUP_H_TKI_SkullCap_04", - "CUP_H_TKI_SkullCap_05", - "CUP_H_TKI_SkullCap_06", - "CUP_H_TK_Beret", - "CUP_H_TK_Helmet", - "CUP_H_TK_Lungee", - "CUP_H_TK_PilotHelmet", - "CUP_H_TK_TankerHelmet", - "CUP_H_USMC_Crew_Helmet", - "CUP_H_USMC_Goggles_HelmetWDL", - "CUP_H_USMC_HeadSet_GoggleW_HelmetWDL", - "CUP_H_USMC_HeadSet_HelmetWDL", - "CUP_H_USMC_HelmetWDL", - "CUP_H_USMC_Helmet_Pilot", - "CUP_H_USMC_Officer_Cap" -]; -blck_RHS_Weapons = [ - "rhs_weap_hk416d10", - "rhs_weap_hk416d10_LMT", - "rhs_weap_hk416d10_m320", - "rhs_weap_hk416d145", - "rhs_weap_hk416d145_m320", - "rhs_weap_m16a4", - "rhs_weap_m16a4_carryhandle", - "rhs_weap_m16a4_carryhandle_M203", - "rhs_weap_m16a4_carryhandle_pmag", - "rhs_weap_m4_carryhandle", - "rhs_weap_m4_carryhandle_pmag", - "rhs_weap_m4_m203", - "rhs_weap_m4_m320", - "rhs_weap_m4a1", - "rhs_weap_m4a1_blockII", - "rhs_weap_m4a1_blockII_KAC", - "rhs_weap_m4a1_blockII_KAC_bk", - "rhs_weap_m4a1_blockII_KAC_d", - "rhs_weap_m4a1_blockII_KAC_wd", - "rhs_weap_m4a1_blockII_M203", - "rhs_weap_m4a1_blockII_M203_bk", - "rhs_weap_m4a1_blockII_M203_d", - "rhs_weap_m4a1_blockII_M203_wd", - "rhs_weap_m4a1_blockII_bk", - "rhs_weap_m4a1_blockII_d", - "rhs_weap_m4a1_blockII_wd", - "rhs_weap_m4a1_carryhandle", - "rhs_weap_m4a1_carryhandle_m203", - "rhs_weap_m4a1_carryhandle_pmag", - "rhs_weap_m4a1_m203", - "rhs_weap_m4a1_m320", - "rhs_weap_mk18", - "rhs_weap_mk18", - "rhs_weap_mk18_KAC", - "rhs_weap_mk18_KAC_bk", - "rhs_weap_mk18_KAC_d", - "rhs_weap_mk18_KAC_wd", - "rhs_weap_mk18_bk", - "rhs_weap_mk18_d", - "rhs_weap_mk18_m320", - "rhs_weap_mk18_wd", - "rhs_weap_m249_pip_L", - "rhs_weap_m249_pip_L_para", - "rhs_weap_m249_pip_L_vfg", - "rhs_weap_m249_pip_S", - "rhs_weap_m249_pip_S_para", - "rhs_weap_m249_pip_S_vfg", - "rhs_weap_m240B", - "rhs_weap_m240B_CAP", - "rhs_weap_m240G", - "rhs_weap_pkm", - "rhs_weap_pkp", - // Added by ElShotte - 1 Item - "rhs_weap_m27iar" -]; - -blck_RHS_UniformsUSAF = [ - "rhs_uniform_FROG01_m81", - "rhs_uniform_FROG01_d", - "rhs_uniform_FROG01_wd", - "rhs_uniform_cu_ocp", - "rhs_uniform_cu_ucp", - "rhs_uniform_cu_ocp_101st", - "rhs_uniform_cu_ocp_10th", - "rhs_uniform_cu_ocp_1stcav", - "rhs_uniform_cu_ocp_82nd", - "rhs_uniform_cu_ucp_101st", - "rhs_uniform_cu_ucp_10th", - "rhs_uniform_cu_ucp_1stcav", - "rhs_uniform_cu_ucp_82nd", - "rhs_uniform_cu_ocp_patchless", - "rhs_uniform_cu_ucp_patchless", - // Added by ElShotte - 5 Items - "rhs_uniform_g3_m81", - "rhs_uniform_g3_blk", - "rhs_uniform_g3_mc", - "rhs_uniform_g3_rgr", - "rhs_uniform_g3_tan" - -]; - -blck_RHS_VestsUSAF = [ - "rhsusf_iotv_ucp", - "rhsusf_iotv_ucp_grenadier", - "rhsusf_iotv_ucp_medic", - "rhsusf_iotv_ucp_repair", - "rhsusf_iotv_ucp_rifleman", - "rhsusf_iotv_ucp_SAW", - "rhsusf_iotv_ucp_squadleader", - "rhsusf_iotv_ucp_teamleader", - "rhsusf_iotv_ocp", - "rhsusf_iotv_ocp_grenadier", - "rhsusf_iotv_ocp_medic", - "rhsusf_iotv_ocp_repair", - "rhsusf_iotv_ocp_rifleman", - "rhsusf_iotv_ocp_SAW", - "rhsusf_iotv_ocp_squadleader", - "rhsusf_iotv_ocp_teamleader", - //added by chainsaw - 2 - "rhsusf_spc", - "rhsusf_spc_mg", - // Added by ElShotte - 12 Items - "rhsusf_spc_marksman", - "rhsusf_spc_corpsman", - "rhsusf_spc_patchless", - "rhsusf_spc_squadleader", - "rhsusf_spc_teamleader", - "rhsusf_spc_light", - "rhsusf_spc_rifleman", - "rhsusf_spc_iar", - "rhsusf_spcs_ocp_rifleman", - "rhsusf_spcs_ocp", - "rhsusf_spcs_ucp_rifleman", - "rhsusf_spcs_ucp" - -]; - -blck_RHS_BackpacksUSAF = [ - "rhsusf_assault_eagleaiii_coy", - "rhsusf_assault_eagleaiii_ocp", - "rhsusf_assault_eagleaiii_ucp", - "rhsusf_falconii_coy", - "rhsusf_falconii_mc", - "rhsusf_falconii", - "RHS_M2_Gun_Bag" - -]; - -blck_RHS_HeadgearUSAF = [ - "rhs_Booniehat_m81", - "rhs_Booniehat_marpatd", - "rhs_Booniehat_marpatwd", - "rhs_Booniehat_ocp", - "rhs_Booniehat_ucp", - "rhsusf_Bowman", - "rhsusf_ach_bare", - "rhsusf_ach_bare_des", - "rhsusf_ach_bare_des_ess", - "rhsusf_ach_bare_des_headset", - "rhsusf_ach_bare_des_headset_ess", - "rhsusf_ach_bare_ess", - "rhsusf_ach_bare_headset", - "rhsusf_ach_bare_headset_ess", - "rhsusf_ach_bare_semi", - "rhsusf_ach_bare_semi_ess", - "rhsusf_ach_bare_semi_headset", - "rhsusf_ach_bare_semi_headset_ess", - "rhsusf_ach_bare_tan", - "rhsusf_ach_bare_tan_ess", - "rhsusf_ach_bare_tan_headset", - "rhsusf_ach_bare_tan_headset_ess", - "rhsusf_ach_bare_wood", - "rhsusf_ach_bare_wood_ess", - "rhsusf_ach_bare_wood_headset", - "rhsusf_ach_bare_wood_headset_ess", - "rhsusf_ach_helmet_ESS_ocp", - "rhsusf_ach_helmet_ESS_ucp", - "rhsusf_ach_helmet_M81", - "rhsusf_ach_helmet_camo_ocp", - "rhsusf_ach_helmet_headset_ess_ocp", - "rhsusf_ach_helmet_headset_ess_ucp", - "rhsusf_ach_helmet_headset_ocp", - "rhsusf_ach_helmet_headset_ucp", - "rhsusf_ach_helmet_ocp", - "rhsusf_ach_helmet_ocp_norotos", - "rhsusf_ach_helmet_ucp", - "rhsusf_ach_helmet_ucp_norotos", - "rhsusf_bowman_cap", - "rhsusf_lwh_helmet_M1942", - "rhsusf_lwh_helmet_marpatd", - "rhsusf_lwh_helmet_marpatd_ess", - "rhsusf_lwh_helmet_marpatd_headset", - "rhsusf_lwh_helmet_marpatwd", - "rhsusf_lwh_helmet_marpatwd_ess", - "rhsusf_lwh_helmet_marpatwd_headset", - "rhsusf_mich_bare", - "rhsusf_mich_bare_alt", - "rhsusf_mich_bare_alt_semi", - "rhsusf_mich_bare_alt_tan", - "rhsusf_mich_bare_headset", - "rhsusf_mich_bare_norotos", - "rhsusf_mich_bare_norotos_alt", - "rhsusf_mich_bare_norotos_alt_headset", - "rhsusf_mich_bare_norotos_alt_semi", - "rhsusf_mich_bare_norotos_alt_semi_headset", - "rhsusf_mich_bare_norotos_alt_tan", - "rhsusf_mich_bare_norotos_alt_tan_headset", - "rhsusf_mich_bare_norotos_arc", - "rhsusf_mich_bare_norotos_arc_alt", - "rhsusf_mich_bare_norotos_arc_alt_headset", - "rhsusf_mich_bare_norotos_arc_alt_semi", - "rhsusf_mich_bare_norotos_arc_alt_semi_headset", - "rhsusf_mich_bare_norotos_arc_alt_tan", - "rhsusf_mich_bare_norotos_arc_alt_tan_headset", - "rhsusf_mich_bare_norotos_arc_headset", - "rhsusf_mich_bare_norotos_arc_semi", - "rhsusf_mich_bare_norotos_arc_semi_headset", - "rhsusf_mich_bare_norotos_arc_tan", - "rhsusf_mich_bare_norotos_headset", - "rhsusf_mich_bare_norotos_semi", - "rhsusf_mich_bare_norotos_semi_headset", - "rhsusf_mich_bare_norotos_tan", - "rhsusf_mich_bare_norotos_tan_headset", - "rhsusf_mich_bare_semi", - "rhsusf_mich_bare_semi_headset", - "rhsusf_mich_bare_tan", - "rhsusf_mich_bare_tan_headset", - "rhsusf_mich_helmet_marpatd_alt_headset", - "rhsusf_mich_helmet_marpatd_headset", - "rhsusf_mich_helmet_marpatd_norotos", - "rhsusf_mich_helmet_marpatd_norotos_arc", - "rhsusf_mich_helmet_marpatd_norotos_arc_headset", - "rhsusf_mich_helmet_marpatd_norotos_headset", - "rhsusf_mich_helmet_marpatwd", - "rhsusf_mich_helmet_marpatwd_alt", - "rhsusf_mich_helmet_marpatwd_alt_headset", - "rhsusf_mich_helmet_marpatwd_headset", - "rhsusf_mich_helmet_marpatwd_norotos", - "rhsusf_mich_helmet_marpatwd_norotos_arc", - "rhsusf_mich_helmet_marpatwd_norotos_arc_headset", - "rhsusf_mich_helmet_marpatwd_norotos_headset", - // added by chainsaw - 13 - "rhsusf_patrolcap_ocp", - "rhsusf_patrolcap_ucp", - "rhsusf_opscore_01", - "rhsusf_opscore_01_tan", - "rhsusf_opscore_02_tan", - "rhsusf_opscore_03_ocp", - "rhsusf_opscore_04_ocp", - "rhsusf_cvc_helmet", - "rhsusf_cvc_ess", - "rhsusf_hgu56p", - "rhsusf_hgu56p_mask", - "rhsusf_cvc_green_helmet", - "rhsusf_cvc_green_ess", - // Added by ElShotte - 41 Items - "rhsusf_opscore_bk_pelt", - "rhsusf_opscore_bk", - "rhsusf_opscore_coy_cover", - "rhsusf_opscore_coy_cover_pelt", - "rhsusf_opscore_fg", - "rhsusf_opscore_fg_pelt", - "rhsusf_opscore_fg_pelt_cam", - "rhsusf_opscore_fg_pelt_nsw", - "rhsusf_opscore_mc", - "rhsusf_opscore_mc_pelt", - "rhsusf_opscore_mc_pelt_nsw", - "rhsusf_opscore_mc_cover", - "rhsusf_opscore_mc_cover_pelt", - "rhsusf_opscore_mc_cover_pelt_nsw", - "rhsusf_opscore_mc_cover_pelt_cam", - "rhsusf_opscore_paint", - "rhsusf_opscore_paint_pelt", - "rhsusf_opscore_paint_pelt_nsw", - "rhsusf_opscore_paint_pelt_nsw_cam", - "rhsusf_opscore_rg_cover", - "rhsusf_opscore_rg_cover_pelt", - "rhsusf_opscore_ut", - "rhsusf_opscore_ut_pelt", - "rhsusf_opscore_ut_pelt_cam", - "rhsusf_opscore_ut_pelt_nsw", - "rhsusf_opscore_ut_pelt_nsw_cam", - "rhsusf_opscore_mar_ut_pelt", - "rhsusf_opscore_mar_ut", - "rhsusf_opscore_mar_fg_pelt", - "rhsusf_opscore_mar_fg", - "rhsusf_protech_helmet", - "rhsusf_protech_helmet_ess", - "rhsusf_protech_helmet_rhino", - "rhsusf_protech_helmet_rhino_ess" -]; - -blck_RHS_UniformsGREF = [ - "rhsgref_uniform_alpenflage", - "rhsgref_uniform_flecktarn", - "rhsgref_uniform_para_ttsko_mountain", - "rhsgref_uniform_para_ttsko_oxblood", - "rhsgref_uniform_para_ttsko_urban", - "rhsgref_uniform_reed", - "rhsgref_uniform_specter", - "rhsgref_uniform_tigerstripe", - "rhsgref_uniform_ttsko_forest", - "rhsgref_uniform_ttsko_mountain", - "rhsgref_uniform_ttsko_urban", - "rhsgref_uniform_vsr", - "rhsgref_uniform_woodland", - "rhsgref_uniform_woodland_olive" -]; - -blck_RHS_VestsGREF = [ - "rhsgref_6b23", - "rhsgref_6b23_khaki", - "rhsgref_6b23_khaki_medic", - "rhsgref_6b23_khaki_nco", - "rhsgref_6b23_khaki_officer", - "rhsgref_6b23_khaki_rifleman", - "rhsgref_6b23_khaki_sniper", - "rhsgref_6b23_ttsko_digi", - "rhsgref_6b23_ttsko_digi_medic", - "rhsgref_6b23_ttsko_digi_nco", - "rhsgref_6b23_ttsko_digi_officer", - "rhsgref_6b23_ttsko_digi_rifleman", - "rhsgref_6b23_ttsko_digi_sniper", - "rhsgref_6b23_ttsko_forest", - "rhsgref_6b23_ttsko_forest_rifleman", - "rhsgref_6b23_ttsko_mountain", - "rhsgref_6b23_ttsko_mountain_medic", - "rhsgref_6b23_ttsko_mountain_nco", - "rhsgref_6b23_ttsko_mountain_officer", - "rhsgref_6b23_ttsko_mountain_rifleman", - "rhsgref_6b23_ttsko_mountain_sniper", - "rhsgref_otv_digi", - "rhsgref_otv_khaki" -]; - -blck_RHS_HeadgearGREF = [ - "rhsgref_6b27m", - "rhsgref_6b27m_ttsko_digi", - "rhsgref_6b27m_ttsko_forest", - "rhsgref_6b27m_ttsko_mountain", - "rhsgref_6b27m_ttsko_urban", - "rhsgref_Booniehat_alpen", - "rhsgref_fieldcap", - "rhsgref_fieldcap_ttsko_digi", - "rhsgref_fieldcap_ttsko_forest", - "rhsgref_fieldcap_ttsko_mountain", - "rhsgref_fieldcap_ttsko_urban", - "rhsgref_patrolcap_specter", - "rhsgref_ssh68", - "rhsgref_ssh68_emr", - "rhsgref_ssh68_ttsko_digi", - "rhsgref_ssh68_ttsko_forest", - "rhsgref_ssh68_ttsko_mountain", - "rhsgref_ssh68_un" -]; -blck_RHS_WeaponsGREF = [ - "rhs_weap_kar98k", - "rhs_weap_m21a", - "rhs_weap_m21a_fold", - "rhs_weap_m21a_pr", - "rhs_weap_m21s", - "rhs_weap_m21s_fold", - "rhs_weap_m21s_pr", - "rhs_weap_m38", - "rhs_weap_m70ab2", - "rhs_weap_m70ab2_fold", - "rhs_weap_m70b1", - "rhs_weap_m76", - "rhs_weap_m92", - "rhs_weap_m92_fold" -]; - -blck_RHS_HeadgearSAF = [ - "rhssaf_helmet_m59_85_nocamo", - "rhssaf_helmet_m59_85_oakleaf", - "rhssaf_helmet_m97_olive_nocamo", - "rhssaf_helmet_m97_olive_nocamo_black_ess", - "rhssaf_helmet_m97_olive_nocamo_black_ess_bare", - "rhssaf_helmet_m97_black_nocamo", - "rhssaf_helmet_m97_black_nocamo_black_ess", - "rhssaf_helmet_m97_black_nocamo_black_ess_bare", - "rhssaf_Helmet_m97_woodland", - "rhssaf_Helmet_m97_digital", - "rhssaf_Helmet_m97_md2camo", - "rhssaf_Helmet_m97_oakleaf", - "rhssaf_helmet_m97_nostrap_blue", - "rhssaf_helmet_m97_nostrap_blue_tan_ess", - "rhssaf_helmet_m97_nostrap_blue_tan_ess_bare", - "rhssaf_helmet_m97_woodland_black_ess", - "rhssaf_helmet_m97_woodland_black_ess_bare", - "rhssaf_helmet_m97_digital_black_ess", - "rhssaf_helmet_m97_digital_black_ess_bare", - "rhssaf_helmet_m97_md2camo_black_ess", - "rhssaf_helmet_m97_md2camo_black_ess_bare", - "rhssaf_helmet_m97_oakleaf_black_ess", - "rhssaf_helmet_m97_oakleaf_black_ess_bare", - "rhssaf_helmet_hgu56p", - "rhssaf_beret_green", - "rhssaf_beret_red", - "rhssaf_beret_black", - "rhssaf_beret_blue_un", - "rhssaf_booniehat_digital", - "rhssaf_booniehat_md2camo", - "rhssaf_booniehat_woodland" -]; - -blck_RHS_UniformsSAF = [ - "rhssaf_uniform_m10_digital", - "rhssaf_uniform_m10_digital_summer", - "rhssaf_uniform_m10_digital_desert", - "rhssaf_uniform_m10_digital_tan_boots", - "rhssaf_uniform_m93_oakleaf", - "rhssaf_uniform_m93_oakleaf_summer", - "rhssaf_uniform_heli_pilot" -]; - -blck_RHS_VestsSAF = [ - "rhssaf_vest_md98_woodland", - "rhssaf_vest_md98_md2camo", - "rhssaf_vest_md98_digital", - "rhssaf_vest_md98_officer", - "rhssaf_vest_md98_rifleman", - "rhssaf_vest_otv_md2camo", - "rhssaf_vest_md99_md2camo_rifleman", - "rhssaf_vest_md99_digital_rifleman", - "rhssaf_vest_md99_woodland_rifleman", - "rhssaf_vest_md99_md2camo", - "rhssaf_vest_md99_digital", - "rhssaf_vest_md99_woodland" -]; - -blck_RHS_BackpacksSAF = [ - "rhssaf_30rnd_556x45_EPR_G36", - "rhssaf_30rnd_556x45_SOST_G36", - "rhssaf_100rnd_556x45_EPR_G36", - "rhssaf_30rnd_556x45_SPR_G36", - "rhssaf_30rnd_556x45_Tracers_G36", - "rhssaf_30rnd_556x45_MDIM_G36", - "rhssaf_30rnd_556x45_TDIM_G36", - "150Rnd_556x45_Drum_Mag_F", - "150Rnd_556x45_Drum_Mag_Tracer_F", - "rhs_30Rnd_762x39mm", - "rhs_30Rnd_762x39mm_tracer", - "rhs_30Rnd_762x39mm_89", - "rhs_30Rnd_762x39mm_U", - "rhsgref_30rnd_556x45_m21", - "rhsgref_30rnd_556x45_m21_t", - "rhs_100Rnd_762x54mmR", - "rhs_100Rnd_762x54mmR_green", - "rhssaf_250Rnd_762x54R" -]; - -blck_RHS_WeaponsSAF = [ - "rhs_weap_m70ab2_fold", - "rhs_weap_m70b1", - "rhs_weap_m70b1n", - "rhs_weap_m70b3n", - "rhs_weap_m70b3n_pbg40", - "rhs_weap_m92", - "rhs_weap_m92_fold", - "rhs_weap_m76", - "rhs_weap_m21a", - "rhs_weap_m21a_pr", - "rhs_weap_m21a_pr_pbg40", - "rhs_weap_m21a_fold", - "rhs_weap_m21a_pbg40", - "rhs_weap_m21s", - "rhs_weap_m21s_pr", - "rhs_weap_m21s_fold", - "rhs_weap_m82a1", - "rhs_weap_minimi_para_railed", - "rhs_weap_g36c", - "rhs_weap_g36kv", - "rhs_weap_g36kv_ag36", - "rhs_weap_m84" -]; - -blck_NIA_WeaponsLMG = [ - "hlc_lmg_M249E2", - "hlc_lmg_M249E2", - "hlc_lmg_M60E4", - "hlc_lmg_MG3KWS_b", - "hlc_lmg_MG3KWS_g", - "hlc_lmg_MG42", - "hlc_lmg_MG42KWS_t", - "hlc_lmg_m249para", - "hlc_lmg_m249para", - "hlc_lmg_m60", - "hlc_lmg_mg42kws_b", - "hlc_lmg_mg42kws_g", - "hlc_lmg_minimi", - "hlc_lmg_minimi_railed", - "hlc_lmg_minimipara", - "hlc_lmg_mk48", - "hlc_m249_pip1", - "hlc_m249_pip2", - "hlc_m249_pip3", - "hlc_m249_pip4", - "hlc_rifle_rpk", - "hlc_rifle_rpk12", - "hlc_rifle_rpk74n" -]; - -blck_NIA_WeaponsSMG = [ - "hlc_smg_9mmar", - "hlc_smg_MP5N", - "hlc_smg_mp510", - "hlc_smg_mp5a2", - "hlc_smg_mp5a3", - "hlc_smg_mp5a4", - "hlc_smg_mp5k", - "hlc_smg_mp5k_PDW", - "hlc_smg_mp5sd5", - "hlc_smg_mp5sd6" -]; - -blck_NIA_WeaponsAR = [ - "HLC_Rifle_g3ka4_GL", - "hlc_barrel_carbine", - "hlc_barrel_hbar", - "hlc_barrel_standard", - "hlc_rifle_Bushmaster300", - "hlc_rifle_Colt727", - "hlc_rifle_Colt727_GL", - "hlc_rifle_FAL5000", - "hlc_rifle_FAL5000Rail", - "hlc_rifle_FAL5000_RH", - "hlc_rifle_FAL5061", - "hlc_rifle_FAL5061Rail", - "hlc_rifle_G36A1", - "hlc_rifle_G36A1AG36", - "hlc_rifle_G36C", - "hlc_rifle_G36CMLIC", - "hlc_rifle_G36CTAC", - "hlc_rifle_G36CV", - "hlc_rifle_G36E1", - "hlc_rifle_G36E1AG36", - "hlc_rifle_G36KA1", - "hlc_rifle_G36KE1", - "hlc_rifle_G36KMLIC", - "hlc_rifle_G36KTAC", - "hlc_rifle_G36KV", - "hlc_rifle_G36MLIAG36", - "hlc_rifle_G36MLIC", - "hlc_rifle_G36TAC", - "hlc_rifle_G36V", - "hlc_rifle_G36VAG36", - "hlc_rifle_LAR", - "hlc_rifle_M14", - "hlc_rifle_M14DMR", - "hlc_rifle_M21", - "hlc_rifle_MG36", - "hlc_rifle_RK62", - "hlc_rifle_RU556", - "hlc_rifle_RU5562", - "hlc_rifle_SAMR", - "hlc_rifle_SLR", - "hlc_rifle_SLRchopmod", - "hlc_rifle_STG58F", - "hlc_rifle_STGW57", - "hlc_rifle_aek971", - "hlc_rifle_aek971_mtk", - "hlc_rifle_ak12", - "hlc_rifle_ak12gl", - "hlc_rifle_ak47", - "hlc_rifle_ak74", - "hlc_rifle_ak74_MTK", - "hlc_rifle_ak74_dirty", - "hlc_rifle_ak74_dirty2", - "hlc_rifle_ak74m", - "hlc_rifle_ak74m_MTK", - "hlc_rifle_ak74m_gl", - "hlc_rifle_akm", - "hlc_rifle_akm_MTK", - "hlc_rifle_akmgl", - "hlc_rifle_aks74", - "hlc_rifle_aks74_GL", - "hlc_rifle_aks74_MTK", - "hlc_rifle_aks74u", - "hlc_rifle_aks74u_MTK", - "hlc_rifle_aku12", - "hlc_rifle_amt", - "hlc_rifle_aug", - "hlc_rifle_auga1_B", - "hlc_rifle_auga1_t", - "hlc_rifle_auga1carb", - "hlc_rifle_auga1carb_b", - "hlc_rifle_auga1carb_t", - "hlc_rifle_auga2", - "hlc_rifle_auga2_b", - "hlc_rifle_auga2_t", - "hlc_rifle_auga2carb", - "hlc_rifle_auga2carb_b", - "hlc_rifle_auga2carb_t", - "hlc_rifle_auga2lsw", - "hlc_rifle_auga2lsw_b", - "hlc_rifle_auga2lsw_t", - "hlc_rifle_auga3", - "hlc_rifle_auga3_GL", - "hlc_rifle_auga3_GL_B", - "hlc_rifle_auga3_GL_BL", - "hlc_rifle_auga3_b", - "hlc_rifle_auga3_bl", - "hlc_rifle_aughbar", - "hlc_rifle_aughbar_b", - "hlc_rifle_aughbar_t", - "hlc_rifle_augsr", - "hlc_rifle_augsr_b", - "hlc_rifle_augsr_t", - "hlc_rifle_augsrcarb", - "hlc_rifle_augsrcarb_b", - "hlc_rifle_augsrcarb_t", - "hlc_rifle_augsrhbar", - "hlc_rifle_augsrhbar_b", - "hlc_rifle_augsrhbar_t", - "hlc_rifle_bcmblackjack", - "hlc_rifle_bcmjack", - "hlc_rifle_c1A1", - "hlc_rifle_falosw", - "hlc_rifle_g3a3", - "hlc_rifle_g3a3ris", - "hlc_rifle_g3a3v", - "hlc_rifle_g3ka4", - "hlc_rifle_g3sg1", - "hlc_rifle_hk33a2", - "hlc_rifle_hk33a2RIS", - "hlc_rifle_hk51", - "hlc_rifle_hk53", - "hlc_rifle_hk53RAS", - "hlc_rifle_honeybadger", - "hlc_rifle_l1a1slr", - "hlc_rifle_m14sopmod", - "hlc_rifle_osw_GL", - "hlc_rifle_rpk74n", - "hlc_rifle_sig5104", - "hlc_rifle_slr107u", - "hlc_rifle_slr107u_MTK", - "hlc_rifle_stgw57_RIS", - "hlc_rifle_stgw57_commando", - "hlc_rifle_vendimus" -]; - -blck_NIA_WeaponsSniper = [ - "hlc_rifle_M1903A1", - "hlc_rifle_M1903A1OMR", - "hlc_rifle_M1903A1_unertl", - "hlc_rifle_PSG1A1_RIS", - "hlc_rifle_awMagnum_BL_ghillie", - "hlc_rifle_awMagnum_FDE_ghillie", - "hlc_rifle_awMagnum_OD_ghillie", - "hlc_rifle_awcovert", - "hlc_rifle_awcovert_BL", - "hlc_rifle_awcovert_FDE", - "hlc_rifle_awmagnum", - "hlc_rifle_awmagnum_BL", - "hlc_rifle_awmagnum_FDE", - "hlc_rifle_psg1", - "hlc_rifle_psg1A1" -]; -*/ \ No newline at end of file diff --git a/@GMS/addons/custom_server/Configs/blck_defines.hpp b/@GMS/addons/custom_server/Configs/blck_defines.hpp index 4be3792..3e7d592 100644 --- a/@GMS/addons/custom_server/Configs/blck_defines.hpp +++ b/@GMS/addons/custom_server/Configs/blck_defines.hpp @@ -24,7 +24,7 @@ //#define useDynamicSimulation //#define blck_debugMode //#define GRG_TestServer - +#define GRGserver #define blck_triggerLoopCompleteTime 40*60 #define onFoot 1 diff --git a/@GMS/addons/custom_server/Configs/blck_dynamicConfigs.sqf b/@GMS/addons/custom_server/Configs/blck_dynamicConfigs.sqf index 4ae4aff..eefa601 100644 --- a/@GMS/addons/custom_server/Configs/blck_dynamicConfigs.sqf +++ b/@GMS/addons/custom_server/Configs/blck_dynamicConfigs.sqf @@ -218,5 +218,3 @@ blck_backpacks_green = blck_backpacks; blck_backpacks_orange = blck_backpacks; blck_explosives = _wpnThrow; - -blck_configsLoaded = true; diff --git a/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf b/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf deleted file mode 100644 index 0c847d2..0000000 --- a/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/* - This is a simple mission using randomly placed AI infantry, static weapons and vehicle patrols. - Please see staticMissionExample2.sqf for a more complete overview of how to configure static missions. -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -_mission = "static mission example 1"; -_missionCenter = [24415,18909,0]; // I pulled this from the position of the marker. -_difficulty = "red"; // Skill level of AI (blue, red, green etc) -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; - -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -// An alternative would be: -// _markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers -_markerColor = "ColorRed"; // This can be any valid Arma Marker Color -_markerMissionName = "Bad Guys Town"; -_missionLandscapeMode = "precise"; // acceptable values are "random","precise" - // In precise mode objects will be spawned at the relative positions specified. - // In the random mode, objects will be randomly spawned within the mission area. -_missionLandscape = [ - -]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -// If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. -// -// [["box_classname1",_customLootArray1,[px,py,pz],["box_classname2",_customLootArray2,[px2,py2,pz2]] -// where _customLootArray follows the same format as blck_BoxLoot_Red and the other pre-defined arrays and -// where _customlootcountsarray1 also follows the same format as the predefined arrays like blck_lootCountsRed - -_missionLootVehicles = []; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; -// When blank nothing is spawned. -// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. - -_noEmplacedWeapons = [2,3]; -_missionEmplacedWeapons = []; // example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; - // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used - // If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. - // If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. - -_minNoAI = blck_MinAI_Red; // Modify as needed -_maxNoAI = blck_MaxAI_Red; // Modify as needed. -_noAIGroups = blck_AIGrps_Red; // Modify as needed -_aiGroupParameters = []; - -_noVehiclePatrols = blck_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] -_vehiclePatrolParameters = []; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/] ] - // When empty vehicle patrols will be scattered randomely around the mission. - // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). - // If _noVehiclePatrols is less than the number of locations specified only _noVehiclePatrols patrols will be spawned. -_noEmplacedWeapons = blck_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] - -_aircraftTypes = blck_patrolHelisRed; // You can use one of the pre-defined lists in blck_configs or your own custom array. -_noAirPatrols = blck_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; -_airPatrols = []; - -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; // You can replace this list with a custom list of uniforms if you like. -_headgear = blck_headgear; // You can replace this list with a custom list of headgear. -_weapons = blck_WeaponList_Orange; // You can replace this list with a customized list of weapons, or another predifined list from blck_configs_epoch or blck_configs_exile as appropriate. - -#include "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnMission.sqf"; diff --git a/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf b/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf deleted file mode 100644 index 58da94d..0000000 --- a/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf +++ /dev/null @@ -1,135 +0,0 @@ -/* - This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. - See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. - Note that I exported the mission using the exportAll function of M3EDEN editor. -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -_mission = "static mission example #2"; // Included for additional documentation. Not intended to be spawned as a mission per se. -_missionCenter = [22907,16789,0]; // I pulled this from the position of the marker. -_difficulty = "red"; // Skill level of AI (blue, red, green etc) -diag_log format["[blckeagls static missions] STARTED initializing middions %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; -_crateLoot = blck_BoxLoot_Orange; // You can use a customized _crateLoot configuration by defining an array here. It must follow the following format shown for a hypothetical loot array called _customLootArray - /* - _customLootArray = - // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. - // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. - - [ - [// Weapons - - ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] - ], - [//Magazines - ["10Rnd_93x64_DMR_05_Mag" ,1,5] - ], - [ // Optics - ["optic_KHS_tan",1,3] - ], - [// Materials and supplies - ["Exile_Item_MetalScrews",3,10] - // - ], - [//Items - ["Exile_Item_MountainDupe",1,3] - ], - [ // Backpacks - ["B_OutdoorPack_tan",1,2] - ] - ]; - */ - -_lootCounts = blck_lootCountsRed; // You can use a customized set of loot counts or one that is predefined but it must follow the following format: - // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. - // blck_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange - -_markerLabel = ""; -//_markerType = ["ELIPSE",[200,200],"GRID"]; -// An alternative would be: -_markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers -_markerColor = "ColorRed"; // This can be any valid Arma Marker Color -_markerMissionName = "Bad People Live Here"; -_missionLandscapeMode = "precise"; // acceptable values are "random","precise" - // In precise mode objects will be spawned at the relative positions specified. - // In the random mode, objects will be randomly spawned within the mission area. -_missionLandscape = [ // Paste appropriate lines from M3EDEN output here. - ["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Cargo_HQ_V1_F",[22918.1,16761.9,3.18151],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Cargo_HQ_V3_F",[22907.6,16740.3,3.17544],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Dome_Small_F",[22908.2,16808.8,3.19],[[0,1,0],[0,0,1]],[true,false]] -]; // list of objects to spawn as landscape using output from M3EDEN editor. - -_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray - // [["box_classname1",_customLootArray1,[px,py,pz],...,_customLootArray1],["box_classname2",,[px2,py2,pz2],...,_customLootArray2] - // where _customLootArray follows the same format as blck_BoxLoot_Red and the other pre-defined arrays and - // where _customlootcountsarray1 also follows the same format as the predefined arrays like blck_lootCountsRed - [selectRandom blck_crateTypes,[22917.4,16763,6.30803],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1] ], - [selectRandom blck_crateTypes,[22893,16766.8,6.31652],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts], - // 0 1 2 3 4 5 - [selectRandom blck_crateTypes,[22904.8,16742.5,6.30195],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts] -]; // If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. - - - -_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below. - // Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground. - //["Exile_Car_Van_Box_Guerilla02",[22896.8,16790.1,3.18987],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1]], - //["Exile_Car_Van_Fuel_Guerilla02",[22919,16782.7,3.18132],[[0,1,0],[0.00129187,0,0.999999]],[true,false],_crateLoot, _lootCounts] -]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; -// When blank nothing is spawned. -// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. - -_noEmplacedWeapons = blck_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] -//format: _noEmplacedWeapons = [2,3]; // a range of values -// or _noEmplacedWeapons = 3; // a constant number of emplaced weps per misison -// Note that this value is ignored if you define static weapon positions and types in the array below. -_missionEmplacedWeapons = [ - //["B_G_Mortar_01_F",[22867.3,16809.1,3.17968],"red",0,0], - //["B_HMG_01_high_F",[22944.3,16820.5,3.14243],"green",0,0] -]; // example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; - // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used - // If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. - // If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. - -_minNoAI = blck_MinAI_Red; // Modify as needed -_maxNoAI = blck_MaxAI_Red; // Modify as needed. -_noAIGroups = blck_AIGrps_Red; // Modify as needed; note that these values are ignored of you specify AI patrols in the array below. -_aiGroupParameters = [ - // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/] - //[[22920.4,16887.3,3.19144],"red",[1,2], 75,120], - [[22993.3,16830.8,5.6292],"red",4, 75,9000], - [[22947.8,16717,6.80305],"red",4, 75,900], - [[22849,16720.4,7.33123],"red",4, 75,9000], - [[22832.9,16805.6,4.59315],"red",4, 75,900], - [[22909.8,16778.6,3.19144],"red",4, 75,900], - [[22819.4,16929.5,5.33892],"red",4, 75,900], - [[22819.4,16929.5,5.33892],"red",4, 75,900] -]; - -_noVehiclePatrols = blck_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4]; - // Note that this value is ignored if you define vehicle patrols in the array below. -_vehiclePatrolParameters = [ - ["B_G_Offroad_01_armed_F",[22819.4,16929.5,3.17413],"red", 600,900], - ["B_G_Offroad_01_repair_F",[22809.5,16699.2,8.78706],"green", 600,900] -]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ] - // When this array is empty, vehicle patrols will be scattered randomely around the mission. - // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). - -_aircraftTypes = blck_patrolHelisRed; // You can use one of the pre-defined lists in blck_configs or your own custom array. -_noAirPatrols = blck_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; - // Note: this value is ignored if you specify air patrols in the array below. -_airPatrols = [ - ["Exile_Chopper_Huey_Armed_Green",[22923.4,16953,3.19],"red",1000,900]//, - //[selectRandom _aircraftTypes,[22830.2,16618.1,11.4549],"green",1000,0] -]; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; // Set to false if you have vehicles patrolling nearby. -_uniforms = blck_SkinList; // You can replace this list with a custom list of uniforms if you like. -_headgear = blck_headgear; // You can replace this list with a custom list of headgear. -_weapons = blck_WeaponList_Orange; // You can replace this list with a customized list of weapons, or another predifined list from blck_configs_epoch or blck_configs_exile as appropriate. - -#include "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_initializeMission.sqf"; - -diag_log format["[blckeagls static missions] COMPLETED initializing middions %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Missions/UMS/staticMissions/staticMissionExample2.sqf b/@GMS/addons/custom_server/Missions/UMS/staticMissions/staticMissionExample2.sqf deleted file mode 100644 index c7ca255..0000000 --- a/@GMS/addons/custom_server/Missions/UMS/staticMissions/staticMissionExample2.sqf +++ /dev/null @@ -1,133 +0,0 @@ -/* - This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. - See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. - Note that I laid out the mission in EDEN editor, exported the mission using the exportAll function of M3EDEN editor. then copied, pasted and apporpriately edidet the specific categories of items to be spawned. -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines","_difficulty","_mission","_missionCenter"]; - -_mission = "UMS mission example #2"; // Included for additional documentation. Not intended to be spawned as a mission per se. -_missionCenter = [22584.9,15304.8,0]; // I pulled this from the position of the marker. -_difficulty = "red"; // Skill level of AI (blue, red, green etc) -diag_log format["[blckeagls UMS missions] STARTED initializing mission %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; -_crateLoot = blck_BoxLoot_Orange; // You can use a customized _crateLoot configuration by defining an array here. It must follow the following format shown for a hypothetical loot array called _customLootArray - /* - _customLootArray = - // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. - // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. - - [ - [// Weapons - - ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] - ], - [//Magazines - ["10Rnd_93x64_DMR_05_Mag" ,1,5] - ], - [ // Optics - ["optic_KHS_tan",1,3] - ], - [// Materials and supplies - ["Exile_Item_MetalScrews",3,10] - // - ], - [//Items - ["Exile_Item_MountainDupe",1,3] - ], - [ // Backpacks - ["B_OutdoorPack_tan",1,2] - ] - ]; - */ - -_lootCounts = blck_lootCountsRed; // You can use a customized set of loot counts or one that is predefined but it must follow the following format: - // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. - // blck_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange - -_markerLabel = ""; -//_markerType = ["ELIPSE",[200,200],"GRID"]; -// An alternative would be: -_markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers -_markerColor = "ColorRed"; // This can be any valid Arma Marker Color -_markerMissionName = "Bad Fishermen Live Here"; -_missionLandscapeMode = "precise"; // acceptable values are "random","precise" - // In precise mode objects will be spawned at the relative positions specified. - // In the random mode, objects will be randomly spawned within the mission area. -_missionLandscape = [ // Paste appropriate lines from M3EDEN output here. - // ["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Boat_05_wreck_F",[22571.5,15278.9,0],[[0,1,0],[0,0,1]],[true,false]] -]; // list of objects to spawn as landscape using output from M3EDEN editor. - -_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray - // [["box_classname1",_customLootArray1,[px,py,pz],...,_customLootArray1],["box_classname2",,[px2,py2,pz2],...,_customLootArray2] - // where _customLootArray follows the same format as blck_BoxLoot_Red and the other pre-defined arrays and - // where _customlootcountsarray1 also follows the same format as the predefined arrays like blck_lootCountsRed - // ["Box_NATO_Ammo_F",[22893,16766.8,6.31652],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts], - [selectRandom blck_UMS_crates,[22584.9,15282.2,-1],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts] -]; // If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. - - - -_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below. - // Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground. - //["Exile_Car_Van_Box_Guerilla02",[22896.8,16790.1,3.18987],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1]], - ["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],[[0,1,0],[0,0,1]],[true,false],_crateLoot, _lootCounts] -]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; -// When blank nothing is spawned. -// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. - -_noEmplacedWeapons = blck_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] -//format: _noEmplacedWeapons = [2,3]; // a range of values -// or _noEmplacedWeapons = 3; // a constant number of emplaced weps per misison -// Note that this value is ignored if you define static weapon positions and types in the array below. -_missionEmplacedWeapons = [ - //["B_G_Mortar_01_F",[22867.3,16809.1,3.17968],"red",0,0], - //["B_HMG_01_high_F",[22944.3,16820.5,3.14243],"green",0,0] -]; -// example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; -// can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. -// If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. - -_minNoAI = blck_MinAI_Red; // Modify as needed -_maxNoAI = blck_MaxAI_Red; // Modify as needed. -_noAIGroups = blck_AIGrps_Red; // Modify as needed; note that these values are ignored of you specify AI patrols in the array below. -_aiGroupParameters = [ - // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/] - -]; -_aiScubaGroupParameters = [ - // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/] - [[22584.9,15304.8,-4.27578],"red",4, 75,0], - [[22613.5,15269.1,-4.28332],"red",4, 75,0], - [[22549,15288.9,0],"red",4, 75,60] -]; -_noVehiclePatrols = blck_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4]; - // Note that this value is ignored if you define vehicle patrols in the array below. -_vehiclePatrolParameters = [ - ["B_T_Boat_Armed_01_minigun_F",[22578.6,15273.3,-0.0354593],"red",4, 75,0], - ["B_T_Boat_Transport_01_F",[22570.1,15235.3,-4.49949],"red",4, 75,60] -]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ] - // When this array is empty, vehicle patrols will be scattered randomely around the mission. - // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). - -_submarinePatrolParameters = [ - ["B_SDV_01_F",[22584.9,15304.8,-1],"red",4, 75,0], - ["B_SDV_01_F",[22609.9,15299.8,-1],"red",4, 75,0] -]; - -_aircraftTypes = blck_patrolHelisRed; // You can use one of the pre-defined lists in blck_configs or your own custom array. -_noAirPatrols = blck_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; - // Note: this value is ignored if you specify air patrols in the array below. -_airPatrols = [ - //["Exile_Chopper_Huey_Armed_Green",[22923.4,16953,3.19],"red",1000,0], - [selectRandom _aircraftTypes,_missionCenter,"green",1000,60] -]; - -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = false; // Set to false if you have vehicles patrolling nearby. - -#include "\q\addons\custom_server\Missions\UMS\code\GMS_fnc_sm_initializeUMSStaticMission.sqf"; - -diag_log format["[blckeagls static missions] COMPLETED initializing middions %1 position at %2 difficulty %3",_mission,_missionCenter,_difficulty]; diff --git a/@GMS/addons/custom_server/init/GMS_fnc_findWorld.sqf b/@GMS/addons/custom_server/init/GMS_fnc_findWorld.sqf index b6f1913..9c1e55e 100644 --- a/@GMS/addons/custom_server/init/GMS_fnc_findWorld.sqf +++ b/@GMS/addons/custom_server/init/GMS_fnc_findWorld.sqf @@ -12,14 +12,8 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -private["_blck_WorldName"]; - -_blck_WorldName = toLower format ["%1", worldName]; -_blck_worldSize = worldSize; - -diag_log format["[blckeagls] Loading Map-specific settings with worldName = %1",_blck_WorldName]; - -switch (_blck_WorldName) do +diag_log format["[blckeagls] Loading Map-specific settings with worldName = %1",worldName]; +switch (toLower worldName) do {// These may need some adjustment - including a test for shore or water should help as well to avoid missions spawning on water. case "altis":{ diag_log "[blckeagls] Altis-specific settings for Epoch loaded"; @@ -63,7 +57,5 @@ switch (_blck_WorldName) do case "takistan":{blck_mapCenter = [5500, 6500, 0];blck_mapRange = 5000;}; case "lythium":{blck_mapCenter = [10000,10000,0];blck_mapRange = 8500;}; case "malden":{blck_mapCenter = [6000,7000,0];blck_mapRange = 5500;}; - default {_blck_WorldName = "default";blck_mapCenter = [6322,7801,0]; blck_mapRange = 6000}; -}; - -blck_worldSet = true; + default {blck_mapCenter = [6322,7801,0]; blck_mapRange = 6000}; +}; \ No newline at end of file diff --git a/@GMS/addons/custom_server/init/GMS_fnc_getTraderCites.sqf b/@GMS/addons/custom_server/init/GMS_fnc_getTraderCites.sqf index 606ae07..40d0267 100644 --- a/@GMS/addons/custom_server/init/GMS_fnc_getTraderCites.sqf +++ b/@GMS/addons/custom_server/init/GMS_fnc_getTraderCites.sqf @@ -10,26 +10,23 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -if (blck_modType isEqualTo "Epoch") then +if ((tolower blck_modType) isEqualTo "epoch") then { _blckListPrior = blck_locationBlackList; private _config = configFile >> "CfgEpoch"; private _configWorld = _config >> worldname; private _telePos = getArray(configFile >> "CfgEpoch" >> worldName >> "telePos" ); - //diag_log format["[blckeagls] _fnc_getTraderCities: _config = %1 | _configWorld = %2",_config,_configWorld]; - //diag_log format["[blckegle] _fnc_getTraderCities: count _telePos = %1 || _telepos = %2",count _telePos,_telePos]; - //if (true) exitWith {}; { blck_locationBlackList pushback [_x select 3, 1000]; #ifdef blck_debugMode if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getTraderCitiesEpoch:: -- >> Added epoch trader city location at %1", (_x select 3)];}; #endif - } foreach _telePos; // (getArray(_configWorld >> "telePos")); + } foreach _telePos; diag_log format["[blckeagls] blckListPrior = %1",_blckListPrior]; diag_log format["[blckeagls] ] blck_locationBlackList = %1",blck_locationBlackList]; }; -if (blck_modType isEqualTo "Exile") then +if ((tolower blck_modType) isEqualTo "exile") then { if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then { diff --git a/@GMS/addons/custom_server/init/blck_defines.hpp b/@GMS/addons/custom_server/init/blck_defines.hpp deleted file mode 100644 index 80dae03..0000000 --- a/@GMS/addons/custom_server/init/blck_defines.hpp +++ /dev/null @@ -1,37 +0,0 @@ -/* - for ghostridergaming - By Ghostrider [GRG] - Copyright 2016 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#define useAPEX -//#define useDynamicSimulation -//#define blck_debugMode -#define blck_triggerLoopCompleteTime 40*60 -#define blck_milServer -//#define GRG_TestServer -#define blck_useCUP -#define blck_useRHS - -//////////////////////////// -// Do not touch anything below this line -/////////////////////////// -#define onFoot 1 -#define inVehicle 2 - -// defines for static group spawners -#define staticPatrolTriggerRange 2000 -#define groupParameters 0 -#define patrolGroup 1 -#define groupSpawned 2 -#define timesSpawned 3 -#define respawnAt 4 - - diff --git a/@GMS/addons/custom_server/init/blck_init_HC.sqf b/@GMS/addons/custom_server/init/blck_init_HC.sqf index ba18f38..fea65a6 100644 --- a/@GMS/addons/custom_server/init/blck_init_HC.sqf +++ b/@GMS/addons/custom_server/init/blck_init_HC.sqf @@ -26,26 +26,20 @@ _blck_loadingStartTime = diag_tickTime; diag_log format["[blckeagls] Loading Headless Client Version %2 Build Date %1",_blck_versionDate,_blck_version]; call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf"; -waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;}; -waitUntil{blck_variablesLoaded}; -blck_variablesLoaded = nil; -//if !(blck_debugON) then {uiSleep 60;}; // compile functions call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf"; -waitUntil {(isNil "blck_functionsCompiled") isEqualTo false;}; -waitUntil{blck_functionsCompiled}; -blck_functionsCompiled = nil; diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel]; execVM "\q\addons\custom_server\Configs\blck_configs.sqf"; -waitUntil {(isNil "blck_configsLoaded") isEqualTo false;}; -waitUntil{blck_configsLoaded}; -blck_configsLoaded = nil; // Load any user-defined specifications or overrides call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Configs\blck_custom_config.sqf"; +#ifdef GRGserver +diag_log "[blckeagls] Running GRG Version"; +#endif + switch (blck_simulationManager) do case 1: {diag_log "[blckeagls] dynamic simulation manager enabled"}; case 2: {diag_log "[blckeagls] blckeagls simulation manager enabled"}; diff --git a/@GMS/addons/custom_server/init/blck_init_server.sqf b/@GMS/addons/custom_server/init/blck_init_server.sqf index 333d131..37f96d5 100644 --- a/@GMS/addons/custom_server/init/blck_init_server.sqf +++ b/@GMS/addons/custom_server/init/blck_init_server.sqf @@ -10,28 +10,28 @@ */ if ( !(isServer) || hasInterface) exitWith{}; - -#include "blck_defines.hpp"; - if !(isNil "blck_Initialized") exitWith{}; +// find and set Mod +blck_modType = if (!isNull (configFile >> "CfgPatches" >> "exile_server")) then {"Exile"} else {if (!isnull (configFile >> "CfgPatches" >> "a3_epoch_server")) then {"Epoch"} else {""}}; +publicVariable "blck_modType"; +/* +if ((tolower blck_modType) isEqualto "epoch") then { + diag_log "[blckeagls] Waiting until EpochMod is ready..."; + waituntil {!isnil "EPOCH_SERVER_READY"}; +}; +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; + + private _blck_loadingStartTime = diag_tickTime; #include "\q\addons\custom_server\init\build.sqf"; diag_log format["[blckeagls] Loading Server Mission System Version %2 Build Date %1",_blck_versionDate,_blck_version]; // compile functions call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf"; -waitUntil {(isNil "blck_functionsCompiled") isEqualTo false;}; -waitUntil{blck_functionsCompiled}; -blck_functionsCompiled = nil; -diag_log format["[blckeagls] functions compiled at %1",diag_tickTime]; +diag_log format["[blckeagls] functions compiled in %1 seconds",diag_tickTime-_blck_loadingStartTime]; -blck_modType = call blck_fnc_getModType; -publicVariable "blck_modType"; - -execVM "\q\addons\custom_server\Configs\blck_configs.sqf"; -waitUntil {(isNil "blck_configsLoaded") isEqualTo false;}; -waitUntil{blck_configsLoaded}; -blck_configsLoaded = nil; +call compile preprocessfilelinenumbers "\q\addons\custom_server\Configs\blck_configs.sqf"; diag_log format["[blckeagls] blck_useHC = %1 | blck_simulationManager = %2 ",blck_useHC,blck_simulationManager]; diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel]; @@ -41,9 +41,6 @@ diag_log format["[blckeagls] configurations loaded at %1",diag_tickTime]; call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf"; -waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;}; -waitUntil{blck_variablesLoaded}; -blck_variablesLoaded = nil; diag_log format["[blckeagls] blck_variables loaded at %1",diag_tickTime]; // spawn map addons to give the server time to position them before spawning in crates etc. @@ -53,25 +50,19 @@ if (blck_spawnMapAddons) then }else{ diag_log "[blckeagls] Map Addons disabled"; }; -blck_spawnMapAddons = nil; + +// find and set Mapcenter and size diag_log "[blckeagls] Loading Map-specific information"; -execVM "\q\addons\custom_server\init\GMS_fnc_findWorld.sqf"; -waitUntil {(isNil "blck_worldSet") isEqualTo false;}; -waitUntil{blck_worldSet}; -blck_worldSet = nil; - -#ifdef GRG_TestServer -//[] execVM "\q\addons\custom_server\init\testCrateLoading.sqf"; -#endif +call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\init\GMS_fnc_findWorld.sqf"; // set up the lists of available missions for each mission category -diag_log "[blckeagls] Loading Mission Lists"; +//diag_log "[blckeagls] Loading Mission Lists"; #include "\q\addons\custom_server\Missions\GMS_missionLists.sqf"; diag_log "[blckeagls] Mission Lists Loaded Successfully"; -[] execVM "\q\addons\custom_server\Missions\Static\GMS_StaticMissions_init.sqf"; -[] execVM "q\addons\custom_server\Missions\UMS\GMS_UMS_init.sqf"; // loads functions and spawns any static missions. +call compile preprocessfilelinenumbers "\q\addons\custom_server\Missions\Static\GMS_StaticMissions_init.sqf"; +call compile preprocessfilelinenumbers "q\addons\custom_server\Missions\UMS\GMS_UMS_init.sqf"; // loads functions and spawns any static missions. diag_log "[blckeagls] blck_init_server: ->> Static and UMS systems initialized."; switch (blck_simulationManager) do @@ -81,6 +72,15 @@ switch (blck_simulationManager) do case 0: {diag_log "[blckeagls] simulation management disabled"}; }; + +#ifdef GRGserver +// start the dynamic loot crate system +compile preprocessfilelinenumbers "\q\addons\custom_server\DLS\DLS_init.sqf"; +#endif + +diag_log format["[blckeagls] version %1 Build %2 Loaded in %3 seconds",_blck_versionDate,_blck_version,diag_tickTime - _blck_loadingStartTime]; //,blck_modType]; +diag_log format["blckeagls] waiting for players to join ---- >>>>"]; +#ifdef GRGserver diag_log "[blckeagls] Running GhostriderGaming Version"; #endif @@ -92,15 +92,11 @@ if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then diag_log "[blckeagls] spawning Missions"; }; - if (blck_spawnStaticLootCrates) then { // Start the static loot crate spawner - diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Started"; - [] execVM "\q\addons\custom_server\SLS\SLS_init.sqf"; - waitUntil {(isNil "blck_SLSComplete") isEqualTo false;}; - waitUntil {blck_SLSComplete}; - blck_SLSComplete = nil; + //diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Started"; + call compile preprocessfilelinenumbers "\q\addons\custom_server\SLS\SLS_init.sqf"; diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner Done"; }else{ diag_log "[blckeagls] SLS:: -- >> Static Loot Spawner disabled"; @@ -108,37 +104,56 @@ if (blck_spawnStaticLootCrates) then if (true /*blck_blacklistTraderCities*/) then { - execVM "\q\addons\custom_server\init\GMS_fnc_getTraderCites.sqf"; + call compile preprocessfilelinenumbers "\q\addons\custom_server\init\GMS_fnc_getTraderCites.sqf"; }; -diag_log format["[blckeagls] _init_server: blck_enableOrangeMissions = %1",blck_enableOrangeMissions]; + //Start the mission timers if (blck_enableOrangeMissions > 0) then { //[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange] spawn blck_fnc_missionTimer;//Starts major mission system (Orange Map Markers) [_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange,blck_enableOrangeMissions] call blck_fnc_addMissionToQue; }; - -diag_log format["[blckeagls] _init_server: blck_enableGreenMissions = %1",blck_enableGreenMissions]; if (blck_enableGreenMissions > 0) then { //[_missionListGreen,_pathGreen,"GreenMarker","green",blck_TMin_Green,blck_TMax_Green] spawn blck_fnc_missionTimer;//Starts major mission system 2 (Green Map Markers) [_missionListGreen,_pathGreen,"GreenMarker","green",blck_TMin_Green,blck_TMax_Green,blck_enableGreenMissions] call blck_fnc_addMissionToQue; }; - -diag_log format["[blckeagls] _init_server: blck_enableRedMissions = %1",blck_enableRedMissions]; if (blck_enableRedMissions > 0) then { //[_missionListRed,_pathRed,"RedMarker","red",blck_TMin_Red,blck_TMax_Red] spawn blck_fnc_missionTimer;//Starts minor mission system (Red Map Markers)//Starts minor mission system 2 (Red Map Markers) [_missionListRed,_pathRed,"RedMarker","red",blck_TMin_Red,blck_TMax_Red,blck_enableRedMissions] call blck_fnc_addMissionToQue; }; - -diag_log format["[blckeagls] _init_server: blck_enableBlueMissions = %1",blck_enableBlueMissions]; if (blck_enableBlueMissions > 0) then { //[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue] spawn blck_fnc_missionTimer;//Starts minor mission system (Blue Map Markers) [_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue,blck_enableBlueMissions] call blck_fnc_addMissionToQue; }; +#ifdef GRGserver + +diag_log format["[blckeagls] _init_server: blck_enableScoutsMissions = %1",blck_enableScoutsMissions]; +if (blck_enableScoutsMissions > 0) then +{ + //[_missionListScouts,_pathScouts,"ScoutsMarker","red",blck_TMin_Scouts,blck_TMax_Scouts] spawn blck_fnc_missionTimer; + [_missionListScouts,_pathScouts,"ScoutsMarker","red",blck_TMin_Scouts,blck_TMax_Scouts,blck_enableScoutsMissions,false] call blck_fnc_addMissionToQue; +}; + +diag_log format["[blckeagls] _init_server: blck_enableHunterMissions = %1",blck_enableHunterMissions]; +if (blck_enableHunterMissions > 0) then +{ + //[_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter] spawn blck_fnc_missionTimer; + // params["_missionList","_path","_marker","_difficulty","_tMin","_tMax","_noMissions"]; + [_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter,blck_enableHunterMissions,false] call blck_fnc_addMissionToQue; +}; + +// Running new version of Crash sites. +diag_log format["[blckeagls] _init_server: blck_maxCrashSites = %1",blck_maxCrashSites]; +if (blck_maxCrashSites > 0) then +{ + [] execVM "\q\addons\custom_server\Missions\HeliCrashs\Crashes2.sqf"; +}; +#endif + // start the main thread for the mission system which monitors missions running and stuff to be cleaned up [] spawn blck_fnc_mainThread; diff --git a/@GMS/addons/custom_server/init/broadcastServerFPS.sqf b/@GMS/addons/custom_server/init/broadcastServerFPS.sqf deleted file mode 100644 index 97c60ec..0000000 --- a/@GMS/addons/custom_server/init/broadcastServerFPS.sqf +++ /dev/null @@ -1,14 +0,0 @@ - - -private["_startTime"]; -_startTime = diag_tickTime; -[] spawn { - while {true} do - { - blck_serverFPS = diag_FPS; - publicVariable "blck_serverFPS"; - uiSleep 3; - }; -}; - - diff --git a/@GMS/addons/custom_server/init/build.sqf b/@GMS/addons/custom_server/init/build.sqf index 03c8d35..3158029 100644 --- a/@GMS/addons/custom_server/init/build.sqf +++ b/@GMS/addons/custom_server/init/build.sqf @@ -1,6 +1,6 @@ private ["_version","_versionDate"]; -blck_version = "6.88 Build 160"; +blck_version = "6.88 Build 163"; _blck_version = blck_version; -_blck_versionDate = "11-19-18 1:30 AM"; +_blck_versionDate = "11-19-18 4:00 PM"; blck_pvs_version = _blck_version; publicVariable blck_pvs_version;