diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf index a76d91d..d67d4b0 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf @@ -20,5 +20,4 @@ private _Groups_AI_Side = 0; }forEach allGroups; //diag_log format["_fnc_groupsOnAISide:: -- >> allGroups = %1 | _Groups_AI_Side = %2",allGroups, _Groups_AI_Side]; -// Return the number of groups used. _Groups_AI_Side 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 81941ad..1520261 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addMoneyToObject.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addMoneyToObject.sqf @@ -13,7 +13,7 @@ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; params["_obj","_difficulty"]; private _mod = [] call blck_fnc_getModType; -//diag_log format["_fnc_addMoneyToObject: _this = %1",_this]; + #ifdef blck_debugMode { diag_log format["_fnc_addMoneyToOject: _this select %1 = %2",_foreachindex, _this select _foreachindex]; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_countAliveAI.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_countAliveAI.sqf index 828532c..36c9e68 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_countAliveAI.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_countAliveAI.sqf @@ -21,7 +21,7 @@ switch (_returnMode) do case 0:{_return = (_alive / _total)}; case 1:{_return = [_alive,_total]}; }; -//diag_log format["_fnc_countAliveAI: _alive = %1 | _total = %2 | _return = %3",_alive,_total,_return]; + _return diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_deleteMarker.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_deleteMarker.sqf index c6bf181..95ca522 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_deleteMarker.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_deleteMarker.sqf @@ -9,10 +9,10 @@ http://creativecommons.org/licenses/by-nc-sa/4.0/ */ -//#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; private["_markerName"]; _markerName = _this select 0; deleteMarker _markerName; _markerName = "label" + _markerName; deleteMarker _markerName; -//diag_log format["deleteMarker complete script for _this = %1",_this]; + diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf index bd76001..0c29335 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf @@ -11,8 +11,8 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; - params["_veh"]; - clearWeaponCargoGlobal _veh; - clearMagazineCargoGlobal _veh; - clearBackpackCargoGlobal _veh; - clearItemCargoGlobal _veh; +params["_veh"]; +clearWeaponCargoGlobal _veh; +clearMagazineCargoGlobal _veh; +clearBackpackCargoGlobal _veh; +clearItemCargoGlobal _veh; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf index f7cc272..8981a69 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf @@ -24,13 +24,11 @@ _Arc = 360/_num; for "_i" from 1 to _num do { _currentDir = _currentDir + _Arc; - //diag_log format["spawnEmplaced: _currentDir is %1 for cycle %2",_currentDir,_i]; _dist = round(_minDistance + (random(_maxDistance - _minDistance))); _newpos = _center getPos [_dist, _currentDir]; - //diag_log format["findPositionAlongRadius:: distance of pos %1 from center is %2",_newpos, _newpos distance _center]; _locs pushback _newpos; }; -//diag_log format["_fnc_findPositionsAlongARadius:: _locations = %1",_locations]; + _locs diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf index 191865a..7d75384 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf @@ -132,33 +132,4 @@ if ((count _coords) > 2) then }; _coords; -/* -while {_findNew} do { - - - - // test for water nearby - _dist = 100; - for [{_i=0}, {_i<360}, {_i=_i+20}] do - { - _xpos = (_coords select 0) + sin (_i) * _dist; - _ypos = (_coords select 1) + cos (_i) * _dist; - _newPos = [_xpos,_ypos,0]; - if (surfaceIsWater _newPos) then - { - _findNew = true; - _i = 361; - }; - }; - - if (toLower(worldName) isEqualTo "taviana") then - { - _tavTest = createVehicle ["SmokeShell",_coords,[], 0, "CAN_COLLIDE"]; - _tavHeight = (getPosASL _tavTest) select 2; - deleteVehicle _tavTest; - if (_tavHeight > 100) then {_FindNew = true;}; - }; - _tries = _tries + 1; -}; - 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 3f54f6d..a3e2fcc 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf @@ -12,10 +12,6 @@ //diag_log format["starting _fnc_mainThread with time = %1",diag_tickTime]; -#ifdef GRGserver -diag_log "running GRGserver version of _fnc_mainThread"; -#endif - private["_timer1sec","_timer5sec","_timer20sec","_timer5min","_timer5min"]; _timer1sec = diag_tickTime; _timer5sec = diag_tickTime; @@ -30,9 +26,6 @@ while {true} do if (diag_tickTime > _timer1sec) then { [] call blck_fnc_vehicleMonitor; - #ifdef GRGserver - [] call blck_fnc_broadcastServerFPS; - #endif _timer1sec = diag_tickTime + 1; //diag_log format["[blckeagls] _fnc_mainThread 1 Second Timer Handled | Timstamp %1",diag_tickTime]; }; @@ -41,7 +34,6 @@ while {true} do _timer5sec = diag_tickTime + 5; [] call blck_fnc_missionGroupMonitor; [] call blck_fnc_sm_missionPatrolMonitor; - //diag_log format["[blckeagls] _fnc_mainThread 5 Second Timer Handled | Timstamp %1",diag_tickTime]; }; if (diag_tickTime > _timer20sec) then @@ -76,6 +68,7 @@ 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_markerSetAliveAICount.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_markerSetAliveAICount.sqf index 5204919..75d9ae8 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_markerSetAliveAICount.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_markerSetAliveAICount.sqf @@ -9,13 +9,12 @@ http://creativecommons.org/licenses/by-nc-sa/4.0/ */ -//#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; params["_mArray","_count"]; _mArray params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"]; -//diag_log "++++++++++++++--- marker label arrow detected"; _name = "ai_count" + _name; _textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) + (_size select 0), 0]; _MainMarker = createMarker [_name, _textPos]; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_missionCompleteMarker.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_missionCompleteMarker.sqf index f572e9b..bc67f31 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_missionCompleteMarker.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_missionCompleteMarker.sqf @@ -9,7 +9,7 @@ http://creativecommons.org/licenses/by-nc-sa/4.0/ */ -//#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; private["_location","_MainMarker","_name"]; //diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_nearestPlayers.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_nearestPlayers.sqf index 363fa50..6ec7509 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_nearestPlayers.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_nearestPlayers.sqf @@ -1,4 +1,17 @@ +/* + 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 format["_fnc_nearestPlayers: _this = %1",_this]; params["_coords","_range"]; private["_return","_playerClassNames","_epochClasses","_exileClasses"]; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMarker.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMarker.sqf index 0bc98cc..b6dc6a8 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMarker.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMarker.sqf @@ -14,9 +14,7 @@ private["_blck_fn_configureRoundMarker"]; _blck_fn_configureRoundMarker = { //diag_log format["_blck_fn_configureRoundMarker: _this = %1",_this]; - // [[""OrangeMarker1"",[11736.1,9272.76,0],""Soylent Green"",""center"",""ColorPink"",[""ellipse"",[250,250],""Cross""]]]" private["_name","_pos","_color","_size","_MainMarker","_arrowMarker","_labelMarker","_labelType"]; - // [_missionType,_markerPos,_markerColor,_markerLabel, _mSize,_markerLabelType,_mShape,_mBrush] params["_name","_pos","_color","_text","_size","_labelType","_mShape","_mBrush"]; if ((_pos distance [0,0,0]) < 10) exitWith {}; @@ -74,7 +72,7 @@ _blck_fn_configureIconMarker = { params["_mArray"]; private["_marker"]; _mArray params["_missionMarkerName","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerTypeInfo"]; -// add defaults to provide backward compatibility for older missions that do not specify a brush. + _markerTypeInfo params["_mShape",["_mSize",[0,0]],["_mBrush","GRID"]]; //diag_log format["spawnMarker.sqf:: -- >> _missionMarkerName %1 | _markerPos %2 | _markerLabel %3 | _markerLabelType %4 | _markerColor %5 | _markerTypeInfo %6 | _mShape %7",_missionMarkerName,_markerPos,_markerLabel,_markerLabelType,_markerColor,_markerTypeInfo,_mShape]; 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 009e76b..d1f3ef8 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionEmplacedRelative.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionEmplacedRelative.sqf @@ -1,4 +1,14 @@ +/* + By Ghostrider [GRG] + -------------------------- + 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"; params["_center","_emplaced","_garrisonGroup"]; private["_obj","_objects"]; @@ -13,8 +23,6 @@ _unit = [_group] call blck_fnc_spawnUnit; _unit moveInGunner _unit; _wep addMPEventHandler["MPHit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; - //_empGroup setVariable["groupVehicle",_wep]; - //_wep setVariable["vehicleGroup",_empGroup]; _wep setVariable["GRG_vehType","emplaced"]; [_wep,false] call blck_fnc_configureMissionVehicle; }forEach _emplaced; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLandscapeRelative.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLandscapeRelative.sqf index 93fafbc..7e43012 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLandscapeRelative.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLandscapeRelative.sqf @@ -1,12 +1,21 @@ +/* + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - params["_center","_landscape"]; - // diag_log format["fnc_spawnMissionLandscapeRelative: _center = %1",_center]; - private["_obj","_objects"]; - _objects = []; - { - _x params["_objClassName","_objRelPos","_objDir"]; - _obj = [_objClassName, _objRelPos vectorAdd _center, _objDir,enableSimulationForObject,enableDamageForObject,enableRopesforObject,"CAN_COLLIDE"] call blck_fnc_spawnSingleObject; - _objects pushBack _obj; - }forEach _landscape; - _landscape \ No newline at end of file + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +params["_center","_landscape"]; +// diag_log format["fnc_spawnMissionLandscapeRelative: _center = %1",_center]; +private["_obj","_objects"]; +_objects = []; +{ + _x params["_objClassName","_objRelPos","_objDir"]; + _obj = [_objClassName, _objRelPos vectorAdd _center, _objDir,enableSimulationForObject,enableDamageForObject,enableRopesforObject,"CAN_COLLIDE"] call blck_fnc_spawnSingleObject; + _objects pushBack _obj; +}forEach _landscape; +_landscape \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLootBoxesRelative.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLootBoxesRelative.sqf index 7ce5abe..c69ef52 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLootBoxesRelative.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnMissionLootBoxesRelative.sqf @@ -1,17 +1,27 @@ +/* + By Ghostrider [GRG] + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - params["_center","_crates"]; - private["_crate","_cratesSpawned"]; + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; + +params["_center","_crates"]; +private["_crate","_cratesSpawned"]; - _cratesSpawned = []; - { - _x params["_objClassName","_objRelPos","_crateLoot","_lootCounts","_objDir"]; - _crate = [_objClassName, _objRelPos vectorAdd _center, _objDir] call blck_fnc_spawn_lootCrate; - //_crate setPosATL _objRelPos vectorAdd _center; - _cratesSpawned pushBack _crate; - //_crate setVariable ["LAST_CHECK", 100000]; - _crate allowDamage false; - _crate enableRopeAttach false; - _crate - }forEach _crates; - _cratesSpawned \ No newline at end of file +_cratesSpawned = []; +{ + _x params["_objClassName","_objRelPos","_crateLoot","_lootCounts","_objDir"]; + _crate = [_objClassName, _objRelPos vectorAdd _center, _objDir] call blck_fnc_spawn_lootCrate; + //_crate setPosATL _objRelPos vectorAdd _center; + _cratesSpawned pushBack _crate; + //_crate setVariable ["LAST_CHECK", 100000]; + _crate allowDamage false; + _crate enableRopeAttach false; + _crate +}forEach _crates; +_cratesSpawned \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnSingleObject.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnSingleObject.sqf index 1099947..201ef11 100644 --- a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnSingleObject.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_spawnSingleObject.sqf @@ -1,10 +1,19 @@ +/* + By Ghostrider [GRG] + -------------------------- + 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"; - params["_objClassName","_objPosn",["_objDir",0],["_enableSimulation",true],["_enableDamage",true],["_enableRopes",true],["_mode","NONE"]]; - //diag_log format["_fnc_spawnSingleObject: _objClassName = %1 | _objPosn = %2 | _objPosn = %3",_objClassName,_objPosn,_objDir]; - private _obj = createVehicle[_objClassName,_objPosn,[],0,_mode]; - _obj setDir _objDir; - _obj allowDamage _enableDamage; - _obj enableDynamicSimulation _enableSimulation; - //diag_log format["created object %1 at %2 heading %3",_obj,getPosATL _obj, getDir _obj]; - _obj \ No newline at end of file +params["_objClassName","_objPosn",["_objDir",0],["_enableSimulation",true],["_enableDamage",true],["_enableRopes",true],["_mode","NONE"]]; +//diag_log format["_fnc_spawnSingleObject: _objClassName = %1 | _objPosn = %2 | _objPosn = %3",_objClassName,_objPosn,_objDir]; +private _obj = createVehicle[_objClassName,_objPosn,[],0,_mode]; +_obj setDir _objDir; +_obj allowDamage _enableDamage; +_obj enableDynamicSimulation _enableSimulation; +//diag_log format["created object %1 at %2 heading %3",_obj,getPosATL _obj, getDir _obj]; +_obj \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf index 5621221..b46f2df 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf @@ -14,7 +14,7 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; #ifdef blck_debugMode -//diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled"; +diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled"; #endif private["_group","_wp","_wpPos","_dis","_arc","_dir","_newPos","_marker","_center","_minDis","_maxDis"]; diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf index 13702e1..c2691c6 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf @@ -1,8 +1,5 @@ /* - call as [] call blck_fnc_cleanEmptyGroups; - Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup. By Ghostrider [GRG] - 3/18/17 -------------------------- License -------------------------- 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 ac7b3d4..b2d35da 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 @@ -1,8 +1,6 @@ /* By Ghostrider [GRG] Copyright 2016 - - -------------------------- License -------------------------- @@ -15,7 +13,6 @@ private["_groupSpawned"]; _groupSpawned = createGroup [blck_AI_Side, true]; -//_groupSpawned setVariable["groupVehicle",objNull]; if (blck_simulationManager == blck_useDynamicSimulationManagement) then { _groupSpawned enableDynamicSimulation true; @@ -32,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 \ No newline at end of file +_groupSpawned diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf index 2123ad7..882748a 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf @@ -1,9 +1,8 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. + /* for ghostridergaming By Ghostrider [GRG] Copyright 2016 - Last modified 4/23/17 -------------------------- License diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf index d5f7ecc..35d171a 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf @@ -17,9 +17,9 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -//diag_log format["_fnc_missionGroupMonitor (4/29:4:09 PM)::-->> running function at diag_tickTime = %1 with blck_fnc_missionGroupMonitor = %2",diag_tickTime,blck_monitoredMissionAIGroups]; #ifdef blck_debugMode - //diag_log format["_fnc_missionGroupMonitor:: blck_debugMode defined"]; +diag_log format["_fnc_missionGroupMonitor (4/29:4:09 PM)::-->> running function at diag_tickTime = %1 with blck_fnc_missionGroupMonitor = %2",diag_tickTime,blck_monitoredMissionAIGroups]; +//diag_log format["_fnc_missionGroupMonitor:: blck_debugMode defined"]; #endif _fn_allPlayers = { private ["_players"]; @@ -31,29 +31,10 @@ _fn_allPlayers = { _players }; -_fn_aliveGroupUnits = { - private["_grp","_aliveUnits"]; - _grp = _this select 0; - _aliveUnits = []; - { - if ( alive _x) then {_aliveUnits pushback _x}; - } forEach (units _grp); - _aliveUnits -}; +//////////////// +// local functions +//////////////// -_fn_inCombat = { - private["_grp","_targets","_players","_aliveUnits"]; - _grp = _this select 0; - _players = [] call _fn_allPlayers; - _aliveUnits = [_grp] call _fn_aliveGroupUnits; - _inCombat = false; - { - _targets = _x findNearestEnemy (position _x); - if !(isNull _targets) exitWith {_inCombat = true}; - } forEach _aliveUnits; - //diag_log format["_fn_inCombat::-->> _grp to test is %1 and result is %2",_grp,_inCombat]; - _inCombat; -}; _fn_removeEmptyOrNullGroups = { //diag_log format["_fn_removeEmptyOrNullGroups::-->> excuting function at %1",diag_tickTime]; @@ -75,10 +56,20 @@ _fn_removeEmptyOrNullGroups = { }; }; +_fn_centerGroup = { + +}; + _fn_monitorGroupWaypoints = { { private["_timeStamp","_index","_unit","_soldierType"]; - + /* + #define blck_turnBackRadiusInfantry 800 + #define blck_turnBackRadiusVehicles 1000 + #define blck_turnBackRadiusHelis 1000 + #define blck_turnBackRadiusJets 1500 + */ + diag_log format["_fn_monitorGroupWaypoints - radii: on foot %1 | vehicle %2 | heli %3 | jet %4",blck_turnBackRadiusInfantry,blck_turnBackRadiusVehicles,blck_turnBackRadiusHelis,blck_turnBackRadiusJets]; _timeStamp = _x getVariable ["timeStamp",0]; if (_timeStamp isEqualTo 0) then { _x setVariable["timeStamp",diag_tickTime]; @@ -118,9 +109,9 @@ _fn_monitorGroupWaypoints = { { private _leader = leader _x; (_leader) call blck_fnc_changeToMoveWaypoint; - #ifdef blck_debugMode - if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: vehicle group %1 stuck, waypoint reset",_x];}; - #endif + //#ifdef blck_debugMode + if (true /*blck_debugLevel > 2*/) then {diag_log format["_fnc_missionGroupMonitor: vehicle group %1 stuck, waypoint reset",_x];}; + //#endif /* if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then { @@ -130,28 +121,28 @@ _fn_monitorGroupWaypoints = { }; }; + /* if (_soldierType isEqualTo "helicopter") then { - if (diag_tickTime > (_x getVariable "timeStamp") + 60) then + if ((diag_tickTime > (_x getVariable "timeStamp")) then { - _units = [_x] call _fn_aliveGroupUnits; + private _units = [_x] call _fn_aliveGroupUnits; if (count _units > 0) then { private _leader = leader _x; - (_leader) call blck_fnc_changeToMoveWaypoint; - #ifdef blck_debugMode - if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: helicopter group %1 stuck, waypoint reset",_x];}; - #endif - /* - if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then + if (_leader distance (_group getVariable "patrolCenter") > blck_turnBackRadiusHelis) then { - - }; - */ + _leader call blck_fnc_changeToMoveWaypoint; + //#ifdef blck_debugMode + if (true ) then {diag_log format["_fnc_missionGroupMonitor: helicopter group %1 stuck, waypoint reset",_x];}; + //#endif + //diag_log format["_fnc_missionGroupMonitor: helicopter group %1 stuck, waypoint reset",_x]; + }; }; }; - }; + }; + */ } forEach blck_monitoredMissionAIGroups; }; @@ -165,22 +156,18 @@ _fn_simulationMonitor = { _playerType = ["Epoch_Male_F","Epoch_Female_F"]; }; { - _players = (leader _x) nearEntities [_playerType, blck_simulationEnabledDistance]; + private _players = (leader _x) nearEntities [_playerType, blck_simulationEnabledDistance]; if (count _players > 0) then { - if !(simulationEnabled _x) then + private _group = _x; { { _x enableSimulationGlobal true; (_players select 0) reveal _x; // Force simulation on - }forEach (units _x); + }forEach (units _group); }; }else{ - // Be sure simulation is off for all units in the group. - if (simulationEnabled _x) then - { - {_x enableSimulationGlobal false}forEach (units _x); - }; + {_x enableSimulationGlobal false}forEach (units _x); }; } forEach blck_monitoredMissionAIGroups; }; @@ -192,7 +179,7 @@ if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: execut #endif [] call _fn_removeEmptyOrNullGroups; uiSleep 0.1; -[] call _fn_monitorGroupWaypoints; +//[] call _fn_monitorGroupWaypoints; if (blck_simulationManager == blck_useBlckeaglsSimulationManagement) then {[] call _fn_simulationMonitor}; diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf index d4c5ad5..bf10458 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf @@ -80,7 +80,7 @@ if !(_soldierType isEqualTo "emplaced") then _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; #endif #ifdef blck_debugMode - if (blck_debugLevel >= 2) then + if (blck_debugLevel >= 3) then { _marker = createMarker [format["GroupMarker%1",_group],_newPos]; _group setVariable["wpMarker",_marker,true]; @@ -90,7 +90,7 @@ if !(_soldierType isEqualTo "emplaced") then //diag_log format["_fnc_setupWaypoints: configuring weapoints for group %2 mobile patrol with _soldierType = %1",_solderType,_group]; diag_log format["_fnc_setupWaypoints: soldier type for mobile _group %1 set to %2",_group, (_group getVariable["soldierType","null"])]; diag_log format["_fnc_setupWaypoints: all variables for the group have been set for group %1",_group]; - diag_log format["_fnc_setupWaypoints:: -- >> wpMode %1 _dir %2 _dis 3",_group getVariable["wpMode","random"], _dir, _dis]; + diag_log format["_fnc_setupWaypoints:: -- >> wpMode %1 _dir %2 _dis %3",_group getVariable["wpMode","random"], _dir, _dis]; diag_log format["_fnc_setupWaypoints:: -- >> group to update is %1 and new position is %2",_group, _newPos]; diag_log format["_fnc_setupWaypoints:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; diag_log format["_fnc_setupWaypoints:: -- >> Waypoint marker for group %1 have been configured as %2 with text set to %3",_group, _group getVariable "wpMarker", markerText (_group getVariable "wpMarker")]; diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf index f98f1ff..3ab14e4 100644 --- a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf @@ -12,9 +12,9 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -private["_numbertospawn","_groupSpawned","_safepos","_useLauncher","_launcherType"]; +private["_numbertospawn","_groupSpawned","_safepos","_useLauncher","_launcherType","_infantryType"]; // _newGroup = [_groupSpawnPos,_minAI,_maxAI,_skillLevel,_coords,_minPatrolRadius,_maxPatrolRadius,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,true,_isScubaGroup] -params["_pos", "_center", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], ["_minDist",20], ["_maxDist",35],["_configureWaypoints",true], ["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]], ["_scuba",false]]; +params["_pos", "_center", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], ["_minDist",30], ["_maxDist",45],["_configureWaypoints",true], ["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]], ["_scuba",false]]; if (_weaponList isEqualTo []) then {_weaponList = [_skillLevel] call blck_fnc_selectAILoadout}; if (_sideArms isEqualTo []) then {_sideArms = [_skillLevel] call blck_fnc_selectAISidearms}; if (_uniforms isEqualTo []) then {_uniforms = [_skillLevel] call blck_fnc_selectAIUniforms}; @@ -96,9 +96,8 @@ if !(isNull _groupSpawned) then if (_configureWaypoints) then { if (_scuba) then {_infantryType = "scuba"} else {_infantryType = "infantry"}; - [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] spawn blck_fnc_setupWaypoints; + [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD",_infantryType] spawn blck_fnc_setupWaypoints; }; - //[_pos,_minDist,_maxDist,_groupSpawned,"random","SENTRY"] spawn blck_fnc_setupWaypoints; //diag_log format["_fnc_spawnGroup: blck_fnc_setupWaypoints called for group %1",_groupSpawned]; #ifdef blck_debugMode if (blck_debugLevel >= 1) then diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_ATLsystem.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_ATLsystem.sqf index bf8f77c..788c5fd 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_ATLsystem.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_ATLsystem.sqf @@ -1,8 +1,4 @@ -////////////////////////////////////////////////////// -// Attach a marker of type _marker to an object _crate -// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch -// Last modified 8/2/15 -///////////////////////////////////////////////////// + /* -------------------------- License diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf index a6801e0..363b0b0 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_garrisonBuilding_relPosSystem.sqf @@ -1,8 +1,4 @@ -////////////////////////////////////////////////////// -// Attach a marker of type _marker to an object _crate -// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch -// Last modified 8/2/15 -///////////////////////////////////////////////////// + /* -------------------------- License diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_loadMissionCrate.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_loadMissionCrate.sqf index 4855358..2a32c4e 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_loadMissionCrate.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_loadMissionCrate.sqf @@ -1,3 +1,11 @@ +/* + -------------------------- + 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"; private _crate = _this select 0; #ifdef blck_debugMode diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf index bdf2de6..f425656 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf @@ -306,7 +306,7 @@ uisleep 3; if (count _garrisonedBuilding_ATLsystem > 0) then { _temp = [_coords, _garrisonedBuilding_ATLsystem, _aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_garrisonBuilding_ATLsystem; - diag_log format["_missionspawner: garrisoned a building using ATL format, function returned %1",_temp]; + //diag_log format["_missionspawner: garrisoned a building using ATL format, function returned %1",_temp]; // _return = [_group,_buildingsSpawned,_staticsSpawned]; _objects append (_temp select 1); blck_monitoredVehicles append (_temp select 2); @@ -314,7 +314,7 @@ if (count _garrisonedBuilding_ATLsystem > 0) then }; uiSleep 3; -diag_log format["_missionSpawner: _garrisonedBuildings_BuildingPosnSystem = %1",_garrisonedBuildings_BuildingPosnSystem]; +//diag_log format["_missionSpawner: _garrisonedBuildings_BuildingPosnSystem = %1",_garrisonedBuildings_BuildingPosnSystem]; if (count _garrisonedBuildings_BuildingPosnSystem > 0) then { // params["_center","_garrison","_aiDifficultyLevel","_uniforms","_headGear","_vests","_backpacks","_weaponList","_sideArms"]; @@ -456,7 +456,7 @@ if (_secureAsset) then while {_missionComplete isEqualTo -1} do { #ifdef blck_debugMode - if (blck_debugLevel > 2) exitWith {uiSleep blck_triggerLoopCompleteTime;diag_log "_missionSpawner (492) scripted Mission End blck_debugLevel = 3";}; + if (blck_debugLevel > 3) exitWith {uiSleep blck_triggerLoopCompleteTime;diag_log "_missionSpawner (492) scripted Mission End blck_debugLevel = 3";}; #endif if (_endIfPlayerNear) then diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf index 954d3ff..e92033e 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf @@ -74,12 +74,9 @@ if (_missionPatrolVehicles isEqualTo []) then { _abort = true; }; - //if !(isNull _vehGroup) then - //{ - //blck_monitoredMissionAIGroups pushBack _vehGroup; - //}; - + blck_monitoredMissionAIGroups pushBack _vehGroup; + #ifdef blck_debugMode if (blck_debugLevel > 1) then { @@ -96,7 +93,7 @@ if (_missionPatrolVehicles isEqualTo []) then #endif //params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull]]; - _patrolVehicle = [_coords,_spawnPos,_vehicle,30,45,_vehGroup,true] call blck_fnc_spawnVehiclePatrol; + _patrolVehicle = [_coords,_spawnPos,_vehicle,40,60,_vehGroup,true] call blck_fnc_spawnVehiclePatrol; //_vehGroup setVariable["groupVehicle",_vehicle]; #ifdef blck_debugMode if (blck_debugLevel > 1) then diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf index d1035fc..792764f 100644 --- a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf @@ -31,13 +31,13 @@ private["_index","_element","_waitTime"]; if (_index > -1) then { #ifdef blck_debugMode - if (blck_debuglevel > 2) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions began as %1",blck_pendingMissions];}; + if (blck_debuglevel > 4) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions began as %1",blck_pendingMissions];}; #endif _element = blck_pendingMissions select _index; #ifdef blck_debugMode - if (blck_debuglevel > 2) then {diag_log format["_fnc_updateMissionQue:: -- >> _element before update = %1",_element];}; + if (blck_debuglevel > 3) then {diag_log format["_fnc_updateMissionQue:: -- >> _element before update = %1",_element];}; #endif // 0 1 2 3 4 5 6 //_mission = [_missionList,format["%1%2",_marker,_i],_difficulty,_tMin,_tMax,_waitTime,[0,0,0]]; @@ -59,7 +59,7 @@ if (_index > -1) then blck_pendingMissions set [_index, _element]; #ifdef blck_debugMode - if (blck_debuglevel > 2) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions after update = %1",blck_pendingMissions];}; + if (blck_debuglevel > 4) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions after update = %1",blck_pendingMissions];}; #endif }; diff --git a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnParaUnits.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnParaUnits.sqf index 588dca8..1db1cb8 100644 --- a/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnParaUnits.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnParaUnits.sqf @@ -67,6 +67,6 @@ for "_i" from 1 to _numAI do }; -//blck_monitoredMissionAIGroups pushback _paraGroup; +blck_monitoredMissionAIGroups pushback _paraGroup; _paraGroup 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 1cb1b2b..6ef61f1 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf @@ -55,7 +55,7 @@ if !(isNull _grpPilot) then _grpPilot setVariable["arc",0]; _grpPilot setVariable["wpRadius",30]; _grpPilot setVariable["wpMode","SAD"]; - // [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] spawn blck_fnc_setupWaypoints; + //[_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]; switch (toLower(_skillAI)) do { @@ -65,8 +65,8 @@ if !(isNull _grpPilot) then case "orange" : {_minDist = 150;_maxDist = blck_maxPatrolRadiusHelisOrange}; default {_minDist = 150; _maxDist = 500}; }; - 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; + + [_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 @@ -79,7 +79,8 @@ if !(isNull _grpPilot) then #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnMissionHeli (78):: _chopperType selected = %1",_chopperType]; + diag_log format["_fnc_spawnMissionHeli(59): _skillAI = %1 | _minDist = %2 | _maxDist = %3",_skillAI,_minDist,_maxDist]; + diag_log format["_fnc_spawnMissionHeli (78):: _chopperType selected = %1",_chopperType]; }; #endif 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 aa3219d..937c362 100644 --- a/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf @@ -15,7 +15,7 @@ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; private["_vehType","_safepos","_veh","_unitNumber"]; -params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull],["_setWaypoints",true]]; +params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",40],["_maxDis",60],["_group",grpNull],["_setWaypoints",true]]; #ifdef blck_debugMode if (blck_debugLevel > 1) then { diff --git a/@GMS/addons/custom_server/Compiles/blck_functions.sqf b/@GMS/addons/custom_server/Compiles/blck_functions.sqf index eeadfbe..6d3ecdf 100644 --- a/@GMS/addons/custom_server/Compiles/blck_functions.sqf +++ b/@GMS/addons/custom_server/Compiles/blck_functions.sqf @@ -39,16 +39,9 @@ blck_fnc_addMoneyToObject = compileFinal preprocessFileLineNumbers "\q\addons\cu 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_emptyObjectInventory = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObject.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"; - -#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"; @@ -94,14 +87,12 @@ blck_fnc_garrisonBuilding_RelPosSystem = compileFinal preprocessFileLineNumbers 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_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. @@ -155,17 +146,13 @@ blck_fnc_placeCharacterInBuilding = compileFinal preprocessFileLineNumbers "\q\ // 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"; +//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 eb96142..1637c0f 100644 --- a/@GMS/addons/custom_server/Compiles/blck_variables.sqf +++ b/@GMS/addons/custom_server/Compiles/blck_variables.sqf @@ -12,12 +12,17 @@ */ #include"\q\addons\custom_server\Configs\blck_defines.hpp"; -diag_log "[blckeagls] loading variables"; +//diag_log "[blckeagls] loading variables"; -// blck_debugON = false; Moved to blck_configs.sqf because of script loading order issues. -// blck_debugLevel = 0; Moved to blck_configs.sqf because of script loading order issues. blck_minFPS = 8; +// radius within whih missions are triggered. The trigger causes the crate and AI to spawn. +#ifdef blck_milServer +blck_TriggerDistance = 1500; +#else +blck_TriggerDistance = 1500; +#endif + //////////////////////////////////////////////// // Do Not Touch Anything Below This Line /////////////////////////////////////////////// @@ -35,10 +40,7 @@ blck_activeMissions = []; blck_deadAI = []; blck_connectedHCs = []; blck_missionMarkers = []; -//blck_groupsOnHC = []; -//blck_vehiclesOnHC = []; -//blck_HC_monitoredVehicles = []; -//blck_HC_monitoredGroups = []; + if (blck_simulationManager == 2) then { "Group" setDynamicSimulationDistance 1800; @@ -47,14 +49,9 @@ if (blck_simulationManager == 2) then blck_heliCrashSites = []; -// radius within whih missions are triggered. The trigger causes the crate and AI to spawn. -#ifdef blck_milServer -blck_TriggerDistance = 1500; -#else -blck_TriggerDistance = 1500; -#endif + blck_mainThreadUpdateInterval = 60; blck_revealMode = "detailed"; //""basic" /*group or vehicle level reveals*/,detailed /*unit by unit reveals*/"; -diag_log "[blckeagls] Variables Loaded"; +//diag_log "[blckeagls] Variables Loaded"; blck_variablesLoaded = true; diff --git a/@GMS/addons/custom_server/Configs/armed_vics_notes.txt b/@GMS/addons/custom_server/Configs/armed_vics_notes.txt new file mode 100644 index 0000000..199a327 --- /dev/null +++ b/@GMS/addons/custom_server/Configs/armed_vics_notes.txt @@ -0,0 +1,91 @@ + +_blck_lightlyArmed_ARMA3 = [ + "B_G_Offroad_01_armed_F", + "O_G_Offroad_01_armed_F", + "B_MRAP_01_gmg_F", + "B_MRAP_01_hmg_F", + "O_MRAP_02_gmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F", + "I_MRAP_03_gmg_F", + "B_APC_Wheeled_01_cannon_F", + "I_APC_Wheeled_03_cannon_F" +]; + + +_blck_tracked_APC_ARMA3 = [ + "B_APC_Tracked_01_rcws_F", + "B_APC_Tracked_01_CRV_F", + "B_APC_Tracked_01_AA_F", + "O_APC_Tracked_02_cannon_F", + "O_APC_Tracked_02_AA_F", + "O_APC_Wheeled_02_rcws_F", + "I_APC_tracked_03_cannon_F" +]; + +_blck_Tanks_ARMA3 = [ + //"B_MBT_01_arty_F", + "B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "O_MBT_02_cannon_F", + //"O_MBT_02_arty_F", + "I_MBT_03_cannon_F" +]; +_blck_APC_CUP = [ + "CUP_B_Mastiff_GMG_GB_D", + "CUP_B_Mastiff_HMG_GB_D", + "CUP_B_Ridgback_HMG_GB_D", + "CUP_B_Ridgback_GMG_GB_D", + "CUP_B_M1128_MGS_Desert", + "CUP_B_M1135_ATGMV_Desert_Slat", + "CUP_B_M1133_MEV_Desert_Slat", + "CUP_B_LAV25M240_desert_USMC", + "CUP_B_M1129_MC_MK19_Desert_Slat", + "CUP_B_LAV25_HQ_desert_USMC", + "CUP_B_BRDM2_ATGM_CDF", + "CUP_B_BTR60_CDF", + "CUP_B_M1130_CV_M2_Desert_Slat", + "CUP_B_M1126_ICV_MK19_Desert_Slat", + "CUP_O_BTR90_RU", + "CUP_O_GAZ_Vodnik_BPPU_RU", + "CUP_B_M1126_ICV_M2_Desert", + "CUP_B_M1126_ICV_MK19_Desert", + "CUP_B_M1130_CV_M2_Desert", + "CUP_B_M1126_ICV_M2_Desert_Slat", + "CUP_B_M1133_MEV_Desert", + "CUP_O_GAZ_Vodnik_AGS_RU", + "CUP_O_GAZ_Vodnik_PK_RU" +]; + +_blck_Tanks_CUP = [ + "CUP_B_M2A3Bradley_USA_D", + "CUP_B_M113_desert_USA", + "CUP_B_M163_USA", + "CUP_B_M6LineBacker_USA_D", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + "CUP_B_AAV_USMC", + "CUP_B_M270_DPICM_USA", + "CUP_B_ZSU23_CDF", + "CUP_B_BMP2_CDF", + "CUP_B_T72_CDF", + "CUP_I_T34_NAPA", + "CUP_B_Challenger2_NATO", + "CUP_B_FV432_Bulldog_GB_D_RWS", + "CUP_B_FV432_Bulldog_GB_D", + "CUP_B_FV510_GB_D_SLAT", + "CUP_B_MCV80_GB_D_SLAT", + "CUP_O_2S6_RU", + "CUP_O_BMP3_RU", + "CUP_O_T90_RU", + "CUP_O_T55_SLA", + "CUP_O_BMP1P_TKA", + "CUP_B_M270_DPICM_USA", + "CUP_B_M2Bradley_USA_W", + "CUP_B_FV510_GB_D", + "CUP_B_MCV80_GB_D", + "CUP_B_M7Bradley_USA_D", + "CUP_O_2S6_RU", + "CUP_O_BMP1_TKA" +]; + diff --git a/@GMS/addons/custom_server/Configs/blck_configs.sqf b/@GMS/addons/custom_server/Configs/blck_configs.sqf index 0abfbe1..3e3dd19 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs.sqf @@ -17,8 +17,8 @@ changing any of these variables may break the mission systemChat */ blck_locationBlackList = []; // Do not touch ... - blck_debugON = false; // Do not touch ... - blck_debugLevel = 0; // Do not touch ... + blck_debugON = true; // Do not touch ... + blck_debugLevel = 3; // Do not touch ... #ifdef blck_milServer execVM "\q\addons\custom_server\Configs\blck_configs_mil.sqf"; if (true) exitWith {}; @@ -51,7 +51,7 @@ */ // Note that you can define map-specific variants in custom_server\configs\blck_custom_config.sqf - 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_useTimeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. blck_timeAccelerationDay = 0.25; // Daytime time accelearation blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation blck_timeAccelerationNight = 12; // Nighttim time acceleration @@ -71,7 +71,7 @@ ***********************************************************/ //////// // Headless Client Configurations - blck_useHC = false; // Experimental (do not use if you allow players to claim mission vehicles). + blck_useHC = true; // Experimental (death messages and rewards not yet working). /////////////////////////////// // Kill message configurations @@ -211,19 +211,17 @@ // Enable / Disable Missions //////////////////// - + // Maximum number of missions shown on the map at any one time. + // Change this value to reduce the number of spawned missions at any one time. + blck_maxSpawnedMissions = 4; + //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; blck_enableGreenMissions = 1; blck_enableRedMissions = 2; - blck_enableBlueMissions = 2; + 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. - // Maximum number of missions shown on the map at any one time. - // Change this value to reduce the number of spawned missions at any one time. - //blck_maxSpawnedMissions = 9; // Set this to a value lower than the total number of missions if you want only some of the types of missions running at any one time. - blck_maxSpawnedMissions = blck_enableOrangeMissions + blck_enableGreenMissions + blck_enableRedMissions + blck_enableBlueMissions + blck_numberUnderwaterDynamicMissions; - //////////////////// // MISSION TIMERS //////////////////// @@ -240,7 +238,7 @@ blck_TMax_Green = 300; blck_TMax_Blue = 200; blck_TMax_Red = 250; - blck_TMax_UMS = 200; + blck_TMax_UMS = 400; /////////////////////////////// // AI VEHICLE PATROL PARAMETERS @@ -298,8 +296,7 @@ blck_launcherCleanup = true;// When true, launchers and launcher ammo are removed from dead AI. blck_minimumPatrolRadius = 22; // AI will patrol within a circle with radius of approximately min-max meters. note that because of the way waypoints are completed they may more more or less than this distance. blck_maximumPatrolRadius = 35; - - + //This defines how long after an AI dies that it's body disappears. blck_bodyCleanUpTimer = 60*40; // time in seconds after which dead AI bodies are deleted // 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 @@ -360,7 +357,7 @@ blck_maxMoneyRed = 15; blck_maxMoneyBlue = 10; - private["_modType"]; + private["_modType"]; _modType = [] call blck_fnc_getModType; if (_modType isEqualTo "Epoch") then { @@ -369,8 +366,6 @@ waitUntil {(isNil "blck_configsEpochLoaded") isEqualTo false;}; waitUntil{blck_configsEpochLoaded}; blck_configsEpochLoaded = nil; - //diag_log "[blckeagles] Running getTraderCitiesEpoch to get location of trader cities"; - execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesEpoch.sqf"; }; if (_modType isEqualTo "Exile") then { @@ -378,8 +373,6 @@ execVM "\q\addons\custom_server\Configs\blck_configs_exile.sqf"; waitUntil {(isNil "blck_configsExileLoaded") isEqualTo false;}; waitUntil{blck_configsExileLoaded}; - blck_configsExileLoaded = nil; - if (blck_blacklistTraderCities || blck_blacklistSpawns || blck_listConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";}; }; if (blck_useConfigsGeneratedLoadouts) then { @@ -389,4 +382,5 @@ //waitUntil{blck_dynamicConfigsLoaded}; //blck_dynamicConfigsLoaded = nil; }; + uisleep 3; blck_configsLoaded = true; diff --git a/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf b/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf index f04f016..bdfa5c6 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf @@ -48,7 +48,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR blck_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders. // When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files - blck_useConfigsGeneratedLoadouts = false; + blck_useConfigsGeneratedLoadouts = true; blck_maximumItemPriceInAI_Loadouts = 100; _blck_lightlyArmed_ARMA3 = [ @@ -517,7 +517,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR blck_vests_green = blck_vests; blck_vests_orange = blck_vests; - //CraftingFood + //CraftingFood blck_Meats=[ "SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH","DogCarcass_EPOCH","ItemTrout","ItemSeaBass","ItemTuna" ]; @@ -525,7 +525,8 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR "WhiskeyNoodle","ItemSodaAlpineDude","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","FoodWalkNSons" ]; blck_Food = [ - "HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals","FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH", + "HotAxeSauce_epoch","gyro_wrap_epoch","icecream_epoch","redburger_epoch","bluburger_epoch","krypto_candy_epoch","ItemBakedBeans","ItemRiceBox","ItemPowderMilk","ItemCereals", + "FoodBioMeat","FoodMeeps","FoodSnooter","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH", "CookedRabbit_EPOCH","CookedChicken_EPOCH","CookedDog_EPOCH","ItemTroutCooked","ItemSeaBassCooked","ItemTunaCooked","TacticalBacon" ]; blck_ConsumableItems = blck_Meats + blck_Drink + blck_Food; @@ -1080,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_cream_epoch", "nanite_pills_epoch" + "ItemBloodBag_Empty", "ItemBloodBag_Full", "ItemAntibiotic", "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 c0220c3..2ee2612 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf @@ -49,7 +49,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR blck_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders. // When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files - blck_useConfigsGeneratedLoadouts = false; + blck_useConfigsGeneratedLoadouts = true; blck_maximumItemPriceInAI_Loadouts = 100; _blck_lightlyArmed_ARMA3 = [ @@ -533,7 +533,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR blck_vests_green = blck_vests; blck_vests_orange = blck_vests; - //CraftingFood + //CraftingFood blck_Meats=[ "SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH","DogCarcass_EPOCH","ItemTrout","ItemSeaBass","ItemTuna" ]; diff --git a/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf b/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf index e51b1a2..47af76e 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf @@ -56,7 +56,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR blck_crateMoneyOrange = [500, 750]; // When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files - blck_useConfigsGeneratedLoadouts = false; + blck_useConfigsGeneratedLoadouts = true; blck_maximumItemPriceInAI_Loadouts = 1000; _blck_armed_vehicles_Exile = [ diff --git a/@GMS/addons/custom_server/Configs/blck_configs_exile_mil - Namalks v146.sqf b/@GMS/addons/custom_server/Configs/blck_configs_exile_mil - Namalks v146.sqf new file mode 100644 index 0000000..f8fbea7 --- /dev/null +++ b/@GMS/addons/custom_server/Configs/blck_configs_exile_mil - Namalks v146.sqf @@ -0,0 +1,1170 @@ +/* + 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"; + +//////////// +// Exile-specific settings +//////////// + +// list of locations that are protected against mission spawns + +switch (toLower(worldName)) do +{ + case "altis": { + blck_locationBlackList append [ + //Add location as [[xpos,ypos,0],minimumDistance], + // Note that there should not be a comma after the last item in this table + [[10800,10641,0],1000] // isthmus - missions that spawn here often are glitched. + ]; + }; + case "tanoa": { + blck_locationBlackList append [ ]; + }; +}; + +/********************************************************************************* + +AI WEAPONS, UNIFORMS, VESTS AND GEAR + +**********************************************************************************/ + + blck_blacklistSpawns = false; + blck_listConcreteMixerZones = false; + blck_AI_Side = EAST; + + blck_crateMoneyBlue = [100,250]; + blck_crateMoneyRed = [175, 300]; + blck_crateMoneyGreen = [300, 500]; + blck_crateMoneyOrange = [500, 750]; + + // When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files + blck_useConfigsGeneratedLoadouts = true; + blck_maximumItemPriceInAI_Loadouts = 1000; + + _blck_armed_vehicles_Exile = [ + "Exile_Car_BTR40_MG_Green", + "Exile_Car_HMMWV_M134_Green", + "Exile_Car_HMMWV_M2_Green", + "B_LSV_01_armed_F", + "Exile_Car_Offroad_Armed_Guerilla01" + ]; + + _blck_lightlyArmed_ARMA3 = [ + "B_G_Offroad_01_armed_F", + "O_G_Offroad_01_armed_F", + "B_MRAP_01_gmg_F", + "B_MRAP_01_hmg_F", + "O_MRAP_02_gmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F", + "I_MRAP_03_gmg_F", + "B_APC_Wheeled_01_cannon_F", + "I_APC_Wheeled_03_cannon_F" + ]; + + _blck_tracked_APC_ARMA3 = [ + "B_APC_Tracked_01_rcws_F", + "B_APC_Tracked_01_CRV_F", + "B_APC_Tracked_01_AA_F", + "O_APC_Tracked_02_cannon_F", + "O_APC_Tracked_02_AA_F", + "O_APC_Wheeled_02_rcws_F", + "I_APC_tracked_03_cannon_F" + ]; + + _blck_Tanks_ARMA3 = [ + //"B_MBT_01_arty_F", + //"B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "O_MBT_02_cannon_F", + //"O_MBT_02_arty_F", + "I_MBT_03_cannon_F" + ]; + + _blck_APC_CUP = [ + "CUP_B_Mastiff_GMG_GB_D", + "CUP_B_Mastiff_HMG_GB_D", + "CUP_B_Ridgback_HMG_GB_D", + "CUP_B_Ridgback_GMG_GB_D", + "CUP_B_M1128_MGS_Desert", + "CUP_B_M1135_ATGMV_Desert_Slat", + "CUP_B_M1133_MEV_Desert_Slat", + "CUP_B_LAV25M240_desert_USMC", + "CUP_B_M1129_MC_MK19_Desert_Slat", + "CUP_B_LAV25_HQ_desert_USMC", + "CUP_B_BRDM2_ATGM_CDF", + "CUP_B_BTR60_CDF", + "CUP_B_M1130_CV_M2_Desert_Slat", + "CUP_B_M1126_ICV_MK19_Desert_Slat", + "CUP_O_BTR90_RU", + "CUP_O_GAZ_Vodnik_BPPU_RU", + "CUP_B_M1126_ICV_M2_Desert", + "CUP_B_M1126_ICV_MK19_Desert", + "CUP_B_M1130_CV_M2_Desert", + "CUP_B_M1126_ICV_M2_Desert_Slat", + "CUP_B_M1133_MEV_Desert", + "CUP_O_GAZ_Vodnik_AGS_RU", + "CUP_O_GAZ_Vodnik_PK_RU" + ]; + + _blck_Tanks_CUP = [ + "CUP_B_M2A3Bradley_USA_D", + //"CUP_B_M113_desert_USA", + //"CUP_B_M163_USA", + "CUP_B_M6LineBacker_USA_D", + "CUP_B_M1A1_DES_US_Army", + "CUP_B_M1A2_TUSK_MG_DES_US_Army", + //"CUP_B_AAV_USMC", + //"CUP_B_M270_DPICM_USA", + "CUP_B_ZSU23_CDF", + //"CUP_B_BMP2_CDF", + "CUP_B_T72_CDF", + //"CUP_I_T34_NAPA", + "CUP_B_Challenger2_NATO", + //"CUP_B_FV432_Bulldog_GB_D_RWS", + //"CUP_B_FV432_Bulldog_GB_D", + "CUP_B_FV510_GB_D_SLAT", + //"CUP_B_MCV80_GB_D_SLAT", + //"CUP_O_2S6_RU", + "CUP_O_BMP3_RU", + "CUP_O_T90_RU", + "CUP_O_T55_SLA" //, + //"CUP_O_BMP1P_TKA", + //"CUP_B_M270_DPICM_USA", + //"CUP_B_M2Bradley_USA_W", + //"CUP_B_FV510_GB_D", + //"CUP_B_MCV80_GB_D", + //"CUP_B_M7Bradley_USA_D", + //"CUP_O_2S6_RU", + //"CUP_O_BMP1_TKA"" + ]; + + blck_AIPatrolVehicles = + [ + //"Exile_Car_Offroad_Armed_Guerilla01", + //"Exile_Car_Offroad_Armed_Guerilla02", + //"Exile_Car_BTR40_MG_Green", + //"Exile_Car_BTR40_MG_Camo", + //"Exile_Car_HMMWV_M134_Green", + //"Exile_Car_HMMWV_M134_Desert", + //"Exile_Car_HMMWV_M134_Desert", + "Exile_Car_HMMWV_M2_Desert", + "B_LSV_01_armed_F", + //"_MRAP_02_gmg_ghex_F", + //"O_MRAP_02_hmg_ghex_F", + //"O_MRAP_03_gmg_ghex_F", + //"O_MRAP_03_hmg_ghex_F", + "B_MBT_01_cannon_F", + "B_MBT_01_cannon_F", // Duplicate to increase chance that these will spawn relative to others + //"B_MBT_01_mlrs_base_F", + //"B_MBT_01_mlrs_F", + "B_MBT_01_TUSK_F", + "B_MBT_01_TUSK_F",// Duplicate to increase chance that these will spawn relative to others + "B_APC_Tracked_01_AA_F", + "B_APC_Tracked_01_AA_F",// Duplicate to increase chance that these will spawn relative to others + "B_APC_Tracked_01_AA_F",// Duplicate to increase chance that these will spawn relative to others + "B_APC_Tracked_01_CRV_F", + "B_APC_Tracked_01_rcws_F" + ]; // Type of vehicle spawned to defend AI bases + + blck_AIPatrolVehiclesBlue = [ + "Exile_Car_Offroad_Armed_Guerilla01", + "Exile_Car_Offroad_Armed_Guerilla02", + "Exile_Car_BTR40_MG_Green", + "Exile_Car_BTR40_MG_Camo", + "Exile_Car_HMMWV_M134_Green", + "Exile_Car_HMMWV_M134_Desert", + "Exile_Car_HMMWV_M134_Desert", + "Exile_Car_HMMWV_M2_Desert", + "B_LSV_01_armed_F" + ]; + + blck_AIPatrolVehiclesRed = _blck_lightlyArmed_ARMA3 + _blck_APC_CUP; + blck_AIPatrolVehiclesGreen = _blck_Tanks_ARMA3 + _blck_Tanks_CUP; + blck_AIPatrolVehiclesOrange = _blck_Tanks_ARMA3 + _blck_Tanks_CUP; + + if (toLower(worldName) isEqualTo "namalsk") then + { + _blck_lightlyArmed_ARMA3 = [ + "B_G_Offroad_01_armed_F", + "O_G_Offroad_01_armed_F", + //"B_MRAP_01_gmg_F", + "B_MRAP_01_hmg_F", + //"O_MRAP_02_gmg_F", + "O_MRAP_02_hmg_F", + "I_MRAP_03_hmg_F" + //"I_MRAP_03_gmg_F", + //"B_APC_Wheeled_01_cannon_F", + //"I_APC_Wheeled_03_cannon_F" + ]; + diag_log "blck)configs_exile_mil.sqf:: - > Using special settings for namalsk"; + blck_AIPatrolVehiclesRed = _blck_lightlyArmed_ARMA3 + blck_AIPatrolVehiclesBlue; + blck_AIPatrolVehiclesGreen = blck_AIPatrolVehiclesRed; + blck_AIPatrolVehiclesOrange = blck_AIPatrolVehiclesRed; + }; + + // Blacklisted itesm + blck_blacklistedOptics = ["optic_Nightstalker","optic_tws","optic_tws_mg"]; + + // AI Weapons and Attachments + blck_bipods = ["bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli"]; + + blck_Optics_Holo = ["optic_Hamr","optic_MRD","optic_Holosight","optic_Holosight_smg","optic_Aco","optic_ACO_grn","optic_ACO_grn_smg","optic_Aco_smg","optic_Yorris"]; + blck_Optics_Reticule = ["optic_Arco","optic_MRCO"]; + blck_Optics_Scopes = [ + "optic_AMS","optic_AMS_khk","optic_AMS_snd", + "optic_DMS", + "optic_KHS_blk","optic_KHS_hex","optic_KHS_old","optic_KHS_tan", + "optic_LRPS", + "optic_Nightstalker", + "optic_NVS", + "optic_SOS", + "optic_tws", + "optic_tws_mg" + ]; + + #ifdef useAPEX + blck_Optics_Apex = [ + //Apex + "optic_Arco_blk_F", "optic_Arco_ghex_F", + "optic_DMS_ghex_F", + "optic_Hamr_khk_F", + "optic_ERCO_blk_F","optic_ERCO_khk_F","optic_ERCO_snd_F", + "optic_SOS_khk_F", + "optic_LRPS_tna_F","optic_LRPS_ghex_F", + "optic_Holosight_blk_F","optic_Holosight_khk_F","optic_Holosight_smg_blk_F" + ]; + blck_Optics = blck_Optics_Holo + blck_Optics_Reticule + blck_Optics_Scopes; + blck_Optics = blck_Optics + blck_Optics_Apex; + #endif + + blck_bipods = [ + "bipod_01_F_blk","bipod_01_F_mtp","bipod_01_F_snd","bipod_02_F_blk","bipod_02_F_hex","bipod_02_F_tan","bipod_03_F_blk","bipod_03_F_oli", + //Apex + "bipod_01_F_khk" + ]; + + blck_silencers = [ + "muzzle_snds_338_black","muzzle_snds_338_green","muzzle_snds_338_sand","muzzle_snds_93mmg","muzzle_snds_93mmg_tan","muzzle_snds_acp","muzzle_snds_B", + "muzzle_snds_H","muzzle_snds_H_MG","muzzle_snds_H_SW","muzzle_snds_L","muzzle_snds_M", + //Apex + "muzzle_snds_H_khk_F","muzzle_snds_H_snd_F","muzzle_snds_58_blk_F","muzzle_snds_m_khk_F","muzzle_snds_m_snd_F","muzzle_snds_B_khk_F","muzzle_snds_B_snd_F", + "muzzle_snds_58_wdm_F","muzzle_snds_65_TI_blk_F","muzzle_snds_65_TI_hex_F","muzzle_snds_65_TI_ghex_F","muzzle_snds_H_MG_blk_F","muzzle_snds_H_MG_khk_F" + ]; + + blck_RifleSniper = [ + "srifle_EBR_F","srifle_GM6_F","srifle_LRR_F","srifle_DMR_01_F" + ]; + + blck_RifleAsault_556 = [ + "arifle_SDAR_F","arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_Mk20_F","arifle_Mk20C_F","arifle_Mk20_GL_F","arifle_Mk20_plain_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_plain_F","arifle_SDAR_F" + ]; + + blck_RifleAsault_650 = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F" + ]; + + blck_RifleAsault = [ + "arifle_Katiba_F","arifle_Katiba_C_F","arifle_Katiba_GL_F","arifle_MXC_F","arifle_MX_F","arifle_MX_GL_F","arifle_MXM_F","arifle_SDAR_F", + "arifle_TRG21_F","arifle_TRG20_F","arifle_TRG21_GL_F","arifle_Mk20_F","arifle_Mk20C_F","arifle_Mk20_GL_F","arifle_Mk20_plain_F","arifle_Mk20C_plain_F","arifle_Mk20_GL_plain_F" + ]; + + blck_RifleLMG = [ + "LMG_Mk200_F","LMG_Zafir_F" + ]; + + blck_RifleOther = [ + "SMG_01_F","SMG_02_F" + ]; + + blck_Pistols = [ + "hgun_PDW2000_F","hgun_ACPC2_F","hgun_Rook40_F","hgun_P07_F","hgun_Pistol_heavy_01_F","hgun_Pistol_heavy_02_F","hgun_Pistol_Signal_F" + ]; + blck_Pistols_blue = blck_Pistols; + blck_Pistols_red = blck_Pistols; + blck_Pistols_green = blck_Pistols; + blck_Pistols_orange = blck_Pistols; + + blck_DLC_MMG = [ + "MMG_01_hex_F","MMG_02_sand_F","MMG_01_tan_F","MMG_02_black_F","MMG_02_camo_F" + ]; + + blck_DLC_Sniper = [ + "srifle_DMR_02_camo_F","srifle_DMR_02_F","srifle_DMR_02_sniper_F","srifle_DMR_03_F","srifle_DMR_03_tan_F","srifle_DMR_04_F","srifle_DMR_04_Tan_F","srifle_DMR_05_blk_F","srifle_DMR_05_hex_F","srifle_DMR_05_tan_F","srifle_DMR_06_camo_F","srifle_DMR_06_olive_F" + ]; + + //This defines the random weapon to spawn on the AI + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Weapons + blck_WeaponList_Orange = blck_RifleSniper + blck_RifleAsault_650 + blck_RifleLMG + blck_DLC_Sniper + blck_DLC_MMG; + blck_WeaponList_Green = blck_RifleSniper + blck_RifleAsault_650 +blck_RifleLMG + blck_DLC_MMG; + blck_WeaponList_Blue = blck_RifleOther + blck_RifleAsault_556 + blck_RifleAsault_650; + blck_WeaponList_Red = blck_RifleAsault_556 + blck_RifleSniper + blck_RifleAsault_650 + blck_RifleLMG; + + #ifdef useAPEX + blck_apexWeapons = ["arifle_AK12_F","arifle_AK12_GL_F","arifle_AKM_F","arifle_AKM_FL_F","arifle_AKS_F","arifle_ARX_blk_F","arifle_ARX_ghex_F","arifle_ARX_hex_F","arifle_CTAR_blk_F","arifle_CTAR_hex_F", + "arifle_CTAR_ghex_F","arifle_CTAR_GL_blk_F","arifle_CTARS_blk_F","arifle_CTARS_hex_F","arifle_CTARS_ghex_F","arifle_SPAR_01_blk_F","arifle_SPAR_01_khk_F","arifle_SPAR_01_snd_F", + "arifle_SPAR_01_GL_blk_F","arifle_SPAR_01_GL_khk_F","arifle_SPAR_01_GL_snd_F","arifle_SPAR_02_blk_F","arifle_SPAR_02_khk_F","arifle_SPAR_02_snd_F","arifle_SPAR_03_blk_F", + "arifle_SPAR_03_khk_F","arifle_SPAR_03_snd_F","arifle_MX_khk_F","arifle_MX_GL_khk_F","arifle_MXC_khk_F","arifle_MXM_khk_F"]; + + blck_WeaponList_Orange = blck_WeaponList_Orange + blck_apexWeapons; + blck_WeaponList_Green = blck_WeaponList_Green + blck_apexWeapons; + #endif + + + + blck_backpacks = ["B_Carryall_ocamo","B_Carryall_oucamo","B_Carryall_mcamo","B_Carryall_oli","B_Carryall_khk","B_Carryall_cbr" ]; + + #ifdef useAPEX + blck_ApexBackpacks = [ + "B_Bergen_mcamo_F","B_Bergen_dgtl_F","B_Bergen_hex_F","B_Bergen_tna_F","B_AssaultPack_tna_F","B_Carryall_ghex_F", + "B_FieldPack_ghex_F","B_ViperHarness_blk_F","B_ViperHarness_ghex_F","B_ViperHarness_hex_F","B_ViperHarness_khk_F", + "B_ViperHarness_oli_F","B_ViperLightHarness_blk_F","B_ViperLightHarness_ghex_F","B_ViperLightHarness_hex_F","B_ViperLightHarness_khk_F","B_ViperLightHarness_oli_F" + ]; + blck_backpacks = blck_backpacks + blck_ApexBackpacks; + #endif + blck_backpacks_blue = blck_backpacks; + blck_backpacks_red = blck_backpacks; + blck_backpacks_green = blck_backpacks; + blck_backpacks_orange = blck_backpacks; + + blck_BanditHeadgear = ["H_Shemag_khk","H_Shemag_olive","H_Shemag_tan","H_ShemagOpen_khk"]; + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + blck_headgear = [ + "H_Cap_blk", + "H_Cap_blk_Raven", + "H_Cap_blu", + "H_Cap_brn_SPECOPS", + "H_Cap_grn", + "H_Cap_headphones", + "H_Cap_khaki_specops_UK", + "H_Cap_oli", + "H_Cap_press", + "H_Cap_red", + "H_Cap_tan", + "H_Cap_tan_specops_US", + "H_Watchcap_blk", + "H_Watchcap_camo", + "H_Watchcap_khk", + "H_Watchcap_sgg", + "H_MilCap_blue", + "H_MilCap_dgtl", + "H_MilCap_mcamo", + "H_MilCap_ocamo", + "H_MilCap_oucamo", + "H_MilCap_rucamo", + "H_Bandanna_camo", + "H_Bandanna_cbr", + "H_Bandanna_gry", + "H_Bandanna_khk", + "H_Bandanna_khk_hs", + "H_Bandanna_mcamo", + "H_Bandanna_sgg", + "H_Bandanna_surfer", + "H_Booniehat_dgtl", + "H_Booniehat_dirty", + "H_Booniehat_grn", + "H_Booniehat_indp", + "H_Booniehat_khk", + "H_Booniehat_khk_hs", + "H_Booniehat_mcamo", + "H_Booniehat_tan", + "H_Hat_blue", + "H_Hat_brown", + "H_Hat_camo", + "H_Hat_checker", + "H_Hat_grey", + "H_Hat_tan", + "H_StrawHat", + "H_StrawHat_dark", + "H_Beret_02", + "H_Beret_blk", + "H_Beret_blk_POLICE", + "H_Beret_brn_SF", + "H_Beret_Colonel", + "H_Beret_grn", + "H_Beret_grn_SF", + "H_Beret_ocamo", + "H_Beret_red", + "H_Shemag_khk", + "H_Shemag_olive", + "H_Shemag_olive_hs", + "H_Shemag_tan", + "H_ShemagOpen_khk", + "H_ShemagOpen_tan", + "H_TurbanO_blk", + "H_CrewHelmetHeli_B", + "H_CrewHelmetHeli_I", + "H_CrewHelmetHeli_O", + "H_HelmetCrew_I", + "H_HelmetCrew_B", + "H_HelmetCrew_O", + "H_PilotHelmetHeli_B", + "H_PilotHelmetHeli_I", + "H_PilotHelmetHeli_O", + //Apex + + "H_MilCap_tna_F", + "H_MilCap_ghex_F", + "H_Booniehat_tna_F", + "H_Beret_gen_F", + "H_MilCap_gen_F", + "H_Cap_oli_Syndikat_F", + "H_Cap_tan_Syndikat_F", + "H_Cap_blk_Syndikat_F", + "H_Cap_grn_Syndikat_F" + ]; + blck_helmets = [ + "H_HelmetB", + "H_HelmetB_black", + "H_HelmetB_camo", + "H_HelmetB_desert", + "H_HelmetB_grass", + "H_HelmetB_light", + "H_HelmetB_light_black", + "H_HelmetB_light_desert", + "H_HelmetB_light_grass", + "H_HelmetB_light_sand", + "H_HelmetB_light_snakeskin", + "H_HelmetB_paint", + "H_HelmetB_plain_blk", + "H_HelmetB_sand", + "H_HelmetB_snakeskin", + "H_HelmetCrew_B", + "H_HelmetCrew_I", + "H_HelmetCrew_O", + "H_HelmetIA", + "H_HelmetIA_camo", + "H_HelmetIA_net", + "H_HelmetLeaderO_ocamo", + "H_HelmetLeaderO_oucamo", + "H_HelmetO_ocamo", + "H_HelmetO_oucamo", + "H_HelmetSpecB", + "H_HelmetSpecB_blk", + "H_HelmetSpecB_paint1", + "H_HelmetSpecB_paint2", + "H_HelmetSpecO_blk", + "H_HelmetSpecO_ocamo", + "H_CrewHelmetHeli_B", + "H_CrewHelmetHeli_I", + "H_CrewHelmetHeli_O", + "H_HelmetCrew_I", + "H_HelmetCrew_B", + "H_HelmetCrew_O", + "H_PilotHelmetHeli_B", + "H_PilotHelmetHeli_I", + "H_PilotHelmetHeli_O", + "H_Helmet_Skate", + "H_HelmetB_TI_tna_F", + // Apex + //"H_HelmetO_ViperSP_hex_F", + //"H_HelmetO_ViperSP_ghex_F", + "H_HelmetB_tna_F", + "H_HelmetB_Enh_tna_F", + "H_HelmetB_Light_tna_F", + "H_HelmetSpecO_ghex_F", + "H_HelmetLeaderO_ghex_F", + "H_HelmetO_ghex_F", + "H_HelmetCrew_O_ghex_F" + ]; + blck_headgearList = blck_headgear + blck_helmets; + blck_headgear_blue = blck_headgearList; + blck_headgear_red = blck_headgearList; + blck_headgear_green = blck_headgearList; + blck_headgear_orange = blck_headgearList; + + //This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI. + blck_SkinList = [ + //https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment + // I have commented out some high visibility uniforms that can be reserved for players or special missions. + // for example, you could have a uniform list specified in a mission template. + "U_AntigonaBody", + "U_AttisBody", + "U_B_CombatUniform_mcam","U_B_CombatUniform_mcam_tshirt","U_B_CombatUniform_mcam_vest","U_B_CombatUniform_mcam_worn","U_B_CombatUniform_sgg","U_B_CombatUniform_sgg_tshirt","U_B_CombatUniform_sgg_vest","U_B_CombatUniform_wdl","U_B_CombatUniform_wdl_tshirt","U_B_CombatUniform_wdl_vest", + "U_B_CTRG_1","U_B_CTRG_2","U_B_CTRG_3", + "U_B_GhillieSuit", + "U_B_HeliPilotCoveralls","U_B_PilotCoveralls", + "U_B_SpecopsUniform_sgg", + "U_B_survival_uniform", + "U_B_Wetsuit", + //"U_BasicBody", + "U_BG_Guerilla1_1","U_BG_Guerilla2_1","U_BG_Guerilla2_2","U_BG_Guerilla2_3","U_BG_Guerilla3_1","U_BG_Guerilla3_2", + "U_BG_leader", + "U_C_Commoner_shorts","U_C_Commoner1_1","U_C_Commoner1_2","U_C_Commoner1_3","U_C_Commoner2_1","U_C_Commoner2_2","U_C_Commoner2_3", + "U_C_Farmer","U_C_Fisherman","U_C_FishermanOveralls","U_C_HunterBody_brn","U_C_HunterBody_grn", + //"U_C_Journalist", + "U_C_Novak", + //"U_C_Poloshirt_blue","U_C_Poloshirt_burgundy","U_C_Poloshirt_redwhite","U_C_Poloshirt_salmon","U_C_Poloshirt_stripped","U_C_Poloshirt_tricolour", + "U_C_Poor_1","U_C_Poor_2","U_C_Poor_shorts_1","U_C_Poor_shorts_2","U_C_PriestBody","U_C_Scavenger_1","U_C_Scavenger_2", + //"U_C_Scientist","U_C_ShirtSurfer_shorts","U_C_TeeSurfer_shorts_1","U_C_TeeSurfer_shorts_2", + "U_C_WorkerCoveralls","U_C_WorkerOveralls","U_Competitor", + "U_I_CombatUniform","U_I_CombatUniform_shortsleeve","U_I_CombatUniform_tshirt","U_I_G_resistanceLeader_F", + "U_I_G_Story_Protagonist_F", + "U_I_GhillieSuit", + "U_I_HeliPilotCoveralls", + "U_I_OfficerUniform", + "U_I_pilotCoveralls", + "U_I_Wetsuit", + "U_IG_Guerilla1_1","U_IG_Guerilla2_1","U_IG_Guerilla2_2","U_IG_Guerilla2_3","U_IG_Guerilla3_1","U_IG_Guerilla3_2", + "U_IG_leader", + "U_IG_Menelaos", + //"U_KerryBody", + //"U_MillerBody", + //"U_NikosAgedBody", + //"U_NikosBody", + "U_O_CombatUniform_ocamo","U_O_CombatUniform_oucamo", + "U_O_GhillieSuit", + "U_O_OfficerUniform_ocamo", + "U_O_PilotCoveralls", + "U_O_SpecopsUniform_blk", + "U_O_SpecopsUniform_ocamo", + "U_O_Wetsuit", + "U_OG_Guerilla1_1","U_OG_Guerilla2_1","U_OG_Guerilla2_2","U_OG_Guerilla2_3","U_OG_Guerilla3_1","U_OG_Guerilla3_2","U_OG_leader", + //"U_OI_Scientist", + //"U_OrestesBody", + "U_Rangemaster", + // DLC + "U_B_FullGhillie_ard","U_I_FullGhillie_ard","U_O_FullGhillie_ard","U_B_FullGhillie_sard","U_O_FullGhillie_sard","U_I_FullGhillie_sard","U_B_FullGhillie_lsh","U_O_FullGhillie_lsh","U_I_FullGhillie_lsh", + //Apex + "U_B_T_Soldier_F", + "U_B_T_Soldier_AR_F", + "U_B_T_Soldier_SL_F", + //"U_B_T_Sniper_F", + //"U_B_T_FullGhillie_tna_F", + "U_B_CTRG_Soldier_F", + "U_B_CTRG_Soldier_2_F", + "U_B_CTRG_Soldier_3_F", + "U_B_GEN_Soldier_F", + "U_B_GEN_Commander_F", + "U_O_T_Soldier_F", + "U_O_T_Officer_F", + //"U_O_T_Sniper_F", + //"U_O_T_FullGhillie_tna_F", + "U_O_V_Soldier_Viper_F", + "U_O_V_Soldier_Viper_hex_F", + "U_I_C_Soldier_Para_1_F", + "U_I_C_Soldier_Para_2_F", + "U_I_C_Soldier_Para_3_F", + "U_I_C_Soldier_Para_4_F", + "U_I_C_Soldier_Para_5_F", + "U_I_C_Soldier_Bandit_1_F", + "U_I_C_Soldier_Bandit_2_F", + "U_I_C_Soldier_Bandit_3_F", + "U_I_C_Soldier_Bandit_4_F", + "U_I_C_Soldier_Bandit_5_F", + "U_I_C_Soldier_Camo_F", + "U_C_man_sport_1_F", + "U_C_man_sport_2_F", + "U_C_man_sport_3_F", + "U_C_Man_casual_1_F", + "U_C_Man_casual_2_F", + "U_C_Man_casual_3_F", + "U_C_Man_casual_4_F", + "U_C_Man_casual_5_F", + "U_C_Man_casual_6_F", + "U_B_CTRG_Soldier_urb_1_F", + "U_B_CTRG_Soldier_urb_2_F", + "U_B_CTRG_Soldier_urb_3_F" + ]; + blck_SkinList_blue = blck_SkinList; + blck_SkinList_red = blck_SkinList; + blck_SkinList_green = blck_SkinList; + blck_SkinList_orange = blck_SkinList; + + blck_vests = [ + "V_Press_F", + "V_Rangemaster_belt", + "V_TacVest_blk", + "V_TacVest_blk_POLICE", + "V_TacVest_brn", + "V_TacVest_camo", + "V_TacVest_khk", + "V_TacVest_oli", + "V_TacVestCamo_khk", + "V_TacVestIR_blk", + "V_I_G_resistanceLeader_F", + "V_BandollierB_blk", + "V_BandollierB_cbr", + "V_BandollierB_khk", + "V_BandollierB_oli", + "V_BandollierB_rgr", + "V_Chestrig_blk", + "V_Chestrig_khk", + "V_Chestrig_oli", + "V_Chestrig_rgr", + "V_HarnessO_brn", + "V_HarnessO_gry", + "V_HarnessOGL_brn", + "V_HarnessOGL_gry", + "V_HarnessOSpec_brn", + "V_HarnessOSpec_gry", + "V_PlateCarrier1_blk", + "V_PlateCarrier1_rgr", + "V_PlateCarrier2_rgr", + "V_PlateCarrier3_rgr", + "V_PlateCarrierGL_blk", + "V_PlateCarrierGL_mtp", + "V_PlateCarrierGL_rgr", + "V_PlateCarrierH_CTRG", + "V_PlateCarrierIA1_dgtl", + "V_PlateCarrierIA2_dgtl", + "V_PlateCarrierIAGL_dgtl", + "V_PlateCarrierIAGL_oli", + "V_PlateCarrierL_CTRG", + "V_PlateCarrierSpec_blk", + "V_PlateCarrierSpec_mtp", + #ifdef useAPEX + //Apex + "V_TacChestrig_grn_F", + "V_TacChestrig_oli_F", + "V_TacChestrig_cbr_F", + "V_PlateCarrier1_tna_F", + "V_PlateCarrier2_tna_F", + "V_PlateCarrierSpec_tna_F", + "V_PlateCarrierGL_tna_F", + "V_HarnessO_ghex_F", + "V_HarnessOGL_ghex_F", + "V_BandollierB_ghex_F", + "V_TacVest_gen_F", + "V_PlateCarrier1_rgr_noflag_F", + #endif + "V_PlateCarrier2_rgr_noflag_F" + ]; + blck_vests_blue = blck_vests; + blck_vests_red = blck_vests; + blck_vests_green = blck_vests; + blck_vests_orange = blck_vests; + + //CraftingFood + blck_Meats=[ + + ]; + blck_Drink = [ + "Exile_Item_PlasticBottleCoffee", + "Exile_Item_PowerDrink", + "Exile_Item_PlasticBottleFreshWater", + "Exile_Item_Beer", + "Exile_Item_EnergyDrink", + "Exile_Item_MountainDupe" + ]; + blck_Food = [ + "Exile_Item_EMRE", + "Exile_Item_GloriousKnakworst", + "Exile_Item_Surstromming", + "Exile_Item_SausageGravy", + "Exile_Item_Catfood", + "Exile_Item_ChristmasTinner", + "Exile_Item_BBQSandwich", + "Exile_Item_Dogfood", + "Exile_Item_BeefParts", + "Exile_Item_Cheathas", + "Exile_Item_Noodles", + "Exile_Item_SeedAstics", + "Exile_Item_Raisins", + "Exile_Item_Moobar", + "Exile_Item_InstantCoffee" + ]; + + #ifdef useCUP + + #endif + + #ifdef useRHS + + #endif + blck_ConsumableItems = blck_Meats + blck_Drink + blck_Food; + blck_throwableExplosives = ["HandGrenade","MiniGrenade"]; + blck_otherExplosives = ["1Rnd_HE_Grenade_shell","3Rnd_HE_Grenade_shell","DemoCharge_Remote_Mag","SatchelCharge_Remote_Mag"]; + blck_explosives = blck_throwableExplosives + blck_otherExplosives; + blck_medicalItems = ["Exile_Item_InstaDoc","Exile_Item_Bandage","Exile_Item_Vishpirin"]; + blck_specialItems = blck_throwableExplosives + blck_medicalItems; + + blck_NVG = ["NVGoggles","NVGoggles_INDEP","NVGoggles_OPFOR","Exile_Item_XM8"]; + blck_buildingMaterials = ["Exile_Item_ExtensionCord","Exile_Item_JunkMetal","Exile_Item_LightBulb","Exile_Item_MetalBoard", + "Exile_Item_MetalPole","Exile_Item_MetalScrews","Exile_Item_Cement","Exile_Item_Sand","Exile_Item_MetalWire","Exile_Item_ExtensionCord","Exile_Item_JunkMetal"]; + blck_tools = ["Exile_Item_Matches","Exile_Item_CookingPot","Exile_Melee_Axe","Exile_Melee_SledgeHammmer","Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_CanOpener","Exile_Item_Shovel"]; + +/*************************************************************************************** +DEFAULT CONTENTS OF LOOT CRATES FOR EACH MISSION +Note however that these configurations can be used in any way you like or replaced with mission-specific customized loot arrays +for examples of how you can do this see \Major\Compositions.sqf +***************************************************************************************/ + + // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. + blck_lootCountsOrange = [8,32,8,35,16,2]; // Orange + blck_lootCountsGreen = [7,24,6,25,18,2]; // Green + blck_lootCountsRed = [5,16,4,10,6,1]; // Red + blck_lootCountsBlue = [4,12,3,6,6,1]; // Blue + + blck_BoxLoot_Orange = + // 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 + #ifdef useAPEX + "arifle_AK12_F","arifle_AK12_GL_F","arifle_AKM_F","arifle_AKM_FL_F","arifle_AKS_F","arifle_ARX_blk_F","arifle_ARX_ghex_F","arifle_ARX_hex_F","arifle_CTAR_blk_F","arifle_CTAR_hex_F", + "arifle_CTAR_ghex_F","arifle_CTAR_GL_blk_F","arifle_CTARS_blk_F","arifle_CTARS_hex_F","arifle_CTARS_ghex_F","arifle_SPAR_01_blk_F","arifle_SPAR_01_khk_F","arifle_SPAR_01_snd_F", + "arifle_SPAR_01_GL_blk_F","arifle_SPAR_01_GL_khk_F","arifle_SPAR_01_GL_snd_F","arifle_SPAR_02_blk_F","arifle_SPAR_02_khk_F","arifle_SPAR_02_snd_F","arifle_SPAR_03_blk_F", + "arifle_SPAR_03_khk_F","arifle_SPAR_03_snd_F","arifle_MX_khk_F","arifle_MX_GL_khk_F","arifle_MXC_khk_F","arifle_MXM_khk_F", + #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_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"], + ["MMG_01_hex_F","150Rnd_93x64_Mag"], + ["MMG_01_tan_F","150Rnd_93x64_Mag"], + ["MMG_02_black_F","150Rnd_93x64_Mag"], + ["MMG_02_camo_F","150Rnd_93x64_Mag"], + ["MMG_02_sand_F","150Rnd_93x64_Mag"], + ["srifle_DMR_02_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_02_F","10Rnd_338_Mag"], + ["srifle_DMR_02_sniper_F","10Rnd_338_Mag"], + ["srifle_DMR_03_F","10Rnd_338_Mag"], + ["srifle_DMR_03_tan_F","10Rnd_338_Mag"], + ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], + ["srifle_DMR_05_hex_F","10Rnd_338_Mag"], + ["srifle_DMR_05_tan_F","10Rnd_338_Mag"], + ["srifle_DMR_06_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_04_F","10Rnd_127x54_Mag"], + ["srifle_DMR_05_blk_F","10Rnd_93x64_DMR_05_Mag"], + ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] + ], + [//Magazines + ["3rnd_HE_Grenade_Shell",3,6], + ["30Rnd_65x39_caseless_green",3,6], + ["30Rnd_556x45_Stanag",3,6], + ["30Rnd_45ACP_Mag_SMG_01",3,6], + ["20Rnd_556x45_UW_mag",3,6], + ["20Rnd_762x51_Mag",7,14], + ["200Rnd_65x39_cased_Box",3,6], + ["100Rnd_65x39_caseless_mag_Tracer",3,6], + ["3rnd_HE_Grenade_Shell",1,3], + ["HandGrenade",1,5], + // Marksman Pack Ammo + ["10Rnd_338_Mag",3,5], + ["10Rnd_338_Mag",3,5], + ["10Rnd_127x54_Mag" ,3,5], + ["10Rnd_127x54_Mag",3,5], + ["10Rnd_93x64_DMR_05_Mag" ,3,5], + ["10Rnd_93x64_DMR_05_Mag" ,3,5], + ["150Rnd_93x64_Mag",3,5], + ["130Rnd_338_Mag",3,5] + ], + [ // Optics + ["optic_SOS",1,2],["optic_LRPS",1,2],["optic_DMS",1,2], + ["optic_Arco",1,3], + ["optic_SOS",1,3],["optic_MRCO",1,3],["optic_DMS",1,3],["optic_Yorris",1,3], + ["optic_MRD",1,3],["optic_LRPS",1,3],["optic_NVS",1,3],["optic_Nightstalker",1,2],["optic_Nightstalker",1,2],["optic_Nightstalker",1,2], + ["optic_tws",1,3],["optic_tws_mg",1,3],["muzzle_snds_H",1,3],["muzzle_snds_L",1,3],["muzzle_snds_M",1,3],["muzzle_snds_B",1,3],["muzzle_snds_H_MG",1,3],["muzzle_snds_acp",1,3], + ["optic_AMS_khk",1,3],["optic_AMS_snd",1,3],["optic_KHS_blk",1,3],["optic_KHS_hex",1,3],["optic_KHS_old",1,3],["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",1,10],["Exile_Item_LightBulb",1,10],["Exile_Item_MetalBoard",1,10],["Exile_Item_MetalPole",1,10],["Exile_Item_CamoTentKit",1,10],["Exile_Item_WorkBenchKit",1,10], + ["Exile_Item_WoodWindowKit",1,10],["Exile_Item_WoodWallKit",1,10],["Exile_Item_WoodStairsKit",1,10],["Exile_Item_WoodGateKit",1,10],["Exile_Item_WoodDoorwayKit",1,10],["Exile_Item_MetalBoard",1,10], + ["Exile_Item_MetalBoard",1,10],["Exile_Item_ExtensionCord",1,10],["Exile_Item_MetalPole",1,10],["Exile_Item_Sand",3,10],["Exile_Item_Cement",3,10],["Exile_Item_Sand",3,10],["Exile_Item_Cement",3,10], + ["Exile_Item_MetalWire",3,10],["Exile_Item_MetalScrews",3,10] + // + ], + [//Items + ["Exile_Item_InstaDoc",1,2],["NVGoggles",1,2],["Rangefinder",1,2],["Exile_Item_Bandage",1,3],["Exile_Item_Vishpirin",1,3], + ["Exile_Item_Catfood",1,3],["Exile_Item_Surstromming",1,3],["Exile_Item_BBQSandwich",1,3],["Exile_Item_ChristmasTinner",1,3],["Exile_Item_SausageGravy",1,3],["Exile_Item_GloriousKnakworst",1,3], + ["Exile_Item_BeefParts",1,3],["Exile_Item_Cheathas",1,3],["Exile_Item_Noodles",1,3],["Exile_Item_SeedAstics",1,3],["Exile_Item_Raisins",1,3],["Exile_Item_Moobar",1,3],["Exile_Item_InstantCoffee",1,3],["Exile_Item_EMRE",1,3], + ["Exile_Item_PlasticBottleCoffee",1,3],["Exile_Item_PowerDrink",1,3],["Exile_Item_PlasticBottleFreshWater",1,3],["Exile_Item_Beer",1,3],["Exile_Item_EnergyDrink",1,3],["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_cbr",1,2],["B_AssaultPack_rgr",1,2],["B_AssaultPack_sgg",1,2], + ["B_Carryall_cbr",1,2],["B_Carryall_khk",1,2],["B_Carryall_mcamo",1,2],["B_Carryall_ocamo",1,2],["B_Carryall_oli",1,2],["B_Carryall_oucamo",1,2], + ["B_FieldPack_blk",1,2],["B_FieldPack_cbr",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oucamo",1,2], + ["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2],["B_Kitbag_sgg",1,2], + ["B_Parachute",1,2],["V_RebreatherB",1,2],["V_RebreatherIA",1,2],["V_RebreatherIR",1,2], + ["B_TacticalPack_blk",1,2],["B_TacticalPack_mcamo",1,2],["B_TacticalPack_ocamo",1,2],["B_TacticalPack_oli",1,2],["B_TacticalPack_rgr",1,2], + ["B_Bergen_blk",1,2],["B_Bergen_mcamo",1,2],["B_Bergen_rgr",1,2],["B_Bergen_sgg",1,2], + ["B_HuntingBackpack",1,2],["B_OutdoorPack_blk",1,2],["B_OutdoorPack_blu",1,2],["B_OutdoorPack_tan",1,2] + ] + ]; + + blck_BoxLoot_Green = + [ + [// Weapons + // Format is ["Weapon Name","Magazine Name"], + #ifdef useAPEX + "arifle_AK12_F","arifle_AK12_GL_F","arifle_AKM_F","arifle_AKM_FL_F","arifle_AKS_F","arifle_ARX_blk_F","arifle_ARX_ghex_F","arifle_ARX_hex_F","arifle_CTAR_blk_F","arifle_CTAR_hex_F", + "arifle_CTAR_ghex_F","arifle_CTAR_GL_blk_F","arifle_CTARS_blk_F","arifle_CTARS_hex_F","arifle_CTARS_ghex_F","arifle_SPAR_01_blk_F","arifle_SPAR_01_khk_F","arifle_SPAR_01_snd_F", + "arifle_SPAR_01_GL_blk_F","arifle_SPAR_01_GL_khk_F","arifle_SPAR_01_GL_snd_F","arifle_SPAR_02_blk_F","arifle_SPAR_02_khk_F","arifle_SPAR_02_snd_F","arifle_SPAR_03_blk_F", + "arifle_SPAR_03_khk_F","arifle_SPAR_03_snd_F","arifle_MX_khk_F","arifle_MX_GL_khk_F","arifle_MXC_khk_F","arifle_MXM_khk_F", + #endif + ["arifle_Katiba_F","30Rnd_65x39_caseless_green"], + ["arifle_Katiba_GL_F","30Rnd_65x39_caseless_green"], + ["arifle_MX_F","30Rnd_65x39_caseless_mag"], + ["arifle_MX_GL_F","30Rnd_65x39_caseless_mag"], + ["arifle_MXC_F","30Rnd_65x39_caseless_mag"], + ["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_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"], + ["MMG_01_hex_F","150Rnd_93x64_Mag"], + ["srifle_DMR_02_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_03_F","10Rnd_338_Mag"], + ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], + ["srifle_DMR_05_hex_F","10Rnd_338_Mag"], + ["srifle_DMR_06_camo_F","10Rnd_338_Mag"] + ], + [//Magazines + // Format is ["Magazine name, Minimum number to add, Maximum number to add], + ["3rnd_HE_Grenade_Shell",2,4], + ["30Rnd_65x39_caseless_green",3,6], + ["30Rnd_556x45_Stanag",3,6], + ["30Rnd_556x45_Stanag",3,6], + ["30Rnd_45ACP_Mag_SMG_01",3,6], + ["20Rnd_556x45_UW_mag",3,6], + ["20Rnd_762x51_Mag",6,12], + ["200Rnd_65x39_cased_Box",3,6], + ["100Rnd_65x39_caseless_mag_Tracer",3,6], + ["3rnd_HE_Grenade_Shell",1,3], + ["HandGrenade",1,3], + // Marksman Pack Ammo + ["10Rnd_338_Mag",1,4], + ["10Rnd_338_Mag",1,4], + ["10Rnd_127x54_Mag" ,1,4], + ["10Rnd_127x54_Mag",1,4], + ["10Rnd_93x64_DMR_05_Mag" ,1,4], + ["10Rnd_93x64_DMR_05_Mag" ,1,4], + ["130Rnd_338_Mag",3,5] + ], + [ // Optics + ["optic_SOS",1,2],["optic_LRPS",1,2],["optic_DMS",1,2],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Holosight",1,3],["acc_flashlight",1,3],["acc_pointer_IR",1,3], + ["optic_Arco",1,3],["optic_Hamr",1,3],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Aco_smg",1,3],["optic_ACO_grn_smg",1,3], + ["optic_Holosight",1,3],["optic_Holosight_smg",1,3],["optic_SOS",1,3],["optic_MRCO",1,3],["optic_DMS",1,3],["optic_Yorris",1,3], + ["optic_MRD",1,3],["optic_LRPS",1,3],["optic_NVS",1,3],["optic_Nightstalker",1,2],["optic_Nightstalker",1,2],["optic_Nightstalker",1,2], + ["optic_tws",1,3],["optic_tws_mg",1,3],["muzzle_snds_H",1,3],["muzzle_snds_L",1,3],["muzzle_snds_M",1,3],["muzzle_snds_B",1,3],["muzzle_snds_H_MG",1,3],["muzzle_snds_acp",1,3], + ["optic_AMS_khk",1,3],["optic_AMS_snd",1,3],["optic_KHS_blk",1,3],["optic_KHS_hex",1,3],["optic_KHS_old",1,3],["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",1,5],["Exile_Item_LightBulb",1,5],["Exile_Item_MetalBoard",1,5],["Exile_Item_MetalPole",1,5],["Exile_Item_CamoTentKit",1,5],["Exile_Item_WorkBenchKit",1,5], + ["Exile_Item_MetalBoard",1,5],["Exile_Item_MetalWire",3,10],["Exile_Item_MetalScrews",3,10],["Exile_Item_ExtensionCord",1,5],["Exile_Item_MetalPole",1,5],["Exile_Item_Sand",2,5], + ["Exile_Item_Cement",2,8],["Exile_Item_Sand",2,8],["Exile_Item_Cement",2,8] + ], + [//Items + ["Exile_Item_InstaDoc",1,2],["NVGoggles",1,2],["Rangefinder",1,2],["Exile_Item_Bandage",1,6],["Exile_Item_Vishpirin",1,6], + ["Exile_Item_Catfood",1,3],["Exile_Item_Surstromming",1,3],["Exile_Item_BBQSandwich",1,3],["Exile_Item_ChristmasTinner",1,3],["Exile_Item_SausageGravy",1,3],["Exile_Item_GloriousKnakworst",1,3], + ["Exile_Item_BeefParts",1,3],["Exile_Item_Cheathas",1,3],["Exile_Item_Noodles",1,3],["Exile_Item_SeedAstics",1,3],["Exile_Item_Raisins",1,3],["Exile_Item_Moobar",1,3],["Exile_Item_InstantCoffee",1,3],["Exile_Item_EMRE",1,3], + ["Exile_Item_PlasticBottleCoffee",1,3],["Exile_Item_PowerDrink",1,3],["Exile_Item_PlasticBottleFreshWater",1,3],["Exile_Item_Beer",1,3],["Exile_Item_EnergyDrink",1,3],["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_cbr",1,2],["B_AssaultPack_rgr",1,2],["B_AssaultPack_sgg",1,2], + ["B_Carryall_cbr",1,2],["B_Carryall_khk",1,2],["B_Carryall_mcamo",1,2],["B_Carryall_ocamo",1,2],["B_Carryall_oli",1,2],["B_Carryall_oucamo",1,2], + ["B_FieldPack_blk",1,2],["B_FieldPack_cbr",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oucamo",1,2], + ["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2],["B_Kitbag_sgg",1,2], + ["B_Parachute",1,2],["V_RebreatherB",1,2],["V_RebreatherIA",1,2],["V_RebreatherIR",1,2], + ["B_TacticalPack_blk",1,2],["B_TacticalPack_mcamo",1,2],["B_TacticalPack_ocamo",1,2],["B_TacticalPack_oli",1,2],["B_TacticalPack_rgr",1,2], + ["B_Bergen_blk",1,2],["B_Bergen_mcamo",1,2],["B_Bergen_rgr",1,2],["B_Bergen_sgg",1,2], + ["B_HuntingBackpack",1,2],["B_OutdoorPack_blk",1,2],["B_OutdoorPack_blu",1,2],["B_OutdoorPack_tan",1,2] + ] + ]; + + blck_BoxLoot_Blue = + [ + [// Weapons + ["arifle_Katiba_F","30Rnd_65x39_caseless_green"], + ["arifle_Katiba_GL_F","30Rnd_65x39_caseless_green"], + ["arifle_Mk20_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20_plain_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20C_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20_GL_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20_GL_plain_F","30Rnd_556x45_Stanag"], + ["arifle_MX_F","30Rnd_65x39_caseless_mag"], + ["arifle_MX_GL_F","30Rnd_65x39_caseless_mag"], + ["arifle_MXC_F","30Rnd_65x39_caseless_mag"], + ["arifle_MXM_F","30Rnd_65x39_caseless_mag"], + ["arifle_SDAR_F","20Rnd_556x45_UW_mag"], + ["arifle_TRG20_F","30Rnd_556x45_Stanag"], + ["SMG_02_F","30Rnd_9x21_Mag"], + ["SMG_01_F","30Rnd_45ACP_Mag_SMG_01"], + ["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_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"] + ], + [//Magazines + ["3rnd_HE_Grenade_Shell",1,2], + ["30Rnd_65x39_caseless_green",3,6], + ["30Rnd_556x45_Stanag",3,6], + ["30Rnd_556x45_Stanag",3,6], + ["30Rnd_45ACP_Mag_SMG_01",3,6], + ["20Rnd_556x45_UW_mag",3,6], + ["20Rnd_762x51_Mag",3,10], + ["200Rnd_65x39_cased_Box",3,6], + ["100Rnd_65x39_caseless_mag_Tracer",3,6], + ["3rnd_HE_Grenade_Shell",1,4], + ["HandGrenade",1,3], + // Marksman Pack Ammo + ["150Rnd_93x64_Mag",1,4], + ["10Rnd_338_Mag",1,4], + ["10Rnd_127x54_Mag" ,1,4], + ["10Rnd_127x54_Mag",1,4], + ["10Rnd_93x64_DMR_05_Mag" ,1,4] + ], + [ // Optics + ["optic_SOS",1,2],["optic_LRPS",1,2],["optic_DMS",1,2],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Holosight",1,3],["acc_flashlight",1,3],["acc_pointer_IR",1,3], + ["optic_Arco",1,3],["optic_Hamr",1,3],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Aco_smg",1,3],["optic_ACO_grn_smg",1,3], + ["optic_Holosight",1,3],["optic_Holosight_smg",1,3],["optic_SOS",1,3],["optic_MRCO",1,3],["optic_DMS",1,3],["optic_Yorris",1,3], + ["optic_MRD",1,3],["optic_LRPS",1,3],["optic_NVS",1,3],["optic_Nightstalker",1,2], + ["optic_tws",1,3],["optic_tws_mg",1,3],["muzzle_snds_H",1,3],["muzzle_snds_L",1,3],["muzzle_snds_M",1,3],["muzzle_snds_B",1,3],["muzzle_snds_H_MG",1,3],["muzzle_snds_acp",1,3], + ["optic_AMS_khk",1,3],["optic_AMS_snd",1,3],["optic_KHS_blk",1,3],["optic_KHS_hex",1,3],["optic_KHS_old",1,3],["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,3],["Exile_Item_ExtensionCord",1,2],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",1,6],["Exile_Item_LightBulb",1,6],["Exile_Item_MetalBoard",1,6],["Exile_Item_MetalPole",1,6],["Exile_Item_CamoTentKit",1,6],["Exile_Item_MetalWire",1,4] + ], + [//Items + ["Exile_Item_InstaDoc",1,2],["NVGoggles",1,2],["Rangefinder",1,2],["Exile_Item_Bandage",1,3],["Exile_Item_Vishpirin",1,3], + ["Exile_Item_Catfood",1,3],["Exile_Item_Surstromming",1,3],["Exile_Item_BBQSandwich",1,3],["Exile_Item_ChristmasTinner",1,3],["Exile_Item_SausageGravy",1,3],["Exile_Item_GloriousKnakworst",1,3], + ["Exile_Item_BeefParts",1,3],["Exile_Item_Cheathas",1,3],["Exile_Item_Noodles",1,3],["Exile_Item_SeedAstics",1,3],["Exile_Item_Raisins",1,3],["Exile_Item_Moobar",1,3],["Exile_Item_InstantCoffee",1,3],["Exile_Item_EMRE",1,3], + ["Exile_Item_PlasticBottleCoffee",1,3],["Exile_Item_PowerDrink",1,3],["Exile_Item_PlasticBottleFreshWater",1,3],["Exile_Item_Beer",1,3],["Exile_Item_EnergyDrink",1,3],["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_cbr",1,2],["B_AssaultPack_rgr",1,2],["B_AssaultPack_sgg",1,2], + ["B_Carryall_cbr",1,2],["B_Carryall_khk",1,2],["B_Carryall_mcamo",1,2],["B_Carryall_ocamo",1,2],["B_Carryall_oli",1,2],["B_Carryall_oucamo",1,2], + ["B_FieldPack_blk",1,2],["B_FieldPack_cbr",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oucamo",1,2], + ["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2],["B_Kitbag_sgg",1,2], + ["B_Parachute",1,2],["V_RebreatherB",1,2],["V_RebreatherIA",1,2],["V_RebreatherIR",1,2], + ["B_TacticalPack_blk",1,2],["B_TacticalPack_mcamo",1,2],["B_TacticalPack_ocamo",1,2],["B_TacticalPack_oli",1,2],["B_TacticalPack_rgr",1,2], + ["B_Bergen_blk",1,2],["B_Bergen_mcamo",1,2],["B_Bergen_rgr",1,2],["B_Bergen_sgg",1,2], + ["B_HuntingBackpack",1,2],["B_OutdoorPack_blk",1,2],["B_OutdoorPack_blu",1,2],["B_OutdoorPack_tan",1,2] + ] + ]; + + blck_BoxLoot_Red = + [ + [// Weapons + ["arifle_Katiba_F","30Rnd_65x39_caseless_green"], + ["arifle_Katiba_GL_F","30Rnd_65x39_caseless_green"], + ["arifle_Mk20_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20_plain_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20C_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20_GL_F","30Rnd_556x45_Stanag"], + ["arifle_Mk20_GL_plain_F","30Rnd_556x45_Stanag"], + ["arifle_MX_F","30Rnd_65x39_caseless_mag"], + ["arifle_MX_GL_F","30Rnd_65x39_caseless_mag"], + //["arifle_MX_SW_Black_Hamr_pointer_F","100Rnd_65x39_caseless_mag_Tracer"], + ["arifle_MXC_F","30Rnd_65x39_caseless_mag"], + ["arifle_MXM_F","30Rnd_65x39_caseless_mag"], + ["arifle_SDAR_F","20Rnd_556x45_UW_mag"], + ["arifle_TRG20_F","30Rnd_556x45_Stanag"], + ["SMG_02_F","30Rnd_9x21_Mag"], + ["SMG_01_F","30Rnd_45ACP_Mag_SMG_01"], + ["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_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"], + ["MMG_01_hex_F","150Rnd_93x64_Mag"], + ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], + ["srifle_DMR_06_camo_F","10Rnd_338_Mag"] + ], + [//Magazines + + ["3rnd_HE_Grenade_Shell",1,5],["30Rnd_65x39_caseless_green",3,6],["30Rnd_556x45_Stanag",3,6],["30Rnd_556x45_Stanag",3,6],["30Rnd_45ACP_Mag_SMG_01",3,6],["20Rnd_556x45_UW_mag",3,6], + ["10Rnd_762x51_Mag",3,6],["20Rnd_762x51_Mag",3,7],["200Rnd_65x39_cased_Box",3,6],["100Rnd_65x39_caseless_mag_Tracer",3,6], + // Marksman Pack Ammo + ["150Rnd_93x64_Mag",1,4], + ["10Rnd_338_Mag",1,4], + ["10Rnd_127x54_Mag" ,1,4], + ["10Rnd_127x54_Mag",1,4], + ["10Rnd_93x64_DMR_05_Mag" ,1,4] + ], + [ // Optics + ["optic_SOS",1,2],["optic_LRPS",1,2],["optic_DMS",1,2],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Holosight",1,3],["acc_flashlight",1,3],["acc_pointer_IR",1,3], + ["optic_Arco",1,3],["optic_Hamr",1,3],["optic_Aco",1,3],["optic_ACO_grn",1,3],["optic_Aco_smg",1,3],["optic_ACO_grn_smg",1,3], + ["optic_Holosight",1,3],["optic_Holosight_smg",1,3],["optic_SOS",1,3],["optic_MRCO",1,3],["optic_DMS",1,3],["optic_Yorris",1,3], + ["optic_MRD",1,3],["optic_LRPS",1,3],["optic_NVS",1,3],["optic_Nightstalker",1,2], + ["optic_tws",1,3],["optic_tws_mg",1,3],["muzzle_snds_H",1,3],["muzzle_snds_L",1,3],["muzzle_snds_M",1,3],["muzzle_snds_B",1,3],["muzzle_snds_H_MG",1,3],["muzzle_snds_acp",1,3], + ["optic_AMS_khk",1,3],["optic_KHS_blk",1,3],["optic_KHS_hex",1,3],["optic_KHS_old",1,3],["optic_KHS_tan",1,3] + ], + [// Materials and supplies + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",1,5],["Exile_Item_LightBulb",1,5],["Exile_Item_MetalBoard",1,5],["Exile_Item_MetalPole",1,5],["Exile_Item_CamoTentKit",1,5],["Exile_Item_WorkBenchKit",1,5], + ["Exile_Item_MetalBoard",1,5],["Exile_Item_MetalWire",3,10],["Exile_Item_MetalScrews",3,10],["Exile_Item_ExtensionCord",1,5],["Exile_Item_MetalPole",1,5],["Exile_Item_Sand",2,5], + ["Exile_Item_Cement",2,5],["Exile_Item_Sand",2,5],["Exile_Item_Cement",2,5] + ], + [//Items + ["Exile_Item_InstaDoc",1,2],["NVGoggles",1,2],["Exile_Item_Energydrink",1,4],["Exile_Item_Beer",1,3],["Rangefinder",1,2], + ["Exile_Item_Catfood",1,3],["Exile_Item_Surstromming",1,3],["Exile_Item_BBQSandwich",1,3],["Exile_Item_ChristmasTinner",1,3],["Exile_Item_SausageGravy",1,3],["Exile_Item_GloriousKnakworst",1,3] + ], + [ // Backpacks + ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_cbr",1,2],["B_AssaultPack_rgr",1,2],["B_AssaultPack_sgg",1,2], + ["B_Carryall_cbr",1,2],["B_Carryall_khk",1,2],["B_Carryall_mcamo",1,2],["B_Carryall_ocamo",1,2],["B_Carryall_oli",1,2],["B_Carryall_oucamo",1,2], + ["B_FieldPack_blk",1,2],["B_FieldPack_cbr",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oucamo",1,2], + ["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2],["B_Kitbag_sgg",1,2], + ["B_Parachute",1,2],["V_RebreatherB",1,2],["V_RebreatherIA",1,2],["V_RebreatherIR",1,2], + ["B_TacticalPack_blk",1,2],["B_TacticalPack_mcamo",1,2],["B_TacticalPack_ocamo",1,2],["B_TacticalPack_oli",1,2],["B_TacticalPack_rgr",1,2], + ["B_Bergen_blk",1,2],["B_Bergen_mcamo",1,2],["B_Bergen_rgr",1,2],["B_Bergen_sgg",1,2], + ["B_HuntingBackpack",1,2],["B_OutdoorPack_blk",1,2],["B_OutdoorPack_blu",1,2],["B_OutdoorPack_tan",1,2] + ] + ]; + + + +blck_contructionLootExile = [ + [// Weapons + + ], + [//Magazines + + ], + [ // Optics + + ], + [// Materials and supplies + + // + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_JunkMetal",1,10],["Exile_Item_LightBulb",1,10],["Exile_Item_MetalBoard",1,10],["Exile_Item_MetalPole",1,10],["Exile_Item_CamoTentKit",1,10],["Exile_Item_MetalScrews",3,10], + ["Exile_Item_MetalPole",1,10],["Exile_Item_Sand",2,10],["Exile_Item_Cement",2,10] + ], + [//Items + "Exile_Item_Matches","Exile_Item_CookingPot","Exile_Item_CanOpener","Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_Grinder","Exile_Item_Foolbox","Exile_Item_Hammer", + "Exile_Item_CordlessScrewdriver","Exile_Item_FireExtinguisher","Exile_Item_OilCanister","Exile_Item_Screwdriver","Exile_Item_Shovel","Exile_Item_Wrench","Exile_Item_CordlessScrewdriver", + "Exile_Item_FireExtinguisher","Exile_Item_OilCanister","Exile_Item_Screwdriver","Exile_Item_DuctTape","Binocular","Rangefinder","ItemGPS","ItemMap","ItemCompass","ItemRadio","ItemWatch", + "Exile_Item_XM8" + ], + [ // Backpacks + + ] +]; +blck_contructionLoot = blck_contructionLootExile; +blck_supportLootExile = [ + [// Weapons + + ], + [//Magazines + + ], + [ // Optics + + ], + [// Materials and supplies + + ], + [//Items + ["Exile_Item_Matches",2,4],["Exile_Item_CookingPot",2,4],["Exile_Item_CanOpener",2,4], + ["Exile_Item_InstaDoc",1,2],["NVGoggles",1,2],["Rangefinder",1,2],["Exile_Item_Bandage",1,3],["Exile_Item_Vishpirin",1,3], + ["Exile_Item_Catfood",1,3],["Exile_Item_Surstromming",1,3],["Exile_Item_BBQSandwich",1,3],["Exile_Item_ChristmasTinner",1,3],["Exile_Item_SausageGravy",1,3],["Exile_Item_GloriousKnakworst",1,3], + ["Exile_Item_BeefParts",1,3],["Exile_Item_Cheathas",1,3],["Exile_Item_Noodles",1,3],["Exile_Item_SeedAstics",1,3],["Exile_Item_Raisins",1,3],["Exile_Item_Moobar",1,3],["Exile_Item_InstantCoffee",1,3],["Exile_Item_EMRE",1,3], + ["Exile_Item_PlasticBottleCoffee",1,3],["Exile_Item_PowerDrink",1,3],["Exile_Item_PlasticBottleFreshWater",1,3],["Exile_Item_Beer",1,3],["Exile_Item_EnergyDrink",1,3],["Exile_Item_MountainDupe",1,3] + ], + [ // Backpacks + + ] +]; + +blck_supportLoot = blck_supportLootExile; + +blck_highPoweredLoot = [ + [// Weapons + ["MMG_01_hex_F","150Rnd_93x64_Mag"], + ["MMG_01_tan_F","150Rnd_93x64_Mag"], + ["MMG_02_black_F","150Rnd_93x64_Mag"], + ["MMG_02_camo_F","150Rnd_93x64_Mag"], + ["MMG_02_sand_F","150Rnd_93x64_Mag"], + ["srifle_DMR_02_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_02_F","10Rnd_338_Mag"], + ["srifle_DMR_02_sniper_F","10Rnd_338_Mag"], + ["srifle_DMR_03_F","10Rnd_338_Mag"], + ["srifle_DMR_03_tan_F","10Rnd_338_Mag"], + ["srifle_DMR_04_Tan_F","10Rnd_338_Mag"], + ["srifle_DMR_05_hex_F","10Rnd_338_Mag"], + ["srifle_DMR_05_tan_F","10Rnd_338_Mag"], + ["srifle_DMR_06_camo_F","10Rnd_338_Mag"], + ["srifle_DMR_04_F","10Rnd_127x54_Mag"], + ["srifle_DMR_05_blk_F","10Rnd_93x64_DMR_05_Mag"], + ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"], + ["launch_NLAW_F","NLAW_F"], + ["launch_RPG32_F","RPG7_F"], + ["launch_B_Titan_F","Titan_AT"], + ["launch_I_Titan_F","Titan_AT"], + ["launch_O_Titan_F","Titan_AP"], + ["launch_B_Titan_short_F","Titan_AA"], + ["launch_I_Titan_short_F","Titan_AA"], + ["launch_O_Titan_short_F","Titan_AA"], + ["launch_RPG7_F","RPG32_F"], + ["launch_O_Vorona_brown_F","vorona_HEAT"], + ["launch_O_Vorona_green_F","Vorona_HE"] + ], + [//Magazines + ["NLAW_F",1,3], + ["RPG32_F",1,3], + ["RPG32_HE_F",1,3], + ["Titan_AA",1,3], + ["Titan_AT",1,3], + ["Titan_AP",1,3], + ["RPG7_F",1,3], + ["vorona_HEAT",1,3], + ["Vorona_HE",1,3], + //["10Rnd_338_Mag",1,5], + ["10Rnd_338_Mag",3,5], + //["10Rnd_127x54_Mag" ,1,5], + ["10Rnd_127x54_Mag",3,5], + ["10Rnd_93x64_DMR_05_Mag" ,3,5], + //["10Rnd_93x64_DMR_05_Mag" ,1,5], + ["150Rnd_93x64_Mag",2,5], + ["130Rnd_338_Mag",3,5] + ], + [ // Optics + + ], + [// Materials and supplies + + ], + [//Items + ], + [ // Backpacks + + ] +]; + // Time the marker remains after completing the mission in seconds - experimental not yet implemented + + blck_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type. + + diag_log format["[blckeagls] Configurations for Exile Loaded"]; + + blck_configsExileLoaded = true; 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 95cb473..504fdcc 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf @@ -48,7 +48,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR blck_crateMoneyOrange = [500, 750]; // When true, AI loadouts will be set from the class names in CfgPricing rather than the settings in the mod-specific configuration files - blck_useConfigsGeneratedLoadouts = false; + blck_useConfigsGeneratedLoadouts = true; blck_maximumItemPriceInAI_Loadouts = 1000; _blck_armed_vehicles_Exile = [ @@ -160,9 +160,9 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR //"Exile_Car_HMMWV_M134_Desert", "Exile_Car_HMMWV_M2_Desert", "B_LSV_01_armed_F", - //"_MRAP_02_gmg_ghex_F", + "_MRAP_02_gmg_ghex_F", //"O_MRAP_02_hmg_ghex_F", - //"O_MRAP_03_gmg_ghex_F", + "O_MRAP_03_gmg_ghex_F", //"O_MRAP_03_hmg_ghex_F", "B_MBT_01_cannon_F", "B_MBT_01_cannon_F", // Duplicate to increase chance that these will spawn relative to others diff --git a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf index b002760..a4b3d78 100644 --- a/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf +++ b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf @@ -49,7 +49,7 @@ ***********************************************************/ //////// // Headless Client Configurations - blck_useHC = false; // Experimental (do not use if you allow players to claim mission vehicles). + blck_useHC = true; // /////////////////////////////// // Kill message configurations @@ -202,6 +202,9 @@ // Enable / Disable Missions //////////////////// + // Maximum number of missions shown on the map at any one time. + blck_maxSpawnedMissions = 4; + //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; blck_enableGreenMissions = 1; @@ -209,11 +212,6 @@ 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. - // Maximum number of missions shown on the map at any one time. - // Change this value to reduce the number of spawned missions at any one time. - //blck_maxSpawnedMissions = 9; // Set this to a value lower than the total number of missions if you want only some of the types of missions running at any one time. - blck_maxSpawnedMissions = blck_enableOrangeMissions + blck_enableGreenMissions + blck_enableRedMissions + blck_enableBlueMissions + blck_numberUnderwaterDynamicMissions; - //////////////////// // MISSION TIMERS //////////////////// diff --git a/@GMS/addons/custom_server/Configs/blck_custom_config.sqf b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf index f1540cb..36d8dfd 100644 --- a/@GMS/addons/custom_server/Configs/blck_custom_config.sqf +++ b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf @@ -3,6 +3,7 @@ for ghostridergaming By Ghostrider [GRG] Copyright 2016 + Last Modified 3-14-17 -------------------------- License @@ -16,21 +17,6 @@ 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": @@ -82,9 +68,9 @@ switch (toLower (worldName)) do 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 + blck_timeAccelerationDay = 1.5; // Daytime time accelearation + blck_timeAccelerationDusk = 6; // Dawn/dusk time accelearation + blck_timeAccelerationNight = (12); // Nighttim time acceleration }; case "esseker": { @@ -116,28 +102,133 @@ switch (toLower (worldName)) do _sunset = _arr select 1; _time = dayTime; _daylight = _sunset - _sunrise; - + systemChat format["%1",_daylight]; + systemChat format["TimeAcelDay = %1", _daylight / 2.5]; 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_enableOrangeMissions = 1; + blck_enableGreenMissions = 1; + blck_enableRedMissions = 1; + blck_enableBlueMissions = 1; + blck_numberUnderwaterDynamicMissions = 3; + blck_enableHunterMissions = 1; + blck_enableScoutsMissions = 1; blck_maxCrashSites = 3; - }; + }; + case "lythium": + { + 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 = 5.5; // Daytime time accelearation + blck_timeAccelerationDusk = 7; // Dawn/dusk time accelearation + blck_timeAccelerationNight = 8; // Nighttim time acceleration + blck_enableOrangeMissions = 1; + blck_enableGreenMissions = 1; + blck_enableRedMissions = 1; + blck_enableBlueMissions = 1; + blck_enableHunterMissions = 1; + blck_enableScoutsMissions = 1; + blck_maxCrashSites = 3; + blck_numberUnderwaterDynamicMissions = -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"; -/* - You can define configs for additional mods or loadouts here -*/ -/* + //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 = -3; + blck_enableHunterMissions = -1; + blck_enableScoutsMissions = -1; + blck_maxCrashSites = -3; + + //blck_killEmptyStaticWeapons = false; + //blck_killEmptyAIVehicles = true; + 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 = 0; + + //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] + ]; + */ +}; + +#ifdef blck_useCUP blck_CUPWeapons = [ "CUP_lmg_L7A2", "CUP_lmg_L110A1", @@ -626,6 +717,9 @@ blck_CUPHeadgear = [ "CUP_H_USMC_Helmet_Pilot", "CUP_H_USMC_Officer_Cap" ]; +#endif + +#ifdef blck_useRHS blck_RHS_Weapons = [ "rhs_weap_hk416d10", "rhs_weap_hk416d10_LMT", @@ -1083,6 +1177,8 @@ blck_RHS_WeaponsSAF = [ "rhs_weap_g36kv_ag36", "rhs_weap_m84" ]; +#endif + blck_NIA_WeaponsLMG = [ "hlc_lmg_M249E2", @@ -1266,4 +1362,3 @@ blck_NIA_WeaponsSniper = [ "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 24af3a0..4be3792 100644 --- a/@GMS/addons/custom_server/Configs/blck_defines.hpp +++ b/@GMS/addons/custom_server/Configs/blck_defines.hpp @@ -12,7 +12,7 @@ */ -#define useAPEX +//#define useAPEX //#define blck_milServer //#define blck_useCUP //#define blck_useRHS @@ -21,7 +21,9 @@ // Do not touch anything below this line /////////////////////////// +//#define useDynamicSimulation //#define blck_debugMode +//#define GRG_TestServer #define blck_triggerLoopCompleteTime 40*60 diff --git a/@GMS/addons/custom_server/init/blck_defines.hpp b/@GMS/addons/custom_server/init/blck_defines.hpp new file mode 100644 index 0000000..80dae03 --- /dev/null +++ b/@GMS/addons/custom_server/init/blck_defines.hpp @@ -0,0 +1,37 @@ +/* + 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 ad678eb..ba18f38 100644 --- a/@GMS/addons/custom_server/init/blck_init_HC.sqf +++ b/@GMS/addons/custom_server/init/blck_init_HC.sqf @@ -46,10 +46,6 @@ 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 10061b0..333d131 100644 --- a/@GMS/addons/custom_server/init/blck_init_server.sqf +++ b/@GMS/addons/custom_server/init/blck_init_server.sqf @@ -11,8 +11,7 @@ if ( !(isServer) || hasInterface) exitWith{}; -//#include "blck_defines.hpp"; -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#include "blck_defines.hpp"; if !(isNil "blck_Initialized") exitWith{}; private _blck_loadingStartTime = diag_tickTime; @@ -62,6 +61,10 @@ waitUntil {(isNil "blck_worldSet") isEqualTo false;}; waitUntil{blck_worldSet}; blck_worldSet = nil; +#ifdef GRG_TestServer +//[] execVM "\q\addons\custom_server\init\testCrateLoading.sqf"; +#endif + // set up the lists of available missions for each mission category diag_log "[blckeagls] Loading Mission Lists"; #include "\q\addons\custom_server\Missions\GMS_missionLists.sqf"; @@ -78,8 +81,8 @@ switch (blck_simulationManager) do case 0: {diag_log "[blckeagls] simulation management disabled"}; }; -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 ---- >>>>"]; +diag_log "[blckeagls] Running GhostriderGaming Version"; +#endif if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then { @@ -89,6 +92,7 @@ if !(blck_debugON || (blck_debugLevel isEqualTo 0)) then diag_log "[blckeagls] spawning Missions"; }; + if (blck_spawnStaticLootCrates) then { // Start the static loot crate spawner @@ -106,23 +110,29 @@ if (true /*blck_blacklistTraderCities*/) then { execVM "\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) diff --git a/@GMS/addons/custom_server/init/build.sqf b/@GMS/addons/custom_server/init/build.sqf index 8949d0d..03c8d35 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.86 Build 156"; +blck_version = "6.88 Build 160"; _blck_version = blck_version; -_blck_versionDate = "10-22-18 1:30 AM"; +_blck_versionDate = "11-19-18 1:30 AM"; blck_pvs_version = _blck_version; publicVariable blck_pvs_version; diff --git a/@GMS/addons/custom_server/init/testCrateLoading.sqf b/@GMS/addons/custom_server/init/testCrateLoading.sqf new file mode 100644 index 0000000..df3e845 --- /dev/null +++ b/@GMS/addons/custom_server/init/testCrateLoading.sqf @@ -0,0 +1,18 @@ + +uiSleep 5; +diag_log format["<< ---- START TEST Crate Loading ---- >>"]; +_coords = [12000,12000,0]; +//_loot = blck_supportLoot; //[causes problems] blck_highPoweredLoot; // [causes problems] blck_contructionLoot ; //blck_BoxLoot_Orange; +_loot = blck_supportLoot; +_lootCounts = [100,100,100,100,100,100]; +_aiDifficultyLevel = "Orange"; +for "_i" from 1 to 100 do +{ + diag_log format["testCrateLoading: pass %1",_i]; + _crateType = selectRandom blck_crateTypes; + _crate = [_coords,_crateType] call blck_fnc_spawnCrate; + [_crate,_loot,_lootCounts] call blck_fnc_fillBoxes; + uiSleep 5; + diag_log format["testCrateLoading: crate inventory = %1",getItemCargo _crate]; +}; +