diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf b/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf deleted file mode 100644 index d84b4e4..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf +++ /dev/null @@ -1,27 +0,0 @@ -//This script sends Message Information to allplayers -// Last modified 1/4/17 by Ghostrider-DBD- -/* - -------------------------- - 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"; - -//blck_Message = _this; -params["_msg",["_players",playableUnits]]; -if (blck_debugLevel > 1) then {diag_log format["AIM.sqf ===] _this = %1 | _msg = %2 | _players = %3",_this,_msg, _players];}; -blck_Message = _msg; -{ - //diag_log format["AIM.sqf ===] _ = %2, and (owner _x) = %1", (owner _x), _x]; - (owner _x) publicVariableClient "blck_Message"; -} forEach _players; -/* -if (_modType isEqualTo "Exile") then -{ - [_blck_Message] remoteExec["fn_blck_MessageHandler",0]; -}; -*/ - diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf b/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf deleted file mode 100644 index a52058c..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* - Check if an HC is connected and if so transfer some AI to it. - By Ghostrider-DbD- - Last modified 11-8-16 -/* - By Ghostrider-DbD- - -------------------------- - 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 _hc = missionNamespace getVariable["HC1","null"]; -diag_log format["monitorHC::->> _hc = %1",_hc]; -if !( (typeName _hc isEqualTo "OBJECT" || _hc isEqualTo "null") ) exitWith {}; - -if (typeOf _hc isEqualTo "HeadlessClient_F") then // a valid headless client is connected -{ - private _hcOwner = owner _hc; - private _xfered = 0; - { - if (!(isPlayer _x) && (groupOwner _x != _hcOwner) ) then { - _x setGroupOwner (_hcOwner); - _xfered = +1; - diag_log format["monitorHC::-->> group %1 transfered to HC1",_x]; - }; - if (_xfered isEqualTo 6) exitWith {}; - }forEach allGroups; -}; diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf b/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf deleted file mode 100644 index 4cf18b2..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf +++ /dev/null @@ -1,93 +0,0 @@ -// Changes type of waypont0 for the specified group to "MOVE" and updates time stamps, WP postion and Timout parameters accordinglyD. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/23/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#ifdef blck_debugMode -//diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled"; -#endif -private["_group","_wp","_wpPos","_dis","_arc","_dir","_newPos","_marker","_center","_minDis","_maxDis"]; - -_group = group _this; -_group setcombatmode "YELLOW"; -_group setBehaviour "COMBAT"; -_group setVariable["timeStamp",diag_tickTime]; -_wp = [_group, 0]; -_wpPos = getPos ((units _group) select 0); -_dir = _group getVariable["wpDir",0]; -_center = _group getVariable ["patrolCenter",_wpPos]; -if (_group getVariable["wpMode","random"] isEqualTo "random") then -{ - _dir = random(360); -} else { - _dir = (_group getVariable["wpDir",0]) + 70; - _group setVariable["wpDir",_dir]; -}; -_minDis = _group getVariable["minDis",25]; -_maxDis = _group getVariable["maxDis",30]; -_dis = (_minDis) + random( (_maxDis) - (_minDis) ); -_newPos = (_center) getPos[_dis,_dir]; -_wp setWPPos [_newPos select 0, _newPos select 1]; -_wp setWaypointCompletionRadius (_group getVariable["wpRadius",30]); -_wp setWaypointType "MOVE"; -_wp setWaypointName "move"; -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "YELLOW"; -_wp setWaypointTimeout [1,1.1,1.2]; -_group setCurrentWaypoint _wp; -#ifdef blck_debugMode -if (blck_debugLevel > 2) then -{ - diag_log format["_fnc_changeToMoveWaypoint (4/25/17): _this = %1", _this]; - diag_log format["_fnc_changeToMoveWaypoint: typeName _this = %1", typeName _this]; - diag_log format["_fnc_changeToMoveWaypoint:_group = %1",_group]; - diag_log format["_fnc_changeToMoveWaypoint:_group timestamp updated to %1", _group getVariable "timeStamp"]; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> wpMode %1 _dir %2 _dis %3 _center %4",_group getVariable["wpMode","random"], _dir, _dis,_center]; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> group to update is %1 and new position is %2",_group, _newPos]; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> group to update is %1 and new Waypoint position is %2",_group, getWPPos _wp]; - diag_log format["_fnc_changeToMoveWaypoint:_group %1 basic waypoint parameters updates", _group getVariable "timeStamp"]; - _marker =_group getVariable["wpMarker",""]; - _marker setMarkerColor "ColorBlue"; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; -}; -#endif -if (_group getVariable["wpPatrolMode",""] isEqualTo "SAD") then -{ - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_changeToMoveWaypoint: seting waypoint script for group %1 to SAD Mode",_group]; - }; - _wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a SAD Waypoint',group this];"]; - #else - _wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint;"]; - #endif -}; -if (_group getVariable["wpPatrolMode",""] isEqualTo "SENTRY") then -{ - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_changeToMoveWaypoint: seting waypoint script for group %1 to SENTRY Mode",_group]; - }; - _wp setWaypointStatements ["true","this call blck_fnc_changeToSentryWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a SENTRY Waypoint',group this];"]; - #else - _wp setWaypointStatements ["true","this call blck_fnc_changeToSentryWaypoint;"]; - #endif -}; -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_changeToMoveWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; -}; -#endif diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf b/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf deleted file mode 100644 index a6b2c90..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf +++ /dev/null @@ -1,52 +0,0 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/29/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -#ifdef blck_debugMode -diag_log "_fnc_changeToSADWaypoint: blck_debugMode enabled"; -#endif - -private["_group","_wp"]; - -_group = group _this; -_group setVariable["timeStamp",diag_tickTime]; -_group setcombatmode "RED"; -_group setBehaviour "COMBAT"; -_wp = [_group, 0]; -_group setCurrentWaypoint _wp; -_wp setWaypointType "SAD"; -_wp setWaypointName "sad"; -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "RED"; -_wp setWaypointTimeout [10,15,20]; - -#ifdef blck_debugMode -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; -#else -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; -#endif - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - private ["_marker"]; - _marker = _group getVariable["wpMarker",""]; - _marker setMarkerColor "ColorRed"; - diag_log format["_fnc_changeToSADWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; - diag_log format["_fnc_changeToSADWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; - diag_log format["_fnc_changeToSADWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; - diag_log format["_fnc_changeToSADWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; -}; -#endif \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf b/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf deleted file mode 100644 index 2fd52b8..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf +++ /dev/null @@ -1,49 +0,0 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/29/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#ifdef blck_debugMode -diag_log "_fnc_changeToSADWaypoint: blck_debugMode enabled"; -#endif -private["_group","_wp"]; - -_group = group _this; -_group setVariable["timeStamp",diag_tickTime]; -_wp = [_group, 0]; -_group setCurrentWaypoint _wp; -_group setcombatmode "RED"; -_group setBehaviour "COMBAT"; -_wp setWaypointType "SENTRY"; -_wp setWaypointName "sentry"; -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "RED"; -_wp setWaypointTimeout [10,15,20]; -#ifdef blck_debugMode -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; -#else -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; -#endif - -#ifdef blck_debugMode -if (blck_debugLevel >1) then -{ - diag_log format["_fnc_changeToSentryWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; - diag_log format["_fnc_changeToSentryWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; - private ["_marker"]; - _marker = _group getVariable["wpMarker",""]; - _marker setMarkerColor "ColorYellow"; - diag_log format["_fnc_changeToSentryWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; - diag_log format["_fnc_changeToSentryWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; -}; -#endif \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf b/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf deleted file mode 100644 index 5afd5b1..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf +++ /dev/null @@ -1,203 +0,0 @@ -/* - [] call blck_fnc_waypointMonitor; - - Scans all groups in for those that have been stuck in a particular waypoint for an excessive time and checks if they are in combat. - If not it directs them to the next waypoint. - It uses a timestamp attached to the group that is cleared upon waypoint completion. - - By Ghostrider-DbD- - Last modified 3/14/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//diag_log 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"]; -#endif -_fn_allPlayers = { - private ["_players"]; - _players = []; - { - if (isPlayer _x) then {_players pushback _x}; - }forEach playableUnits; - //diag_log format["_fn_allPlayers::-->> result s %1",_players]; - _players -}; - -_fn_aliveGroupUnits = { - private["_grp","_aliveUnits"]; - _grp = _this select 0; - _aliveUnits = []; - { - if ( alive _x) then {_aliveUnits pushback _x}; - } forEach (units _grp); - _aliveUnits -}; - -_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]; - // Remove any null groups (which will occur if all units in the group are dead) or groups with no alive AI. - for "_i" from 0 to ((count blck_monitoredMissionAIGroups) - 1) do - { - private["_grp"]; - if (_i >= (count blck_monitoredMissionAIGroups)) exitWith {}; - _grp = blck_monitoredMissionAIGroups select _i; - if (_grp isEqualTo grpNull) then { - blck_monitoredMissionAIGroups set[_i, -1]; - blck_monitoredMissionAIGroups = blck_monitoredMissionAIGroups - [-1]; - //diag_log "_fnc_waypointMonitor::-->> deleting a NULL-GROUP"; - }; - if ({alive _x} count units _grp < 1) then { - blck_monitoredMissionAIGroups = blck_monitoredMissionAIGroups - [_grp]; - //diag_log "_fnc_waypointMonitor::-->> deleting an empty group"; - }; - }; -}; - -_fn_monitorGroupWaypoints = { - { - private["_timeStamp","_index","_unit","_soldierType"]; - - _timeStamp = _x getVariable ["timeStamp",0]; - if (_timeStamp isEqualTo 0) then { - _x setVariable["timeStamp",diag_tickTime]; - //diag_log format["_fn_monitorGroupWaypoints::--> updating timestamp for group %1 at time %2",_x,diag_tickTime]; - }; - _soldierType = _x getVariable["soldierType","null"]; - //diag_log format["_fn_monitorGroupWaypoints::--> soldierType for group %1 = %2 and timeStamp = %3",_x,_soldierType,_timeStamp]; - - if (_soldierType isEqualTo "infantry") then - { - if (diag_tickTime > (_x getVariable "timeStamp") + 60) then - { - _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: infantry group %1 stuck, waypoint reset",_x];}; - #endif - /* - if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then - { - - }; - */ - }; - - }; - }; - if (_soldierType isEqualTo "vehicle") then - { - if (diag_tickTime > (_x getVariable "timeStamp") + 60) then - { - _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: vehicle group %1 stuck, waypoint reset",_x];}; - #endif - /* - if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then - { - }; - */ - }; - - }; - }; - if (_soldierType isEqualTo "helicopter") then - { - if (diag_tickTime > (_x getVariable "timeStamp") + 60) then - { - _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 - { - - }; - */ - }; - - }; - }; - } forEach blck_monitoredMissionAIGroups; -}; - -_fn_simulationMonitor = { - _modType = call blck_fnc_getModType; - if (_modType isEqualTo "Exile") then - { - _playerType = ["Exile_Unit_Player"]; - }else{ - _playerType = ["Epoch_Male_F","Epoch_Female_F"]; - }; - { - // player nearEntities [["Car", "Motorcycle", "Tank"], 50]; - _players = (leader _x) nearEntities [_playerType, 1800]; - if (count _players > 0) then - { - // Be sure simulation is on for all units in the group - if !(_x getVariable["blck_simulationStatus",false]) then - { - _x setVariable["blck_simulationStatus",true]; - { - _x enableSimulationGlobal true; - }forEach (units _x); - }; - }else{ - // Be sure simulation is off for all units in the group. - if !(_x getVariable["blck_simulationStatus",true]) then - { - _x setVariable["blck_simulationStatus",false]; - { - _x enableSimulationGlobal false; - }forEach (units _x); - }; - }; - } forEach blck_monitoredMissionAIGroups; -}; -//////// -// Start of main function -//////// -#ifdef blck_debugMode -if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: executing function at %1",diag_tickTime];}; -#endif -[] call _fn_removeEmptyOrNullGroups; -uiSleep 0.1; -[] call _fn_monitorGroupWaypoints; - -#ifndef useDynamicSimulation -[] call _fn_simulationMonitor; -#endif \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf b/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf deleted file mode 100644 index d1cc454..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf +++ /dev/null @@ -1,94 +0,0 @@ -// Sets up waypoints for a specified group. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 6/1/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#ifdef blck_debugMode -diag_log "_fnc_setupWaypoints: blck_debugMode enabled"; -#endif - -private["_dir","_arc","_noWp","_newpos","_wpradius","_wp"]; -params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_wpPatrolMode","SAD"],["_soldierType","null"] ]; -_wp = [_group, 0]; -#ifdef blck_debugMode -diag_log format["_fnc_setupWaypoints (4/29/17): configuring waypoints for group %1: _mode = %2 | _wpPatrolMode = %3 _soldierType = %4",_group, _mode, _wpPatrolMode,_soldierType]; -#endif -if (_soldierType isEqualTo "emplaced") then -{ - _wp setWaypointType "SENTRY"; - _wp setWPPos (getPos leader _group); - _wp setWaypointCompletionRadius 100; - _wp setWaypointBehaviour "COMBAT"; - _wp setWaypointCombatMode "RED"; - _wp setWaypointTimeout [1,1.1,1.2]; - //_wp setWaypointTimeout [0.1,0.1100,0.1200]; - _group setCurrentWaypoint _wp; - _group setVariable["soldierType",_soldierType]; - #ifdef blck_debugMode - _wp setWaypointStatements ["true","this call blck_fnc_emplacedWeaponWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to an emplaced weapon Waypoint',group this];"]; - #else - _wp setWaypointStatements ["true","this call blck_fnc_emplacedWeaponWaypoint;"]; - #endif - if (blck_debugLevel > 1) then {diag_log format["_fnc_setupWaypoints: configuring weapoints for group %2 for emplaced weapon with _soldierType = %1",_soldierType,_group];}; -}; -if !(_soldierType isEqualTo "emplaced") then -{ - _arc = 360/5; - _group setcombatmode "YELLOW"; - _group setBehaviour "COMBAT"; - _group setVariable["patrolCenter",_pos]; - _group setVariable["minDis",_minDis]; - _group setVariable["maxDis",_maxDis]; - _group setVariable["timeStamp",diag_tickTime]; - _group setVariable["wpRadius",30]; - _group setVariable["wpMode",_mode]; - _group setVariable["wpPatrolMode",_wpPatrolMode]; - _group setVariable["wpDir",0]; - _group setVariable["wpArc",_arc]; - _group setVariable["soldierType",_soldierType]; - _dir = 0; - - _wpradius = 30; - _dis = (_minDis) + random( (_maxDis) - (_minDis) ); - _newPos = _pos getPos[_dis,_dir]; - _wp setWPPos [_newPos select 0, _newPos select 1]; - _wp setWaypointCompletionRadius (_group getVariable["wpRadius",30]); - _wp setWaypointType "MOVE"; - _wp setWaypointName "move"; - _wp setWaypointBehaviour "COMBAT"; - _wp setWaypointCombatMode "RED"; - _wp setWaypointTimeout [1,1.1,1.2]; - _group setCurrentWaypoint _wp; - #ifdef blck_debugMode - _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; - #else - _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; - #endif - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - _marker = createMarker [format["GroupMarker%1",_group],_newPos]; - _group setVariable["wpMarker",_marker]; - _marker setMarkerColor "ColorBlue"; - _marker setMarkerText format["%1 %2",(_group getVariable["soldierType","null"]),_group]; - _marker setMarkerType "mil_triangle"; - //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:: -- >> 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")]; - }; - #endif -}; diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf b/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf deleted file mode 100644 index d008f72..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf +++ /dev/null @@ -1,101 +0,0 @@ -/* - - [_mines,_objects,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission] call blck_fnc_endMission; - schedules deletion of all remaining alive AI and mission objects. - Updates the mission que. - Updates mission markers. - By Ghostrider-DbD- - 3/17/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - params["_mines","_objects","_crates","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission",["_aborted",false],["_vehicles",[]]]; - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log format["_fnc_endMission: _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _aborted %4",_blck_localMissionMarker,_coords,_mission,_aborted]; - diag_log format["_fnc_endMission: _aborted = %1",_aborted]; - }; - #endif - - private["_cleanupAliveAITimer","_cleanupCompositionTimer"]; - if (blck_useSignalEnd && !_aborted) then - { - //diag_log format["**** Minor\SM1.sqf:: _crate = %1",_crates select 0]; - [_crates select 0] spawn blck_fnc_signalEnd; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] _fnc_endMission:: (18) SignalEnd called: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - - }; - - if (_aborted) then - { - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log format["_fnc_endMission: Mission Aborted, setting all timers to 0"]; - }; - #endif - - _cleanupCompositionTimer = 0; - _cleanupAliveAITimer = 0; - } else { - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log format["_fnc_endMission: Mission Completed without errors, setting all timers to default values"]; - }; - #endif - - _cleanupCompositionTimer = blck_cleanupCompositionTimer; - _cleanupAliveAITimer = blck_AliveAICleanUpTimer; - [["end",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; - [_blck_localMissionMarker select 1, _markerClass] execVM "debug\missionCompleteMarker.sqf"; - }; - - // Using a variable attached to the crate rather than the global setting to be sure we do not fill a crate twice. - // the "lootLoaded" loaded should be set to true by the crate filler script so we can use that for our check. - { - //diag_log format["_fnc_endMission: for crate %1 lootLoaded = %2",_x,_x getVariable["lootLoaded",false]]; - if !(_x getVariable["lootLoaded",false]) then - { - // _crateLoot,_lootCounts are defined above and carry the loot table to be used and the number of items of each category to load - [_x,_crateLoot,_lootCounts] call blck_fnc_fillBoxes; - }; - }forEach _crates; - { - private ["_v","_posnVeh"]; - _posnVeh = blck_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count blck_monitoredVehicles -1) - if (_posnVeh >= 0) then - { - //diag_log format["_fnc_endMission: setting missionCompleted for vehicle %1 to %2",_x,diag_tickTime]; - (blck_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; - } else { - _x setVariable ["missionCompleted", diag_tickTime]; - blck_monitoredVehicles pushback _x; - }; - } forEach _vehicles; - - [_mines] spawn blck_fnc_clearMines; - //diag_log format["_fnc_endMission: (23) _objects = %1",_objects]; - [_objects, _cleanupCompositionTimer] spawn blck_fnc_addObjToQue; - //diag_log format["_fnc_endMission:: (26) _blck_AllMissionAI = %1",_blck_AllMissionAI]; - [_blck_AllMissionAI, (_cleanupAliveAITimer)] spawn blck_fnc_addLiveAItoQue; - [_blck_localMissionMarker select 0] execVM "debug\deleteMarker.sqf"; - blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords]; - blck_recentMissionCoords pushback [_coords,diag_tickTime]; - //diag_log format["_fnc_endMission:: (34) _mission = %1",_mission]; - [_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue; - blck_missionsRunning = blck_missionsRunning - 1; - - _aborted \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy (2).sqf b/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy (2).sqf deleted file mode 100644 index 20aca76..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy (2).sqf +++ /dev/null @@ -1,446 +0,0 @@ -/* - Generic Mission Spawner - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/11/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_AI_Vehicles","_timeOut","_aiDifficultyLevel"]; -params["_coords","_mission",["_allowReinforcements",true]]; -diag_log format["_missionSpawner (18):: _allowReinforcements = %1",_allowReinforcements]; - -//////// -// set all variables needed for the missions -// data is pulled either from the mission description or from the _mission variable passsed as a parameter -// Deal with situations where some of these variables might not be defined as well. -//////// - -// _mission params[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange]; -_markerClass = _mission select 2; -_aiDifficultyLevel = _mission select 3; - -if (blck_debugLevel > 0) then {diag_log format["_fnc_mainThread:: -->> _markerClass = %1",_markerClass];}; - -[_mission,"active",_coords] call blck_fnc_updateMissionQue; -blck_ActiveMissionCoords pushback _coords; -diag_log format["[blckeagls] missionSpawner (17):: Initializing mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - -private["_chanceHeliPatrol","_noPara","_reinforcementLootCounts","_chanceLoot","_heliCrew","_loadCratesTiming"]; - -if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; -if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; -//if (isNil "_timeOut") then {_timeOut = -1;}; -if (isNil "_loadCratesTiming") then {_loadCratesTiming = blck_loadCratesTiming}; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - -private["_useMines","_blck_AllMissionAI","_delayTime","_groupPatrolRadius"]; -if (isNil "_useMines") then {_useMines = blck_useMines;}; - -_objects = []; -_mines = []; -_crates = []; -_aiGroup = []; -_missionAIVehicles = []; -_blck_AllMissionAI = []; -_AI_Vehicles = []; -_blck_localMissionMarker = [_markerClass,_coords,"","",_markerColor,_markerType]; -_delayTime = 1; -_groupPatrolRadius = 50; - -if (blck_labelMapMarkers select 0) then -{ - //diag_log "labeling map markers *****"; - _blck_localMissionMarker set [2, _markerMissionName]; -}; -if !(blck_preciseMapMarkers) then -{ - //diag_log "Map marker will be OFFSET from the mission position"; - _blck_localMissionMarker set [1,[_coords,75] call blck_fnc_randomPosition]; -}; -_blck_localMissionMarker set [3,blck_labelMapMarkers select 1]; // Use an arrow labeled with the mission name? -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (91) message players and spawn a mission marker";}; -[["start",_startMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; -[_blck_localMissionMarker] execVM "debug\spawnMarker.sqf"; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (94) waiting for player to trigger the mission";}; -#endif -//////// -// All parameters are defined, lets wait until a player is nearby or the mission has timed out -//////// - -private["_wait","_missionStartTime","_playerInRange","_missionTimedOut"]; -_missionStartTime = diag_tickTime; -_playerInRange = false; -_missionTimedOut = false; -_wait = true; -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (105) starting mission trigger loop"}; - -while {_wait} do -{ - #ifdef blck_debugMode - //diag_log "missionSpawner:: top of mission trigger loop"; - if (blck_debugLevel > 2) exitWith {_playerInRange = true;}; - #endif - - if ([_coords, blck_TriggerDistance, false] call blck_fnc_playerInRange) exitWith {_playerInRange = true;}; - if ([_missionStartTime] call blck_fnc_timedOut) exitWith {_missionTimedOut = true;}; - uiSleep 5; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["missionSpawner:: Trigger Loop - blck_debugLevel = %1 and _coords = %2",blck_debugLevel, _coords]; - diag_log format["missionSpawner:: Trigger Loop - players in range = %1",{isPlayer _x && _x distance2D _coords < blck_TriggerDistance} count allPlayers]; - diag_log format["missionSpawner:: Trigger Loop - timeout = %1", [_missionStartTime] call blck_fnc_timedOut]; - }; - #endif -}; - -if (_missionTimedOut) exitWith -{ -/* - -*/ - // Deal with the case in which the mission timed out. - //["timeOut",_endMsg,_blck_localMissionMarker select 2] call blck_fnc_messageplayers; - blck_recentMissionCoords pushback [_coords,diag_tickTime]; - blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords]; - [_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue; - blck_missionsRunning = blck_missionsRunning - 1; - [_blck_localMissionMarker select 0] call compile preprocessfilelinenumbers "debug\deleteMarker.sqf"; - //_blck_localMissionMarker set [1,[0,0,0]]; - //_blck_localMissionMarker set [2,""]; - [_objects, 0.1] spawn blck_fnc_cleanupObjects; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (105) Mission Timed Out: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif -}; - -//////// -// Spawn the mission objects, loot chest, and AI -//////// -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (112) -- >> Mission tripped: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -if (count _missionLootBoxes > 0) then -{ - _crates = [_coords,_missionLootBoxes,_loadCratesTiming] call blck_fnc_spawnMissionCrates; -} -else -{ - _crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming] call blck_fnc_spawnMissionCrates; - -}; - -if (blck_cleanUpLootChests) then -{ - _objects append _crates; -}; - -//uisleep 2; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (136) Crates Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -private ["_temp"]; -if (blck_SmokeAtMissions select 0) then // spawn a fire and smoke near the crate -{ - _temp = [_coords,blck_SmokeAtMissions select 1] call blck_fnc_smokeAtCrates; - if (typeName _temp isEqualTo "ARRAY") then - { - _objects append _temp; - }; -}; - -uiSleep _delayTime; -if (_useMines) then -{ - _mines = [_coords] call blck_fnc_spawnMines; - //uiSleep _delayTime;; -}; -uiSleep _delayTime; -_temp = []; -if (_missionLandscapeMode isEqualTo "random") then -{ - _temp = [_coords,_missionLandscape, 3, 15, 2] call blck_fnc_spawnRandomLandscape; -} else { - _temp = [_coords, floor(random(360)),_missionLandscape,true] call blck_fnc_spawnCompositionObjects; - //uiSleep 1; -}; -if (typeName _temp isEqualTo "ARRAY") then -{ - _objects append _temp; -}; -//diag_log format["_fnc_missionSpawner:: (181)->> _objects = %1",_objects]; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (170) Landscape spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -uiSleep _delayTime;; - -_temp = [_missionLootVehicles] call blck_fnc_spawnMissionLootVehicles; -//uisleep 1; -_crates append _temp; - -uiSleep _delayTime; - -_abort = false; -_temp = [[],[],false]; -_temp = [_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; -//[_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (185) blck_fnc_spawnMissionAI returned a value of _temp = %1",_temp]; uiSleep 1; -}; - -_abort = _temp select 1; -if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (190) blck_fnc_spawnMissionAI returned a value of _abort = %1",_abort]; uiSleep 1; -}; -#endif - -if (_abort) exitWith -{ - if (blck_debugLevel > 1) then { - diag_log "missionSpawner:: (194) grpNull returned, mission termination criteria met, calling blck_fnc_endMission" - }; - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; -}; -if !(_abort) then -{ - _blck_AllMissionAI append (_temp select 0); -}; - -uiSleep _delayTime; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (202) AI Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -_temp = [[],[],false]; -_abort = false; -private["_patrolVehicles"]; -if (blck_useVehiclePatrols && (_noVehiclePatrols > 0)) then -{ - _temp = [_coords,_noVehiclePatrols,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; - //[_coords,_noVehiclePatrols,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then { - diag_log format["missionSpawner :: (216) blck_fnc_spawnMissionVehiclePatrols returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - if !(_abort) then - { - _patrolVehicles = _temp select 0; - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (272) Vehicle Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - - }; -}; - -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log "missionSpawner:: (222) grpNull returned, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; -}; - -uiSleep _delayTime; -_temp = [[],[],false]; -_abort = false; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log format["missionSpawner:: (234) preparing to spawn emplaced weapons for _coords %4 | _markerClass %3 | blck_useStatic = %1 | _noEmplacedWeapons = %2",blck_useStatic,_noEmplacedWeapons,_markerClass,_coords];}; -#endif - -if (blck_useStatic && (_noEmplacedWeapons > 0)) then -{ - // params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; - _temp = [_missionEmplacedWeapons,_noEmplacedWeapons,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (232) blck_fnc_spawnEmplacedWeaponArray returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (241) _abort = %1",_abort]; - - }; - #endif - - if !(_abort) then - { - _objects append (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (253) Static Weapons Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - }; -}; -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (261) grpNull ERROR in blck_fnc_spawnEmplacedWeaponArray, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; -}; - -if (_allowReinforcements) then -{ - _weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout; - _temp = []; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["[blckeagls] missionSpawner:: (268) calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - private _noChoppers = 3; - switch (toLower _aiDifficultyLevel) do - { - case "blue":{_noChoppers = blck_noPatrolHelisBlue}; - case "red":{_noChoppers = blck_noPatrolHelisRed}; - case "green":{_noChoppers = blck_noPatrolHelisGreen}; - case "orange":{_noChoppers = blck_noPatrolHelisOrange}; - }; - - for "_i" from 1 to (_noChoppers) do - { - //params["_coords","_aiSkillsLevel","_weapons","_uniforms","_headgear"]; - - _temp = [_coords,_aiDifficultyLevel,_weaponList,_uniforms,_headGear] call blck_fnc_spawnMissionReinforcements; - - #ifdef blck_debugMode - if (blck_debugLevel >= 2) then - { - diag_log format["missionSpawner:: blck_fnc_spawnMissionReinforcements call for chopper # %1 out of a total of %2 choppers",_i, _noChoppers]; - diag_log format["missionSpawner:: _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - _objects pushback (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - }; - if (_abort) then - { - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (276) grpNul or ERROR in blck_fnc_spawnMissionReinforcements, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; - }; - }; -}; -// Trigger for mission end -//diag_log format["[blckeagls] mission Spawner _endCondition = %1",_endCondition]; -private["_missionComplete","_endIfPlayerNear","_endIfAIKilled"]; -_missionComplete = -1; -_startTime = diag_tickTime; - -switch (_endCondition) do -{ - case "playerNear": {_endIfPlayerNear = true;_endIfAIKilled = false;}; - case "allUnitsKilled": {_endIfPlayerNear = false;_endIfAIKilled = true;}; - case "allKilledOrPlayerNear": {_endIfPlayerNear = true;_endIfAIKilled = true;}; -}; -//diag_log format["missionSpawner :: (269) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; -private["_locations"]; -_locations = [_coords]; -{ - _locations pushback (getPos _x); -} forEach _crates; - -//diag_log format["missionSpawner:: _coords = %1 | _crates = %2 | _locations = %3",_coords,_crates,_locations]; -//diag_log format["missionSpawner:: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled]; -while {_missionComplete isEqualTo -1} do -{ - //if (blck_debugLevel isEqualTo 3) exitWith {uiSleep 300}; - if ((_endIfPlayerNear) && [_locations,10,true] call blck_fnc_playerInRangeArray) exitWith {}; - if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1 /*[_blck_AllMissionAI] call blck_fnc_missionAIareDead*/ ) exitWith {}; - //diag_log format["missionSpawner:: (283) missionCompleteLoop - > players near = %1 and ai alive = %2",[_coords,20] call blck_fnc_playerInRange, {alive _x} count _blck_AllMissionAI]; - uiSleep 4; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (414) Mission completion criteria fulfilled: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - diag_log format["missionSpawner :: (415) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; -}; -#endif -//diag_log format["[blckeagls] missionSpawner:: (418) calling endMission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - -private["_result"]; -_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,false,_patrolVehicles] call blck_fnc_endMission; - -//diag_log format["[blckeagls] missionSpawner:: (420)end of mission: blck_fnc_endMission returned value of %1","pending"]; - diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf b/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf deleted file mode 100644 index 32757e1..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf +++ /dev/null @@ -1,470 +0,0 @@ -/* - Generic Mission Spawner - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 8/13/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_AI_Vehicles","_timeOut","_aiDifficultyLevel"]; -params["_coords","_mission",["_allowReinforcements",true]]; -diag_log format["_missionSpawner (18):: _allowReinforcements = %1",_allowReinforcements]; - -//////// -// set all variables needed for the missions -// data is pulled either from the mission description or from the _mission variable passsed as a parameter -// Deal with situations where some of these variables might not be defined as well. -//////// - -// _mission params[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange]; -_markerClass = _mission select 2; -_aiDifficultyLevel = _mission select 3; - -if (blck_debugLevel > 0) then {diag_log format["_fnc_mainThread:: -->> _markerClass = %1",_markerClass];}; - -[_mission,"active",_coords] call blck_fnc_updateMissionQue; -blck_ActiveMissionCoords pushback _coords; -diag_log format["[blckeagls] missionSpawner (17):: Initializing mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - -private["_chanceHeliPatrol","_noPara","_reinforcementLootCounts","_chanceLoot","_heliCrew","_loadCratesTiming"]; - -if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; -if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; -//if (isNil "_timeOut") then {_timeOut = -1;}; -if (isNil "_loadCratesTiming") then {_loadCratesTiming = blck_loadCratesTiming}; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - -private["_useMines","_blck_AllMissionAI","_delayTime","_groupPatrolRadius"]; -if (isNil "_useMines") then {_useMines = blck_useMines;}; - -_objects = []; -_mines = []; -_crates = []; -_aiGroup = []; -_missionAIVehicles = []; -_blck_AllMissionAI = []; -_AI_Vehicles = []; -_blck_localMissionMarker = [_markerClass,_coords,"","",_markerColor,_markerType]; -_delayTime = 1; -_groupPatrolRadius = 50; - -if (blck_labelMapMarkers select 0) then -{ - //diag_log "labeling map markers *****"; - _blck_localMissionMarker set [2, _markerMissionName]; -}; -if !(blck_preciseMapMarkers) then -{ - //diag_log "Map marker will be OFFSET from the mission position"; - _blck_localMissionMarker set [1,[_coords,75] call blck_fnc_randomPosition]; -}; -_blck_localMissionMarker set [3,blck_labelMapMarkers select 1]; // Use an arrow labeled with the mission name? -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (91) message players and spawn a mission marker";}; -[["start",_startMsg,_markerMissionName]] call blck_fnc_messageplayers; -//[["start",_startMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; -[_blck_localMissionMarker] execVM "debug\spawnMarker.sqf"; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (94) waiting for player to trigger the mission";}; -#endif -//////// -// All parameters are defined, lets wait until a player is nearby or the mission has timed out -//////// - -private["_wait","_missionStartTime","_playerInRange","_missionTimedOut"]; -_missionStartTime = diag_tickTime; -_playerInRange = false; -_missionTimedOut = false; -_wait = true; -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (105) starting mission trigger loop"}; - -while {_wait} do -{ - #ifdef blck_debugMode - //diag_log "missionSpawner:: top of mission trigger loop"; - if (blck_debugLevel > 2) exitWith {_playerInRange = true;}; - #endif - - if ([_coords, blck_TriggerDistance, false] call blck_fnc_playerInRange) exitWith {_playerInRange = true;}; - if ([_missionStartTime] call blck_fnc_timedOut) exitWith {_missionTimedOut = true;}; - uiSleep 5; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["missionSpawner:: Trigger Loop - blck_debugLevel = %1 and _coords = %2",blck_debugLevel, _coords]; - diag_log format["missionSpawner:: Trigger Loop - players in range = %1",{isPlayer _x && _x distance2D _coords < blck_TriggerDistance} count allPlayers]; - diag_log format["missionSpawner:: Trigger Loop - timeout = %1", [_missionStartTime] call blck_fnc_timedOut]; - }; - #endif -}; - -if (_missionTimedOut) exitWith -{ -/* - -*/ - // Deal with the case in which the mission timed out. - //["timeOut",_endMsg,_blck_localMissionMarker select 2] call blck_fnc_messageplayers; - blck_recentMissionCoords pushback [_coords,diag_tickTime]; - blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords]; - [_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue; - blck_missionsRunning = blck_missionsRunning - 1; - [_blck_localMissionMarker select 0] call compile preprocessfilelinenumbers "debug\deleteMarker.sqf"; - //_blck_localMissionMarker set [1,[0,0,0]]; - //_blck_localMissionMarker set [2,""]; - [_objects, 0.1] spawn blck_fnc_cleanupObjects; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (105) Mission Timed Out: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif -}; - -//////// -// Spawn the mission objects, loot chest, and AI -//////// -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (112) -- >> Mission tripped: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -if (count _missionLootBoxes > 0) then -{ - _crates = [_coords,_missionLootBoxes,_loadCratesTiming] call blck_fnc_spawnMissionCrates; -} -else -{ - _crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming] call blck_fnc_spawnMissionCrates; - -}; - -if (blck_cleanUpLootChests) then -{ - _objects append _crates; -}; - -//uisleep 2; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (136) Crates Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -private ["_temp"]; -if (blck_SmokeAtMissions select 0) then // spawn a fire and smoke near the crate -{ - _temp = [_coords,blck_SmokeAtMissions select 1] call blck_fnc_smokeAtCrates; - if (typeName _temp isEqualTo "ARRAY") then - { - _objects append _temp; - }; -}; - -uiSleep _delayTime; -if (_useMines) then -{ - _mines = [_coords] call blck_fnc_spawnMines; - //uiSleep _delayTime;; -}; -uiSleep _delayTime; -_temp = []; -if (_missionLandscapeMode isEqualTo "random") then -{ - _temp = [_coords,_missionLandscape, 3, 15, 2] call blck_fnc_spawnRandomLandscape; -} else { - _temp = [_coords, floor(random(360)),_missionLandscape,true] call blck_fnc_spawnCompositionObjects; - //uiSleep 1; -}; -if (typeName _temp isEqualTo "ARRAY") then -{ - _objects append _temp; -}; -//diag_log format["_fnc_missionSpawner:: (181)->> _objects = %1",_objects]; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (170) Landscape spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -uiSleep _delayTime;; - -_temp = [_missionLootVehicles] call blck_fnc_spawnMissionLootVehicles; -//uisleep 1; -_crates append _temp; - -uiSleep _delayTime; - -_abort = false; -_temp = [[],[],false]; -_temp = [_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; -//[_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (185) blck_fnc_spawnMissionAI returned a value of _temp = %1",_temp]; uiSleep 1; -}; - -_abort = _temp select 1; -if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (190) blck_fnc_spawnMissionAI returned a value of _abort = %1",_abort]; uiSleep 1; -}; -#endif - -if (_abort) exitWith -{ - if (blck_debugLevel > 1) then { - diag_log "missionSpawner:: (194) grpNull returned, mission termination criteria met, calling blck_fnc_endMission" - }; - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; -}; -if !(_abort) then -{ - _blck_AllMissionAI append (_temp select 0); -}; - -uiSleep _delayTime; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (202) AI Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -uiSleep 3; -_temp = [[],[],false]; -_abort = false; -private["_patrolVehicles","_vehToSpawn"]; -_vehToSpawn = [_noVehiclePatrols] call blck_fnc_getNumberFromRange; -diag_log format["_missionSpawner:: _vehToSpawn = %1",_vehToSpawn]; -if (blck_useVehiclePatrols && (_vehToSpawn > 0)) then -{ - _temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; - //[_coords,_noVehiclePatrols,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then { - diag_log format["missionSpawner :: (216) blck_fnc_spawnMissionVehiclePatrols returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - if !(_abort) then - { - _patrolVehicles = _temp select 0; - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (272) Vehicle Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - - }; -}; - -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log "missionSpawner:: (222) grpNull returned, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; -}; - -uiSleep _delayTime; -_temp = [[],[],false]; -_abort = false; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log format["missionSpawner:: (234) preparing to spawn emplaced weapons for _coords %4 | _markerClass %3 | blck_useStatic = %1 | _noEmplacedWeapons = %2",blck_useStatic,_noEmplacedWeapons,_markerClass,_coords];}; -#endif - -uiSleep 3; -private["_noEmplacedToSpawn"]; -_noEmplacedToSpawn = [_noEmplacedWeapons] call blck_fnc_getNumberFromRange; -diag_log format["_missionSpawner:: _noEmplacedToSpawn = %1",_vehToSpawn]; -if (blck_useStatic && (_noEmplacedToSpawn > 0)) then -{ - // params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; - _temp = [_missionEmplacedWeapons,_noEmplacedToSpawn,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (232) blck_fnc_spawnEmplacedWeaponArray returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (241) _abort = %1",_abort]; - - }; - #endif - - if !(_abort) then - { - _objects append (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (253) Static Weapons Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - }; -}; -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (261) grpNull ERROR in blck_fnc_spawnEmplacedWeaponArray, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; -}; - -uiSleep 3; -if (_allowReinforcements) then -{ - _weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout; - _temp = []; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["[blckeagls] missionSpawner:: (268) calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - private _noChoppers = 0; - private _chancePara = 0.5; - switch (toLower _aiDifficultyLevel) do - { - case "blue":{ - _noChoppers = [blck_noPatrolHelisBlue] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaBlue] call blck_fnc_getNumberFromRange; - }; - case "red":{ - _noChoppers = [blck_noPatrolHelisRed] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaRed] call blck_fnc_getNumberFromRange; - }; - case "green":{ - _noChoppers = [blck_noPatrolHelisGreen] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaGreen] call blck_fnc_getNumberFromRange; - }; - case "orange":{ - _noChoppers = [blck_noPatrolHelisOrange] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaOrange] call blck_fnc_getNumberFromRange; - }; - }; - diag_log format["_missionSpawner:: _noChoppers = %1 && _chancePara = %2",_noChoppers,_chancePara]; - for "_i" from 1 to (_noChoppers) do - { - //params["_coords","_aiSkillsLevel","_weapons","_uniforms","_headgear"]; - - _temp = [_coords,_aiDifficultyLevel,_weaponList,_uniforms,_headGear,_chancePara] call blck_fnc_spawnMissionReinforcements; - - #ifdef blck_debugMode - if (blck_debugLevel >= 2) then - { - diag_log format["missionSpawner:: blck_fnc_spawnMissionReinforcements call for chopper # %1 out of a total of %2 choppers",_i, _noChoppers]; - diag_log format["missionSpawner:: _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - _objects pushback (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - }; - if (_abort) then - { - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (276) grpNul or ERROR in blck_fnc_spawnMissionReinforcements, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; - }; - }; -}; -// Trigger for mission end -//diag_log format["[blckeagls] mission Spawner _endCondition = %1",_endCondition]; -private["_missionComplete","_endIfPlayerNear","_endIfAIKilled"]; -_missionComplete = -1; -_startTime = diag_tickTime; - -switch (_endCondition) do -{ - case "playerNear": {_endIfPlayerNear = true;_endIfAIKilled = false;}; - case "allUnitsKilled": {_endIfPlayerNear = false;_endIfAIKilled = true;}; - case "allKilledOrPlayerNear": {_endIfPlayerNear = true;_endIfAIKilled = true;}; -}; -//diag_log format["missionSpawner :: (269) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; -private["_locations"]; -_locations = [_coords]; -{ - _locations pushback (getPos _x); -} forEach _crates; - -//diag_log format["missionSpawner:: _coords = %1 | _crates = %2 | _locations = %3",_coords,_crates,_locations]; -//diag_log format["missionSpawner:: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled]; -while {_missionComplete isEqualTo -1} do -{ - //if (blck_debugLevel isEqualTo 3) exitWith {uiSleep 180}; - if ((_endIfPlayerNear) && [_locations,10,true] call blck_fnc_playerInRangeArray) exitWith {}; - if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1 /*[_blck_AllMissionAI] call blck_fnc_missionAIareDead*/ ) exitWith {}; - //diag_log format["missionSpawner:: (283) missionCompleteLoop - > players near = %1 and ai alive = %2",[_coords,20] call blck_fnc_playerInRange, {alive _x} count _blck_AllMissionAI]; - uiSleep 4; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (414) Mission completion criteria fulfilled: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - diag_log format["missionSpawner :: (415) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; -}; -#endif -//diag_log format["[blckeagls] missionSpawner:: (418) calling endMission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - -private["_result"]; -// Force passing the mission name for informational purposes. -_blck_localMissionMarker set [2, _markerMissionName]; -_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,false,_patrolVehicles] call blck_fnc_endMission; - -//diag_log format["[blckeagls] missionSpawner:: (420)end of mission: blck_fnc_endMission returned value of %1","pending"]; - diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf b/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf deleted file mode 100644 index 1e0980a..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - Spawn objects from an array using offsects from a central location. - The code provided by M3Editor EDEN has been addapted to add checks for vehicles, should they be present. - Returns an array of spawned objects. - version of 1/13/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_center","_azi","_objects","_setVector"]; - -private ["_newObjs"]; - -_newObjs = []; - -{ - //diag_log format["_fnc_spawnBaseObjects::-->> _x = %1",_x]; - private _obj = (_x select 0) createVehicle [0,0,0]; - _newObjs pushback _obj; - _obj setDir ( (_x select 2) + _azi); - _obj setPosATL (_center vectorAdd (_x select 1)); - _obj enableSimulationGlobal true; - _obj allowDamage true; - // Lock any vehicles placed as part of the mission landscape. Note that vehicles that can be taken by players can be added via the mission template. - if ( (typeOf _obj) isKindOf "LandVehicle" || (typeOf _obj) isKindOf "Air" || (typeOf _obj) isKindOf "Sea") then - { - [_obj] call blck_fnc_configureMissionVehicle; - }; -} forEach _objects; -_newObjs diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf b/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf deleted file mode 100644 index 24cb52a..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* - spawn a crate at a specific location and protect it against cleanup by Epoch - returns the object (crate) that was created. - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last updated 9-4-16 - - -------------------------- - 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","_px","_py","_defaultCrate"]; -_defaultCrate = "Box_NATO_Wps_F"; -params["_coords",["_crateType",_defaultCrate]]; - -_px = _coords select 0; -_py = _coords select 1; - -_crate = objNull; -_crate = createVehicle [_crateType,_coords,[], 0, "CAN_COLLIDE"]; -_crate setVariable ["LAST_CHECK", 100000]; -_crate setPosATL [_px, _py, 0.5]; -_crate allowDamage false; -_crate enableRopeAttach true; -[_crate] call blck_fnc_emptyObject; -_crate; diff --git a/@ExileServer/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf b/@ExileServer/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf deleted file mode 100644 index d4baf2c..0000000 --- a/@ExileServer/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf +++ /dev/null @@ -1,72 +0,0 @@ -// GMS_fnc_time.sqf -// by Ghostrider-DBD_ -// Last Updated 12/21/16 -// Creds to AWOL, A3W, LouD and Creampie for insights. - -//if (!isServer) exitWith {}; - -/* - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below - // which can be set using the corresponding variables in the config file for that mod. - - blck_timeAccelerationDay = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 3; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 6; // Nighttim time acceleration - -------------------------- - 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 ["_arr","_sunrise","_sunset","_time"]; -_arr = date call BIS_fnc_sunriseSunsetTime; -_sunrise = _arr select 0; -_sunset = _arr select 1; -_time = dayTime; - - -// blck_debugMode3 -#ifdef blck_debugMode -if (blck_debugLevel > 2) then -{ - diag_log "fnc_Time:: Debug settings ON"; - diag_log format["_fnc_Time:: -- > _sunrise = %1 | _sunset = %2 | _time = %3",_sunrise,_sunset,_time]; -}; -#endif - -// Night -if (_time > (_sunset + 0.5) || _time < (_sunrise - 0.5)) exitWith { - setTimeMultiplier blck_timeAccelerationNight; - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["NIGHT TIMGE ADJUSTMENT:: time accel updated to %1; time of day = %2",timeMultiplier,dayTime]; - }; - #endif -}; - -// Day -if (_time > (_sunrise + 0.5) && _time < (_sunset - 0.5)) exitWith { - setTimeMultiplier blck_timeAccelerationDay; - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - - diag_log format["DAYTIME ADJUSTMENT:: time accel updated to %1; time of day = %2",timeMultiplier,dayTime]; - }; - #endif -}; - -// default -setTimeMultiplier blck_timeAccelerationDusk; -#ifdef blck_debugMode -if (blck_debugLevel > 2) then -{ - diag_log format["DUSK ADJUSTMENT:: time accel updated to %1; time of day = %2",timeMultiplier,dayTime]; -}; -#endif - - diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf b/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf deleted file mode 100644 index e83f11a..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf +++ /dev/null @@ -1,51 +0,0 @@ -/* - By Ghostrider-DbD- - Last Modified 7-27-17 - - Handles the case where a unit is hit. - - -------------------------- - 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 ["_unit","_instigator","_group","_wp"]; -//diag_log format["_EH_AIHit::-->> _this = %1",_this]; -_unit = _this select 0 select 0; -_instigator = _this select 0 select 3; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["EH_AIHit:: _units = %1 and _instigator = %2 units damage is %3",_unit,_instigator, damage _unit]; -}; -#endif - -if (!(alive _unit)) exitWith {}; -if (!(isPlayer _instigator)) exitWith {}; -[_unit,_instigator] call blck_fnc_alertGroupUnits; -[_instigator] call blck_fnc_alertNearbyVehicles; -_group = group _unit; -//_group setBehavior "COMBAT"; -_wp = [_group, currentWaypoint _group]; -_wp setWaypointBehaviour "COMBAT"; -_group setCombatMode "RED"; -_wp setWaypointCombatMode "RED"; - -if (_unit getVariable ["hasHealed",false]) exitWith {}; -if ((damage _unit) > 0.1 ) then -{ - //diag_log format["_EH_AIHit::-->> Healing unit %1",_unit]; - _unit setVariable["hasHealed",true,true]; - _unit addMagazine "SmokeShellOrange"; - _unit fire "SmokeShellMuzzle"; - _unit addItem "FAK"; - _unit action ["HealSoldierSelf", _unit]; - _unit setDamage 0; - _unit removeItem "FAK"; -}; - diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf b/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf deleted file mode 100644 index 9b94a23..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* - by Ghostrider - 7-27-17 - Alerts the leader of a group of the location of an enemy. - - -------------------------- - 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["_knowsAbout","_intelligence","_group"]; -params["_unit","_target"]; -_intelligence = _unit getVariable ["intelligence",1]; -_group = group _unit; -{ - _knowsAbout = _x knowsAbout _target; - _x reveal [_target,_knowsAbout + _intelligence]; -}forEach units _group; - - diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf b/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf deleted file mode 100644 index cd12b74..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/* - by Ghostrider - 4-5-17 - Alerts the units of nearby vehicles of the location of an enemy. - - -------------------------- - 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["_target"]; - -_fn_alertGroupUnits = { - params["_group","_target"]; - private["_intelligence","_knowsAbout"]; - _intelligence = (leader _group) getVariable ["intelligence",1]; - { - _knowsAbout = _x knowsAbout _target; - _x reveal [_target,_knowsAbout + _intelligence]; - }forEach (units _group); -}; - -_fn_allertNearbyVehicleGroups = { - params["_vehicles","_target"]; - private["_vehGroup"]; - { - _vehGroup = _x getVariable["vehicleGroup",grpNull]; - if (_target distance2D (leader _vehGroup) < 1000) then {[_vehGroup,_target] call _fn_alertGroupUnits;}; - }forEach _vehicles; -}; - -[blck_monitoredVehicles,_target] call _fn_allertNearbyVehicleGroups; - - diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf b/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf deleted file mode 100644 index 046d8ba..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf +++ /dev/null @@ -1,74 +0,0 @@ -/* - Handle AI Deaths - Last Modified 7/27/17 - By Ghostrider-DBD- - 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"; - -private["_group","_isLegal","_weapon","_lastkill","_kills","_message","_killstreakMsg"]; -params["_unit","_killer","_isLegal"]; - -_unit setVariable ["blck_cleanupAt", (diag_tickTime) + blck_bodyCleanUpTimer, true]; - -blck_deadAI pushback _unit; -_group = group _unit; -[_unit] joinSilent grpNull; -if (count(units _group) < 1) then { - #ifdef useDynamicSimulation - _group enableDynamicSimulation false; - #endif - deleteGroup _group; -}; -if (blck_launcherCleanup) then {[_unit] spawn blck_fnc_removeLaunchers;}; -if (blck_removeNVG) then {[_unit] spawn blck_fnc_removeNVG;}; -if !(isPlayer _killer) exitWith {}; -[_unit,_killer] call blck_fnc_alertGroupUnits; -[_killer] call blck_fnc_alertNearbyVehicles; -_group = group _unit; -_wp = [_group, currentWaypoint _group]; -_wp setWaypointBehaviour "COMBAT"; -_group setCombatMode "RED"; -_wp setWaypointCombatMode "RED"; -{ - _unit removeAllEventHandlers _x; -}forEach ["Killed","Fired","HandleDamage","HandleHeal","FiredNear","Hit"]; - -_isLegal = [_unit,_killer] call blck_fnc_processIlleagalAIKills; - -if !(_isLegal) exitWith {}; - -_lastkill = _killer getVariable["blck_lastkill",diag_tickTime]; -_killer setVariable["blck_lastkill",diag_tickTime]; -_kills = (_killer getVariable["blck_kills",0]) + 1; -if ((diag_tickTime - _lastkill) < 240) then -{ - _killer setVariable["blck_kills",_kills]; -} else { - _killer setVariable["blck_kills",0]; -}; - -if (blck_useKillMessages) then -{ - _weapon = currentWeapon _killer; - _killstreakMsg = format[" %1X KILLSTREAK",_kills]; - - if (blck_useKilledAIName) then - { - _message = format["[blck] %2: killed by %1 from %3m",name _killer,name _unit,round(_unit distance _killer)]; - }else{ - _message = format["[blck] %1 killed with %2 from %3 meters",name _killer,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _killer)]; - }; - _message =_message + _killstreakMsg; - //diag_log format["[blck] unit killed message is %1",_message,""]; - [["aikilled",_message,"victory"],playableUnits] call blck_fnc_messageplayers; -}; -[_unit,_killer] call blck_fnc_rewardKiller; - - diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf b/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf deleted file mode 100644 index d7e8151..0000000 --- a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf +++ /dev/null @@ -1,19 +0,0 @@ - -/* - Killed handler for _units - By Ghostrider-DbD - Last Modified 4-11-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_unit","_killer"]; - -//diag_log format["EH_AIKilled:: _units = %1 and _killer = %2",_unit,_killer]; -[_unit,_killer] remoteExec ["blck_fnc_processAIKill",2]; diff --git a/@ExileServer/addons/custom_server/Compiles/blck_functions.sqf b/@ExileServer/addons/custom_server/Compiles/blck_functions.sqf deleted file mode 100644 index ebbdbc3..0000000 --- a/@ExileServer/addons/custom_server/Compiles/blck_functions.sqf +++ /dev/null @@ -1,114 +0,0 @@ -/* - AI Mission for Epoch Mod for Arma 3 - By Ghostrider - Functions and global variables used by the mission system. - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -//blck_functionsCompiled = false; - -// General functions -blck_fnc_waitTimer = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_waitTimer.sqf"; -blck_fnc_timedOut = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_timedOut.sqf"; -blck_fnc_FindSafePosn = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_findSafePosn.sqf"; -blck_fnc_randomPosition = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_randomPosn.sqf";// find a randomPosn. see script for details. -blck_fnc_findPositionsAlongARadius = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_findPositionsAlongARadius.sqf"; -blck_fnc_giveTakeCrypto = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_giveTakeCrypto.sqf"; -blck_fnc_monitorHC = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_monitorHC.sqf"; -blck_fnc_timeAcceleration = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\TimeAccel\GMS_fnc_Time.sqf"; -blck_fnc_getModType = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getModType.sqf"; // Test if Epoch or Exile is loaded -blck_fnc_groupsOnAISide = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_GroupsOnAISide.sqf"; // Returns the number of groups on the side used by AI -blck_fnc_emptyObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObject.sqf"; -blck_fnc_playerInRange = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRange.sqf"; -blck_fnc_playerInRangeArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRangeArray.sqf"; // GMS_fnc_playerInRangeArray -blck_fnc_mainThread = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_mainThread.sqf"; -blck_fnc_allPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_allPlayers.sqf"; -blck_fnc_addItemToCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_addItemToCrate.sqf"; -blck_fnc_loadLootItemsFromArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_loadLootItemsFromArray.sqf"; -blck_fnc_getNumberFromRange = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getNumberFromRange.sqf"; - -#ifdef DBDserver -blck_fnc_broadcastServerFPS = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_broadcastServerFPS.sqf"; -diag_log "blck_functions loaded using DBDServer settings ---- >>>> "; -#endif - -// Player-related functions -blck_fnc_rewardKiller = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_rewardKiller.sqf"; -blck_fnc_MessagePlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_AIM.sqf"; // Send messages to players regarding Missions - -// Mission-related functions -blck_fnc_selectAILoadout = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAILoadout.sqf"; -blck_fnc_addMissionToQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addMissionToQue.sqf"; // -blck_fnc_updateMissionQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_updateMissionQue.sqf"; // -blck_fnc_spawnPendingMissions = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnPendingMissions.sqf"; // -blck_fnc_addLiveAItoQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addLiveAItoQue.sqf"; -blck_fnc_addObjToQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addObjToQue.sqf"; // -//blck_fnc_missionTimer = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionTimer.sqf"; -blck_fnc_spawnCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnCrate.sqf"; // Simply spawns a crate of a specified type at a specific position. -blck_fnc_spawnMissionCrates = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionCrates.sqf"; -blck_fnc_cleanupObjects = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_cleanUpObjects.sqf"; -blck_fnc_spawnCompositionObjects = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnBaseObjects.sqf"; -blck_fnc_spawnRandomLandscape = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnRandomLandscape.sqf"; -blck_fnc_spawnMissionVehiclePatrols = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionVehiclePatrols.sqf"; -blck_fnc_spawnEmplacedWeaponArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnEmplacedWeaponArray.sqf"; -blck_fnc_spawnMissionAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionAI.sqf"; -blck_fnc_spawnMissionLootVehicles = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMissionLootVehicles.sqf"; -blck_fnc_fillBoxes = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_fillBoxes.sqf"; // Adds items to an object according to passed parameters. See the script for details. -blck_fnc_smokeAtCrates = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_smokeAtCrates.sqf"; // Spawns a wreck and adds smoke to it -blck_fnc_spawnMines = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnMines.sqf"; // Deploys mines at random locations around the mission center -blck_fnc_clearMines = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_clearMines.sqf"; // clears mines in an array passed as a parameter -blck_fnc_signalEnd = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_signalEnd.sqf"; // deploy smoke grenades at loot crates at the end of the mission. -blck_fnc_endMission = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_endMission.sqf"; -blck_fnc_missionAIareDead = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionAIareDead.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 - -// Functions specific to vehicles, whether wheeled, aircraft or static -blck_fnc_spawnVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehicle.sqf"; -blck_fnc_spawnVehiclePatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnVehiclePatrol.sqf"; -blck_fnc_protectVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_protectVehicle.sqf"; -blck_fnc_configureMissionVehicle = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_configureMissionVehicle.sqf"; -blck_fnc_vehicleMonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitor.sqf"; -blck_fnc_spawnMissionReinforcements = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnReinforcements.sqf"; -blck_fnc_spawnMissionHeli = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionHeli.sqf"; -blck_fnc_spawnMissionParatroops = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnMissionParatroops.sqf"; // Lumped here because these 'jump' from aircraft -blck_fnc_spawnParaUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_spawnParaUnits.sqf"; // Lumped here because these 'jump' from aircraft -blck_fnc_releaseVehicleToPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_releaseVehicleToPlayers.sqf"; // GMS_fnc_releaseVehicleToPlayers -blck_EH_AIVehicle_HandleDamage = "\q\addons\custom_server\Compiles\Vehicles\GMS_EH_AIVehicle_HandleDamage.sqf"; - -// functions to support Units -blck_fnc_removeGear = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeGear.sqf"; // Strip an AI unit of all gear. -blck_fnc_spawnAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_spawnUnit.sqf"; // spawn individual AI -blck_EH_AIKilled = "\q\addons\custom_server\Compiles\Units\GMS_EH_AIKilled.sqf"; // Event handler to process AI deaths -blck_EH_AIHit = "\q\addons\custom_server\Compiles\Units\GMS_EH_AIHit.sqf"; -blck_EH_AIFiredNear = "\q\addons\custom_server\Compiles\Units\GMS_EH_AIFiredNear.sqf"; -blck_EH_unitWeaponReloaded = "\q\addons\custom_server\Compiles\Units\GMS_EH_unitWeaponReloaded.sqf"; -blck_fnc_processAIKill = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_processAIKill.sqf"; -blck_fnc_removeLaunchers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeLaunchers.sqf"; -blck_fnc_removeNVG = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_removeNVG.sqf"; -blck_fnc_alertNearbyUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_alertNearbyUnits.sqf"; -blck_fnc_alertGroupUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_alertGroupUnits.sqf"; -blck_fnc_alertNearbyVehicles = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_alertNearbyVehicles.sqf"; -blck_fnc_processIlleagalAIKills = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_processIlleagalAIKills.sqf"; -blck_fnc_cleanupDeadAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupDeadAI.sqf"; // handles deletion of AI bodies and gear when it is time. -blck_fnc_setSkill = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_setSkill.sqf"; -blck_fnc_cleanupAliveAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupAliveAI.sqf"; -blck_fnc_deleteAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_deleteAI.sqf"; - -diag_log "[blckeagls] Functions Loaded"; -blck_functionsCompiled = true; diff --git a/@ExileServer/addons/custom_server/init/build.sqf b/@ExileServer/addons/custom_server/init/build.sqf deleted file mode 100644 index bfd7f13..0000000 --- a/@ExileServer/addons/custom_server/init/build.sqf +++ /dev/null @@ -1,3 +0,0 @@ -private ["_version","_versionDate"]; -_blck_version = "6.71 Build 77"; -_blck_versionDate = "9-24-17 4:00 PM"; diff --git a/@ExileServer/addons/custom_server/init/fn_init.sqf b/@ExileServer/addons/custom_server/init/fn_init.sqf deleted file mode 100644 index c367bf9..0000000 --- a/@ExileServer/addons/custom_server/init/fn_init.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* - by Ghostrider-DbD- - Last Modified 3/14/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -/////////////////////////////////////////////// -// prevent the system from being started twice -////////////////////////////////////////////// -if !(isNil "blck_missionSystemRunning") exitWith {}; -blck_missionSystemRunning = true; - -///////////////////////////////////////////// -// Run the initialization routinge -//////////////////////////////////////////// -execVM "\q\addons\custom_server\init\blck_init.sqf"; diff --git a/@ExileServer/addons/custom_server/$PBOPREFIX$ b/@GMS/addons/custom_server/$PBOPREFIX$ similarity index 100% rename from @ExileServer/addons/custom_server/$PBOPREFIX$ rename to @GMS/addons/custom_server/$PBOPREFIX$ diff --git a/@ExileServer/addons/custom_server/$PREFIX$ b/@GMS/addons/custom_server/$PREFIX$ similarity index 100% rename from @ExileServer/addons/custom_server/$PREFIX$ rename to @GMS/addons/custom_server/$PREFIX$ diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf similarity index 68% rename from @epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf index d84b4e4..db11744 100644 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_AIM.sqf @@ -10,18 +10,13 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -//blck_Message = _this; params["_msg",["_players",playableUnits]]; +#ifdef blck_debugMode if (blck_debugLevel > 1) then {diag_log format["AIM.sqf ===] _this = %1 | _msg = %2 | _players = %3",_this,_msg, _players];}; -blck_Message = _msg; +#endif { - //diag_log format["AIM.sqf ===] _ = %2, and (owner _x) = %1", (owner _x), _x]; - (owner _x) publicVariableClient "blck_Message"; + if (isPlayer _x) then {_msg remoteExec["fn_handleMessage",(owner _x)]}; } forEach _players; -/* -if (_modType isEqualTo "Exile") then -{ - [_blck_Message] remoteExec["fn_blck_MessageHandler",0]; -}; -*/ + + diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread - Copy.sqf similarity index 86% rename from @epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread - Copy.sqf index 3448bd3..abb5eb6 100644 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread - Copy.sqf @@ -49,10 +49,17 @@ while {true} do _timer20sec = diag_tickTime; //diag_log format["_mainThread::-->> diag_tickTime = %1",diag_tickTime]; }; - if (diag_tickTime - _timer1min > 60) then + if ((diag_tickTime - _timer1min) > 60) then { _timer1min = diag_tickTime; + [] call blck_fnc_timeAcceleration; [] call blck_fnc_spawnPendingMissions; +; + if !(blck_useHC) then + { + diag_log format["_mainThread:: calling blck_fnc_passToHCs at diag_tickTime = %1",diag_tickTime]; + [] call blck_fnc_passToHCs; + }; //[] call blck_fnc_missionGroupMonitor; /* // No longer needed @@ -64,8 +71,8 @@ while {true} do }; if (blck_useTimeAcceleration) then { - if (diag_tickTime - _timer5min > 30) then { - [] call blck_fnc_timeAcceleration; + if (diag_tickTime - _timer5min > 300) then { + _timer5min = diag_tickTime; }; }; diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf similarity index 86% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf index 3448bd3..abb5eb6 100644 --- a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_mainThread.sqf @@ -49,10 +49,17 @@ while {true} do _timer20sec = diag_tickTime; //diag_log format["_mainThread::-->> diag_tickTime = %1",diag_tickTime]; }; - if (diag_tickTime - _timer1min > 60) then + if ((diag_tickTime - _timer1min) > 60) then { _timer1min = diag_tickTime; + [] call blck_fnc_timeAcceleration; [] call blck_fnc_spawnPendingMissions; +; + if !(blck_useHC) then + { + diag_log format["_mainThread:: calling blck_fnc_passToHCs at diag_tickTime = %1",diag_tickTime]; + [] call blck_fnc_passToHCs; + }; //[] call blck_fnc_missionGroupMonitor; /* // No longer needed @@ -64,8 +71,8 @@ while {true} do }; if (blck_useTimeAcceleration) then { - if (diag_tickTime - _timer5min > 30) then { - [] call blck_fnc_timeAcceleration; + if (diag_tickTime - _timer5min > 300) then { + _timer5min = diag_tickTime; }; }; diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf new file mode 100644 index 0000000..b3fba50 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf @@ -0,0 +1,26 @@ +/* + Check if an HC is connected and if so transfer some AI to it. + By Ghostrider-DbD- + Last modified 11-8-16 +/* + By Ghostrider-DbD- + -------------------------- + 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"; +// blck_connectedHCs // list of connected HCs at last check. +_HCs = entities "HeadlessClient_F"; // currently connected HCs. + + + +{ + if ([_x] call _fn_HC_disconnected) then + { + // Remove any event handlers added by the HC + + }; +}forEach blck_connectedHCs; diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Functions/GMS_getModType.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_getModType.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Functions/GMS_getModType.sqf rename to @GMS/addons/custom_server/Compiles/Functions/GMS_getModType.sqf diff --git a/@GMS/addons/custom_server/Compiles/Functions/GMS_passToHCs.sqf b/@GMS/addons/custom_server/Compiles/Functions/GMS_passToHCs.sqf new file mode 100644 index 0000000..73a44e5 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Functions/GMS_passToHCs.sqf @@ -0,0 +1,98 @@ +if (!isServer) exitWith {}; +blck_fnc_countGroupsAssigned = { + params["_HC"]; + private["_result"]; + _result = {(groupOwner _x) == (owner _HC)} count allGroups; + //diag_log format["_fnc_countGroupsAssigned = %1",_result]; + _result +}; +blck_fnc_leastBurdened = { + params["_HC_List"]; + private["_result","_fewestGroupsAssigned","_leastBurdened","_groupsAssigned"]; + if (count _HC_List == 0) exitWith {_result = objNull; _result}; + _fewestGroupsAssigned = [_HC_List select 0] call blck_fnc_countGroupsAssigned; + _leastBurdened = _HC_List select 0; + { + _groupsAssigned = [_x] call blck_fnc_countGroupsAssigned; + if (_groupsAssigned < _fewestGroupsAssigned) then + { + _leastBurdened = _x; + _fewestGroupsAssigned = _groupsAssigned; + }; + }forEach _HC_List; + //diag_log format["_fnc_leastBurdened:: _fewestGroupsAssigned = %1 and _leastBurdened = %2",_fewestGroupsAssigned,_leastBurdened]; + _leastBurdened +}; +//diag_log format["_fnc_passToHCs:: function called at server time %1",diag_tickTime]; +private["_numTransfered","_clientId","_allGroups","_groupsOwned","_idHC","_id","_swap","_rc"]; +{ + if !(_x in blck_connectedHCs) then {blck_connectedHCs pushBack _x}; +}forEach entities "HeadlessClient_F"; +diag_log format["_fnc_passToHCs:: blck_connectedHCs = %1 with count _HCs = %2",blck_connectedHCs,count blck_connectedHCs]; +if ((count blck_connectedHCs) > 0) then +{ + _idHC = [blck_connectedHCs] call blck_fnc_leastBurdened; + //diag_log format["passToHCs: evaluating passTos for HC %1 || owner HC = %2",_idHC, owner _idHC]; + { + // Pass the AI + _numTransfered = 0; + if (_x getVariable["blck_group",false]) then + { + //diag_log format["group belongs to blckeagls mission system so time to transfer it"]; + if ((typeName _x) isEqualTo "GROUP") then + { + _id = groupOwner _x; + //diag_log format["Owner of group %1 is %2",_x,_id]; + if (_id > 2) then + { + //diag_log format["group %1 is already assigned to an HC with _id of %2",_x,_id]; + _swap = false; + } else { + diag_log format["group %1 should be moved to HC %2 with _idHC %3",_x,_idHC]; + _x setVariable["owner",owner _idHC]; + _rc = _x setGroupOwner (owner _idHC); + [_x] remoteExec["blck_fnc_HC_XferGroup",_idHC]; + if ( _rc ) then + { + _numTransfered = _numTransfered + 1; + //diag_log format["group %1 transferred to %2",_x, groupOwner _x]; + } else { + //diag_log format["something went wrong with the transfer of group %1",_x]; + }; + }; + }; + } else + { + //diag_log format["group %1 does not belong to blckeagls mission system",_x]; + }; + } forEach (allGroups); + diag_log format["_passToHCs:: %1 groups transferred to HC %2",_numTransfered,_idHC]; + _numTransfered = 0; + /* + { + if (typeName _x isEqualTo "GROUP") then {_idHC = groupOwner _x}; + if (typeName _x isEqualTo "OBJECT") then {_idHC = owner _x}; + if (_idHC > 2) then + { + //diag_log format["vehicle %1 is already assigned to an HC with _id of %2",_x,_id]; + _swap = false; + } else { + //diag_log format["vehicle %1 should be moved to an HC",_x]; + _x setVariable["owner",_idHC]; + if (typeOf _x isEqualTo "GROUP") then {_rc = _x setGroupOwner _idHC}; + if (typeOf _x isEqualTo "OBJECT") then {_rc = _x setOwner _idHC}; + [_x] remoteExec["blck_fnc_HC_XferVehicle",_idHC]; + if ( _rc ) then + { + _numTransfered = _numTransfered + 1; + //diag_log format["group %1 transferred to %2",_x, groupOwner _x]; + } else { + //diag_log format["something went wrong with the transfer of group %1",_x]; + }; + }; + }forEach blck_monitoredVehicles; + */ + diag_log format["_passToHCs:: %1 vehicles transferred",_numTransfered]; +} else { + diag_log "_fnc_passToHCs:: No headless clients connected"; +}; diff --git a/@GMS/addons/custom_server/Compiles/Functions/passToHC_default.sqf b/@GMS/addons/custom_server/Compiles/Functions/passToHC_default.sqf new file mode 100644 index 0000000..5cfe14b --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Functions/passToHC_default.sqf @@ -0,0 +1,287 @@ +/* + * passToHCs.sqf + * + * In the mission editor, name the Headless Clients "HC", "HC2", "HC3" without the quotes + * + * In the mission init.sqf, call passToHCs.sqf with: + * execVM "passToHCs.sqf"; + * + * It seems that the dedicated server and headless client processes never use more than 20-22% CPU each. + * With a dedicated server and 3 headless clients, that's about 88% CPU with 10-12% left over. Far more efficient use of your processing power. + * + */ + +PassToHC_ReceiveMessage = compileFinal " + if (hasInterface && (serverCommandAvailable '#kick' || isServer)) then { + player globalChat (_this select 0); + }; +"; + +if (!isServer) exitWith {}; + +waitUntil{!isNil "f_param_headlessClient"}; + +if (f_param_headlessClient == 0) exitWith {}; + +private ["_HC_ID","_HC2_ID","_HC3_ID","_rebalanceTimer","_cleanUpThreshold","_maxWait","_loadBalance","_currentHC","_numTransfered","_swap","_rc","_numHC","_numHC2","_numHC3","_numDeleted"]; + +PassToHC_SendMessage = compileFinal " + diag_log text _this; + if (isServer && hasInterface) then { + [_this] call PassToHC_ReceiveMessage; + } else { + [[_this], 'PassToHC_ReceiveMessage', true, false] call BIS_fnc_MP; + }; +"; + +"passToHCs: Started" call PassToHC_SendMessage; + +waitUntil {!isNil "HC"}; +waitUntil {!isNull HC}; + +_HC_ID = -1; // Will become the Client ID of HC +_HC2_ID = -1; // Will become the Client ID of HC2 +_HC3_ID = -1; // Will become the Client ID of HC3 +_rebalanceTimer = 60; // Rebalance sleep timer in seconds +_cleanUpThreshold = 50; // Threshold of number of dead bodies + destroyed vehicles before forcing a clean up + +PassToHC_NumTransfered = 0; + +"passToHCs: Waiting for init scripts to settle before starting first pass..." call PassToHC_SendMessage; + +sleep 15; + +// If DAC is initializing after start delay wait until it finishes or timeout +if (!isNil "DAC_Basic_Value") then { + _maxWait = time + 30; + waituntil {sleep 1; (DAC_Basic_Value > 0) || time > _maxWait}; +}; + +// If UPSMON is initializing after start delay wait until it finishes or timeout +if (!isNil "UPSMON_INIT") then { + _maxWait = time + 30; + waituntil {sleep 1; (UPSMON_INIT > 0) || time > _maxWait}; +}; + +// Wait a bit more just in-case they scripts have not settled/synced yet +sleep 3; + +format["passToHCs: First pass beginning now..."] call PassToHC_SendMessage; + +while {true} do { + // Do not enable load balancing unless more than one HC is present + // Leave this variable false, we'll enable it automatically under the right conditions + _loadBalance = false; + + // Get HC Client ID else set variables to null + try { + _HC_ID = owner HC; + + if (_HC_ID > 2) then { + diag_log format ["passToHCs: Found HC with Client ID %1", _HC_ID]; + } else { + diag_log "passToHCs: [WARN] HC disconnected"; + + HC = objNull; + _HC_ID = -1; + }; + } catch { diag_log format ["passToHCs: [ERROR] [HC] %1", _exception]; HC = objNull; _HC_ID = -1; }; + + // Get HC2 Client ID else set variables to null + if (!isNil "HC2") then { + try { + _HC2_ID = owner HC2; + + if (_HC2_ID > 2) then { + diag_log format ["passToHCs: Found HC2 with Client ID %1", _HC2_ID]; + } else { + diag_log "passToHCs: [WARN] HC2 disconnected"; + + HC2 = objNull; + _HC2_ID = -1; + }; + } catch { diag_log format ["passToHCs: [ERROR] [HC2] %1", _exception]; HC2 = objNull; _HC2_ID = -1; }; + } else { + HC2 = objNull; + }; + + // Get HC3 Client ID else set variables to null + if (!isNil "HC3") then { + try { + _HC3_ID = owner HC3; + + if (_HC3_ID > 2) then { + diag_log format ["passToHCs: Found HC2 with Client ID %1", _HC3_ID]; + } else { + diag_log "passToHCs: [WARN] HC3 disconnected"; + + HC3 = objNull; + _HC3_ID = -1; + }; + } catch { diag_log format ["passToHCs: [ERROR] [HC3] %1", _exception]; HC3 = objNull; _HC3_ID = -1; }; + } else { + HC3 = objNull; + }; + + // If no HCs present, wait for HC to rejoin + if ( (isNull HC) && (isNull HC2) && (isNull HC3) ) then { waitUntil {!isNull HC}; }; + + // Check to auto enable Round-Robin load balancing strategy + if ( (!isNull HC && !isNull HC2) || (!isNull HC && !isNull HC3) || (!isNull HC2 && !isNull HC3) ) then { _loadBalance = true; }; + + if ( _loadBalance ) then { + diag_log "passToHCs: Starting load-balanced transfer of AI groups to HCs"; + } else { + // No load balancing + diag_log "passToHCs: Starting transfer of AI groups to HC"; + }; + + // Determine first HC to start with + _currentHC = 0; + + if (!isNull HC) then { _currentHC = 1; } else { + if (!isNull HC2) then { _currentHC = 2; } else { _currentHC = 3; }; + }; + + // Pass the AI + _numTransfered = 0; + { + _syncGroup = _x; + _swap = true; + + _ownerID = _HC_ID; + + if ( _loadBalance ) then { + + _ownerID = switch (_currentHC) do { + case 1: { if (!isNull HC2) then { _currentHC = 2; } else { _currentHC = 3; }; _HC_ID }; + case 2: { if (!isNull HC3) then { _currentHC = 3; } else { _currentHC = 1; }; _HC2_ID }; + case 3: { if (!isNull HC) then { _currentHC = 1; } else { _currentHC = 2; }; _HC3_ID }; + default {-1}; + }; + + } else { + + _ownerID = switch (_currentHC) do { + case 1: {_HC_ID}; + case 2: {_HC2_ID}; + case 3: {_HC3_ID}; + default {-1}; + }; + + }; + + // Check if group has already been transfered + if (_syncGroup getVariable ["hc_transfered", false]) then { + _swap = false; + } else { + + if (groupOwner _syncGroup == _ownerID) then { + _x setVariable ["hc_transfered", true]; + _swap = false; + }; + + }; + + // Check if group is blacklisted + if (_syncGroup getVariable ["hc_blacklist", false]) then { + _swap = false; + }; + + if ( _swap ) then { + { + // If a player is in this group, don't swap to an HC + if (isPlayer _x) exitWith { _swap = false; }; + + // If a unit has 'hc_blacklist' set to true and is in this group, don't swap to an HC. + if (_x getVariable ["hc_blacklist", false]) exitWith { _swap = false; }; + + // If unit is in a vehicle check if vehicle or crew is blacklisted + if (vehicle _x != _x) then { + if ((vehicle _x) getVariable ["hc_blacklist", false]) exitWith { _swap = false; }; + }; + + } forEach (units _syncGroup); + }; + + // Check if group has any waypoints synced to triggers and auto blacklist + if ( _swap ) then { + { + if (count (synchronizedTriggers _x) > 0) exitWith { + _syncGroup setVariable ["hc_blacklist", true]; + _swap = false; + }; + } forEach (waypoints _syncGroup); + }; + + // If load balance enabled, round robin between the HCs - else pass all to HC + if ( _swap ) then { + _rc = false; + + _syncTrigArray = []; + _syncWayArray = []; + { + _wayNum = _forEachIndex; + _syncedTrigs = synchronizedTriggers _x; + _syncTrigArray set [_wayNum,_syncedTrigs]; + + _syncedWays = synchronizedWaypoints _x; + _syncWayArray set [_wayNum,_syncedWays]; + } forEach waypoints _x; + + if (_ownerID >= 0) then { + _rc = _x setGroupOwner _ownerID; + } else { + diag_log format["passToHCs: [ERROR] No Valid HC to pass to. _currentHC = %1", _currentHC]; + }; + + + // If the transfer was successful, count it for accounting and diagnostic information + if ( _rc ) then { + _x setVariable ["hc_transfered", true]; + PassToHC_NumTransfered = PassToHC_NumTransfered + 1; + }; + }; + } forEach (allGroups); + + if (PassToHC_NumTransfered > 0) then { + // More accounting and diagnostic information + + diag_log format ["passToHCs: Transfered %1 AI groups to HC(s)", PassToHC_NumTransfered]; + + _numHC = 0; + _numHC2 = 0; + _numHC3 = 0; + + { + switch (owner ((units _x) select 0)) do { + case _HC_ID: { _numHC = _numHC + 1; }; + case _HC2_ID: { _numHC2 = _numHC2 + 1; }; + case _HC3_ID: { _numHC3 = _numHC3+ 1; }; + }; + } forEach (allGroups); + + diag_log if (_numHC > 0) then { format ["passToHCs: %1 AI groups currently on HC", _numHC]; }; + diag_log if (_numHC2 > 0) then { format ["passToHCs: %1 AI groups currently on HC2", _numHC2]; }; + diag_log if (_numHC3 > 0) then { format ["passToHCs: %1 AI groups currently on HC3", _numHC3]; }; + + diag_log format ["passToHCs: %1 AI groups total across all HC(s)", (_numHC + _numHC2 + _numHC3)]; + } else { + diag_log "passToHCs: No rebalance or transfers required this round"; + }; + + // Force clean up dead bodies and destroyed vehicles + if (count allDead > _cleanUpThreshold) then { + _numDeleted = 0; + { + deleteVehicle _x; + + _numDeleted = _numDeleted + 1; + } forEach allDead; + + diag_log format ["passToHCs: Cleaned up %1 dead bodies/destroyed vehicles", _numDeleted]; + }; + + // Rebalance every rebalanceTimer seconds to avoid hammering the server + sleep _rebalanceTimer; +}; \ 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 new file mode 100644 index 0000000..e480150 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf @@ -0,0 +1,102 @@ +// Changes type of waypont0 for the specified group to "MOVE" and updates time stamps, WP postion and Timout parameters accordinglyD. +/* + for DBD Clan + By Ghostrider-DBD- + Copyright 2016 + Last modified 4/23/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#ifdef blck_debugMode +//diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled"; +#endif +private["_group","_wp","_wpPos","_dis","_arc","_dir","_newPos","_marker","_center","_minDis","_maxDis"]; + +_group = group _this; +if (isServer) then +{ + if (groupOwner _group > 2) exitWith + { + diag_log format["blck_fnc_changeToMoveWaypoint:: Running function on headless client %1 for group %2",groupOwner _group,_group]; + [_group] remoteExec["blck_fnc_changeToMoveWaypoint",groupOwner _group]; + }; +}else{ + _group setcombatmode "YELLOW"; + _group setBehaviour "COMBAT"; + _group setVariable["timeStamp",diag_tickTime,true]; + _wp = [_group, 0]; + _wpPos = getPos ((units _group) select 0); + _dir = _group getVariable["wpDir",0]; + _center = _group getVariable ["patrolCenter",_wpPos]; + if (_group getVariable["wpMode","random"] isEqualTo "random") then + { + _dir = random(360); + } else { + _dir = (_group getVariable["wpDir",0]) + 70; + _group setVariable["wpDir",_dir,true]; + }; + _minDis = _group getVariable["minDis",25]; + _maxDis = _group getVariable["maxDis",30]; + _dis = (_minDis) + random( (_maxDis) - (_minDis) ); + _newPos = (_center) getPos[_dis,_dir]; + _wp setWPPos [_newPos select 0, _newPos select 1]; + _wp setWaypointCompletionRadius (_group getVariable["wpRadius",30]); + _wp setWaypointType "MOVE"; + _wp setWaypointName "move"; + _wp setWaypointBehaviour "COMBAT"; + _wp setWaypointCombatMode "YELLOW"; + _wp setWaypointTimeout [1,1.1,1.2]; + _group setCurrentWaypoint _wp; + #ifdef blck_debugMode + if (blck_debugLevel > 2) then + { + diag_log format["_fnc_changeToMoveWaypoint (4/25/17): _this = %1", _this]; + diag_log format["_fnc_changeToMoveWaypoint: typeName _this = %1", typeName _this]; + diag_log format["_fnc_changeToMoveWaypoint:_group = %1",_group]; + diag_log format["_fnc_changeToMoveWaypoint:_group timestamp updated to %1", _group getVariable "timeStamp"]; + diag_log format["_fnc_changeToMoveWaypoint:: -- >> wpMode %1 _dir %2 _dis %3 _center %4",_group getVariable["wpMode","random"], _dir, _dis,_center]; + diag_log format["_fnc_changeToMoveWaypoint:: -- >> group to update is %1 and new position is %2",_group, _newPos]; + diag_log format["_fnc_changeToMoveWaypoint:: -- >> group to update is %1 and new Waypoint position is %2",_group, getWPPos _wp]; + diag_log format["_fnc_changeToMoveWaypoint:_group %1 basic waypoint parameters updates", _group getVariable "timeStamp"]; + _marker =_group getVariable["wpMarker",""]; + _marker setMarkerColor "ColorBlue"; + diag_log format["_fnc_changeToMoveWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; + }; + #endif + if (_group getVariable["wpPatrolMode",""] isEqualTo "SAD") then + { + #ifdef blck_debugMode + if (blck_debugLevel > 1) then + { + diag_log format["_fnc_changeToMoveWaypoint: seting waypoint script for group %1 to SAD Mode",_group]; + }; + _wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a SAD Waypoint',group this];"]; + #else + _wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint;"]; + #endif + }; + if (_group getVariable["wpPatrolMode",""] isEqualTo "SENTRY") then + { + #ifdef blck_debugMode + if (blck_debugLevel > 1) then + { + diag_log format["_fnc_changeToMoveWaypoint: seting waypoint script for group %1 to SENTRY Mode",_group]; + }; + _wp setWaypointStatements ["true","this call blck_fnc_changeToSentryWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a SENTRY Waypoint',group this];"]; + #else + _wp setWaypointStatements ["true","this call blck_fnc_changeToSentryWaypoint;"]; + #endif + }; + #ifdef blck_debugMode + if (blck_debugLevel > 1) then + { + diag_log format["_fnc_changeToMoveWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; + }; + #endif +}; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf new file mode 100644 index 0000000..6da6084 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf @@ -0,0 +1,61 @@ +// Sets the WP type for WP for the specified group and updates other atributes accordingly. +/* + for DBD Clan + By Ghostrider-DBD- + Copyright 2016 + Last modified 4/29/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; + +#ifdef blck_debugMode +diag_log "_fnc_changeToSADWaypoint: blck_debugMode enabled"; +#endif + +private["_group","_wp"]; + +_group = group _this; +if (isServer) then +{ + if (groupOwner _group > 2) exitWith + { + diag_log format["blck_fnc_changeToSADWaypoint:: Running function on headless client %1 for group %2",groupOwner _group,_group]; + [_group] remoteExec["blck_fnc_changeToSADWaypoint",groupOwner _group]; + }; +}else{ + _group setVariable["timeStamp",diag_tickTime,true]; + _group setcombatmode "RED"; + _group setBehaviour "COMBAT"; + _wp = [_group, 0]; + _group setCurrentWaypoint _wp; + _wp setWaypointType "SAD"; + _wp setWaypointName "sad"; + _wp setWaypointBehaviour "COMBAT"; + _wp setWaypointCombatMode "RED"; + _wp setWaypointTimeout [10,15,20]; + + #ifdef blck_debugMode + _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; + #else + _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; + #endif + + #ifdef blck_debugMode + if (blck_debugLevel > 1) then + { + private ["_marker"]; + _marker = _group getVariable["wpMarker",""]; + _marker setMarkerColor "ColorRed"; + diag_log format["_fnc_changeToSADWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; + diag_log format["_fnc_changeToSADWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; + diag_log format["_fnc_changeToSADWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; + diag_log format["_fnc_changeToSADWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; + }; + #endif +}; \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf new file mode 100644 index 0000000..fe84899 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf @@ -0,0 +1,58 @@ +// Sets the WP type for WP for the specified group and updates other atributes accordingly. +/* + for DBD Clan + By Ghostrider-DBD- + Copyright 2016 + Last modified 4/29/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#ifdef blck_debugMode +diag_log "_fnc_changeToSADWaypoint: blck_debugMode enabled"; +#endif +private["_group","_wp"]; + +_group = group _this; +if (isServer) then +{ + if (groupOwner _group > 2) exitWith + { + diag_log format["blck_fnc_changeToSentryWaypoint:: Running function on headless client %1 for group %2",groupOwner _group,_group]; + [_group] remoteExec["blck_fnc_changeToSentryWaypoint",groupOwner _group]; + }; +} else { + _group setVariable["timeStamp",diag_tickTime,true]; + _wp = [_group, 0]; + _group setCurrentWaypoint _wp; + _group setcombatmode "RED"; + _group setBehaviour "COMBAT"; + _wp setWaypointType "SENTRY"; + _wp setWaypointName "sentry"; + _wp setWaypointBehaviour "COMBAT"; + _wp setWaypointCombatMode "RED"; + _wp setWaypointTimeout [10,15,20]; + #ifdef blck_debugMode + _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; + #else + _wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; + #endif + + #ifdef blck_debugMode + if (blck_debugLevel >1) then + { + diag_log format["_fnc_changeToSentryWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; + diag_log format["_fnc_changeToSentryWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; + private ["_marker"]; + _marker = _group getVariable["wpMarker",""]; + _marker setMarkerColor "ColorYellow"; + diag_log format["_fnc_changeToSentryWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; + diag_log format["_fnc_changeToSentryWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; + }; + #endif +}; \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf similarity index 94% rename from @ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf index b0926be..dae97d6 100644 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf @@ -19,7 +19,7 @@ private["_group","_wp"]; diag_log format["_fnc_changeToSADWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; _group = group _this; diag_log format["_fnc_emplacedWeaponWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; -_group setVariable["timeStamp",diag_tickTime]; +_group setVariable["timeStamp",diag_tickTime,true]; _wp = [_group, 0]; _group setCurrentWaypoint _wp; diag_log format["_fnc_emplacedWeaponWaypoint:: -- >> group to update is %1 waypoints updated at %2",_group, (_group getVariable["timeStamp",diag_tickTime])]; diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf similarity index 85% rename from @epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf index 5afd5b1..370599d 100644 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_missionGroupMonitor.sqf @@ -82,10 +82,10 @@ _fn_monitorGroupWaypoints = { _timeStamp = _x getVariable ["timeStamp",0]; if (_timeStamp isEqualTo 0) then { _x setVariable["timeStamp",diag_tickTime]; - //diag_log format["_fn_monitorGroupWaypoints::--> updating timestamp for group %1 at time %2",_x,diag_tickTime]; + diag_log format["_fn_monitorGroupWaypoints::--> updating timestamp for group %1 at time %2",_x,diag_tickTime]; }; _soldierType = _x getVariable["soldierType","null"]; - //diag_log format["_fn_monitorGroupWaypoints::--> soldierType for group %1 = %2 and timeStamp = %3",_x,_soldierType,_timeStamp]; + diag_log format["_fn_monitorGroupWaypoints::--> soldierType for group %1 = %2 and timeStamp = %3",_x,_soldierType,_timeStamp]; if (_soldierType isEqualTo "infantry") then { @@ -95,6 +95,8 @@ _fn_monitorGroupWaypoints = { if (count _units > 0) then { private _leader = leader _x; + if (owner _x == 2) then + { (_leader) call blck_fnc_changeToMoveWaypoint; #ifdef blck_debugMode if (blck_debugLevel > 2) then {diag_log format["_fnc_missionGroupMonitor: infantry group %1 stuck, waypoint reset",_x];}; @@ -102,10 +104,13 @@ _fn_monitorGroupWaypoints = { /* if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then { - + }; */ - }; + } else { + [_x] remoteExec ["blck_fnc_changeToMoveWaypoint", owner _x];// [] remoteExec ["someScriptCommand", targets, JIP]; + }; + }; }; @@ -117,27 +122,8 @@ _fn_monitorGroupWaypoints = { 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: vehicle group %1 stuck, waypoint reset",_x];}; - #endif - /* - if ( (getPos _leader) distance2d (_group getVariable "patrolCenter") > 200) then + if (owner _x == 2) then { - }; - */ - }; - - }; - }; - if (_soldierType isEqualTo "helicopter") then - { - if (diag_tickTime > (_x getVariable "timeStamp") + 60) then - { - _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];}; @@ -148,6 +134,36 @@ _fn_monitorGroupWaypoints = { }; */ + } else { + [_x] remoteExec ["blck_fnc_changeToMoveWaypoint", owner _x];// [] remoteExec ["someScriptCommand", targets, JIP]; + }; + + }; + }; + }; + if (_soldierType isEqualTo "helicopter") then + { + if (diag_tickTime > (_x getVariable "timeStamp") + 60) then + { + _units = [_x] call _fn_aliveGroupUnits; + if (count _units > 0) then + { + private _leader = leader _x; + if (owner _x == 2) then + { + (_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 + { + + }; + */ + } else { + [_x] remoteExec ["blck_fnc_changeToMoveWaypoint", owner _x];// [] remoteExec ["someScriptCommand", targets, JIP]; + }; }; }; @@ -171,7 +187,7 @@ _fn_simulationMonitor = { // Be sure simulation is on for all units in the group if !(_x getVariable["blck_simulationStatus",false]) then { - _x setVariable["blck_simulationStatus",true]; + _x setVariable["blck_simulationStatus",true,true]; { _x enableSimulationGlobal true; }forEach (units _x); @@ -180,7 +196,7 @@ _fn_simulationMonitor = { // Be sure simulation is off for all units in the group. if !(_x getVariable["blck_simulationStatus",true]) then { - _x setVariable["blck_simulationStatus",false]; + _x setVariable["blck_simulationStatus",false,true]; { _x enableSimulationGlobal false; }forEach (units _x); diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf similarity index 94% rename from @ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf index daaed11..3dd52df 100644 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf @@ -18,7 +18,7 @@ private["_group","_wp","_index","_pattern","_mode","_arc","_dis","_wpPos"]; _group = group _this; -_group setVariable["timeStamp",diag_tickTime]; +_group setVariable["timeStamp",diag_tickTime,true]; _group setcombatmode "YELLOW"; _group setBehaviour "COMBAT" _wp = [_group, 0]; @@ -29,7 +29,7 @@ _index = _index + 1; _minDis = _group getVariable["minDis",0]; _maxDis = _group getVariable["maxDis",0]; dir = (_group getVariable["wpDir",0]) + _group getVariable["wpArc",360/5]; -_group setVariable["wpDir",_dir]; +_group setVariable["wpDir",_dir,true]; diag_log format["_fnc_setNextWaypoint: -> _minDis = %1 | _maxDis = %2 | _arc = %3",_minDis,_maxDis,_arc]; if (_index >= (count _pattern)) then @@ -39,7 +39,7 @@ if (_index >= (count _pattern)) then diag_log format["_fnc_setNextWaypoint: -> waypoint index for group %1 is currently %2 with _pattern = %4 and count _pattern = %3",_group,_index, count _pattern,_pattern]; }; -_group setVariable["wpIndex",_index]; +_group setVariable["wpIndex",_index,true]; _type = _pattern select _index; #ifdef blck_debugMode @@ -60,7 +60,7 @@ if (_type isEqualTo (toLower "move")) then } else { _dir = _group getVariable["wpDir",0] + _group getVariable["wpArc",360/5]; }; - _group setVariable["wpDir",_dir]; + _group setVariable["wpDir",_dir,true]; _oldPos = waypointPosition _wp; _newPos = (_group getVariable ["patrolCenter",_wpPos]) getPos[_dis,_arc]; diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf similarity index 87% rename from @epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf index d1cc454..2cf80ec 100644 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_setupWaypoints.sqf @@ -33,7 +33,7 @@ if (_soldierType isEqualTo "emplaced") then _wp setWaypointTimeout [1,1.1,1.2]; //_wp setWaypointTimeout [0.1,0.1100,0.1200]; _group setCurrentWaypoint _wp; - _group setVariable["soldierType",_soldierType]; + _group setVariable["soldierType",_soldierType,true]; #ifdef blck_debugMode _wp setWaypointStatements ["true","this call blck_fnc_emplacedWeaponWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to an emplaced weapon Waypoint',group this];"]; #else @@ -46,16 +46,16 @@ if !(_soldierType isEqualTo "emplaced") then _arc = 360/5; _group setcombatmode "YELLOW"; _group setBehaviour "COMBAT"; - _group setVariable["patrolCenter",_pos]; - _group setVariable["minDis",_minDis]; - _group setVariable["maxDis",_maxDis]; - _group setVariable["timeStamp",diag_tickTime]; - _group setVariable["wpRadius",30]; - _group setVariable["wpMode",_mode]; - _group setVariable["wpPatrolMode",_wpPatrolMode]; - _group setVariable["wpDir",0]; - _group setVariable["wpArc",_arc]; - _group setVariable["soldierType",_soldierType]; + _group setVariable["patrolCenter",_pos,true]; + _group setVariable["minDis",_minDis,true]; + _group setVariable["maxDis",_maxDis,true]; + _group setVariable["timeStamp",diag_tickTime,true]; + _group setVariable["wpRadius",30,true]; + _group setVariable["wpMode",_mode,true]; + _group setVariable["wpPatrolMode",_wpPatrolMode,true]; + _group setVariable["wpDir",0,true]; + _group setVariable["wpArc",_arc,true]; + _group setVariable["soldierType",_soldierType,true]; _dir = 0; _wpradius = 30; @@ -78,7 +78,7 @@ if !(_soldierType isEqualTo "emplaced") then if (blck_debugLevel > 1) then { _marker = createMarker [format["GroupMarker%1",_group],_newPos]; - _group setVariable["wpMarker",_marker]; + _group setVariable["wpMarker",_marker,true]; _marker setMarkerColor "ColorBlue"; _marker setMarkerText format["%1 %2",(_group getVariable["soldierType","null"]),_group]; _marker setMarkerType "mil_triangle"; diff --git a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf similarity index 89% rename from @ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf rename to @GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf index d0bde5e..b364d93 100644 --- a/@ExileServer/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf +++ b/@GMS/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf @@ -13,11 +13,18 @@ http://creativecommons.org/licenses/by-nc-sa/4.0/ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; - +#ifdef blck_debugMode +if (blck_debugLevel >=2) then +{ + { + diag_log format["_fnc_spawnGroup:: _this select %1 = %2",_forEachIndex,_x]; + }forEach _this; +}; +#endif private["_numbertospawn","_groupSpawned","_safepos","_weaponList","_useLauncher","_launcherType"]; params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_configureWaypoints",true] ]; -if (blck_debugLevel > 1) then +if (blck_debugLevel >= 1) then { diag_log format["[blckeagls] _fnc_spawnGroup called parameters: _numai1 %1, _numbai2 %2, _skillLevel %3, _center %4",_numai1,_numai2,_skillLevel,_center]; }; @@ -30,7 +37,7 @@ if (_numai2 > _numai1) then }; #ifdef blck_debugMode -if (blck_debugLevel > 1) then +if (blck_debugLevel >= 1) then { diag_log format["spawnGroup.sqf: _numbertospawn = %1",_numbertospawn]; }; @@ -39,7 +46,7 @@ if (blck_debugLevel > 1) then _groupSpawned = createGroup [blck_AI_Side, true]; // true here causes any empty group to be automatically deleted within 1 sec or so. https://community.bistudio.com/wiki/createGroup #ifdef blck_debugMode -if (blck_debugLevel > 1) then +if (blck_debugLevel >= 1) then { diag_log format["spawnGroup.sqf: _groupSpawned = %1",_groupSpawned]; }; @@ -47,7 +54,7 @@ if (blck_debugLevel > 1) then if !(isNull _groupSpawned) then { #ifdef blck_debugMode - if (blck_debugLevel > 1) then {diag_log format["_fnc_spawnGroup:: -- >> Group created = %1",_groupSpawned]}; + if (blck_debugLevel >= 1) then {diag_log format["_fnc_spawnGroup:: -- >> Group created = %1",_groupSpawned]}; #endif _groupSpawned setVariable["groupVehicle",objNull]; @@ -60,7 +67,7 @@ if !(isNull _groupSpawned) then _groupSpawned allowfleeing 0; _groupSpawned setspeedmode "FULL"; _groupSpawned setFormation blck_groupFormation; - _groupSpawned setVariable ["blck_group",true]; + _groupSpawned setVariable ["blck_group",true,true]; //diag_log format["spawnGroup:: group is %1",_groupSpawned]; // Determines whether or not the group has launchers @@ -105,7 +112,7 @@ if !(isNull _groupSpawned) then //[_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 + if (blck_debugLevel >= 1) then { diag_log format["fnc_spawnGroup:: Group spawned was %1 with units of %2",_groupSpawned, units _groupSpawned]; }; diff --git a/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_XferGroup.sqf b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_XferGroup.sqf new file mode 100644 index 0000000..87e56ef --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_XferGroup.sqf @@ -0,0 +1,17 @@ +diag_log format["_fnc_HC_XferGroup:: _this = %1",_this]; +private["_group","_client","_unit","_localEH","_tempEH"]; +_group = _this select 0; +_client = clientOwner; +{ + _unit = _x; + _localEH = []; + { + _unit removeAllEventHandlers _x; + }forEach ["Killed","Fired","HandleDamage","HandleHeal","FiredNear","Hit"]; + _tempEH = ["reloaded",_unit addEventHandler ["reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]]; + _localEH pushBack _tempEH; + //_unit addMPEventHandler ["mpkilled", {[(_this select 0), (_this select 1)] call compile preprocessfilelinenumbers blck_EH_AIKilled;}]; // changed to reduce number of concurrent threads, but also works as spawn blck_AIKilled; }]; + _tempEH = ["Hit",_unit addEventHandler ["Hit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIHit;}]]; + _localEH pushBack _tempEH; + _x setVariable["localEH",_tempEH,true]; +}forEach (units _group); \ No newline at end of file diff --git a/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_XferVehicle.sqf b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_XferVehicle.sqf new file mode 100644 index 0000000..d537858 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_XferVehicle.sqf @@ -0,0 +1,6 @@ +diag_log format["_fnc_HC_XferVehicle:: _this = %1",_this]; +private["_veh","_tempEH","_localEH"]; +_veh = _this select 0; +_tempEH = ["HandleDamage",_veh addMPEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]]; +_localEH = [_tempEH]; +_veh setVariable["localEH",_tempEH,true]; diff --git a/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_groupsAssigned.sqf b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_groupsAssigned.sqf new file mode 100644 index 0000000..290b873 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HC_groupsAssigned.sqf @@ -0,0 +1,18 @@ +/* + * passToHCs.sqf + * + * In the mission editor, name the Headless Clients "HC", "HC2", "HC3" without the quotes + * + * In the mission init.sqf, call passToHCs.sqf with: + * execVM "passToHCs.sqf"; + * + * It seems that the dedicated server and headless client processes never use more than 20-22% CPU each. + * With a dedicated server and 3 headless clients, that's about 88% CPU with 10-12% left over. Far more efficient use of your processing power. + * + */ + +_clientId = clientOwner; +_allGroups = allGroups; +_groupsOwned = {groupOwner _x isEqualTo _clientId)} count allGroups; +[_clientId,_groupsOwned] remoteExec ["blck_fnc_updateClientGroupCounts",2]; +diag_log format["_fnc_HC_groupsAssigned:: %1 groups running on client %2",_groupsOwned,_clientId]; diff --git a/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HCmonitor.sqf b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HCmonitor.sqf new file mode 100644 index 0000000..2310b6c --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_HCmonitor.sqf @@ -0,0 +1,16 @@ +/* + + */ +diag_log "_fnc_HCmonitor.sqf"; + _blckGroups = 0; + _otherGroups = 0; + _totalGroups = 0; + + while {true} do + { + _blckGroups = {_x getVariable["blck_group",false] && (groupOwner _x isEqualTo clientOwner)} count allGroups; + _totalGroups = {(groupOwner _x) isEqualTo clientOwner} count allGroups; + _totalGroups = _blckGroups + _otherGroups; + diag_log format["blckHC:: headless client %1 at diag_tickTime running %3 fps",clientOwner,diag_tickTime,diag_fps]; + uiSleep 60; + }; diff --git a/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_onPlayerDisconnected.sqf b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_onPlayerDisconnected.sqf new file mode 100644 index 0000000..42fac09 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/HC/GMS_fnc_onPlayerDisconnected.sqf @@ -0,0 +1,47 @@ +params["_name","_owner"]; +diag_log format["_fnc_onPlayerDisconnected triggered with _name = %1 and _owner = %2",_name,_owner]; +private["_HCownerids","_groupLocalEH","_vehicleLocalEH"]; +// Remove the name of the HC from the list of active, connected HCs +if (toLower(_name) isEqualTo "headlessclient") then +{ + diag_log "_fnc_onPlayerDisconnected: a headless client disconnected, time to deal with the damage"; + _entities = entities "Headlessclient_F"; + _blck_connectedHCs = +blck_connectedHCs; + _HCownerids = []; + { + if !(_x in _entities) then + { + // If the HC is not in the list of connected SC then delete it from the list maintained separately by blckeagls. + blck_connectedHCs = blck_connectedHCs - [_x]; + } else { + // Grab the owner ids for currently connected HCs. + _HCownerids pushBack (owner _x); + }; + }forEach _blck_connectedHCs; + + // Check whether there are any groups assigned to an owner that is not connected and deal with it + { + if !(_x getVariable["owner",0] in _HCownerids) then + { + diag_log format["_fnc_onPlayerDisconnected:: reseting eventHandlers for group %1",_x]; + // do any cleanup; at present this is simply removing locally added event handlers + _groupLocalEH = _x getVariable["localEH",[]]; + { + _x removeEventHandler _x; + }forEach _groupLocalEH; + _x setVariable["localEH",nil,true]; + }; + }forEach allGroups; + { + if !(_x getVariable["owner",0] in _HCownerids) then + { + diag_log format["_fnc_onPlayerDisconnected:: reseting eventHandlers for vehicle %1",_x]; + // do any cleanup; at present this is simply removing locally added event handlers + _vehicleLocalEH = _x getVariable["localEH",[]]; + { + _x removeEventHandler _x; + }forEach _vehicleLocalEH; + _x setVariable["localEH",nil,true]; + }; + }forEach blck_monitoredVehicles; +}; \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf diff --git a/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf new file mode 100644 index 0000000..92e6289 --- /dev/null +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf @@ -0,0 +1,116 @@ +/* + + [_mines,_objects,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission] call blck_fnc_endMission; + schedules deletion of all remaining alive AI and mission objects. + Updates the mission que. + Updates mission markers. + By Ghostrider GRG + 10/9/17 + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ + #include "\q\addons\custom_server\Configs\blck_defines.hpp" + +_fn_missionCleanup = { + params["_mines","_objects","_blck_AllMissionAI","_mission","_cleanupAliveAITimer","_cleanupCompositionTimer"]; + [_mines] spawn blck_fnc_clearMines; + //diag_log format["_fnc_endMission: (103) _objects = %1",_objects]; + [_objects, _cleanupCompositionTimer] spawn blck_fnc_addObjToQue; + //diag_log format["_fnc_endMission:: (106) _blck_AllMissionAI = %1",_blck_AllMissionAI]; + [_blck_AllMissionAI, (_cleanupAliveAITimer)] spawn blck_fnc_addLiveAItoQue; + blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords]; + blck_recentMissionCoords pushback [_coords,diag_tickTime]; + //diag_log format["_fnc_endMission:: (109) _mission = %1",_mission]; + [_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue; + blck_missionsRunning = blck_missionsRunning - 1; +}; + + params["_mines","_objects","_crates","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission",["_aborted",false],["_vehicles",[]]]; + private["_cleanupAliveAITimer","_cleanupCompositionTimer"]; + #ifdef blck_debugMode + if (blck_debugLevel > 0) then + { + diag_log format["_fnc_endMission: _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _aborted %4",_blck_localMissionMarker,_coords,_mission,_aborted]; + diag_log format["_fnc_endMission: _aborted = %1",_aborted]; + }; + #endif + + if (_aborted > 0) exitWith + { + #ifdef blck_debugMode + if (blck_debugLevel > 0) then { + diag_log format["_fnc_endMission: Mission Aborted, setting all timers to 0"]; + }; + #endif + if (_aborted == 2) then + { + [["abort",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; + }; + [_blck_localMissionMarker select 0] call blck_fnc_deleteMarker; + _cleanupCompositionTimer = 0; + _cleanupAliveAITimer = 0; + [_mines,_objects,_blck_AllMissionAI,_mission,_cleanupAliveAITimer,_cleanupCompositionTimer] call _fn_missionCleanup; + { + deleteVehicle _x; + }forEach _crates; + { + deleteVehicle _x; + }forEach _vehicles; + }; + if (_aborted == 0) then + { + private["_cleanupAliveAITimer","_cleanupCompositionTimer"]; + if (blck_useSignalEnd) then + { + [_crates select 0] spawn blck_fnc_signalEnd; + { + _x enableRopeAttach true; + }forEach _crates; + #ifdef blck_debugMode + if (blck_debugLevel > 0) then + { + diag_log format["[blckeagls] _fnc_endMission:: (18) SignalEnd called: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + }; + #endif + }; + #ifdef blck_debugMode + if (blck_debugLevel > 0) then { + diag_log format["_fnc_endMission: Mission Completed without errors, setting all timers to default values"]; + }; + #endif + + _cleanupCompositionTimer = blck_cleanupCompositionTimer; + _cleanupAliveAITimer = blck_AliveAICleanUpTimer; + [["end",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; + [_blck_localMissionMarker select 0] call blck_fnc_deleteMarker; + [_blck_localMissionMarker select 1, _markerClass] spawn blck_fnc_missionCompleteMarker; + // Using a variable attached to the crate rather than the global setting to be sure we do not fill a crate twice. + // the "lootLoaded" loaded should be set to true by the crate filler script so we can use that for our check. + { + //diag_log format["_fnc_endMission (82): for crate %1 lootLoaded = %2",_x,_x getVariable["lootLoaded",false]]; + if !(_x getVariable["lootLoaded",false]) then + { + // _crateLoot,_lootCounts are defined above and carry the loot table to be used and the number of items of each category to load + [_x,_crateLoot,_lootCounts] call blck_fnc_fillBoxes; + }; + }forEach _crates; + { + private ["_v","_posnVeh"]; + _posnVeh = blck_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count blck_monitoredVehicles -1) + if (_posnVeh >= 0) then + { + //diag_log format["_fnc_endMission: setting missionCompleted for vehicle %1 to %2",_x,diag_tickTime]; + (blck_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; + } else { + _x setVariable ["missionCompleted", diag_tickTime]; + blck_monitoredVehicles pushback _x; + }; + } forEach _vehicles; + [_mines,_objects,_blck_AllMissionAI,_mission,_cleanupAliveAITimer,_cleanupCompositionTimer] call _fn_missionCleanup; + }; + _aborted \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf similarity index 70% rename from @epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf index 32757e1..e801384 100644 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner.sqf @@ -1,9 +1,8 @@ /* Generic Mission Spawner - for DBD Clan - By Ghostrider-DBD- + By Ghostrider GRG Copyright 2016 - Last modified 8/13/17 + Last modified 10/9/17 -------------------------- License @@ -14,9 +13,9 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_AI_Vehicles","_timeOut","_aiDifficultyLevel"]; +private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_AI_Vehicles","_timeOut","_aiDifficultyLevel","_missionPatrolVehicles","_missionGroups"]; params["_coords","_mission",["_allowReinforcements",true]]; -diag_log format["_missionSpawner (18):: _allowReinforcements = %1",_allowReinforcements]; +//diag_log format["_missionSpawner (18):: _allowReinforcements = %1",_allowReinforcements]; //////// // set all variables needed for the missions @@ -28,8 +27,6 @@ diag_log format["_missionSpawner (18):: _allowReinforcements = %1",_allowReinfo _markerClass = _mission select 2; _aiDifficultyLevel = _mission select 3; -if (blck_debugLevel > 0) then {diag_log format["_fnc_mainThread:: -->> _markerClass = %1",_markerClass];}; - [_mission,"active",_coords] call blck_fnc_updateMissionQue; blck_ActiveMissionCoords pushback _coords; diag_log format["[blckeagls] missionSpawner (17):: Initializing mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; @@ -40,7 +37,12 @@ if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; //if (isNil "_timeOut") then {_timeOut = -1;}; if (isNil "_loadCratesTiming") then {_loadCratesTiming = blck_loadCratesTiming}; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - +if (isNil "_missionPatrolVehicles") then { + //diag_log format["_missionSpawner (44):: _missionPatrolVehicles isNil, Definining it as an empty array"]; + _missionPatrolVehicles = []; + //diag_log format["_missionSpawner (46):: _missionPatrolVehicles is %1",_missionPatrolVehicles]; +}; +if (isNil "_missionGroups") then {_missionGroups = []}; private["_useMines","_blck_AllMissionAI","_delayTime","_groupPatrolRadius"]; if (isNil "_useMines") then {_useMines = blck_useMines;}; @@ -66,13 +68,11 @@ if !(blck_preciseMapMarkers) then _blck_localMissionMarker set [1,[_coords,75] call blck_fnc_randomPosition]; }; _blck_localMissionMarker set [3,blck_labelMapMarkers select 1]; // Use an arrow labeled with the mission name? -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (91) message players and spawn a mission marker";}; [["start",_startMsg,_markerMissionName]] call blck_fnc_messageplayers; -//[["start",_startMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; -[_blck_localMissionMarker] execVM "debug\spawnMarker.sqf"; - +[_blck_localMissionMarker] call blck_fnc_spawnMarker; #ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (94) waiting for player to trigger the mission";}; +if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (91) message players and spawn a mission marker";}; +if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (77) waiting for player to trigger the mission";}; #endif //////// // All parameters are defined, lets wait until a player is nearby or the mission has timed out @@ -83,7 +83,10 @@ _missionStartTime = diag_tickTime; _playerInRange = false; _missionTimedOut = false; _wait = true; -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (105) starting mission trigger loop"}; + +#ifdef blck_debugMode +if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (90) starting mission trigger loop"}; +#endif while {_wait} do { @@ -125,7 +128,7 @@ if (_missionTimedOut) exitWith #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log format["[blckeagls] missionSpawner:: (105) Mission Timed Out: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["[blckeagls] missionSpawner:: (133) Mission Timed Out: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif }; @@ -136,30 +139,7 @@ if (_missionTimedOut) exitWith #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log format["[blckeagls] missionSpawner:: (112) -- >> Mission tripped: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -if (count _missionLootBoxes > 0) then -{ - _crates = [_coords,_missionLootBoxes,_loadCratesTiming] call blck_fnc_spawnMissionCrates; -} -else -{ - _crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming] call blck_fnc_spawnMissionCrates; - -}; - -if (blck_cleanUpLootChests) then -{ - _objects append _crates; -}; - -//uisleep 2; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (136) Crates Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["[blckeagls] missionSpawner:: (142) -- >> Mission tripped: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif @@ -181,11 +161,13 @@ if (_useMines) then }; uiSleep _delayTime; _temp = []; +diag_log format["_missionSpawner"" _missionLandscape = %1",_missionLandscape]; if (_missionLandscapeMode isEqualTo "random") then { _temp = [_coords,_missionLandscape, 3, 15, 2] call blck_fnc_spawnRandomLandscape; } else { - _temp = [_coords, floor(random(360)),_missionLandscape,true] call blck_fnc_spawnCompositionObjects; + params["_center","_objects"]; + _temp = [_coords, _missionLandscape] call blck_fnc_spawnCompositionObjects; //uiSleep 1; }; if (typeName _temp isEqualTo "ARRAY") then @@ -197,7 +179,7 @@ if (typeName _temp isEqualTo "ARRAY") then #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log format["[blckeagls] missionSpawner:: (170) Landscape spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["[blckeagls] missionSpawner:: (190) Landscape spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif @@ -211,26 +193,25 @@ uiSleep _delayTime; _abort = false; _temp = [[],[],false]; -_temp = [_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; -//[_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; +_temp = [_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear,_missionGroups] call blck_fnc_spawnMissionAI; #ifdef blck_debugMode if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (185) blck_fnc_spawnMissionAI returned a value of _temp = %1",_temp]; uiSleep 1; + diag_log format["missionSpawner :: (209) blck_fnc_spawnMissionAI returned a value of _temp = %1",_temp]; uiSleep 1; }; _abort = _temp select 1; if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (190) blck_fnc_spawnMissionAI returned a value of _abort = %1",_abort]; uiSleep 1; + diag_log format["missionSpawner :: (214) blck_fnc_spawnMissionAI returned a value of _abort = %1",_abort]; uiSleep 1; }; #endif if (_abort) exitWith { if (blck_debugLevel > 1) then { - diag_log "missionSpawner:: (194) grpNull returned, mission termination criteria met, calling blck_fnc_endMission" + diag_log "missionSpawner:: (220) grpNull returned, mission termination criteria met, calling blck_fnc_endMission" }; - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; + [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,1] call blck_fnc_endMission; }; if !(_abort) then { @@ -242,23 +223,24 @@ uiSleep _delayTime; #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log format["[blckeagls] missionSpawner:: (202) AI Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["[blckeagls] missionSpawner:: (235) AI Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif -uiSleep 3; +uiSleep _delayTime; _temp = [[],[],false]; _abort = false; private["_patrolVehicles","_vehToSpawn"]; _vehToSpawn = [_noVehiclePatrols] call blck_fnc_getNumberFromRange; -diag_log format["_missionSpawner:: _vehToSpawn = %1",_vehToSpawn]; -if (blck_useVehiclePatrols && (_vehToSpawn > 0)) then +//diag_log format["_missionSpawner:: _vehToSpawn = %1",_vehToSpawn]; +//diag_log format["_missionSpawner (245):: _missionPatrolVehicles = %1",_missionPatrolVehicles]; +if (blck_useVehiclePatrols && ((_vehToSpawn > 0) || count _missionPatrolVehicles > 0)) then { - _temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; + _temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_missionPatrolVehicles] call blck_fnc_spawnMissionVehiclePatrols; //[_coords,_noVehiclePatrols,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["missionSpawner :: (216) blck_fnc_spawnMissionVehiclePatrols returned _temp = %1",_temp]; + diag_log format["missionSpawner :: (251) blck_fnc_spawnMissionVehiclePatrols returned _temp = %1",_temp]; }; #endif @@ -274,7 +256,7 @@ if (blck_useVehiclePatrols && (_vehToSpawn > 0)) then #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log format["[blckeagls] missionSpawner:: (272) Vehicle Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["[blckeagls] missionSpawner:: (267) Vehicle Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif @@ -285,76 +267,17 @@ if (_abort) exitWith { #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log "missionSpawner:: (222) grpNull returned, mission termination criteria met, calling blck_endMission"; + diag_log "missionSpawner:: (279) grpNull returned, mission termination criteria met, calling blck_endMission"; }; #endif - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; + [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,1] call blck_fnc_endMission; }; uiSleep _delayTime; _temp = [[],[],false]; _abort = false; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log format["missionSpawner:: (234) preparing to spawn emplaced weapons for _coords %4 | _markerClass %3 | blck_useStatic = %1 | _noEmplacedWeapons = %2",blck_useStatic,_noEmplacedWeapons,_markerClass,_coords];}; -#endif - -uiSleep 3; -private["_noEmplacedToSpawn"]; -_noEmplacedToSpawn = [_noEmplacedWeapons] call blck_fnc_getNumberFromRange; -diag_log format["_missionSpawner:: _noEmplacedToSpawn = %1",_vehToSpawn]; -if (blck_useStatic && (_noEmplacedToSpawn > 0)) then -{ - // params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; - _temp = [_missionEmplacedWeapons,_noEmplacedToSpawn,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (232) blck_fnc_spawnEmplacedWeaponArray returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (241) _abort = %1",_abort]; - - }; - #endif - - if !(_abort) then - { - _objects append (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (253) Static Weapons Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - }; -}; -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (261) grpNull ERROR in blck_fnc_spawnEmplacedWeaponArray, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; -}; - -uiSleep 3; if (_allowReinforcements) then { _weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout; @@ -363,7 +286,7 @@ if (_allowReinforcements) then #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["[blckeagls] missionSpawner:: (268) calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["[blckeagls] missionSpawner:: (298) calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif private _noChoppers = 0; @@ -387,7 +310,9 @@ if (_allowReinforcements) then _chancePara = [blck_chanceParaOrange] call blck_fnc_getNumberFromRange; }; }; - diag_log format["_missionSpawner:: _noChoppers = %1 && _chancePara = %2",_noChoppers,_chancePara]; + #ifdef blck_debugMode + diag_log format["_missionSpawner(322):: _noChoppers = %1 && _chancePara = %2",_noChoppers,_chancePara]; + #endif for "_i" from 1 to (_noChoppers) do { //params["_coords","_aiSkillsLevel","_weapons","_uniforms","_headgear"]; @@ -397,8 +322,8 @@ if (_allowReinforcements) then #ifdef blck_debugMode if (blck_debugLevel >= 2) then { - diag_log format["missionSpawner:: blck_fnc_spawnMissionReinforcements call for chopper # %1 out of a total of %2 choppers",_i, _noChoppers]; - diag_log format["missionSpawner:: _temp = %1",_temp]; + diag_log format["missionSpawner(334):: blck_fnc_spawnMissionReinforcements call for chopper # %1 out of a total of %2 choppers",_i, _noChoppers]; + diag_log format["missionSpawner(335):: _temp = %1",_temp]; }; #endif @@ -410,20 +335,105 @@ if (_allowReinforcements) then }; if (_abort) then { - - #ifdef blck_debugMode + #ifdef blck_debugMode if (blck_debugLevel > 2) then { - diag_log "missionSpawner:: (276) grpNul or ERROR in blck_fnc_spawnMissionReinforcements, mission termination criteria met, calling blck_endMission"; + diag_log "missionSpawner:: (349) grpNul or ERROR in blck_fnc_spawnMissionReinforcements, mission termination criteria met, calling blck_endMission"; }; #endif - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; + [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,1] call blck_fnc_endMission; }; }; }; +////////////////////////// +// Spawn Crates and Emplaced Weapons Last to try to force them to correct positions relative to spawned buildinga or other objects. +#ifdef blck_debugMode +if (blck_debugLevel > 0) then {diag_log format["missionSpawner:: (361) preparing to spawn emplaced weapons for _coords %4 | _markerClass %3 | blck_useStatic = %1 | _noEmplacedWeapons = %2",blck_useStatic,_noEmplacedWeapons,_markerClass,_coords];}; +#endif +uiSleep 15; +private["_noEmplacedToSpawn"]; +_noEmplacedToSpawn = [_noEmplacedWeapons] call blck_fnc_getNumberFromRange; +//diag_log format["_missionSpawner:: _noEmplacedToSpawn = %1",_vehToSpawn]; +if (blck_useStatic && (_noEmplacedToSpawn > 0)) then +{ + // params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; + _temp = [_missionEmplacedWeapons,_noEmplacedToSpawn,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray; + + #ifdef blck_debugMode + if (blck_debugLevel > 2) then + { + diag_log format ["missionSpawner:: (375) blck_fnc_spawnEmplacedWeaponArray returned _temp = %1",_temp]; + }; + #endif + + if (typeName _temp isEqualTo "ARRAY") then + { + _abort = _temp select 2; + }; + + #ifdef blck_debugMode + if (blck_debugLevel > 2) then + { + diag_log format ["missionSpawner:: (387) _abort = %1",_abort]; + + }; + #endif + + if !(_abort) then + { + _objects append (_temp select 0); + _blck_AllMissionAI append (_temp select 1); + + #ifdef blck_debugMode + if (blck_debugLevel > 0) then + { + diag_log format["[blckeagls] missionSpawner:: (400) Static Weapons Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + }; + #endif + }; +}; +if (_abort) exitWith +{ + #ifdef blck_debugMode + if (blck_debugLevel > 2) then + { + diag_log "missionSpawner:: (410) grpNull ERROR in blck_fnc_spawnEmplacedWeaponArray, mission termination criteria met, calling blck_endMission"; + }; + #endif + + [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,1] call blck_fnc_endMission; +}; + +uiSleep _delayTime; +if (count _missionLootBoxes > 0) then +{ + _crates = [_coords,_missionLootBoxes,_loadCratesTiming] call blck_fnc_spawnMissionCrates; +} +else +{ + _crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming] call blck_fnc_spawnMissionCrates; + +}; + +if (blck_cleanUpLootChests) then +{ + _objects append _crates; +}; + + +//uisleep 2; +#ifdef blck_debugMode +if (blck_debugLevel > 0) then +{ + diag_log format["[blckeagls] missionSpawner:: (428) Crates Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; +}; +#endif + // Trigger for mission end -//diag_log format["[blckeagls] mission Spawner _endCondition = %1",_endCondition]; +#ifdef blck_debugMode +diag_log format["[blckeagls] mission Spawner(436) _endCondition = %1",_endCondition]; +#endif private["_missionComplete","_endIfPlayerNear","_endIfAIKilled"]; _missionComplete = -1; _startTime = diag_tickTime; @@ -434,37 +444,61 @@ switch (_endCondition) do case "allUnitsKilled": {_endIfPlayerNear = false;_endIfAIKilled = true;}; case "allKilledOrPlayerNear": {_endIfPlayerNear = true;_endIfAIKilled = true;}; }; -//diag_log format["missionSpawner :: (269) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; +#ifdef blck_debugMode +diag_log format["missionSpawner :: (449) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; +#endif private["_locations"]; _locations = [_coords]; { _locations pushback (getPos _x); + _x setVariable["crateSpawnPos", (getPos _x)]; } forEach _crates; - -//diag_log format["missionSpawner:: _coords = %1 | _crates = %2 | _locations = %3",_coords,_crates,_locations]; -//diag_log format["missionSpawner:: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled]; -while {_missionComplete isEqualTo -1} do +#ifdef blck_debugMode +diag_log format["missionSpawner (458):: _coords = %1 | _crates = %2 | _locations = %3",_coords,_crates,_locations]; +#endif +private _crateStolen = false; +#ifdef blck_debugMode +diag_log format["missionSpawner(462):: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled]; +#endif +_fn_crateMoved = { + params["_crate"]; + private _result = (_x distance (_x getVariable["crateSpawnPos",[0,0,0]])) > 10; + //diag_log format["_fn_crateMoved:: _result = %1",_result]; + _result; +}; +while {_missionComplete isEqualTo -1} do { //if (blck_debugLevel isEqualTo 3) exitWith {uiSleep 180}; if ((_endIfPlayerNear) && [_locations,10,true] call blck_fnc_playerInRangeArray) exitWith {}; - if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1 /*[_blck_AllMissionAI] call blck_fnc_missionAIareDead*/ ) exitWith {}; - //diag_log format["missionSpawner:: (283) missionCompleteLoop - > players near = %1 and ai alive = %2",[_coords,20] call blck_fnc_playerInRange, {alive _x} count _blck_AllMissionAI]; + if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1) exitWith {}; + + { + if ({[_x] call _fn_crateMoved} count _crates > 0) exitWith + { + _missionComplete = 1; + _crateStolen = true; + }; + }forEach _crates; + //diag_log format["missionSpawner:: (483) missionCompleteLoop - > players near = %1 and ai alive = %2 and crates stolen = %3",[_coords,20] call blck_fnc_playerInRange, {alive _x} count _blck_AllMissionAI, _crateStolen]; uiSleep 4; }; - +if (_crateStolen) exitWith +{ + diag_log format["missionSpawner:: (491) Crate Stolen Callening _fnc_endMission - > players near = %1 and ai alive = %2 and crates stolen = %3",[_locations,10,true] call blck_fnc_playerInRangeArray, {alive _x} count _blck_AllMissionAI, _crateStolen]; + [_mines,_objects,_crates, _blck_AllMissionAI,"Crate Removed from Mission Site Before Mission Completion: Mission Aborted",_blck_localMissionMarker,_coords,_mission,2] call blck_fnc_endMission; +}; #ifdef blck_debugMode if (blck_debugLevel > 0) then { - diag_log format["[blckeagls] missionSpawner:: (414) Mission completion criteria fulfilled: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - diag_log format["missionSpawner :: (415) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; + diag_log format["[blckeagls] missionSpawner:: (496) Mission completion criteria fulfilled: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; + diag_log format["missionSpawner :: (497) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; + diag_log format["[blckeagls] missionSpawner:: (498) calling endMission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; }; #endif -//diag_log format["[blckeagls] missionSpawner:: (418) calling endMission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - private["_result"]; // Force passing the mission name for informational purposes. _blck_localMissionMarker set [2, _markerMissionName]; -_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,false,_patrolVehicles] call blck_fnc_endMission; +_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,0] call blck_fnc_endMission; -//diag_log format["[blckeagls] missionSpawner:: (420)end of mission: blck_fnc_endMission returned value of %1","pending"]; +diag_log format["[blckeagls] missionSpawner:: (507)end of mission: blck_fnc_endMission has returned control to _fnc_missionSpawner"]; diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf similarity index 86% rename from @epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf index 1e0980a..7e3e8c7 100644 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnBaseObjects.sqf @@ -2,7 +2,7 @@ Spawn objects from an array using offsects from a central location. The code provided by M3Editor EDEN has been addapted to add checks for vehicles, should they be present. Returns an array of spawned objects. - version of 1/13/17 + version of 10/13/17 -------------------------- License @@ -13,19 +13,20 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -params["_center","_azi","_objects","_setVector"]; - +params["_center","_objects"]; +//diag_log format["_spawnBaseObjects:: -> _objects = %1",_objects]; private ["_newObjs"]; _newObjs = []; + { //diag_log format["_fnc_spawnBaseObjects::-->> _x = %1",_x]; private _obj = (_x select 0) createVehicle [0,0,0]; _newObjs pushback _obj; - _obj setDir ( (_x select 2) + _azi); + _obj setDir (_x select 2); _obj setPosATL (_center vectorAdd (_x select 1)); - _obj enableSimulationGlobal true; + _obj enableDynamicSimulation true; _obj allowDamage true; // Lock any vehicles placed as part of the mission landscape. Note that vehicles that can be taken by players can be added via the mission template. if ( (typeOf _obj) isKindOf "LandVehicle" || (typeOf _obj) isKindOf "Air" || (typeOf _obj) isKindOf "Sea") then diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf similarity index 96% rename from @epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf index 24cb52a..1b18635 100644 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnCrate.sqf @@ -27,6 +27,6 @@ _crate = createVehicle [_crateType,_coords,[], 0, "CAN_COLLIDE"]; _crate setVariable ["LAST_CHECK", 100000]; _crate setPosATL [_px, _py, 0.5]; _crate allowDamage false; -_crate enableRopeAttach true; +_crate enableRopeAttach false; [_crate] call blck_fnc_emptyObject; _crate; diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf similarity index 73% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf index 85b1508..7e5bf90 100644 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf @@ -16,13 +16,12 @@ params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; //diag_log format["_fnc_spawnEmplacedWeaponArray:: _this = %1",_this]; -private["_return","_emplacedWeps","_emplacedAI","_wep","_units","_gunner","_abort","_pos","_mode"]; +private["_return","_emplacedWeps","_emplacedAI","_wep","_units","_gunner","_abort","_pos","_mode","_useRelativePos","_useRelativePos"]; _emplacedWeps = []; _emplacedAI = []; _units = []; _abort = false; _pos = []; -_mode = "vector"; #ifdef blck_debugMode //diag_log "_fnc_spawnEmplacedWeaponArray start"; @@ -31,12 +30,12 @@ _mode = "vector"; // Define _missionEmplacedWeapons if not already configured. if (_missionEmplacedWeapons isEqualTo []) then { - _mode = "world"; + _useRelativePos = false; _missionEmplacedWeaponPositions = [_coords,_noEmplacedWeapons,35,50] call blck_fnc_findPositionsAlongARadius; #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnEmplacedWeaponArray: creating random spawn locations: _missionEmplacedWeaponsPositions = %1", _missionEmplacedWeaponPositions]; + diag_log format["_fnc_spawnEmplacedWeaponArray(38): creating random spawn locations: _missionEmplacedWeaponsPositions = %1", _missionEmplacedWeaponPositions]; }; #endif { @@ -45,17 +44,19 @@ if (_missionEmplacedWeapons isEqualTo []) then _missionEmplacedWeapons pushback [_static,_x]; //diag_log format["_fnc_spawnEmplacedWeaponArray: _mi updated to %1",_missionEmplacedWeapons]; } forEach _missionEmplacedWeaponPositions; -}; +} else { + _useRelativePos = true; +};; #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnEmplacedWeaponArray:: starting static weapon spawner with _missionEmplacedWeapons = %1", _missionEmplacedWeapons]; + diag_log format["_fnc_spawnEmplacedWeaponArray(52):: starting static weapon spawner with _missionEmplacedWeapons = %1", _missionEmplacedWeapons]; }; #endif { - if (_mode isEqualTo "vector") then + if (_useRelativePos) then { _pos = _coords vectorAdd (_x select 1); } else { @@ -65,12 +66,12 @@ if (blck_debugLevel > 1) then #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnEmplacedWeaponArray: _coords = %1 | offset = %2 | final _pos = 53",_coords,_x select 1, _pos]; + diag_log format["_fnc_spawnEmplacedWeaponArray(67):: _coords = %1 | offset = %2 | final _pos = %3",_coords,_x select 1, _pos]; }; #endif // params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear] ]; - _empGroup = [(_x select 1),1,1,_aiDifficultyLevel,(_x select 1),1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; + _empGroup = [_pos,1,1,_aiDifficultyLevel,(_x select 1),1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; _empGroup setcombatmode "RED"; _empGroup setBehaviour "COMBAT"; @@ -80,10 +81,10 @@ if (blck_debugLevel > 1) then #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnEmplacedWeaponArray:: typeName _empGroup = %1 and _empGroup = %2 and _x = %3",typeName _empGroup, _empGroup,_x]; + diag_log format["_fnc_spawnEmplacedWeaponArray(82):: typeName _empGroup = %1 and _empGroup = %2 and _x = %3",typeName _empGroup, _empGroup,_x]; }; #endif - + // params["_vehType","_pos",["_clearInventory",true]]; _wep = [(_x select 0),[0,0,0],false] call blck_fnc_spawnVehicle; _wep addEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; @@ -92,12 +93,12 @@ if (blck_debugLevel > 1) then #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnEmplacedWeaponArray (23) spawnVehicle returned value of _wep = %1",_wep]; + diag_log format["_fnc_spawnEmplacedWeaponArray (94) spawnVehicle returned value of _wep = %1",_wep]; }; #endif _wep setVariable["DBD_vehType","emplaced"]; - _wep setPosATL _pos; + _wep setPos _pos; [_wep,false] call blck_fnc_configureMissionVehicle; _emplacedWeps pushback _wep; _units = units _empGroup; @@ -108,8 +109,8 @@ if (blck_debugLevel > 1) then #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnEmplacedWeaponArray:: position of emplaced weapon = %1 and targetd position is %2",getPos _wep, _pos]; - diag_log format["_fnc_spawnEmplacedWeaponArray:: _gunner = %1 and crew _wep = %2",_gunner, crew _wep]; + diag_log format["_fnc_spawnEmplacedWeaponArray(110):: position of emplaced weapon = %1 and targetd position is %2",getPos _wep, _pos]; + diag_log format["_fnc_spawnEmplacedWeaponArray(111):: _gunner = %1 and crew _wep = %2",_gunner, crew _wep]; }; #endif diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf similarity index 73% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf index a96b599..3466770 100644 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf @@ -19,8 +19,16 @@ http://creativecommons.org/licenses/by-nc-sa/4.0/ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; +#ifdef blck_debugMode +if (blck_debugLevel >=2) then +{ + { + diag_log format["_fnc_spawnMissionAI:: _this select %1 = %2",_forEachIndex,_x]; + }forEach _this; +}; +#endif - params["_coords",["_minNoAI",3],["_maxNoAI",6],["_aiDifficultyLevel","red"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear]]; + params["_coords",["_minNoAI",3],["_maxNoAI",6],["_aiDifficultyLevel","red"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear],"_missionGroups"]; private["_unitsToSpawn","_unitsPerGroup","_ResidualUnits","_newGroup","_blck_AllMissionAI","_abort"]; _unitsToSpawn = [[_minNoAI,_maxNoAI]] call blck_fnc_getNumberFromRange; //round(_minNoAI + round(random(_maxNoAI - _minNoAI))); _unitsPerGroup = floor(_unitsToSpawn/_noAIGroups); @@ -29,19 +37,59 @@ _abort = false; #ifdef blck_debugMode - if (blck_debugLevel > 1) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI (30):: _unitsToSpawn %1 ; _unitsPerGroup %2 _ResidualUnits %3",_unitsToSpawn,_unitsPerGroup,_ResidualUnits]; }; #endif +if (count _missionGroups > 0) then +{ + { + _x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; + _groupSpawnPos = _coords vectorAdd _position; + + diag_log format["_fnc_spawnMissionAI:: _x= %1",_x]; + diag_log format["_fnc_spawnMissionAI:: _coords = %1 | _groupSpawnPos = %2 | _position = %3",_coords,_groupSpawnPos,_position]; + // player modelToWorld [0,-1,3]; + // params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_configureWaypoints",true] ]; + _newGroup = [_groupSpawnPos,_minAI,_maxAI,_skillLevel,_coords,_minPatrolRadius,_maxPatrolRadius,_uniforms,_headGear,true] call blck_fnc_spawnGroup; + + #ifdef blck_debugMode + if (blck_debugLevel >= 2) then + { + diag_log format["_fnc_spawnMissionAI (37):: case 1 - > _newGroup = %1",_newGroup]; + }; + #endif + if (isNull _newGroup) then + { + _abort = true; + } + else + { + _newAI = units _newGroup; + blck_monitoredMissionAIGroups pushback _newGroup; + #ifdef blck_debugMode + if (blck_debugLevel >= 2) then + { + diag_log format["_fnc_spawnMissionAI(41): Spawning Groups: _noAIGroups=1 _newGroup=%1 _newAI = %2",_newGroup, _newAI]; + }; + #endif + + _blck_AllMissionAI append _newAI; + + }; + }forEach _missionGroups; +}; +if (_missionGroups isEqualTo []) then +{ switch (_noAIGroups) do { case 1: { // spawn the group near the mission center #ifdef blck_debugMode //params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear] ]; - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["missionSpawner: Spawning Groups: _noAIGroups=1"]; }; @@ -50,7 +98,7 @@ _newGroup = [_coords,_unitsToSpawn,_unitsToSpawn,_aiDifficultyLevel,_coords,25,30,_uniforms,_headGear,true] call blck_fnc_spawnGroup; #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI (37):: case 1 - > _newGroup = %1",_newGroup]; }; @@ -65,7 +113,7 @@ _newAI = units _newGroup; blck_monitoredMissionAIGroups pushback _newGroup; #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI(41): Spawning Groups: _noAIGroups=1 _newGroup=%1 _newAI = %2",_newGroup, _newAI]; }; @@ -78,7 +126,7 @@ case 2: { #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI(47): Spawning Groups: _noAIGroups=2"]; // spawn groups on either side of the mission area }; @@ -104,7 +152,7 @@ _newAI = units _newGroup; #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI(61): case 2: _newGroup=%1",_newGroup]; }; @@ -118,7 +166,7 @@ case 3: { // spawn one group near the center of the mission and the rest on the perimeter #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI (68): Spawning Groups: _noAIGroups=3"]; }; @@ -135,7 +183,7 @@ _newAI = units _newGroup; #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI (73): Case 3: _newGroup=%1",_newGroup]; }; @@ -155,7 +203,7 @@ _newAI = units _newGroup; #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI(78): Case 3: line 81: _newGroup = %1",_newGroup]; }; @@ -169,7 +217,7 @@ default { // spawn one group near the center of the mission and the rest on the perimeter #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI (88): case 4:"]; }; @@ -183,7 +231,7 @@ _newAI = units _newGroup; #ifdef blck_debugMode - if (blck_debugLevel > 2) then + if (blck_debugLevel >= 2) then { diag_log format["_fnc_spawnMissionAI(92): Spawning Groups: _noAIGroups=1 _newGroup=%1 _newAI = %2",_newGroup, _newAI]; }; @@ -209,14 +257,14 @@ }forEach _groupLocations; }; }; +}; +#ifdef blck_debugMode +if (blck_debugLevel >= 1) then +{ + diag_log format["_fnc_spawnMissionAI(133): _abort = %1 | _blck_AllMissionAI = %2",_abort,_blck_AllMissionAI]; +}; +#endif - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionAI(133): _abort = %1 | _blck_AllMissionAI = %2",_abort,_blck_AllMissionAI]; - }; - #endif - - private["_return"]; - _return = [_blck_AllMissionAI,_abort]; - _return +private["_return"]; +_return = [_blck_AllMissionAI,_abort]; +_return diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf similarity index 56% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf index a9a031e..fb51544 100644 --- a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf +++ b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf @@ -14,25 +14,48 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -params["_coords","_noVehiclePatrols","_aiDifficultyLevel","_uniforms","_headGear",["_missionType","unspecified"]]; +params["_coords","_noVehiclePatrols","_aiDifficultyLevel","_uniforms","_headGear","_missionPatrolVehicles"]; #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnMissionVehiclePatrols:: _coords = %1 | _noVehiclePatrols = %2 | _aiDifficultyLevel = %3 | _missionType = %4",_coords,_noVehiclePatrols,_aiDifficultyLevel,_missionType]; + diag_log format["_fnc_spawnMissionVehiclePatrols:: _coords = %1 | _noVehiclePatrols = %2 | _aiDifficultyLevel = %3",_coords,_noVehiclePatrols,_aiDifficultyLevel]; }; #endif -private["_vehGroup","_patrolVehicle","_vehiclePatrolSpawns","_missionAI","_missiongroups","_vehicles","_return","_vehiclePatrolSpawns","_randomVehicle","_return","_abort"]; +private["_vehGroup","_patrolVehicle","_vehiclePatrolSpawns","_missionAI","_missiongroups","_vehicles","_return","_vehiclePatrolSpawns","_vehicle","_return","_abort"]; _vehicles = []; _missionAI = []; _abort = false; - -_vehiclePatrolSpawns = [_coords,_noVehiclePatrols,45,60] call blck_fnc_findPositionsAlongARadius; +_useRelativePos = false; +if (_missionPatrolVehicles isEqualTo []) then +{ + _vehiclePatrolSpawns = [_coords,_noVehiclePatrols,45,60] call blck_fnc_findPositionsAlongARadius; + { + private _v = selectRandom blck_AIPatrolVehicles; + //diag_log format["_fnc_spawnMissionVehiclePatrols (36):: position = %1 and vehicle = %2",_x, _v]; + _missionPatrolVehicles pushBack [_v, _x]; + }forEach _vehiclePatrolSpawns; +} else { + _useRelativePos = true; +}; { + #ifdef blck_debugMode + if (blck_debugLevel > 1) then + { + diag_log format["_fnc_spawnMissionVehiclePatrols:: _x = %1 and _coords = %2",_x,_coords]; + }; + #endif private ["_spawnPos"]; - _spawnPos = _x; + if (_useRelativePos) then + { + _spawnPos = _coords vectorAdd (_x select 1) + } else { + _spawnPos = _x select 1; + }; + _vehicle = _x select 0; + _vehGroup = [_spawnPos,3,3,_aiDifficultyLevel,_coords,1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; if (isNull _vehGroup) exitWith { @@ -48,27 +71,24 @@ _vehiclePatrolSpawns = [_coords,_noVehiclePatrols,45,60] call blck_fnc_findPosit if (blck_debugLevel > 1) then { diag_log format["_fnc_spawnMissionVehiclePatrols: group spawned = %1",_vehGroup]; - diag_log format["_fnc_spawnMissionVehiclePatrols (40):: -> _missionType = %3 _vehGroup = %1 and units _vehGroup = %2",_vehGroup, units _vehGroup,_missionType]; + //diag_log format["_fnc_spawnMissionVehiclePatrols (40):: -> _missionType = %3 _vehGroup = %1 and units _vehGroup = %2",_vehGroup, units _vehGroup,_missionType]; }; #endif - - _randomVehicle = selectRandom blck_AIPatrolVehicles; #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnMissionVehiclePatrols: _randomVehicle = %1",_randomVehicle]; - diag_log format["_fnc_spawnMissionVehiclePatrols:: -> randomly selected vehicle = %1",_randomVehicle]; + diag_log format["_fnc_spawnMissionVehiclePatrols(66): will spawn vehicle %1 at position %2",_vehicle,_spawnPos]; }; #endif //params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull]]; - _patrolVehicle = [_coords,_spawnPos,_randomVehicle,35,45,_vehGroup] call blck_fnc_spawnVehiclePatrol; - _vehGroup setVariable["groupVehicle",_randomVehicle]; + _patrolVehicle = [_coords,_spawnPos,_vehicle,35,45,_vehGroup] call blck_fnc_spawnVehiclePatrol; + _vehGroup setVariable["groupVehicle",_vehicle]; #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnMissionVehiclePatrols (65):: - > patrol vehicle spawned was %1",_patrolVehicle]; + diag_log format["_fnc_spawnMissionVehiclePatrols (76):: - > patrol vehicle spawned was %1",_patrolVehicle]; }; #endif @@ -82,11 +102,11 @@ _vehiclePatrolSpawns = [_coords,_noVehiclePatrols,45,60] call blck_fnc_findPosit #ifdef blck_debugMode if (blck_debugLevel > 1) then { - diag_log format["_fnc_spawnMissionVehiclePatrols:: -- > _vehicles updated to %1",_vehicles]; + diag_log format["_fnc_spawnMissionVehiclePatrols(91):: -- > _vehicles updated to %1",_vehicles]; }; #endif -} forEach _vehiclePatrolSpawns; +} forEach _missionPatrolVehicles; blck_monitoredVehicles append _vehicles; _return = [_vehicles, _missionAI, _abort]; diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf b/@GMS/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf rename to @GMS/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf b/@GMS/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf rename to @GMS/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf b/@GMS/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf rename to @GMS/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf b/@GMS/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf rename to @GMS/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf diff --git a/@epochhive/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf b/@GMS/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf similarity index 95% rename from @epochhive/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf rename to @GMS/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf index d4baf2c..ace94a2 100644 --- a/@epochhive/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf +++ b/@GMS/addons/custom_server/Compiles/TimeAccel/GMS_fnc_Time.sqf @@ -51,10 +51,10 @@ if (_time > (_sunset + 0.5) || _time < (_sunrise - 0.5)) exitWith { // Day if (_time > (_sunrise + 0.5) && _time < (_sunset - 0.5)) exitWith { setTimeMultiplier blck_timeAccelerationDay; + diag_log format["DAYTIME ADJUSTMENT:: time accel updated to %1; time of day = %2",timeMultiplier,dayTime]; #ifdef blck_debugMode if (blck_debugLevel > 2) then { - diag_log format["DAYTIME ADJUSTMENT:: time accel updated to %1; time of day = %2",timeMultiplier,dayTime]; }; #endif diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf similarity index 92% rename from @epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf index e83f11a..244878a 100644 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_AIHit.sqf @@ -14,7 +14,7 @@ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; private ["_unit","_instigator","_group","_wp"]; -//diag_log format["_EH_AIHit::-->> _this = %1",_this]; +diag_log format["_EH_AIHit::-->> _this = %1",_this]; _unit = _this select 0 select 0; _instigator = _this select 0 select 3; @@ -39,7 +39,7 @@ _wp setWaypointCombatMode "RED"; if (_unit getVariable ["hasHealed",false]) exitWith {}; if ((damage _unit) > 0.1 ) then { - //diag_log format["_EH_AIHit::-->> Healing unit %1",_unit]; + diag_log format["_EH_AIHit::-->> Healing unit %1",_unit]; _unit setVariable["hasHealed",true,true]; _unit addMagazine "SmokeShellOrange"; _unit fire "SmokeShellMuzzle"; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf similarity index 85% rename from @epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf index d7e8151..4820f38 100644 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf @@ -15,5 +15,5 @@ params["_unit","_killer"]; -//diag_log format["EH_AIKilled:: _units = %1 and _killer = %2",_unit,_killer]; +diag_log format["EH_AIKilled:: _units = %1 and _killer = %2",_unit,_killer]; [_unit,_killer] remoteExec ["blck_fnc_processAIKill",2]; diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf similarity index 92% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf index 9671043..3af69b8 100644 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf @@ -37,6 +37,6 @@ if (blck_debugON) then { //diag_log format["_EH_unitWeaponReloaded:: unit %1 currently has the following magazines 2",_this select 0,magazines (_this select 0)]; }; #endif -//if (blck_debugLevel > 2) then (diag_log format["_EH_unitWeaponReloaded:: one magazine of type %1 added to inventory of unit %2",_mag,_unit]; +if (blck_debugLevel > 2) then (diag_log format["_EH_unitWeaponReloaded:: one magazine of type %1 added to inventory of unit %2",_mag,_unit]; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf similarity index 87% rename from @epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf index 9b94a23..d70bc61 100644 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertGroupUnits.sqf @@ -14,6 +14,7 @@ private["_knowsAbout","_intelligence","_group"]; params["_unit","_target"]; +diag_log format["_fnc_alertGroupUnits called _unit = %1 and _targert = %2",_unit,_target]; _intelligence = _unit getVariable ["intelligence",1]; _group = group _unit; { diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf similarity index 93% rename from @epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf index cd12b74..7775e1e 100644 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyVehicles.sqf @@ -32,7 +32,7 @@ _fn_allertNearbyVehicleGroups = { if (_target distance2D (leader _vehGroup) < 1000) then {[_vehGroup,_target] call _fn_alertGroupUnits;}; }forEach _vehicles; }; - +diag_log format["_fnc_alertNearbyVehicles called: _target = %1",_target]; [blck_monitoredVehicles,_target] call _fn_allertNearbyVehicleGroups; diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf similarity index 87% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf index 78fa2a0..05211aa 100644 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf @@ -18,7 +18,7 @@ params["_unit"]; { _unit removeAllEventHandlers _x; -}forEach ["Killed","Fired","HandleDamage","HandleHeal","FiredNear"]; +}forEach ["killed","mpkilled","hit","reloaded","Fired","HandleDamage","HandleHeal","FiredNear"]; private _group = (group _unit); [_unit] joinSilent grpNull; deleteVehicle _unit; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf similarity index 96% rename from @epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf index 046d8ba..ce94307 100644 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processAIKill.sqf @@ -14,7 +14,7 @@ private["_group","_isLegal","_weapon","_lastkill","_kills","_message","_killstreakMsg"]; params["_unit","_killer","_isLegal"]; - +//diag_log format["_fnc_processAIKills:: function called with _this = %1",_this]; _unit setVariable ["blck_cleanupAt", (diag_tickTime) + blck_bodyCleanUpTimer, true]; blck_deadAI pushback _unit; diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf similarity index 97% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf index 33d8566..755e3db 100644 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf @@ -28,7 +28,7 @@ _fn_targetVehicle = { // force AI to fire on the vehicle with launchers if equi if (_unit getVariable ["Launcher",""] != "") then { _x selectWeapon (secondaryWeapon _unit); - _x fireAtTarget [_vk,_unit getVariable ["Launcher"]]; + _x fireAtTarget [_vk,_unit getVariable ["Launcher",""]]; } else { _x doTarget _vk; _x doFire _vk; diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf similarity index 91% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf rename to @GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf index 46ee104..61cc4ea 100644 --- a/@ExileServer/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf +++ b/@GMS/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf @@ -63,9 +63,6 @@ while {_skin isEqualTo "" && _counter < 10} do //diag_log format["_fnc_spawnUnit::-->> for unit _ai1 % uniform is %2",_ai1, uniform _ai1]; _counter =+1; }; -//Stops the AI from being cleaned up -_ai1 setVariable["DBD_AI",1]; - //Sets AI Tactics _ai1 enableAI "TARGET"; _ai1 enableAI "AUTOTARGET"; @@ -140,25 +137,25 @@ if (_Launcher != "none") then { _ai1 addItemToBackpack (getArray (configFile >> "CfgWeapons" >> _Launcher >> "magazines") select 0); // call BIS_fnc_selectRandom; }; - _ai1 setVariable["Launcher",_launcher]; + _ai1 setVariable["Launcher",_launcher,true]; }; if(sunOrMoon < 0.2 && blck_useNVG)then { _ai1 addWeapon selectRandom blck_NVG; - _ai1 setVariable ["hasNVG", true]; + _ai1 setVariable ["hasNVG", true,true]; } else { - _ai1 setVariable ["hasNVG", false]; + _ai1 setVariable ["hasNVG", false,true]; }; // Infinite ammo //_ai1 addeventhandler ["fired", {(_this select 0) setvehicleammo 1;}]; -_ai1 addEventHandler ["reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]; -_ai1 addEventHandler ["killed",{ [(_this select 0), (_this select 1)] call compile preprocessfilelinenumbers blck_EH_AIKilled;}]; // changed to reduce number of concurrent threads, but also works as spawn blck_AIKilled; }]; -_ai1 addEventHandler ["Hit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AHHit;}]; +_ai1 addMPEventHandler ["reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]; +_ai1 addMPEventHandler ["mpkilled", {[(_this select 0), (_this select 1)] call compile preprocessfilelinenumbers blck_EH_AIKilled;}]; // changed to reduce number of concurrent threads, but also works as spawn blck_AIKilled; }]; +_ai1 addMPEventHandler ["Hit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIHit;}]; //_ai1 addEventHandler ["FiredNear",{diag_log "-------->>>>>>>> Weapon fired Near Unit";}]; //_ai1 addEventHandler ["FiredNear",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIFiredNear;};]; diff --git a/@ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Units/GMS_EH_AIKilled.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf similarity index 67% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf index 7028bac..d552140 100644 --- a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf @@ -13,9 +13,10 @@ */ #include "\q\addons\custom_server\Configs\blck_defines.hpp"; -private ["_unit","_instigator","_group","_wp"]; -diag_log format["_EH_AIVehicle_HandleDamage::-->> _this = %1",_this]; -_unit = _this select 0 select 0; +private ["_veh","_instigator","_group","_wp"]; +//diag_log format["_EH_AIVehicle_HandleDamage::-->> _this = %1",_this]; +//diag_log format["_EH_AIVehicle_HandleDamage:: _units = %1 and _instigator = %2 units damage is %3",_unit,_instigator, damage _unit]; +_veh = _this select 0 select 0; _instigator = _this select 0 select 3; #ifdef blck_debugMode @@ -25,11 +26,12 @@ if (blck_debugLevel > 1) then }; #endif -if (!(alive _unit)) exitWith {}; +if (!(alive _veh)) exitWith {}; if (!(isPlayer _instigator)) exitWith {}; -[_unit,_instigator] call blck_fnc_alertGroupUnits; +_crew = crew _veh; +[_crew select 0,_instigator] call blck_fnc_alertGroupUnits; [_instigator] call blck_fnc_alertNearbyVehicles; -_group = group _unit; +_group = group (_veh select 0); //_group setBehavior "COMBAT"; _wp = [_group, currentWaypoint _group]; _wp setWaypointBehaviour "COMBAT"; diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf similarity index 96% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf index 059f532..4ca54b4 100644 --- a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf @@ -20,6 +20,7 @@ if (blck_debugLevel > 1) then {diag_log format["spawnVehicle.sqf: _vehType = %1 #endif _veh = createVehicle[_vehType, _pos, [], 0, "NONE"]; +_veh setVariable["blck_vehicle",true]; [_veh] call blck_fnc_protectVehicle; #ifdef blck_debugMode diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf similarity index 95% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf index e37010a..b795f80 100644 --- a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf +++ b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf @@ -35,7 +35,7 @@ if (blck_debugLevel > 1) then if !(isNull _group) then { // exitWith {diag_log "[blckeagls] ERROR CONDITION:-->> NULL-GROUP Provided to _fnc_spawnVehiclePatrol"; objNull;}; _veh = [_vehType,_pos] call blck_fnc_spawnVehicle; - _veh addEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; + _veh addMPEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; _group setVariable["groupVehicle",_veh]; //#ifdef blck_debugMode if (blck_debugLevel > 1) then diff --git a/@ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf b/@GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf rename to @GMS/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf diff --git a/@epochhive/addons/custom_server/Compiles/blck_functions.sqf b/@GMS/addons/custom_server/Compiles/blck_functions.sqf similarity index 93% rename from @epochhive/addons/custom_server/Compiles/blck_functions.sqf rename to @GMS/addons/custom_server/Compiles/blck_functions.sqf index ebbdbc3..63f8007 100644 --- a/@epochhive/addons/custom_server/Compiles/blck_functions.sqf +++ b/@GMS/addons/custom_server/Compiles/blck_functions.sqf @@ -33,6 +33,7 @@ blck_fnc_allPlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_ blck_fnc_addItemToCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_addItemToCrate.sqf"; blck_fnc_loadLootItemsFromArray = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_loadLootItemsFromArray.sqf"; blck_fnc_getNumberFromRange = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getNumberFromRange.sqf"; +blck_fnc_passToHCs = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_passToHCs.sqf"; #ifdef DBDserver blck_fnc_broadcastServerFPS = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_broadcastServerFPS.sqf"; @@ -110,5 +111,12 @@ blck_fnc_setSkill = compileFinal preprocessFileLineNumbers "\q\addons\custom_se blck_fnc_cleanupAliveAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_cleanupAliveAI.sqf"; blck_fnc_deleteAI = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_deleteAI.sqf"; +// 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_HCmonitor = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\HC\GMS_fnc_HCmonitor.sqf"; +onPlayerDisconnected {[_name,_owner] call blck_fnc_onPlayerDisconnected;}; diag_log "[blckeagls] Functions Loaded"; blck_functionsCompiled = true; diff --git a/@ExileServer/addons/custom_server/Compiles/blck_variables.sqf b/@GMS/addons/custom_server/Compiles/blck_variables.sqf similarity index 92% rename from @ExileServer/addons/custom_server/Compiles/blck_variables.sqf rename to @GMS/addons/custom_server/Compiles/blck_variables.sqf index 8dfbf12..8568b42 100644 --- a/@ExileServer/addons/custom_server/Compiles/blck_variables.sqf +++ b/@GMS/addons/custom_server/Compiles/blck_variables.sqf @@ -12,9 +12,9 @@ */ #include"\q\addons\custom_server\Configs\blck_defines.hpp"; -blck_debugON = false; -blck_debugLevel = 0; // Sets level of detail for debugging info - WIP. -blck_minFPS = 10; +blck_debugON = true; +blck_debugLevel = 3; // Sets level of detail for debugging info - WIP. +blck_minFPS = 8; //////////////////////////////////////////////// // Do Not Touch Anything Below This Line @@ -31,6 +31,7 @@ blck_pendingMissions = []; blck_missionsRunning = 0; blck_activeMissions = []; blck_deadAI = []; +blck_connectedHCs = []; #ifdef useDynamicSimulation "Group" setDynamicSimulationDistance 1800; enableDynamicSimulationSystem true; diff --git a/@ExileServer/addons/custom_server/Compiles/passToHCs.sqf b/@GMS/addons/custom_server/Compiles/passToHCs.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Compiles/passToHCs.sqf rename to @GMS/addons/custom_server/Compiles/passToHCs.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_configs.sqf b/@GMS/addons/custom_server/Configs/blck_configs.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_configs.sqf rename to @GMS/addons/custom_server/Configs/blck_configs.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_configs_epoch.sqf b/@GMS/addons/custom_server/Configs/blck_configs_epoch.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_configs_epoch.sqf rename to @GMS/addons/custom_server/Configs/blck_configs_epoch.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_configs_epoch_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_configs_epoch_mil.sqf rename to @GMS/addons/custom_server/Configs/blck_configs_epoch_mil.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_configs_exile.sqf b/@GMS/addons/custom_server/Configs/blck_configs_exile.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_configs_exile.sqf rename to @GMS/addons/custom_server/Configs/blck_configs_exile.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_configs_exile_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_configs_exile_mil.sqf rename to @GMS/addons/custom_server/Configs/blck_configs_exile_mil.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_configs_mil.sqf b/@GMS/addons/custom_server/Configs/blck_configs_mil.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_configs_mil.sqf rename to @GMS/addons/custom_server/Configs/blck_configs_mil.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_custom_config.sqf b/@GMS/addons/custom_server/Configs/blck_custom_config.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_custom_config.sqf rename to @GMS/addons/custom_server/Configs/blck_custom_config.sqf diff --git a/@ExileServer/addons/custom_server/Configs/blck_defines.hpp b/@GMS/addons/custom_server/Configs/blck_defines.hpp similarity index 100% rename from @ExileServer/addons/custom_server/Configs/blck_defines.hpp rename to @GMS/addons/custom_server/Configs/blck_defines.hpp diff --git a/@ExileServer/addons/custom_server/MapAddons/MapAddons_init.sqf b/@GMS/addons/custom_server/MapAddons/MapAddons_init.sqf similarity index 100% rename from @ExileServer/addons/custom_server/MapAddons/MapAddons_init.sqf rename to @GMS/addons/custom_server/MapAddons/MapAddons_init.sqf diff --git a/@ExileServer/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf b/@GMS/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf similarity index 100% rename from @ExileServer/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf rename to @GMS/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf diff --git a/@ExileServer/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf b/@GMS/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf similarity index 100% rename from @ExileServer/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf rename to @GMS/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Blue/default.sqf b/@GMS/addons/custom_server/Missions/Blue/default.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Blue/default.sqf rename to @GMS/addons/custom_server/Missions/Blue/default.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Blue/default2.sqf b/@GMS/addons/custom_server/Missions/Blue/default2.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Blue/default2.sqf rename to @GMS/addons/custom_server/Missions/Blue/default2.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Blue/medicalCamp.sqf b/@GMS/addons/custom_server/Missions/Blue/medicalCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Blue/medicalCamp.sqf rename to @GMS/addons/custom_server/Missions/Blue/medicalCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Blue/redCamp.sqf b/@GMS/addons/custom_server/Missions/Blue/redCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Blue/redCamp.sqf rename to @GMS/addons/custom_server/Missions/Blue/redCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Blue/resupplyCamp.sqf b/@GMS/addons/custom_server/Missions/Blue/resupplyCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Blue/resupplyCamp.sqf rename to @GMS/addons/custom_server/Missions/Blue/resupplyCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/GMS_missionLists.sqf b/@GMS/addons/custom_server/Missions/GMS_missionLists.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/GMS_missionLists.sqf rename to @GMS/addons/custom_server/Missions/GMS_missionLists.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Green/default.sqf b/@GMS/addons/custom_server/Missions/Green/default.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Green/default.sqf rename to @GMS/addons/custom_server/Missions/Green/default.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Green/default2.sqf b/@GMS/addons/custom_server/Missions/Green/default2.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Green/default2.sqf rename to @GMS/addons/custom_server/Missions/Green/default2.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Green/medicalCamp.sqf b/@GMS/addons/custom_server/Missions/Green/medicalCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Green/medicalCamp.sqf rename to @GMS/addons/custom_server/Missions/Green/medicalCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Green/redCamp.sqf b/@GMS/addons/custom_server/Missions/Green/redCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Green/redCamp.sqf rename to @GMS/addons/custom_server/Missions/Green/redCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Green/resupplyCamp.sqf b/@GMS/addons/custom_server/Missions/Green/resupplyCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Green/resupplyCamp.sqf rename to @GMS/addons/custom_server/Missions/Green/resupplyCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Orange/default.sqf b/@GMS/addons/custom_server/Missions/Orange/default.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Orange/default.sqf rename to @GMS/addons/custom_server/Missions/Orange/default.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Orange/default2.sqf b/@GMS/addons/custom_server/Missions/Orange/default2.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Orange/default2.sqf rename to @GMS/addons/custom_server/Missions/Orange/default2.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Orange/medicalCamp.sqf b/@GMS/addons/custom_server/Missions/Orange/medicalCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Orange/medicalCamp.sqf rename to @GMS/addons/custom_server/Missions/Orange/medicalCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Orange/redCamp.sqf b/@GMS/addons/custom_server/Missions/Orange/redCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Orange/redCamp.sqf rename to @GMS/addons/custom_server/Missions/Orange/redCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Orange/resupplyCamp.sqf b/@GMS/addons/custom_server/Missions/Orange/resupplyCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Orange/resupplyCamp.sqf rename to @GMS/addons/custom_server/Missions/Orange/resupplyCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Red/default.sqf b/@GMS/addons/custom_server/Missions/Red/default.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Red/default.sqf rename to @GMS/addons/custom_server/Missions/Red/default.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Red/default2.sqf b/@GMS/addons/custom_server/Missions/Red/default2.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Red/default2.sqf rename to @GMS/addons/custom_server/Missions/Red/default2.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Red/medicalCamp.sqf b/@GMS/addons/custom_server/Missions/Red/medicalCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Red/medicalCamp.sqf rename to @GMS/addons/custom_server/Missions/Red/medicalCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Red/redCamp.sqf b/@GMS/addons/custom_server/Missions/Red/redCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Red/redCamp.sqf rename to @GMS/addons/custom_server/Missions/Red/redCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Red/resupplyCamp.sqf b/@GMS/addons/custom_server/Missions/Red/resupplyCamp.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Red/resupplyCamp.sqf rename to @GMS/addons/custom_server/Missions/Red/resupplyCamp.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf b/@GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf rename to @GMS/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf b/@GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf rename to @GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf b/@GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf rename to @GMS/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf b/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf rename to @GMS/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf diff --git a/@ExileServer/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf b/@GMS/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf similarity index 100% rename from @ExileServer/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf rename to @GMS/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf diff --git a/@ExileServer/addons/custom_server/SLS/SLS_defines_epoch.sqf b/@GMS/addons/custom_server/SLS/SLS_defines_epoch.sqf similarity index 100% rename from @ExileServer/addons/custom_server/SLS/SLS_defines_epoch.sqf rename to @GMS/addons/custom_server/SLS/SLS_defines_epoch.sqf diff --git a/@ExileServer/addons/custom_server/SLS/SLS_defines_exile.sqf b/@GMS/addons/custom_server/SLS/SLS_defines_exile.sqf similarity index 100% rename from @ExileServer/addons/custom_server/SLS/SLS_defines_exile.sqf rename to @GMS/addons/custom_server/SLS/SLS_defines_exile.sqf diff --git a/@ExileServer/addons/custom_server/SLS/SLS_functions.sqf b/@GMS/addons/custom_server/SLS/SLS_functions.sqf similarity index 100% rename from @ExileServer/addons/custom_server/SLS/SLS_functions.sqf rename to @GMS/addons/custom_server/SLS/SLS_functions.sqf diff --git a/@ExileServer/addons/custom_server/SLS/SLS_init.sqf b/@GMS/addons/custom_server/SLS/SLS_init.sqf similarity index 100% rename from @ExileServer/addons/custom_server/SLS/SLS_init.sqf rename to @GMS/addons/custom_server/SLS/SLS_init.sqf diff --git a/@ExileServer/addons/custom_server/SLS/SLS_init_epoch.sqf b/@GMS/addons/custom_server/SLS/SLS_init_epoch.sqf similarity index 100% rename from @ExileServer/addons/custom_server/SLS/SLS_init_epoch.sqf rename to @GMS/addons/custom_server/SLS/SLS_init_epoch.sqf diff --git a/@ExileServer/addons/custom_server/SLS/SLS_init_exile.sqf b/@GMS/addons/custom_server/SLS/SLS_init_exile.sqf similarity index 100% rename from @ExileServer/addons/custom_server/SLS/SLS_init_exile.sqf rename to @GMS/addons/custom_server/SLS/SLS_init_exile.sqf diff --git a/@ExileServer/addons/custom_server/config.cpp b/@GMS/addons/custom_server/config.cpp similarity index 100% rename from @ExileServer/addons/custom_server/config.cpp rename to @GMS/addons/custom_server/config.cpp diff --git a/@ExileServer/addons/custom_server/init/blck_init.sqf b/@GMS/addons/custom_server/init/blck_init.sqf similarity index 100% rename from @ExileServer/addons/custom_server/init/blck_init.sqf rename to @GMS/addons/custom_server/init/blck_init.sqf diff --git a/@GMS/addons/custom_server/init/blck_init_HC.sqf b/@GMS/addons/custom_server/init/blck_init_HC.sqf new file mode 100644 index 0000000..1d7b4af --- /dev/null +++ b/@GMS/addons/custom_server/init/blck_init_HC.sqf @@ -0,0 +1,61 @@ +/* + AI Mission for Epoch and Exile Mods to Arma 3 + Credist to blckeagls who wrote the initial mission script for A3 Epoch + To Narines for debugging that original version + To cynwncler for many helpful comments along the way + And mostly importantly, + To Vampire, KiloSwiss, blckeagls, theFUCHS, lazylink, Mark311 and Buttface (Face) who wrote the pionering mission and roaming AI systems upon which this one is based and who's code is used with modification in some parts of this addon. + + By Ghostrider-DbD + Last Modified 3-18-17 + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +if (hasInterface) exitWith{}; + +#include "\q\addons\custom_server\Configs\blck_defines.hpp"; + +if !(isNil "blck_Initialized") exitWith{}; +private["_blck_loadingStartTime"]; +_blck_loadingStartTime = diag_tickTime; +#include "\q\addons\custom_server\init\build.sqf"; +diag_log format["[blckeagls] Loading Version %2 Build Date %1",_blck_versionDate,_blck_version]; + +call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf"; +waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;}; +waitUntil{blck_variablesLoaded}; +blck_variablesLoaded = nil; +//if !(blck_debugON) then {uiSleep 60;}; + +// compile functions +call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf"; +waitUntil {(isNil "blck_functionsCompiled") isEqualTo false;}; +waitUntil{blck_functionsCompiled}; +blck_functionsCompiled = nil; +diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel]; + +execVM "\q\addons\custom_server\Configs\blck_configs.sqf"; +waitUntil {(isNil "blck_configsLoaded") isEqualTo false;}; +waitUntil{blck_configsLoaded}; +blck_configsLoaded = nil; + +// Load any user-defined specifications or overrides +call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Configs\blck_custom_config.sqf"; + +#ifdef DBDserver +diag_log "[blckegls] Running DBD Clan Version"; +#endif +#ifdef useDynamicSimulation +diag_log "[blckegls] dynamic simulation manager enabled"; +#else +diag_log "[blckegls] blckegls simulation manager enabled"; +#endif +//_marker = createMarker ["HomeBase",[24000,18000,0]]; +//_marker setMarkerColor "ColorBlack"; +//_marker setMarkerType "hd_flag"; +diag_log format["[blckeagls] for HC version %1 Build %2 Loaded in %3 seconds",_blck_versionDate,_blck_version,diag_tickTime - _blck_loadingStartTime]; //,blck_modType]; +[] spawn blck_fnc_HCmonitor; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/init/blck_init.sqf b/@GMS/addons/custom_server/init/blck_init_server.sqf similarity index 96% rename from @epochhive/addons/custom_server/init/blck_init.sqf rename to @GMS/addons/custom_server/init/blck_init_server.sqf index 456b9f0..8233359 100644 --- a/@epochhive/addons/custom_server/init/blck_init.sqf +++ b/@GMS/addons/custom_server/init/blck_init_server.sqf @@ -15,13 +15,16 @@ http://creativecommons.org/licenses/by-nc-sa/4.0/ */ + +if ( !(isServer) || hasInterface) exitWith{}; + #include "\q\addons\custom_server\Configs\blck_defines.hpp"; if !(isNil "blck_Initialized") exitWith{}; private["_blck_loadingStartTime"]; _blck_loadingStartTime = diag_tickTime; #include "\q\addons\custom_server\init\build.sqf"; -diag_log format["[blckeagls] Loading Version %2 Build Date %1",_blck_versionDate,_blck_version]; +diag_log format["[blckeagls] Loading Server Mission System Version %2 Build Date %1",_blck_versionDate,_blck_version]; call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf"; waitUntil {(isNil "blck_variablesLoaded") isEqualTo false;}; @@ -37,10 +40,11 @@ blck_functionsCompiled = nil; diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 blck_debugLevel = %2",blck_debugON,blck_debugLevel]; execVM "\q\addons\custom_server\Configs\blck_configs.sqf"; + waitUntil {(isNil "blck_configsLoaded") isEqualTo false;}; waitUntil{blck_configsLoaded}; blck_configsLoaded = nil; - +diag_log format["[blckeagls] blck_useHC = %1",blck_useHC]; // spawn map addons to give the server time to position them before spawning in crates etc. if (blck_spawnMapAddons) then { @@ -160,4 +164,5 @@ if (blck_maxCrashSites > 0) then // start the main thread for the mission system which monitors missions running and stuff to be cleaned up [] spawn blck_fnc_mainThread; + diag_log "[blckeagls] Mission spawner started"; \ No newline at end of file diff --git a/@ExileServer/addons/custom_server/init/broadcastServerFPS.sqf b/@GMS/addons/custom_server/init/broadcastServerFPS.sqf similarity index 100% rename from @ExileServer/addons/custom_server/init/broadcastServerFPS.sqf rename to @GMS/addons/custom_server/init/broadcastServerFPS.sqf diff --git a/@GMS/addons/custom_server/init/build.sqf b/@GMS/addons/custom_server/init/build.sqf new file mode 100644 index 0000000..e6927fe --- /dev/null +++ b/@GMS/addons/custom_server/init/build.sqf @@ -0,0 +1,6 @@ +private ["_version","_versionDate"]; +blck_version = "6.72 Build 87"; +_blck_version = blck_version; +_blck_versionDate = "10-13-17 6:00 PM"; +blck_pvs_version = _blck_version; +publicVariable blck_pvs_version; diff --git a/@epochhive/addons/custom_server/init/fn_init.sqf b/@GMS/addons/custom_server/init/fn_init.sqf similarity index 78% rename from @epochhive/addons/custom_server/init/fn_init.sqf rename to @GMS/addons/custom_server/init/fn_init.sqf index c367bf9..29fc977 100644 --- a/@epochhive/addons/custom_server/init/fn_init.sqf +++ b/@GMS/addons/custom_server/init/fn_init.sqf @@ -20,4 +20,13 @@ blck_missionSystemRunning = true; ///////////////////////////////////////////// // Run the initialization routinge //////////////////////////////////////////// -execVM "\q\addons\custom_server\init\blck_init.sqf"; + +if (isServer) then +{ + execVM "\q\addons\custom_server\init\blck_init_server.sqf"; +}; + +if(!(isServer) && !(hasInterface)) then +{ + execVM "\q\addons\custom_server\init\blck_init_HC.sqf"; +}; diff --git a/@epochhive/addons/custom_server/$PBOPREFIX$ b/@epochhive/addons/custom_server/$PBOPREFIX$ deleted file mode 100644 index f1604b0..0000000 --- a/@epochhive/addons/custom_server/$PBOPREFIX$ +++ /dev/null @@ -1 +0,0 @@ -q\addons\custom_server \ No newline at end of file diff --git a/@epochhive/addons/custom_server/$PREFIX$ b/@epochhive/addons/custom_server/$PREFIX$ deleted file mode 100644 index f1604b0..0000000 --- a/@epochhive/addons/custom_server/$PREFIX$ +++ /dev/null @@ -1 +0,0 @@ -q\addons\custom_server \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf deleted file mode 100644 index dcbcf5e..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_GroupsOnAISide.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* - Determines the total number of spawned groups on the side used by the mission system and returns this value. - By Ghostrider-DbD- - Last updated 12/21/16 -/* - By Ghostrider-DbD- - -------------------------- - 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 _Groups_AI_Side = 0; - -{ - if ( (side _x) isEqualTo blck_AI_Side) then {_Groups_AI_Side = _Groups_AI_Side + 1;}; -}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/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf deleted file mode 100644 index dd1bb1d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_addItemToCrate.sqf +++ /dev/null @@ -1,63 +0,0 @@ -/* - [_item,_crate] call blck_addItemToCrate; - where - _crate is a container such as ammo box or vehicle - _item is a string or array. - If _item is a string then add 1 of that item to the container. - If _item is an array with 2 elements ["itemName",3] then assume that the first element is a string and is the name of the item, and the second is the number to add. - if _item is an array with 3 elements ["itemName",2,6] assume that the first element is the item name (string), the second the min # to add and the third the max # to add. - by Ghostrider-DbD- - 11/14/16 - - -------------------------- - 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["_itemInfo","_crate",["_addAmmo",0]]; - private["_isRifle","_isMagazine","_isBackpack"]; - _isWeapon = false; - _isMagazine = false; - _isBackpack = false; - _quant = 0; - #ifdef blck_debugMode - diag_log format["blck_addItemToCrate:: -- >> itemInfo = %1 | _crate %2 | _addAmmo %3",_itemInfo, _crate, _addAmmo]; - #endif - if (typeName _itemInfo isEqualTo "STRING") then {_item = _itemInfo; _quant = 1}; // case where only the item descriptor was provided - if (typeName _itemInfo isEqualTo "ARRAY") then { - - if (count _itemInfo isEqualTo 2) then {_item = _itemInfo select 0; _quant = _itemInfo select 1;}; // case where item descriptor and quantity were provided - if (count _itemInfo isEqualto 3) then { - _item = _itemInfo select 0; - _quant = (_itemInfo select 1) + round(random((_itemInfo select 2) - (_itemInfo select 1))); - }; // case where item descriptor, min number and max number were provided. - }; - if (((typeName _item) isEqualTo "STRING") && (_item != "")) then - { - if (isClass(configFile >> "CfgWeapons" >> _item)) then { - _crate addWeaponCargoGlobal [_item,_quant]; - _isWeapon = true; - _count = 0; - if (typeName _addAmmo isEqualTo "SCALAR") then - { - _count = _addAmmo; - }; - if (typeName _addAmmo isEqualto "ARRAY") then - { - _count = (_addAmmo select 0) + (round(random((_addAmmo select 1) - (_addAmmo select 0)))); - }; - _ammo = getArray (configFile >> "CfgWeapons" >> _item >> "magazines"); - for "_i" from 1 to _count do - { - _crate addMagazineCargoGlobal [selectRandom _ammo,1]; - }; - }; - if (_item isKindOf ["Bag_Base", configFile >> "CfgVehicles"]) then {_crate addBackpackCargoGlobal [_item,_quant]; _isBackpack = true;}; - if (isClass(configFile >> "CfgMagazines" >> _item)) then {_crate addMagazineCargoGlobal [_item,_quant]; _isMagazine = true;}; - if (!_isWeapon && !_isMagazine && _isBackpack && isClass(configFile >> "CfgVehicles" >> _item)) then {_crate addItemCargoGlobal [_item,_quant]}; - }; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf deleted file mode 100644 index 186807d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_allPlayers.sqf +++ /dev/null @@ -1,27 +0,0 @@ -////////////////////////////////////////////////////// -// Returns an array of all players on the server -/* - - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8/16/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -///////////////////////////////////////////////////// - -private ["_result"]; - -_result = []; -{ - if (isPlayer _x && alive _x) then { _result pushback _x }; -} forEach playableUnits; - -//_result = allPlayers; - -_result diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf deleted file mode 100644 index 81f51d1..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_broadcastServerFPS.sqf +++ /dev/null @@ -1,19 +0,0 @@ - - -/* - By Ghostrider-DbD- - -------------------------- - 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"; - -blck_serverFPS = diag_FPS; -publicVariable "blck_serverFPS"; - - - - diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf deleted file mode 100644 index 2d6a911..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_cleanEmptyGroups.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - call as [] call blck_fnc_cleanEmptyGroups; - Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup. - By Ghostrider-DbD- - 11/16/16 - -------------------------- - 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"; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then -{ - diag_log format ["_fnc_cleanEmptyGroups:: -- >> group count = %1 ",(count allGroups)]; - diag_log format ["_fnc_cleanEmptyGroups:: -- >> Group count AI side = %1", call blck_fnc_groupsOnAISide]; -}; -#endif - -private _grp = +allGroups; -{ - //diag_log format["_fnc_cleanEmptyGroups:: - >> type of object _x = %1",typeName _x]; - if ((count units _x) isEqualTo 0) then {deleteGroup _x}; -}forEach _grp; -if (blck_debugLevel > 2) then {diag_log "_fnc_cleanEmptyGroups:: -- >> exiting function";}; - diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf deleted file mode 100644 index 2519fdc..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_emptyObject.sqf +++ /dev/null @@ -1,18 +0,0 @@ - - /* - Remove all inventory from an object. - By Ghostrider-DbD0 - -------------------------- - 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["_veh"]; - clearWeaponCargoGlobal _veh; - clearMagazineCargoGlobal _veh; - clearBackpackCargoGlobal _veh; - clearItemCargoGlobal _veh; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf deleted file mode 100644 index af4ce3a..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findPositionsAlongARadius.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/* - Generates an array of equidistant positions along the circle of diameter _radius - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 1-22-17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_locs","_startDir","_currentDir","_Arc","_dist","_newpos"]; -params["_center","_num","_minDistance","_maxDistance"]; - -_locs = []; -_startDir = round(random(360)); -_currentDir = _startDir; -_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/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf deleted file mode 100644 index 3dc19ae..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findSafePosn.sqf +++ /dev/null @@ -1,131 +0,0 @@ -// self explanatory. Checks to see if the position is in either a black listed location or near a player spawn. -// As written this relies on BIS_fnc_findSafePos to ensure that the spawn point is not on water or an excessively steep slope. -// -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 1-22-17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_findNew","_coords","_dist","_xpos","_ypos","_newPos","_townPos","_pole"]; - -_findNew = true; - -while {_findNew} do { - _findNew = false; - //[_centerForSearch,_minDistFromCenter,_maxDistanceFromCenter,_minDistanceFromNearestObj,_waterMode,_maxTerainGradient,_shoreMode] call BIS_fnc_findSafePos - // https://community.bistudio.com/wiki/BIS_fnc_findSafePos - _coords = [blck_mapCenter,0,blck_mapRange,30,0,5,0] call BIS_fnc_findSafePos; - //diag_log format["<<--->> _coords = %1",_coords]; - - { - if ((_x distance2D _coords) < blck_MinDistanceFromMission) then { - _findNew = true; - }; - }forEach DBD_HeliCrashSites; - - { - if ( ((_x select 0) distance2D _coords) < (_x select 1)) exitWith - { - _findNew = true; - }; - } forEach blck_locationBlackList; - - //diag_log format["#- findSafePosn -# blck_ActiveMissionCoords isEqualTo %1", blck_ActiveMissionCoords]; - { - //diag_log format["#- findSafePosn -# blck_ActiveMissionCoords active mission item is %1", _x]; - if ( (_x distance2D _coords) < blck_MinDistanceFromMission) exitWith - { - _FindNew = true; - }; - } forEach blck_ActiveMissionCoords; - - //diag_log format["#- findSafePosn -# blck_recentMissionCoords isEqualTo %1", blck_recentMissionCoords]; - { - private["_oldPos","_ignore"]; - _ignore = false; - //diag_log format["-# findSafePosn.sqf -# Old Mission element is %1", _x]; - if (diag_tickTime > ((_x select 1) + 1200)) then // if the prior mission was completed more than 20 min ago then delete it from the list and ignore the check for this location. - { - _ignore = true; - blck_recentMissionCoords= blck_recentMissionCoords - _x; - //diag_log format["-# findSafePosn.sqf -# Removing Old Mission element: %1", _x]; - }; - if !(_ignore) then - { - //diag_log format["-# findSafePosn.sqf -# testing _coords against Old Mission coords is %1", _x select 0]; - if ( ((_x select 0) distance2D _coords) < blck_MinDistanceFromMission) then - { - _findNew = true; - //diag_log format["-# findSafePosn.sqf -# Too Close to Old Mission element: %1", _x]; - }; - }; - } forEach blck_recentMissionCoords; - - // test for water nearby - private ["_i"]; - _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; - }; - }; - // check that missions spawn at least 1 kkm from towns - { - _townPos = [((locationPosition _x) select 0), ((locationPosition _x) select 1), 0]; - if (_townPos distance2D _coords < 200) exitWith { - _findNew = true; - }; - } forEach blck_townLocations; - - // check for nearby plot pole/freq jammer within 800 meters - _mod = call blck_fnc_getModType; - _pole = ""; - if (_mod isEqualTo "Epoch") then {_pole = "PlotPole_EPOCH"}; - if (_mod isEqualTo "Exile") then {_pole = "Exile_Construction_Flag_Static"}; - //diag_log format["_fnc_findSafePosn:: -- >> _mod = %1 and _pole = %2",_mod,_pole]; - { - if ((_x distance2D _coords) < 600) then - { - _findNew = true; - }; - }forEach nearestObjects[player, [_pole], 800]; - - // check to be sure we do not spawn a mission on top of a player. - { - if (isPlayer _x && (_x distance2D _coords) < 600) then - { - _findNew = true; - }; - }forEach playableUnits; - - 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;}; - }; -}; - -if ((count _coords) > 2) then -{ - private["_temp"]; - _temp = [_coords select 0, _coords select 1]; - _coords = _temp; -}; -_coords; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf deleted file mode 100644 index 5d9bafb..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_findWorld.sqf +++ /dev/null @@ -1,67 +0,0 @@ -/* - Determine the map name, set the map center and size, and return the map name. - Trader coordinates were pulled from the config.cfg - Inspired by the Vampire and DZMS - Last Modified 9/3/16 - -------------------------- - 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["_blck_WorldName"]; - -_blck_WorldName = toLower format ["%1", worldName]; -_blck_worldSize = worldSize; - -diag_log format["[blckeagls] Loading Map-specific settings with worldName = %1",_blck_WorldName]; - -switch (_blck_WorldName) do -{// These may need some adjustment - including a test for shore or water should help as well to avoid missions spawning on water. - case "altis":{ - diag_log "[blckeagls] Altis-specific settings for Epoch loaded"; - blck_mapCenter = [6322,7801,0]; - blck_mapRange = 21000; - }; - case "stratis":{ - diag_log "[blckeagls] Stratis-specific settings loaded"; - blck_mapCenter = [6322,7801,0]; - blck_mapRange = 4500; - }; // Add Central, East and West respawns/traders - case "chernarus":{ - diag_log "[blckeagls] Chernarus-specific settings loaded"; - blck_mapCenter = [7100, 7750, 0]; //centerPosition = {7100, 7750, 300}; - blck_mapRange = 5300; - }; - case "chernarus_summer":{blck_mapCenter = [7100, 7750, 0]; blck_mapRange = 6000;}; - case "bornholm":{ - //diag_log "Bornholm-specific settings loaded"; - blck_mapCenter = [11240, 11292, 0]; - blck_mapRange = 14400; - }; - case "esseker":{ - diag_log "Esseker-specific settings loaded"; - blck_mapCenter = [6049.26,6239.63,0]; //centerPosition = {7100, 7750, 300}; - blck_mapRange = 6000; - }; - case "taviana":{blck_mapCenter = [10370, 11510, 0];blck_mapRange = 14400;}; - case "namalsk":{blck_mapCenter = [4352, 7348, 0];blck_mapRange = 10000;}; - case "napf": {blck_mapCenter = [10240,10240,0]; blck_mapRange = 14000}; // {_centerPos = [10240, 10240, 0];_isMountainous = true;_maxHeight = 50;}; - case "australia": {blck_mapCenter = [20480,20480, 150];blck_mapRange = 40960;}; - case "panthera3":{blck_mapCenter = [4400, 4400, 0];blck_mapRange = 4400;}; - case "isladuala":{blck_mapCenter = [4400, 4400, 0];blck_mapRange = 4400;}; - case "sauerland":{blck_mapCenter = [12800, 12800, 0];blck_mapRange = 12800;}; - case "trinity":{blck_mapCenter = [6400, 6400, 0];blck_mapRange = 6400;}; - case "utes":{blck_mapCenter = [3500, 3500, 0];blck_mapRange = 3500;}; - case "zargabad":{blck_mapCenter = [4096, 4096, 0];blck_mapRange = 4096;}; - case "fallujah":{blck_mapCenter = [3500, 3500, 0];blck_mapRange = 3500;}; - case "tavi":{blck_mapCenter = [10370, 11510, 0];blck_mapRange = 14090;}; - case "lingor":{blck_mapCenter = [4400, 4400, 0];blck_mapRange = 4400;}; - case "takistan":{blck_mapCenter = [5500, 6500, 0];blck_mapRange = 5000;}; - default {_blck_WorldName = "default";blck_mapCenter = [6322,7801,0]; blck_mapRange = 6000}; -}; - -blck_worldSet = true; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf deleted file mode 100644 index a78bfc3..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getModType.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/* - Based on code by IT07 written for VEMF_r - -------------------------- - 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 "_mod"; - -_mod = ""; - -if not ( isNull ( configFile >> "CfgPatches" >> "exile_server" ) ) then { _mod = "Exile" }; -if not ( isNull ( configFile >> "CfgPatches" >> "a3_epoch_server" ) ) then { _mod = "Epoch" }; - -_mod diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf deleted file mode 100644 index 3a3ba3c..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getNumberFromRange.sqf +++ /dev/null @@ -1,30 +0,0 @@ - -// Last modified 8/13/17 by Ghostrider-DBD- -/* - -------------------------- - 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["_data"]; -_value = objNull; -if (typeName _data isEqualTo "ARRAY") then -{ - _min = _data select 0; - _max = _data select 1; - if (_max > _min) then - { - _value = _min + round(random(_max - _min)); - } else { - _value = _min; - }; -}; -if (typeName _data isEqualTo "SCALAR") then -{ - _value = _data; -}; -_value \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf deleted file mode 100644 index be245c1..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesEpoch.sqf +++ /dev/null @@ -1,23 +0,0 @@ -// pull trader cities from config -/* - By Ghostrider-DbD- - -------------------------- - 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"; - -if !(blck_blacklistTraderCities) exitWith {}; -diag_log format["[blckeagls] Adding Trader Cities to blacklisted locations based on setting for blck_blacklistTraderCities = %1",blck_blacklistTraderCities]; -private _traderCites = allMapMarkers; - -{ - if (_x in ["center","respawn_east","respawn_west","respawn_north"] && blck_blacklistTraderCities) then - { - blck_locationBlackList pushback [getMarkerPos _x,1000]; - //if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getTraderCitiesEpoch:: -- >> Added epoch trader city location at %1", (getMarkerPos _x)];}; - }; -}forEach _traderCites; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf deleted file mode 100644 index c9c9529..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_getTraderCitesExile.sqf +++ /dev/null @@ -1,31 +0,0 @@ -// pull trader cities from config -/* - By Ghostrider-DbD- - -------------------------- - 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 _traderCites = allMapMarkers; -_tc = []; -{ - if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Evaluating Markertype of %1", (getMarkerType _x)];}; - if (getMarkerType _x isEqualTo "ExileTraderZone" && blck_blacklistTraderCities) then { - blck_locationBlackList pushback [(getMarkerPos _x),1000]; - if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Added Exile Trader location at %1", (getMarkerPos _x)];}; - }; - - if ((getMarkerType _x isEqualTo "ExileSpawnZone") && blck_blacklistSpawns) then { - blck_locationBlackList pushback [(getMarkerPos _x),1000]; - if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Added Exile Spawn location at %1", (getMarkerPos _x)];}; - }; - // - if (getMarkerType _x isEqualTo "ExileConcreteMixerZone" && blck_listConcreteMixerZones) then { - blck_locationBlackList pushback [(getMarkerPos _x),1000]; - if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Added Exile Concrete Mixer location at %1", (getMarkerPos _x)];}; - }; -}forEach _traderCites; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf deleted file mode 100644 index 2140f28..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_giveTakeCrypto.sqf +++ /dev/null @@ -1,34 +0,0 @@ -/* - Original Credit: - Updated for Epoch 0.3.8.0 by He-Man - http://epochmod.com/forum/index.php?/topic/34661-release-hs-blackmarket-16-new-trader-system-special-trader-blackmarket/&page=38 - HALV_takegive_crypto.sqf - by Halv - - Copyright (C) 2015 Halvhjearne & Suppe - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - You should have received a copy of the GNU General Public License - along with this program. If not, see . - Contact : halvhjearne@gmail.com -*/ - params["_player","_nr"]; - private["_cIndex","_vars","_current_crypto","_current_cryptoRaw","_playerCryptoLimit"]; - _cIndex = EPOCH_customVars find "Crypto"; - _vars = _player getVariable["VARS", call EPOCH_defaultVars_SEPXVar]; - _current_crypto = _vars select _cIndex; - _current_cryptoRaw = _current_crypto; - _playerCryptoLimit = EPOCH_customVarLimits select _cIndex; - _playerCryptoLimit params ["_playerCryptoLimitMax","_playerCryptoLimitMin"]; - _current_crypto = ((_current_cryptoRaw + _nr) min _playerCryptoLimitMax) max _playerCryptoLimitMin; - _current_crypto remoteExec ['EPOCH_effectCrypto',(owner _player)]; - _vars set[_cIndex, _current_crypto]; - _player setVariable["VARS", _vars]; - - diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf deleted file mode 100644 index 3f88703..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_loadLootItemsFromArray.sqf +++ /dev/null @@ -1,60 +0,0 @@ -/* - Depends on blck_fnc_addItemToCrate - - call as: - - [_item,_crate] call blck_fnc_loadLootFromItemsArray; - - where - _crate is a container such as ammo box or vehicle - _loadout is an array containing either 2 or 3 elements. The first array is always an array of items to add. Items can be formated as ["item1","item1"], as [["item1",3],["item2",2]] or as [["item1",2,4],["item2",3,5]]. - See GMS_fnc_addItemToCrate for information about the acceptable formates for the items "item1" ... "itemN". - - The second and optional third element in the array specify the number of times the script will randomly select an item from the array of items and load it into the crate. - For example: - case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time. - case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times. - - by Ghostrider-DbD- - 8/13/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - - params["_loadout","_crate",["_addAmmo",0]]; - #ifdef blck_debugMode - diag_log format["blck_fnc_loadLootFromItemsArray:: _this %1",_this]; - diag_log format["blck_fnc_loadLootFromItemsArray:: _crate %1 | _addAmmo %2 | _loadout %3",_crate,_addAmmo,_loadout]; - #endif - if ((_loadout select 0) isEqualTo []) exitWith {}; - { - private["_tries","_q","_item"]; - _tries = 0; - #ifdef blck_debugMode - diag_log format["blck_fnc_loadLootFromItemsArray:: -- >> now loading for %1",_x]; - #endif - _q = _x select 1; // this can be a number or array. - _tries = [_q] call blck_fnc_getNumberFromRange; - /* - if ( (typeName _q) isEqualTo "ARRAY") then // Assume the array contains a min/max number to add - { - if ((count _q) isEqualTo 2) then {_tries = (_q select 0) + round(random(((_q select 1) - (_q select 0))));} else {_tries = 0;}; - }; - if ((typeName _q) isEqualTo "SCALAR") then - { - _tries = _q; - }; - */ - for "_i" from 1 to _tries do - { - _item = selectRandom (_x select 0); - [_item,_crate,_addAmmo] call blck_fnc_addItemToCrate; - }; - }forEach _loadout; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf deleted file mode 100644 index a52058c..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_monitorHC.sqf +++ /dev/null @@ -1,32 +0,0 @@ -/* - Check if an HC is connected and if so transfer some AI to it. - By Ghostrider-DbD- - Last modified 11-8-16 -/* - By Ghostrider-DbD- - -------------------------- - 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 _hc = missionNamespace getVariable["HC1","null"]; -diag_log format["monitorHC::->> _hc = %1",_hc]; -if !( (typeName _hc isEqualTo "OBJECT" || _hc isEqualTo "null") ) exitWith {}; - -if (typeOf _hc isEqualTo "HeadlessClient_F") then // a valid headless client is connected -{ - private _hcOwner = owner _hc; - private _xfered = 0; - { - if (!(isPlayer _x) && (groupOwner _x != _hcOwner) ) then { - _x setGroupOwner (_hcOwner); - _xfered = +1; - diag_log format["monitorHC::-->> group %1 transfered to HC1",_x]; - }; - if (_xfered isEqualTo 6) exitWith {}; - }forEach allGroups; -}; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf deleted file mode 100644 index 0d13b45..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRange.sqf +++ /dev/null @@ -1,42 +0,0 @@ -////////////////////////////////////////////////////// -// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 2/24/17 -/* - By Ghostrider-DbD- - -------------------------- - 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 ["_result","_players"]; -params["_pos","_dist",["_onFootOnly",false]]; -_players = call blck_fnc_allPlayers; -_result = false; - -//diag_log format["_fnc_playerInRange:: -> _pos = %1 and _dist = %2 and _result = %3",_pos,_dist,_result]; -if !(_onFootOnly) then -{ - { - //diag_log format["_fnc_playerInRange:: !_onFootOnly -> _pos = %1 and _player = %2 and distance = %3",_pos,_x, _pos distance _x]; - if ((_x distance2D _pos) < _dist) exitWith {_result = true;}; - } forEach _players; -}; - -if (_onFootOnly) then -{ - { - //diag_log format["_fnc_playerInRange:: onfootOnly -> _pos = %1 and _player = %2 and distance = %3",_pos,_x, _pos distance2d _x]; - if ( ((_x distance2D _pos) < _dist) && (vehicle _x isEqualTo _x)) exitWith {_result = true;}; - } forEach _players; -}; -//diag_log format["_fnc_playerInRange:: returning with _result = %1",_result]; -_result diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf deleted file mode 100644 index b73b8da..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_playerInRangeArray.sqf +++ /dev/null @@ -1,29 +0,0 @@ -////////////////////////////////////////////////////// -// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 2/24/17 -/* - By Ghostrider-DbD- - -------------------------- - 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 ["_result"]; -params["_locations","_dist",["_onFootOnly",false]]; -//diag_log format["_fnc_playerInRangeArray: _locations = %1 | _dist = %2 | _onFootOnly = %3",_locations,_dist, _onFootOnly]; -_result = false; -{ - _result = [_x,_dist,_onFootOnly] call blck_fnc_playerInRange; - if (_result) exitWith {}; -} forEach _locations; -//diag_log format["_fnc_playerInRangeArray: _locations = %1 |_return = %2",_result]; -_result diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf deleted file mode 100644 index bb91d4d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_randomPosn.sqf +++ /dev/null @@ -1,30 +0,0 @@ -////////////////////////////////////////////// -// returns a position array at random position within a radius of _range relative to _pos. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-13-16 -/* - By Ghostrider-DbD- - -------------------------- - 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["_newX","_newY"]; -params["_pos","_range"]; - -_signs = [1,-1]; -_sign = selectRandom _signs; - -_newX = ((_pos select 0) + (random(_range)) * (selectRandom _signs)); -_newY = ((_pos select 1) + (random(_range)) * (selectRandom _signs)); - -[_newX,_newY,0] - diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf deleted file mode 100644 index 2a5c2ad..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_timedOut.sqf +++ /dev/null @@ -1,22 +0,0 @@ -////////////////////////////////////////////////////// -// test if a timeout condition exists. -// by Ghostrider-DBD- -// Last modified 1/22/17 -// [_startTime] call blck_fnc_timedOut -// Returns true (timed out) or false (not timed out) -/* - -------------------------- - 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["_startTime"]; -private["_return"]; -if ((diag_tickTime - _startTime) > blck_MissionTimout ) then {_return = true} else {_return = false}; -//diag_log format["fnc_timedOut:: blck_MissionTimout = %2 || _return = %1",_return,blck_MissionTimout]; -_return; diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf deleted file mode 100644 index ac77f8b..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_fnc_waitTimer.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-13-16 - - Waits for a random period between _min and _max seconds - Call as - [_minTime, _maxTime] call blck_fnc_waitTimer - Returns true; -/* - By Ghostrider-DbD- - -------------------------- - 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["_wait","_Tstart"]; -params["_min","_max"]; - -_wait = round( _min + (_max - _min) ); -uiSleep _wait; - -true diff --git a/@epochhive/addons/custom_server/Compiles/Functions/GMS_getModType.sqf b/@epochhive/addons/custom_server/Compiles/Functions/GMS_getModType.sqf deleted file mode 100644 index 0e5be23..0000000 --- a/@epochhive/addons/custom_server/Compiles/Functions/GMS_getModType.sqf +++ /dev/null @@ -1,12 +0,0 @@ -/* - Based on code by IT07 written for VEMF_r -*/ - -private "_mod"; - -_mod = ""; - -if not ( isNull ( configFile >> "CfgPatches" >> "exile_server" ) ) then { _mod = "Exile" }; -if not ( isNull ( configFile >> "CfgPatches" >> "a3_epoch_server" ) ) then { _mod = "Epoch" }; - -_mod diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf deleted file mode 100644 index 4cf18b2..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToMoveWaypoint.sqf +++ /dev/null @@ -1,93 +0,0 @@ -// Changes type of waypont0 for the specified group to "MOVE" and updates time stamps, WP postion and Timout parameters accordinglyD. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/23/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#ifdef blck_debugMode -//diag_log "_fnc_changeToMoveWaypoint: blck_debugMode enabled"; -#endif -private["_group","_wp","_wpPos","_dis","_arc","_dir","_newPos","_marker","_center","_minDis","_maxDis"]; - -_group = group _this; -_group setcombatmode "YELLOW"; -_group setBehaviour "COMBAT"; -_group setVariable["timeStamp",diag_tickTime]; -_wp = [_group, 0]; -_wpPos = getPos ((units _group) select 0); -_dir = _group getVariable["wpDir",0]; -_center = _group getVariable ["patrolCenter",_wpPos]; -if (_group getVariable["wpMode","random"] isEqualTo "random") then -{ - _dir = random(360); -} else { - _dir = (_group getVariable["wpDir",0]) + 70; - _group setVariable["wpDir",_dir]; -}; -_minDis = _group getVariable["minDis",25]; -_maxDis = _group getVariable["maxDis",30]; -_dis = (_minDis) + random( (_maxDis) - (_minDis) ); -_newPos = (_center) getPos[_dis,_dir]; -_wp setWPPos [_newPos select 0, _newPos select 1]; -_wp setWaypointCompletionRadius (_group getVariable["wpRadius",30]); -_wp setWaypointType "MOVE"; -_wp setWaypointName "move"; -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "YELLOW"; -_wp setWaypointTimeout [1,1.1,1.2]; -_group setCurrentWaypoint _wp; -#ifdef blck_debugMode -if (blck_debugLevel > 2) then -{ - diag_log format["_fnc_changeToMoveWaypoint (4/25/17): _this = %1", _this]; - diag_log format["_fnc_changeToMoveWaypoint: typeName _this = %1", typeName _this]; - diag_log format["_fnc_changeToMoveWaypoint:_group = %1",_group]; - diag_log format["_fnc_changeToMoveWaypoint:_group timestamp updated to %1", _group getVariable "timeStamp"]; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> wpMode %1 _dir %2 _dis %3 _center %4",_group getVariable["wpMode","random"], _dir, _dis,_center]; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> group to update is %1 and new position is %2",_group, _newPos]; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> group to update is %1 and new Waypoint position is %2",_group, getWPPos _wp]; - diag_log format["_fnc_changeToMoveWaypoint:_group %1 basic waypoint parameters updates", _group getVariable "timeStamp"]; - _marker =_group getVariable["wpMarker",""]; - _marker setMarkerColor "ColorBlue"; - diag_log format["_fnc_changeToMoveWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; -}; -#endif -if (_group getVariable["wpPatrolMode",""] isEqualTo "SAD") then -{ - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_changeToMoveWaypoint: seting waypoint script for group %1 to SAD Mode",_group]; - }; - _wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a SAD Waypoint',group this];"]; - #else - _wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint;"]; - #endif -}; -if (_group getVariable["wpPatrolMode",""] isEqualTo "SENTRY") then -{ - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_changeToMoveWaypoint: seting waypoint script for group %1 to SENTRY Mode",_group]; - }; - _wp setWaypointStatements ["true","this call blck_fnc_changeToSentryWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a SENTRY Waypoint',group this];"]; - #else - _wp setWaypointStatements ["true","this call blck_fnc_changeToSentryWaypoint;"]; - #endif -}; -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_changeToMoveWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; -}; -#endif diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf deleted file mode 100644 index a6b2c90..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSADWaypoint.sqf +++ /dev/null @@ -1,52 +0,0 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/29/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -#ifdef blck_debugMode -diag_log "_fnc_changeToSADWaypoint: blck_debugMode enabled"; -#endif - -private["_group","_wp"]; - -_group = group _this; -_group setVariable["timeStamp",diag_tickTime]; -_group setcombatmode "RED"; -_group setBehaviour "COMBAT"; -_wp = [_group, 0]; -_group setCurrentWaypoint _wp; -_wp setWaypointType "SAD"; -_wp setWaypointName "sad"; -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "RED"; -_wp setWaypointTimeout [10,15,20]; - -#ifdef blck_debugMode -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; -#else -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; -#endif - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - private ["_marker"]; - _marker = _group getVariable["wpMarker",""]; - _marker setMarkerColor "ColorRed"; - diag_log format["_fnc_changeToSADWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; - diag_log format["_fnc_changeToSADWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; - diag_log format["_fnc_changeToSADWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; - diag_log format["_fnc_changeToSADWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; -}; -#endif \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf deleted file mode 100644 index 2fd52b8..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_changeToSentryWaypoint.sqf +++ /dev/null @@ -1,49 +0,0 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/29/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#ifdef blck_debugMode -diag_log "_fnc_changeToSADWaypoint: blck_debugMode enabled"; -#endif -private["_group","_wp"]; - -_group = group _this; -_group setVariable["timeStamp",diag_tickTime]; -_wp = [_group, 0]; -_group setCurrentWaypoint _wp; -_group setcombatmode "RED"; -_group setBehaviour "COMBAT"; -_wp setWaypointType "SENTRY"; -_wp setWaypointName "sentry"; -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "RED"; -_wp setWaypointTimeout [10,15,20]; -#ifdef blck_debugMode -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint; diag_log format['====Updating timestamp for group %1 and changing its WP to a Move Waypoint',group this];"]; -#else -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;"]; -#endif - -#ifdef blck_debugMode -if (blck_debugLevel >1) then -{ - diag_log format["_fnc_changeToSentryWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; - diag_log format["_fnc_changeToSentryWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; - private ["_marker"]; - _marker = _group getVariable["wpMarker",""]; - _marker setMarkerColor "ColorYellow"; - diag_log format["_fnc_changeToSentryWaypoint:: -- >> Waypoint statements for group %1 have been configured as %2",_group, waypointStatements _wp]; - diag_log format["_fnc_changeToSentryWaypoint:: -- >> Waypoint marker for group %1 have been configured as %2",_group, _group getVariable "wpMarker"]; -}; -#endif \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf deleted file mode 100644 index 9233b0c..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_cleanEmptyGroups.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/* - call as [] call blck_fnc_cleanEmptyGroups; - Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup. - By Ghostrider-DbD- - 3/18/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then -{ - diag_log format ["_fnc_cleanEmptyGroups:: -- >> group count = %1 ",(count allGroups)]; - diag_log format ["_fnc_cleanEmptyGroups:: -- >> Group count AI side = %1", call blck_fnc_groupsOnAISide]; -}; -#endif - -private _grp = allGroups; -{ - //diag_log format["_fnc_cleanEmptyGroups:: - >> type of object _x = %1",typeName _x]; - if ((count units _x) isEqualTo 0) then {deleteGroup _x}; -}forEach _grp; -#ifdef blck_debugMode -if (blck_debugLevel > 2) then {diag_log "_fnc_cleanEmptyGroups:: -- >> exiting function";}; -#endif diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf deleted file mode 100644 index b0926be..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_emplacedWeaponWaypoint.sqf +++ /dev/null @@ -1,26 +0,0 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/23/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_group","_wp"]; - -diag_log format["_fnc_changeToSADWaypoint:: -- :: _this = %1 and typName _this %2",_this, typeName _this]; -_group = group _this; - diag_log format["_fnc_emplacedWeaponWaypoint:: -- >> group to update is %1 with typeName %2",_group, typeName _group]; -_group setVariable["timeStamp",diag_tickTime]; -_wp = [_group, 0]; -_group setCurrentWaypoint _wp; - diag_log format["_fnc_emplacedWeaponWaypoint:: -- >> group to update is %1 waypoints updated at %2",_group, (_group getVariable["timeStamp",diag_tickTime])]; - diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf deleted file mode 100644 index daaed11..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setNextWaypoint.sqf +++ /dev/null @@ -1,95 +0,0 @@ -// Sets the WP type for WP for the specified group and updates other atributes accordingly. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 3/14/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_group","_wp","_index","_pattern","_mode","_arc","_dis","_wpPos"]; - -_group = group _this; - -_group setVariable["timeStamp",diag_tickTime]; -_group setcombatmode "YELLOW"; -_group setBehaviour "COMBAT" -_wp = [_group, 0]; - -_pattern = _group getVariable["wpPattern",[]]; -_index = _group getVariable["wpIndex",0]; -_index = _index + 1; -_minDis = _group getVariable["minDis",0]; -_maxDis = _group getVariable["maxDis",0]; -dir = (_group getVariable["wpDir",0]) + _group getVariable["wpArc",360/5]; -_group setVariable["wpDir",_dir]; - -diag_log format["_fnc_setNextWaypoint: -> _minDis = %1 | _maxDis = %2 | _arc = %3",_minDis,_maxDis,_arc]; -if (_index >= (count _pattern)) then -{ - _index = 0; -} else { - diag_log format["_fnc_setNextWaypoint: -> waypoint index for group %1 is currently %2 with _pattern = %4 and count _pattern = %3",_group,_index, count _pattern,_pattern]; -}; - -_group setVariable["wpIndex",_index]; -_type = _pattern select _index; - -#ifdef blck_debugMode -diag_log format["_fnc_setNextWaypoint: -> waypoint for group %1 to be updated to mode %2 at position %3 with index %4",_group,_type,waypointPosition _wp, _index]; -#endif - -// revisit this to account for dead units. use waypointPosition if possible. -_wpPos = waypointPosition _wp; - -_wp setWaypointType _type; -_wp setWaypointName toLower _type; -if (_type isEqualTo (toLower "move")) then -{ - _dis = (_minDis) + random( (_maxDis) - (_minDis) ); - if (_group getVariable["wpMode",""] isEqualTo "random") then - { - _dir = random(360) - } else { - _dir = _group getVariable["wpDir",0] + _group getVariable["wpArc",360/5]; - }; - _group setVariable["wpDir",_dir]; - _oldPos = waypointPosition _wp; - - _newPos = (_group getVariable ["patrolCenter",_wpPos]) getPos[_dis,_arc]; - _wp setWPPos [_newPos select 0, _newPos select 1]; - - #ifdef blck_debugMode - diag_log format["_fnc_setNextWaypoint: -- > for group %5 | _dis = %1 | _arc = %2 _oldPos = %3 | _newPos = %4",_dis,_arc,_oldPos,_newPos,_group]; - #endif - - _wp setWaypointTimeout [1.0,1.1,1.2]; - //_wp setWaypointTimeout [20,25,30]; -} else { - _wp setWaypointTimeout [20,25,30]; - _newPos = _wpPos; - _wp setWPPos _newPos; - - #ifdef blck_debugMode - diag_log format["_fnc_setNextWaypoint: - waypoint position for group %1 not changed",_group]; - #endif -}; - -#ifdef blck_debugMode -diag_log format["_fnc_setNextWaypoint: -> waypoint for group %1 set to mode %2 at position %3 with index %4",_group,_type,waypointPosition _wp, _index]; -diag_log format["_fnc_setNextWaypoint:-> waypoint statements for group %1 = %2",_group, waypointStatements [_group,_index]]; -#endif - -_wp setWaypointBehaviour blck_groupBehavior; -_wp setWaypointCombatMode blck_combatMode; -_group setCurrentWaypoint _wp; - - - diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf deleted file mode 100644 index 2e5fa30..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints-v2.sqf +++ /dev/null @@ -1,95 +0,0 @@ -// Sets up waypoints for a specified group. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 3/22/17 - ** Here for record keeping only; not used ** - -------------------------- - 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["_dir","_arc","_noWp","_newpos","_wpradius","_wp"]; -params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_pattern",["MOVE","SAD"]]]; - -/* -_pos = _this select 0; // center of the patrol area -_minDis = _this select 1; // minimum distance from the center of a patrol area for waypoints -_maxDis = _this select 2; // maximum distance from the center of a patrol area for waypoints -_group = _this select 3; -*/ - - -_group setVariable["patrolCenter",_pos]; -_group setVariable["minDis",_minDis]; -_group setVariable["maxDis",_maxDis]; -_group setVariable["timeStamp",diag_tickTime]; -_group setVariable["arc",0]; -_group setVariable["wpRadius",30]; -_group setVariable["wpMode",_mode]; -_group setVariable["wpPattern",_pattern]; -_group setVariable["wpIndex",0]; - -_dir = 0; -_arc = 30; -_noWp = 1; -_wpradius = 30; -_newPos = _pos getPos [(_minDis+(random (_maxDis - _minDis))), _dir]; -_wp = [_group, 0]; - -#ifdef wpModeMove -_wp setWaypointType "MOVE"; -_wp setWaypointName "move"; -_wp setWaypointTimeout [1,1.1,1.2]; -_wp setWaypointStatements ["true","this call blck_fnc_setNextWaypoint;diag_log format['====Updating waypoint to for group %1',group this];"]; -#else -_wp setWaypointType "SAD"; -_wp setWaypointName "sad"; -_wp setWaypointTimeout [20,25,30]; -_wp setWaypointStatements ["true","this call blck_fnc_setNextWaypoint;diag_log format['====Updating waypointfor group %1',group this];"]; -#endif - -_wp setWaypointBehaviour "COMBAT"; -_wp setWaypointCombatMode "RED"; -//_wp setWaypointTimeout [1,1.1,1.2]; -_group setCurrentWaypoint _wp; - -/* -Code for Build 44 as a referemce/ -private["_dist","_dir","_arc","_xpos","_ypos","_newpos","_wpradius","_wpnum","_oldpos"]; -params["_pos","_minDis","_maxDis","_group"]; - -_wpradius = 30; -_wpnum = 6; -_dir = random 360; -_arc = 360/_wpnum; - -for "_i" from 0 to (_wpnum - 1) do -{ - _dir = _dir + _arc; - _dist = (_minDis+(random (_maxDis - _minDis))); - _newpos = _pos getPos [_dist, _arc]; - - _wp = _group addWaypoint [_newpos, 0]; - _wp setWaypointTimeout [1, 1.1, 1.2]; - _wp setWaypointType "MOVE"; - _wp setWaypointBehaviour "COMBAT"; - _wp setWaypointCombatMode "RED"; - _wp setWaypointName "move"; - _wp = _group addWaypoint [_newpos, 0]; - _wp setWaypointTimeout [15,20,25]; - _wp setWaypointType "SAD"; - _wp setWaypointBehaviour "COMBAT"; - _wp setWaypointCombatMode "RED"; - _wp setWaypointName "sad"; -}; -deleteWaypoint [_group, 0]; -_group setVariable["wpIndex",0]; -_wp = _group addWaypoint [_newpos, _wpradius]; -_wp setWaypointType "CYCLE"; diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf deleted file mode 100644 index 50ca01d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_setWaypoints.sqf +++ /dev/null @@ -1,92 +0,0 @@ -// Sets up waypoints for a specified group. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 3/17/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - -private["_dir","_arc","_noWp","_newpos","_wpradius","_wp"]; -params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_patrolMode","SAD"]]; - -/* -_pos = _this select 0; // center of the patrol area -_minDis = _this select 1; // minimum distance from the center of a patrol area for waypoints -_maxDis = _this select 2; // maximum distance from the center of a patrol area for waypoints -_group = _this select 3; -*/ - - -_group setVariable["patrolCenter",_pos]; -_group setVariable["minDis",_minDis]; -_group setVariable["maxDis",_maxDis]; -_group setVariable["timeStamp",diag_tickTime]; -_group setVariable["arc",0]; -_group setVariable["wpRadius",30]; -_group setVariable["wpMode",_mode]; - -_dir = 0; -_arc = 30; -_noWp = 1; -_wpradius = 30; -_newPos = _pos getPos [(_minDis+(random (_maxDis - _minDis))), _dir]; -_wp = [_group, 0]; - -#ifdef wpModeMove -_wp setWaypointType "MOVE"; -_wp setWaypointName "move"; -_wp setWaypointTimeout [1,1.1,1.2]; -_wp setWaypointStatements ["true","this call blck_fnc_changeToSADWaypoint;diag_log format['====Updating waypoint to SAD for group %1',group this];"]; -#else -_wp setWaypointType "SAD"; -_wp setWaypointName "sad"; -_wp setWaypointTimeout [20,25,30]; -_wp setWaypointStatements ["true","this call blck_fnc_changeToMoveWaypoint;diag_log format['====Updating waypoint to Move for group %1',group this];"]; -#endif - -_wp setWaypointBehaviour blck_groupBehavior; -_wp setWaypointCombatMode blck_combatMode; -_group setCurrentWaypoint _wp; - -/* -Code for Build 44 as a referemce/ -private["_dist","_dir","_arc","_xpos","_ypos","_newpos","_wpradius","_wpnum","_oldpos"]; -params["_pos","_minDis","_maxDis","_group"]; - -_wpradius = 30; -_wpnum = 6; -_dir = random 360; -_arc = 360/_wpnum; - -for "_i" from 0 to (_wpnum - 1) do -{ - _dir = _dir + _arc; - _dist = (_minDis+(random (_maxDis - _minDis))); - _newpos = _pos getPos [_dist, _arc]; - - _wp = _group addWaypoint [_newpos, 0]; - _wp setWaypointTimeout [1, 1.1, 1.2]; - _wp setWaypointType "MOVE"; - _wp setWaypointBehaviour "COMBAT"; - _wp setWaypointCombatMode "RED"; - _wp setWaypointName "move"; - _wp = _group addWaypoint [_newpos, 0]; - _wp setWaypointTimeout [15,20,25]; - _wp setWaypointType "SAD"; - _wp setWaypointBehaviour "COMBAT"; - _wp setWaypointCombatMode "RED"; - _wp setWaypointName "sad"; -}; -deleteWaypoint [_group, 0]; -_group setVariable["wpIndex",0]; -_wp = _group addWaypoint [_newpos, _wpradius]; -_wp setWaypointType "CYCLE"; diff --git a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf b/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf deleted file mode 100644 index d0bde5e..0000000 --- a/@epochhive/addons/custom_server/Compiles/Groups/GMS_fnc_spawnGroup.sqf +++ /dev/null @@ -1,117 +0,0 @@ -/* - Spawn and configure a group - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/25/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_numbertospawn","_groupSpawned","_safepos","_weaponList","_useLauncher","_launcherType"]; - -params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_configureWaypoints",true] ]; -if (blck_debugLevel > 1) then -{ - diag_log format["[blckeagls] _fnc_spawnGroup called parameters: _numai1 %1, _numbai2 %2, _skillLevel %3, _center %4",_numai1,_numai2,_skillLevel,_center]; -}; -//Spawns correct number of AI -if (_numai2 > _numai1) then -{ - _numbertospawn = floor( (random (_numai2 - _numai1) + _numai1 ) ); -} else { - _numbertospawn = _numai2; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["spawnGroup.sqf: _numbertospawn = %1",_numbertospawn]; -}; -#endif - -_groupSpawned = createGroup [blck_AI_Side, true]; // true here causes any empty group to be automatically deleted within 1 sec or so. https://community.bistudio.com/wiki/createGroup - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["spawnGroup.sqf: _groupSpawned = %1",_groupSpawned]; -}; -#endif -if !(isNull _groupSpawned) then -{ - #ifdef blck_debugMode - if (blck_debugLevel > 1) then {diag_log format["_fnc_spawnGroup:: -- >> Group created = %1",_groupSpawned]}; - #endif - _groupSpawned setVariable["groupVehicle",objNull]; - - #ifdef useDynamicSimulation - _groupSpawned enableDynamicSimulation true; - #endif - - _groupSpawned setcombatmode "RED"; - _groupSpawned setBehaviour "COMBAT"; - _groupSpawned allowfleeing 0; - _groupSpawned setspeedmode "FULL"; - _groupSpawned setFormation blck_groupFormation; - _groupSpawned setVariable ["blck_group",true]; - - //diag_log format["spawnGroup:: group is %1",_groupSpawned]; - // Determines whether or not the group has launchers - _useLauncher = blck_useLaunchers; - - // define weapons list for the group - switch (_skillLevel) do { - case "blue": {_weaponList = blck_WeaponList_Blue;}; - case "red": {_weaponList = blck_WeaponList_Red;}; - case "green": {_weaponList = blck_WeaponList_Green;}; - case "orange": {_weaponList = blck_WeaponList_Orange;}; - default {_weaponList = blck_WeaponList_Blue;}; - }; - - - //Spawns the correct number of AI Groups, each with the correct number of units - //Counter variable - _i = 0; - while {_i < _numbertospawn} do { - _i = _i + 1; - if (blck_useLaunchers && _i <= blck_launchersPerGroup) then - { - _launcherType = selectRandom blck_launcherTypes; - } else { - _launcherType = "none"; - }; - - //Finds a safe positon to spawn the AI in the area given - _safepos = [_pos,0,30,2,0,20,0] call BIS_fnc_findSafePos; - - //Spawns the AI unit - //diag_log format["spawnGroup:: spawning unit #%1",_i]; - // params["_pos","_weaponList","_aiGroup",["_skillLevel","red"],["_Launcher","none"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear]]; - [_safepos,_weaponList,_groupSpawned,_skillLevel,_launcherType,_uniforms,_headGear] call blck_fnc_spawnAI; - }; - _groupSpawned selectLeader (units _groupSpawned select 0); - // params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_pattern",["MOVE","SAD"]]]; - if (_configureWaypoints) then - { - [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD","infantry"] 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 - { - diag_log format["fnc_spawnGroup:: Group spawned was %1 with units of %2",_groupSpawned, units _groupSpawned]; - }; - #endif - -} else { - diag_log "_fnc_spawnGroup:: ERROR CONDITION : NULL GROUP CREATED"; -}; -_groupSpawned diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf deleted file mode 100644 index dcd068a..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc__loadLootItemsFromArray.sqf +++ /dev/null @@ -1,51 +0,0 @@ -/* - Depends on blck_fnc_addItemToCrate - - call as: - - [_item,_crate] call blck_fnc_loadLootFromItemsArray; - - where - _crate is a container such as ammo box or vehicle - _loadout is an array containing either 2 or 3 elements. The first array is always an array of items to add. Items can be formated as ["item1","item1"], as [["item1",3],["item2",2]] or as [["item1",2,4],["item2",3,5]]. - See GMS_fnc_addItemToCrate for information about the acceptable formates for the items "item1" ... "itemN". - - The second and optional third element in the array specify the number of times the script will randomly select an item from the array of items and load it into the crate. - For example: - case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time. - case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times. - - by Ghostrider-DbD- - 11/14/16 - - -------------------------- - 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["_loadout","_crate",["_addAmmo",0]]; - if ((_loadout select 0) isEqualTo []) exitWith {}; - { - private["_tries","_q","_item"]; - _tries = 0; - //diag_log format["_fn_loadLoot:: -- >> now loading for %1",_x]; - _q = _x select 1; // this can be a number or array. - if ( (typeName _q) isEqualTo "ARRAY") then // Assume the array contains a min/max number to add - { - if ((count _q) isEqualTo 2) then {_tries = (_q select 0) + round(random(((_q select 1) - (_q select 0))));} else {_tries = 0;}; - }; - if ((typeName _q) isEqualTo "SCALAR") then - { - _tries = _q; - }; - for "_i" from 1 to _tries do - { - _item = selectRandom (_x select 0); - [_item,_crate,_addAmmo] call blck_fnc_addItemToCrate; - }; - }forEach _loadout; diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf deleted file mode 100644 index 20cecaa..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addItemToCrate.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/* - [_item,_crate] call blck_addItemToCrate; - where - _crate is a container such as ammo box or vehicle - _item is a string or array. - If _item is a string then add 1 of that item to the container. - If _item is an array with 2 elements ["itemName",3] then assume that the first element is a string and is the name of the item, and the second is the number to add. - if _item is an array with 3 elements ["itemName",2,6] assume that the first element is the item name (string), the second the min # to add and the third the max # to add. - by Ghostrider-DbD- - 11/14/16 - - -------------------------- - 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["_itemInfo","_crate",["_addAmmo",0]]; - private["_isRifle","_isMagazine","_isBackpack"]; - _isWeapon = false; - _isMagazine = false; - _isBackpack = false; - _quant = 0; - //diag_log format["_fn_addItemToCrate:: -- >> itemInfor = %1",_itemInfo]; - if (typeName _itemInfo isEqualTo "STRING") then {_item = _itemInfo; _quant = 1}; // case where only the item descriptor was provided - if (typeName _itemInfo isEqualTo "ARRAY") then { - - if (count _itemInfo isEqualTo 2) then {_item = _itemInfo select 0; _quant = _itemInfo select 1;}; // case where item descriptor and quantity were provided - if (count _itemInfo isEqualto 3) then { - _item = _itemInfo select 0; - _quant = (_itemInfo select 1) + round(random((_itemInfo select 2) - (_itemInfo select 1))); - }; // case where item descriptor, min number and max number were provided. - }; - if (((typeName _item) isEqualTo "STRING") && (_item != "")) then - { - if (isClass(configFile >> "CfgWeapons" >> _item)) then { - _crate addWeaponCargoGlobal [_item,_quant]; - _isWeapon = true; - _count = 0; - if (typeName _addAmmo isEqualTo "SCALAR") then - { - _count = _addAmmo; - }; - if (typeName _addAmmo isEqualto "ARRAY") then - { - _count = (_addAmmo select 0) + (round(random((_addAmmo select 1) - (_addAmmo select 0)))); - }; - _ammo = getArray (configFile >> "CfgWeapons" >> _item >> "magazines"); - for "_i" from 1 to _count do - { - _crate addMagazineCargoGlobal [selectRandom _ammo,1]; - }; - }; - if (_item isKindOf ["Bag_Base", configFile >> "CfgVehicles"]) then {_crate addBackpackCargoGlobal [_item,_quant]; _isBackpack = true;}; - if (isClass(configFile >> "CfgMagazines" >> _item)) then {_crate addMagazineCargoGlobal [_item,_quant]; _isMagazine = true;}; - if (!_isWeapon && !_isMagazine && _isBackpack && isClass(configFile >> "CfgVehicles" >> _item)) then {_crate addItemCargoGlobal [_item,_quant]}; - }; diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf deleted file mode 100644 index aee5b71..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addLiveAItoQue.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - Adds a list of live AI associated with a mission to a que of live AI that will be deleted at a later time by the main thread - call as [ [list of AI], time] call blck_fnc_addLiveAItoQue; where time is the time delay before deletion occurs - - by Ghostrider-DbD- - Last modified 3-13-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//diag_log format["_fnc_addLiveAIToQue:: -> when called, blck_liveMissionAI = %1",blck_liveMissionAI]; -params["_aiList","_timeDelay"]; -//diag_log format["_fnc_addLiveAIToQue:: -->> _aiList = %1 || _timeDelay = %2",_aiList,_timeDelay]; -blck_liveMissionAI pushback [_aiList, (diag_tickTime + _timeDelay)]; -//diag_log format["_fnc_addLiveAIToQue:: -> blck_fnc_addLiveAI updated to %1",blck_liveMissionAI]; - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf deleted file mode 100644 index 70f967e..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addMIssionToQue.sqf +++ /dev/null @@ -1,37 +0,0 @@ -/* - Adds the basic list of parameters that define a mission such as the marker name, mission list, mission path, AI difficulty, and timer settings, to the arrays that the main thread inspects. - - by Ghostrider-DbD- - Last modified 1-21-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//private _mission = _this; -//diag_log format["_fnc_addMissionToQue:: -- >> _mission - %1",_mission]; -// 0 1 2 3 4 5 -// [_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange,] -params["_missionList","_path","_marker","_difficulty","_tMin","_tMax",["_noMissions",1],["_allowReinforcements",true]]; - -for "_i" from 1 to _noMissions do -{ - private _waitTime = diag_tickTime + (_tMin) + random((_tMax) - (_tMin)); - // 0 1 2 3 4 5 6 7 8 - private _mission = [_missionList,_path,format["%1%2",_marker,_i],_difficulty,_tMin,_tMax,_waitTime,[0,0,0],_allowReinforcements]; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log format["-fnc_addMissionToQue::-->> _mission = %1",_mission];}; - #endif - - blck_pendingMissions pushback _mission; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["_fnc_addMissionToQue:: -- >> Result - blck_pendingMissions = %1",blck_pendingMissions];}; -#endif \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf deleted file mode 100644 index 043c1ae..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_addObjToQue.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - Adds a list of live AI associated with a mission to a que of live AI that will be deleted at a later time by the main thread - call as [ [list of AI], time] call blck_fnc_addLiveAItoQue; where time is the time delay before deletion occurs - - by Ghostrider-DbD- - Last modified 10-14-16 - - -------------------------- - 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["_objList","_timeDelay"]; -//diag_log format["_fnc_addObjToQue:: -- >> _objList = %1 || _timeDelay = %2",_objList,_timeDelay]; -//diag_log format["_fnc_addObjToQue:: (11) -- >> blck_oldMissionObjects prior to update = %1",blck_oldMissionObjects]; -blck_oldMissionObjects pushback [_objList, (diag_tickTime + _timeDelay)]; -//diag_log format["_fnc_addObjToQue:: (11) -- >> blck_oldMissionObjects after update = %1",blck_oldMissionObjects]; - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf deleted file mode 100644 index b79dbb4..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_cleanUpObjects.sqf +++ /dev/null @@ -1,63 +0,0 @@ - // Delete objects in a list after a certain time. - // code to delete any smoking or on fire objects adapted from kalania - //http://forums.bistudio.com/showthread.php?165184-Delete-Fire-Effect/page1 - // http://forums.bistudio.com/showthread.php?165184-Delete-Fire-Effect/page2 -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 4-11-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -_fn_deleteObjects = { - params["_objects"]; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log format["_fn_deleteObjects:: -> _objects = %1",_objects];}; - #endif - - { - #ifdef blck_debugMode - if (blck_debugLevel > 1) then {diag_log format["_fnc_cleanUpObjects: -> deleting object %1",_x];}; - #endif - - deleteVehicle _x; - } forEach _objects; -}; - -//diag_log format["_fnc_cleanUpObjects called at %1",diag_tickTime]; -private["_oldObjs"]; -for "_i" from 1 to (count blck_oldMissionObjects) do -{ - if (_i <= count blck_oldMissionObjects) then - { - _oldObjs = blck_oldMissionObjects select (_i - 1); - //diag_log format["_fnc_cleanUpObjects ::-->> evaluating missionObjects = %1 with delete time of %3 and diag_tickTime %2",_oldObjs,diag_tickTime, _oldObjs select 1]; - if (diag_tickTime > (_oldObjs select 1) ) then { - //diag_log format["_fn_deleteObjects:: (50) cleaning up mission objects %1",_oldObjs]; - [_oldObjs select 0] call _fn_deleteObjects; - uiSleep 0.1; - blck_oldMissionObjects set[(_i - 1), -1]; - blck_oldMissionObjects = blck_oldMissionObjects - [-1]; - - #ifdef blck_debugMode - //diag_log format["_fn_deleteObjects:: blck_oldMissionObjects updated from %1",_obj]; - if (blck_debugLevel > 1) then {diag_log format["_fn_deleteObjects:: (48) blck_oldMissionObjects updated to %1",blck_oldMissionObjects];}; - #endif - }; - }; -}; - - - - - - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf deleted file mode 100644 index 8dd5b91..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_clearMines.sqf +++ /dev/null @@ -1,23 +0,0 @@ -// removes mines in a region centered around a specific position. -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-13-16 - - -------------------------- - 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 ["_mines"]; -//_mines = _this select 0; // array containing the mines to be deleted -//diag_log format["deleting %1 mines----- >>>> ", count _mines]; -{ - deleteVehicle _x; -} forEach _mines; - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf deleted file mode 100644 index d008f72..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_endMission.sqf +++ /dev/null @@ -1,101 +0,0 @@ -/* - - [_mines,_objects,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission] call blck_fnc_endMission; - schedules deletion of all remaining alive AI and mission objects. - Updates the mission que. - Updates mission markers. - By Ghostrider-DbD- - 3/17/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - params["_mines","_objects","_crates","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission",["_aborted",false],["_vehicles",[]]]; - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log format["_fnc_endMission: _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _aborted %4",_blck_localMissionMarker,_coords,_mission,_aborted]; - diag_log format["_fnc_endMission: _aborted = %1",_aborted]; - }; - #endif - - private["_cleanupAliveAITimer","_cleanupCompositionTimer"]; - if (blck_useSignalEnd && !_aborted) then - { - //diag_log format["**** Minor\SM1.sqf:: _crate = %1",_crates select 0]; - [_crates select 0] spawn blck_fnc_signalEnd; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] _fnc_endMission:: (18) SignalEnd called: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - - }; - - if (_aborted) then - { - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log format["_fnc_endMission: Mission Aborted, setting all timers to 0"]; - }; - #endif - - _cleanupCompositionTimer = 0; - _cleanupAliveAITimer = 0; - } else { - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log format["_fnc_endMission: Mission Completed without errors, setting all timers to default values"]; - }; - #endif - - _cleanupCompositionTimer = blck_cleanupCompositionTimer; - _cleanupAliveAITimer = blck_AliveAICleanUpTimer; - [["end",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; - [_blck_localMissionMarker select 1, _markerClass] execVM "debug\missionCompleteMarker.sqf"; - }; - - // Using a variable attached to the crate rather than the global setting to be sure we do not fill a crate twice. - // the "lootLoaded" loaded should be set to true by the crate filler script so we can use that for our check. - { - //diag_log format["_fnc_endMission: for crate %1 lootLoaded = %2",_x,_x getVariable["lootLoaded",false]]; - if !(_x getVariable["lootLoaded",false]) then - { - // _crateLoot,_lootCounts are defined above and carry the loot table to be used and the number of items of each category to load - [_x,_crateLoot,_lootCounts] call blck_fnc_fillBoxes; - }; - }forEach _crates; - { - private ["_v","_posnVeh"]; - _posnVeh = blck_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count blck_monitoredVehicles -1) - if (_posnVeh >= 0) then - { - //diag_log format["_fnc_endMission: setting missionCompleted for vehicle %1 to %2",_x,diag_tickTime]; - (blck_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; - } else { - _x setVariable ["missionCompleted", diag_tickTime]; - blck_monitoredVehicles pushback _x; - }; - } forEach _vehicles; - - [_mines] spawn blck_fnc_clearMines; - //diag_log format["_fnc_endMission: (23) _objects = %1",_objects]; - [_objects, _cleanupCompositionTimer] spawn blck_fnc_addObjToQue; - //diag_log format["_fnc_endMission:: (26) _blck_AllMissionAI = %1",_blck_AllMissionAI]; - [_blck_AllMissionAI, (_cleanupAliveAITimer)] spawn blck_fnc_addLiveAItoQue; - [_blck_localMissionMarker select 0] execVM "debug\deleteMarker.sqf"; - blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords]; - blck_recentMissionCoords pushback [_coords,diag_tickTime]; - //diag_log format["_fnc_endMission:: (34) _mission = %1",_mission]; - [_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue; - blck_missionsRunning = blck_missionsRunning - 1; - - _aborted \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf deleted file mode 100644 index 76a2a2d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_fillBoxes.sqf +++ /dev/null @@ -1,99 +0,0 @@ - -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-13-17 - Fill a crate with items - - -------------------------- - 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["_a1","_item","_diff","_tries"]; - params["_crate","_boxLoot","_itemCnts"]; - - _itemCnts params["_wepCnt","_magCnt","_opticsCnt","_materialsCnt","_itemCnt","_bkcPckCnt"]; - _tries = [_wepCnt] call blck_fnc_getNumberFromRange; - if (_tries > 0) then - { - _a1 = _boxLoot select 0; // choose the subarray of weapons and corresponding magazines - // Add some randomly selected weapons and corresponding magazines - for "_i" from 1 to _tries do { - _item = selectRandom _a1; - if (typeName _item isEqualTo "ARRAY") then // Check whether weapon name is part of an array that might also specify an ammo to use - { - _crate addWeaponCargoGlobal [_item select 0,1]; // if yes then assume the first element in the array is the weapon name - if (count _item >1) then { // if the array has more than one element assume the second is the ammo to use. - _crate addMagazineCargoGlobal [_item select 1, 1 + round(random(3))]; - } else { // if the array has only one element then lets load random ammo for it - _crate addMagazineCargoGlobal [selectRandom (getArray (configFile >> "CfgWeapons" >> (_item select 0) >> "magazines")), 1 + round(random(3))]; - }; - } else { - if (_item isKindOf ["Rifle", configFile >> "CfgWeapons"]) then - { - _crate addWeaponCargoGlobal [_item, 1]; - _crate addMagazineCargoGlobal [selectRandom (getArray (configFile >> "CfgWeapons" >> _item >> "magazines")), 1 + round(random(3))]; - }; - }; - }; - }; - _tries = [_magCnt] call blck_fnc_getNumberFromRange; - if (_tries > 0) then - { - // Add Magazines, grenades, and 40mm GL shells - _a1 = _boxLoot select 1; - for "_i" from 1 to _tries do { - _item = selectRandom _a1; - _diff = (_item select 2) - (_item select 1); // Take difference between max and min number of items to load and randomize based on this value - _crate addMagazineCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; - }; - }; - _tries = [_opticsCnt] call blck_fnc_getNumberFromRange; - if (_tries > 0) then - { - // Add Optics - _a1 = _boxLoot select 2; - for "_i" from 1 to _tries do { - _item = selectRandom _a1; - _diff = (_item select 2) - (_item select 1); - _crate additemCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; - }; - }; - _tries = [_materialsCnt] call blck_fnc_getNumberFromRange; - if (_tries > 0) then - { - // Add materials (cindar, mortar, electrical parts etc) - _a1 = _boxLoot select 3; - for "_i" from 1 to _tries do { - _item = selectRandom _a1; - _diff = (_item select 2) - (_item select 1); - _crate additemCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; - }; - }; - _tries = [_itemCnt] call blck_fnc_getNumberFromRange; - if (_tries > 0) then - { - // Add Items (first aid kits, multitool bits, vehicle repair kits, food and drinks) - _a1 = _boxLoot select 4; - for "_i" from 1 to _tries do { - _item = selectRandom _a1; - _diff = (_item select 2) - (_item select 1); - _crate additemCargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; - }; - }; - _tries = [_bkcPckCnt] call blck_fnc_getNumberFromRange; - if (_tries > 0) then - { - _a1 = _boxLoot select 5; - for "_i" from 1 to _tries do { - _item = selectRandom _a1; - _diff = (_item select 2) - (_item select 1); - _crate addbackpackcargoGlobal [_item select 0, (_item select 1) + round(random(_diff))]; - }; - }; diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf deleted file mode 100644 index d1873e4..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionAIareDead.sqf +++ /dev/null @@ -1,28 +0,0 @@ -// removes mines in a region centered around a specific position. -/* - [_missionAIGroups] call blck_fnc_missionAIareDead; // _missionAIGroups is an array of groups. - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-13-17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params ["_missionAIGroups"]; -private["_allAIDead","_group"]; - -_allAIDead = true; - -{ - _group = _x; // done for coding clarity only - actually less efficient this way - if ( {alive _x) count (units _group) > 0 ) exitWith {_allAIDead = false}; -} forEach _missionAIGroups; - -_allAIDead; - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf deleted file mode 100644 index 5a386fa..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_missionSpawner - Copy.sqf +++ /dev/null @@ -1,467 +0,0 @@ -/* - Generic Mission Spawner - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 8/13/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_AI_Vehicles","_timeOut","_aiDifficultyLevel"]; -params["_coords","_mission",["_allowReinforcements",true]]; -diag_log format["_missionSpawner (18):: _allowReinforcements = %1",_allowReinforcements]; - -//////// -// set all variables needed for the missions -// data is pulled either from the mission description or from the _mission variable passsed as a parameter -// Deal with situations where some of these variables might not be defined as well. -//////// - -// _mission params[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange]; -_markerClass = _mission select 2; -_aiDifficultyLevel = _mission select 3; - -if (blck_debugLevel > 0) then {diag_log format["_fnc_mainThread:: -->> _markerClass = %1",_markerClass];}; - -[_mission,"active",_coords] call blck_fnc_updateMissionQue; -blck_ActiveMissionCoords pushback _coords; -diag_log format["[blckeagls] missionSpawner (17):: Initializing mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - -private["_chanceHeliPatrol","_noPara","_reinforcementLootCounts","_chanceLoot","_heliCrew","_loadCratesTiming"]; - -if (isNil "_markerColor") then {_markerColor = "ColorBlack"}; -if (isNil "_markerType") then {_markerType = ["mil_box",[]]}; -//if (isNil "_timeOut") then {_timeOut = -1;}; -if (isNil "_loadCratesTiming") then {_loadCratesTiming = blck_loadCratesTiming}; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - -private["_useMines","_blck_AllMissionAI","_delayTime","_groupPatrolRadius"]; -if (isNil "_useMines") then {_useMines = blck_useMines;}; - -_objects = []; -_mines = []; -_crates = []; -_aiGroup = []; -_missionAIVehicles = []; -_blck_AllMissionAI = []; -_AI_Vehicles = []; -_blck_localMissionMarker = [_markerClass,_coords,"","",_markerColor,_markerType]; -_delayTime = 1; -_groupPatrolRadius = 50; - -if (blck_labelMapMarkers select 0) then -{ - //diag_log "labeling map markers *****"; - _blck_localMissionMarker set [2, _markerMissionName]; -}; -if !(blck_preciseMapMarkers) then -{ - //diag_log "Map marker will be OFFSET from the mission position"; - _blck_localMissionMarker set [1,[_coords,75] call blck_fnc_randomPosition]; -}; -_blck_localMissionMarker set [3,blck_labelMapMarkers select 1]; // Use an arrow labeled with the mission name? -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (91) message players and spawn a mission marker";}; -[["start",_startMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers; -[_blck_localMissionMarker] execVM "debug\spawnMarker.sqf"; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (94) waiting for player to trigger the mission";}; -#endif -//////// -// All parameters are defined, lets wait until a player is nearby or the mission has timed out -//////// - -private["_wait","_missionStartTime","_playerInRange","_missionTimedOut"]; -_missionStartTime = diag_tickTime; -_playerInRange = false; -_missionTimedOut = false; -_wait = true; -if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (105) starting mission trigger loop"}; - -while {_wait} do -{ - #ifdef blck_debugMode - //diag_log "missionSpawner:: top of mission trigger loop"; - if (blck_debugLevel > 2) exitWith {_playerInRange = true;}; - #endif - - if ([_coords, blck_TriggerDistance, false] call blck_fnc_playerInRange) exitWith {_playerInRange = true;}; - if ([_missionStartTime] call blck_fnc_timedOut) exitWith {_missionTimedOut = true;}; - uiSleep 5; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["missionSpawner:: Trigger Loop - blck_debugLevel = %1 and _coords = %2",blck_debugLevel, _coords]; - diag_log format["missionSpawner:: Trigger Loop - players in range = %1",{isPlayer _x && _x distance2D _coords < blck_TriggerDistance} count allPlayers]; - diag_log format["missionSpawner:: Trigger Loop - timeout = %1", [_missionStartTime] call blck_fnc_timedOut]; - }; - #endif -}; - -if (_missionTimedOut) exitWith -{ -/* - -*/ - // Deal with the case in which the mission timed out. - //["timeOut",_endMsg,_blck_localMissionMarker select 2] call blck_fnc_messageplayers; - blck_recentMissionCoords pushback [_coords,diag_tickTime]; - blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords]; - [_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue; - blck_missionsRunning = blck_missionsRunning - 1; - [_blck_localMissionMarker select 0] call compile preprocessfilelinenumbers "debug\deleteMarker.sqf"; - //_blck_localMissionMarker set [1,[0,0,0]]; - //_blck_localMissionMarker set [2,""]; - [_objects, 0.1] spawn blck_fnc_cleanupObjects; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (105) Mission Timed Out: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif -}; - -//////// -// Spawn the mission objects, loot chest, and AI -//////// -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (112) -- >> Mission tripped: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -if (count _missionLootBoxes > 0) then -{ - _crates = [_coords,_missionLootBoxes,_loadCratesTiming] call blck_fnc_spawnMissionCrates; -} -else -{ - _crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming] call blck_fnc_spawnMissionCrates; - -}; - -if (blck_cleanUpLootChests) then -{ - _objects append _crates; -}; - -//uisleep 2; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (136) Crates Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -private ["_temp"]; -if (blck_SmokeAtMissions select 0) then // spawn a fire and smoke near the crate -{ - _temp = [_coords,blck_SmokeAtMissions select 1] call blck_fnc_smokeAtCrates; - if (typeName _temp isEqualTo "ARRAY") then - { - _objects append _temp; - }; -}; - -uiSleep _delayTime; -if (_useMines) then -{ - _mines = [_coords] call blck_fnc_spawnMines; - //uiSleep _delayTime;; -}; -uiSleep _delayTime; -_temp = []; -if (_missionLandscapeMode isEqualTo "random") then -{ - _temp = [_coords,_missionLandscape, 3, 15, 2] call blck_fnc_spawnRandomLandscape; -} else { - _temp = [_coords, floor(random(360)),_missionLandscape,true] call blck_fnc_spawnCompositionObjects; - //uiSleep 1; -}; -if (typeName _temp isEqualTo "ARRAY") then -{ - _objects append _temp; -}; -//diag_log format["_fnc_missionSpawner:: (181)->> _objects = %1",_objects]; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (170) Landscape spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -uiSleep _delayTime;; - -_temp = [_missionLootVehicles] call blck_fnc_spawnMissionLootVehicles; -//uisleep 1; -_crates append _temp; - -uiSleep _delayTime; - -_abort = false; -_temp = [[],[],false]; -_temp = [_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; -//[_coords, _minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (185) blck_fnc_spawnMissionAI returned a value of _temp = %1",_temp]; uiSleep 1; -}; - -_abort = _temp select 1; -if (blck_debugLevel > 2) then { - diag_log format["missionSpawner :: (190) blck_fnc_spawnMissionAI returned a value of _abort = %1",_abort]; uiSleep 1; -}; -#endif - -if (_abort) exitWith -{ - if (blck_debugLevel > 1) then { - diag_log "missionSpawner:: (194) grpNull returned, mission termination criteria met, calling blck_fnc_endMission" - }; - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; -}; -if !(_abort) then -{ - _blck_AllMissionAI append (_temp select 0); -}; - -uiSleep _delayTime; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (202) AI Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; -}; -#endif - -uiSleep 3; -_temp = [[],[],false]; -_abort = false; -private["_patrolVehicles","_vehToSpawn"]; -_vehToSpawn = [_noVehiclePatrols] call blck_fnc_getNumberFromRange; -diag_log format["_missionSpawner:: _vehToSpawn = %1",_vehToSpawn]; -if (blck_useVehiclePatrols && (_vehToSpawn > 0)) then -{ - _temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; - //[_coords,_noVehiclePatrols,_aiDifficultyLevel,_uniforms,_headGear,_markerClass] call blck_fnc_spawnMissionVehiclePatrols; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then { - diag_log format["missionSpawner :: (216) blck_fnc_spawnMissionVehiclePatrols returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - if !(_abort) then - { - _patrolVehicles = _temp select 0; - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (272) Vehicle Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - - }; -}; - -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log "missionSpawner:: (222) grpNull returned, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true] call blck_fnc_endMission; -}; - -uiSleep _delayTime; -_temp = [[],[],false]; -_abort = false; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log format["missionSpawner:: (234) preparing to spawn emplaced weapons for _coords %4 | _markerClass %3 | blck_useStatic = %1 | _noEmplacedWeapons = %2",blck_useStatic,_noEmplacedWeapons,_markerClass,_coords];}; -#endif - -uiSleep 3; -private["_noEmplacedToSpawn"]; -_noEmplacedToSpawn = [_noEmplacedWeapons] call blck_fnc_getNumberFromRange; -diag_log format["_missionSpawner:: _noEmplacedToSpawn = %1",_vehToSpawn]; -if (blck_useStatic && (_noEmplacedToSpawn > 0)) then -{ - // params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; - _temp = [_missionEmplacedWeapons,_noEmplacedToSpawn,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (232) blck_fnc_spawnEmplacedWeaponArray returned _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format ["missionSpawner:: (241) _abort = %1",_abort]; - - }; - #endif - - if !(_abort) then - { - _objects append (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls] missionSpawner:: (253) Static Weapons Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - }; -}; -if (_abort) exitWith -{ - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (261) grpNull ERROR in blck_fnc_spawnEmplacedWeaponArray, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; -}; - -uiSleep 3; -if (_allowReinforcements) then -{ - _weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout; - _temp = []; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["[blckeagls] missionSpawner:: (268) calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - }; - #endif - private _noChoppers = 0; - private _chancePara = 0.5; - switch (toLower _aiDifficultyLevel) do - { - case "blue":{ - _noChoppers = [blck_noPatrolHelisBlue] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaBlue] call blck_fnc_getNumberFromRange; - }; - case "red":{ - _noChoppers = [blck_noPatrolHelisRed] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaRed] call blck_fnc_getNumberFromRange; - }; - case "green":{ - _noChoppers = [blck_noPatrolHelisGreen] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaGreen] call blck_fnc_getNumberFromRange; - }; - case "orange":{ - _noChoppers = [blck_noPatrolHelisOrange] call blck_fnc_getNumberFromRange; - _chancePara = [blck_chanceParaOrange] call blck_fnc_getNumberFromRange; - }; - }; - diag_log format["_missionSpawner:: _noChoppers = %1 && _chancePara = %2",_noChoppers,_chancePara]; - for "_i" from 1 to (_noChoppers) do - { - //params["_coords","_aiSkillsLevel","_weapons","_uniforms","_headgear"]; - - _temp = [_coords,_aiDifficultyLevel,_weaponList,_uniforms,_headGear,_chancePara] call blck_fnc_spawnMissionReinforcements; - - #ifdef blck_debugMode - if (blck_debugLevel >= 2) then - { - diag_log format["missionSpawner:: blck_fnc_spawnMissionReinforcements call for chopper # %1 out of a total of %2 choppers",_i, _noChoppers]; - diag_log format["missionSpawner:: _temp = %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _abort = _temp select 2; - _objects pushback (_temp select 0); - _blck_AllMissionAI append (_temp select 1); - }; - if (_abort) then - { - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "missionSpawner:: (276) grpNul or ERROR in blck_fnc_spawnMissionReinforcements, mission termination criteria met, calling blck_endMission"; - }; - #endif - - [_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,true,_patrolVehicles] call blck_fnc_endMission; - }; - }; -}; -// Trigger for mission end -//diag_log format["[blckeagls] mission Spawner _endCondition = %1",_endCondition]; -private["_missionComplete","_endIfPlayerNear","_endIfAIKilled"]; -_missionComplete = -1; -_startTime = diag_tickTime; - -switch (_endCondition) do -{ - case "playerNear": {_endIfPlayerNear = true;_endIfAIKilled = false;}; - case "allUnitsKilled": {_endIfPlayerNear = false;_endIfAIKilled = true;}; - case "allKilledOrPlayerNear": {_endIfPlayerNear = true;_endIfAIKilled = true;}; -}; -//diag_log format["missionSpawner :: (269) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; -private["_locations"]; -_locations = [_coords]; -{ - _locations pushback (getPos _x); -} forEach _crates; - -//diag_log format["missionSpawner:: _coords = %1 | _crates = %2 | _locations = %3",_coords,_crates,_locations]; -//diag_log format["missionSpawner:: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled]; -while {_missionComplete isEqualTo -1} do -{ - //if (blck_debugLevel isEqualTo 3) exitWith {uiSleep 180}; - if ((_endIfPlayerNear) && [_locations,10,true] call blck_fnc_playerInRangeArray) exitWith {}; - if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1 /*[_blck_AllMissionAI] call blck_fnc_missionAIareDead*/ ) exitWith {}; - //diag_log format["missionSpawner:: (283) missionCompleteLoop - > players near = %1 and ai alive = %2",[_coords,20] call blck_fnc_playerInRange, {alive _x} count _blck_AllMissionAI]; - uiSleep 4; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["[blckeagls] missionSpawner:: (414) Mission completion criteria fulfilled: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - diag_log format["missionSpawner :: (415) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled]; -}; -#endif -//diag_log format["[blckeagls] missionSpawner:: (418) calling endMission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]; - -private["_result"]; -_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,false,_patrolVehicles] call blck_fnc_endMission; - -//diag_log format["[blckeagls] missionSpawner:: (420)end of mission: blck_fnc_endMission returned value of %1","pending"]; - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf deleted file mode 100644 index 38cfb60..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_selectAILoadout.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/* - [ - _missionColor // ["blue","red","green","orange"] - ] call blck_fnc_selectAILoadout; - - returns: - _lootarray - by Ghostrider-DbD- - 1/9-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_weaponList","_missionColor"]; - -_missionColor = _this select 0; -switch (_missionColor) do { - case "blue": {_weaponList = blck_WeaponList_Blue;}; - case "red": {_weaponList = blck_WeaponList_Red;}; - case "green": {_weaponList = blck_WeaponList_Green;}; - case "orange": {_weaponList = blck_WeaponList_Orange;}; - default {_weaponList = blck_WeaponList_Blue;}; -}; -_weaponList diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf deleted file mode 100644 index 9eac353..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_signalEnd.sqf +++ /dev/null @@ -1,49 +0,0 @@ -////////////////////////////////////////////////////// -// Attach a marker of type _marker to an object _crate -// by Ghostrider-DBD- based on code from Wicked AI for Arma 2 Dayz Epoch -// Last modified 8/2/15 -///////////////////////////////////////////////////// -/* - -------------------------- - 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 ["_start","_bbr","_p1","_p2","_maxHeight","_signalCrate","_smokeShell","_light","_lightSource"]; - params["_crate",["_time",60]]; - _start = diag_tickTime; - //diag_log format["signalEnd.sqf: _this = %1, _crate = %2",_this, _crate]; - _smokeShell = selectRandom ["SmokeShellOrange","SmokeShellBlue","SmokeShellPurple","SmokeShellRed","SmokeShellGreen","SmokeShellYellow"]; - _lightSource = selectRandom ["Chemlight_green","Chemlight_red","Chemlight_yellow","Chemlight_blue"]; - //diag_log format["signalEnd.sqf: _smokeShell = %1",_smokeShell]; - // Determine crate height. Method is from: - // https://community.bistudio.com/wiki/boundingBoxReal - _bbr = boundingBoxReal _crate; - _p1 = _bbr select 0; - _p2 = _bbr select 1; - _maxHeight = abs ((_p2 select 2) - (_p1 select 2)); - - while {diag_tickTime - _start < (_time)} do // loop for 5 min accounting for the fact that smoke grenades do not last very long - { - _smoke = _smokeShell createVehicle getPosATL _crate; - _smoke setPosATL (getPosATL _crate); - _smoke attachTo [_crate,[0,0,(_maxHeight + 0.35)]]; // put the smoke a fixed distance above the top of any object to make it as visible as possible - if(sunOrMoon < 0.2) then - { - _light = _lightSource createVehicle getPosATL _crate; - _light setPosATL (getPosATL _crate); - _light attachTo [_crate,[0,0,(_maxHeight + 0.35)]]; - }; - uiSleep 120; - detach _smoke; - deleteVehicle _smoke; - if(sunOrMoon < 0.2) then - { - detach _light; - deleteVehicle _light; - }; - }; diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf deleted file mode 100644 index 7f118ac..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_smokeAtCrates.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/* - Spawns a smoking wreck or object at a specified location and returns the objects spawn (wreck and the particle effects object) - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last updated 8-14-16 - - -------------------------- - 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 ["_objs","_wreckSelected","_smokeType","_fire","_posFire","_posWreck","_smoke","_dis","_minDis","_maxDis","_closest","_wrecks"]; - -_objs = []; - -// http://www.antihelios.de/EK/Arma/index.htm -_wrecks = ["Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_Car_F","Land_Wreck_Offroad2_F","Land_Wreck_Offroad_F","Land_Tyres_F","Land_Pallets_F","Land_MetalBarrel_F"]; - -params["_pos","_mode",["_maxDist",12],["_wreckChoices",_wrecks],["_addFire",false]]; - -_wreckSelected = selectRandom _wreckChoices; -//_smokeTrail = "test_EmptyObjectForSmoke"; // "options are "test_EmptyObjectForFireBig", "test_EmptyObjectForSmoke" -_smokeType = if(_addFire) then {"test_EmptyObjectForFireBig"} else {"test_EmptyObjectForSmoke"}; - -switch (_mode) do { - case "none": {if (true) exitWith {};}; - case "center": {_minDis = 5; _maxDis = 15; _closest = 5;}; - case "random": {_minDis = 15; _maxDis = 50; _closest = 10;}; - default {_minDis = 5; _maxDis = 15; _closest = 5;}; -}; -_dis = 0; -//_posWreck = [_pos, 0, 30, 10, 0, 20, 0] call BIS_fnc_findSafePos; // Position the wreck within 30 meters of the position and 5 meters away from the nearest object -// _minDis and _maxDis determine the spacing between the smoking item and the loot crate. -_minDis = 5; // Minimum distance of -//_maxDis = 50; -_closest = 10; - -while {_dis < _maxDist} do -{ - _posWreck = [_pos, _minDis, 50, _closest, 0, 20, 0] call BIS_fnc_findSafePos; // find a safe spot near the location passed in the call - _dis = _posWreck distance _pos; -}; - -// spawn a wreck near the mission center -_fire = createVehicle [_wreckSelected, [0,0,0], [], 0, "can_collide"]; -_fire setVariable ["LAST_CHECK", (diag_tickTime + 14400)]; -_fire setPos _posWreck; -_fire setDir random(360); -//https://community.bistudio.com/wiki/setVectorUp -//_fire setVectorUp surfaceNormal position _fire; - - -// spawn asmoke or fire source near the wreck and attach it. -_smoke = createVehicle [_smokeType, [0,0,0], [], 0, "can_collide"]; // "test_EmptyObjectForSmoke" createVehicle _posFire; -_smoke setVariable ["LAST_CHECK", (diag_tickTime + 14400)]; -_smoke setPos _posWreck; -_smoke attachto [_fire, [0,0,1]]; - -_objs = _objs + [_fire,_smoke]; -//diag_log format ["--smokeAtCrate.sqf:: _objs = %1",_objs]; -_objs diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf deleted file mode 100644 index 85b1508..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnEmplacedWeaponArray.sqf +++ /dev/null @@ -1,127 +0,0 @@ -/* - - [_missionEmplacedWeapons,_noEmplacedWeapons,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray; - Last modified 4/27/17 - By Ghostrider-DbD- - - -------------------------- - 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["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; -//diag_log format["_fnc_spawnEmplacedWeaponArray:: _this = %1",_this]; - -private["_return","_emplacedWeps","_emplacedAI","_wep","_units","_gunner","_abort","_pos","_mode"]; -_emplacedWeps = []; -_emplacedAI = []; -_units = []; -_abort = false; -_pos = []; -_mode = "vector"; - -#ifdef blck_debugMode -//diag_log "_fnc_spawnEmplacedWeaponArray start"; -#endif - -// Define _missionEmplacedWeapons if not already configured. -if (_missionEmplacedWeapons isEqualTo []) then -{ - _mode = "world"; - _missionEmplacedWeaponPositions = [_coords,_noEmplacedWeapons,35,50] call blck_fnc_findPositionsAlongARadius; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnEmplacedWeaponArray: creating random spawn locations: _missionEmplacedWeaponsPositions = %1", _missionEmplacedWeaponPositions]; - }; - #endif - { - _static = selectRandom blck_staticWeapons; - //diag_log format["_fnc_spawnEmplacedWeaponArray: creating spawn element [%1,%2]",_static,_x]; - _missionEmplacedWeapons pushback [_static,_x]; - //diag_log format["_fnc_spawnEmplacedWeaponArray: _mi updated to %1",_missionEmplacedWeapons]; - } forEach _missionEmplacedWeaponPositions; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_spawnEmplacedWeaponArray:: starting static weapon spawner with _missionEmplacedWeapons = %1", _missionEmplacedWeapons]; -}; -#endif - -{ - if (_mode isEqualTo "vector") then - { - _pos = _coords vectorAdd (_x select 1); - } else { - _pos = (_x select 1); - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnEmplacedWeaponArray: _coords = %1 | offset = %2 | final _pos = 53",_coords,_x select 1, _pos]; - }; - #endif - - // params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear] ]; - _empGroup = [(_x select 1),1,1,_aiDifficultyLevel,(_x select 1),1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; - - _empGroup setcombatmode "RED"; - _empGroup setBehaviour "COMBAT"; - [(_x select 1),0.01,0.02,_empGroup,"random","SAD","emplaced"] spawn blck_fnc_setupWaypoints; - if (isNull _empGroup) exitWith {_abort = _true}; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnEmplacedWeaponArray:: typeName _empGroup = %1 and _empGroup = %2 and _x = %3",typeName _empGroup, _empGroup,_x]; - }; - #endif - - // params["_vehType","_pos",["_clearInventory",true]]; - _wep = [(_x select 0),[0,0,0],false] call blck_fnc_spawnVehicle; - _wep addEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; - _empGroup setVariable["groupVehicle",_wep]; - _wep setVariable["vehicleGroup",_empGroup]; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnEmplacedWeaponArray (23) spawnVehicle returned value of _wep = %1",_wep]; - }; - #endif - - _wep setVariable["DBD_vehType","emplaced"]; - _wep setPosATL _pos; - [_wep,false] call blck_fnc_configureMissionVehicle; - _emplacedWeps pushback _wep; - _units = units _empGroup; - _gunner = _units select 0; - _gunner moveingunner _wep; - _emplacedAI append _units; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnEmplacedWeaponArray:: position of emplaced weapon = %1 and targetd position is %2",getPos _wep, _pos]; - diag_log format["_fnc_spawnEmplacedWeaponArray:: _gunner = %1 and crew _wep = %2",_gunner, crew _wep]; - }; - #endif - -} forEach _missionEmplacedWeapons; -blck_monitoredVehicles append _emplacedWeps; -_return = [_emplacedWeps,_emplacedAI,_abort]; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_spawnEmplacedWeaponArray:: returning with _return = _emplacedWeps = %1",_return]; -}; -#endif - -_return diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf deleted file mode 100644 index f6703c3..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMines.sqf +++ /dev/null @@ -1,46 +0,0 @@ -// Spawns mines in a region centered around a specific position and returns an array with the spawned mines for later use, i.e. deletion -/* - By Ghostrider-DBD- - Copyright 2016 - Last updated 8-14-16 - - -------------------------- - 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 ["_noMines","_mineTypes","_minesPlaced","_minDis","_maxDis","_closest","_radius","_xpos","_ypos","_dir","_incr","_i","_j","_posMine","_mine"]; - -params["_pos"]; - -_noMines = 50; -_mineTypes = ["ATMine","SLAMDirectionalMine"]; -_minesPlaced = []; -_minDis = 50; -_maxDis = 150; -_closest = 5; -_dir = 0; -_incr = 360/ (_noMines/2); -for "_i" from 1 to _noMines/2 do -{ - for "_j" from 1 to 2 do - { - _radius = _maxDis - floor(random(_maxDis - _minDis)); - _xpos = (_pos select 0) + sin (_dir) * _radius; - _ypos = (_pos select 1) + cos (_dir) * _radius; - _posMine = [_xpos,_ypos,0]; - //_posMine = [[_xpos,_ypos,0],0,10,_closest,0,20,0] call BIS_fnc_findSafePos; // find a random loc - _mine = createMine ["ATMine", _posMine, [], 0]; - _mine setVariable ["LAST_CHECK", (diag_tickTime + 14400)]; - _mine setPos _posMine; - //https://community.bistudio.com/wiki/setVectorUp - _minesPlaced = _minesPlaced + [_mine]; - //diag_log format["[spawnMines.sqf] mine # %2 spawned at %1",_posMine,_i]; - }; - _dir = _dir + _incr; -}; -_minesPlaced diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf deleted file mode 100644 index a96b599..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionAI.sqf +++ /dev/null @@ -1,222 +0,0 @@ -/* - blck_fnc_spawnMissionAI - by Ghostrider-DbD- - 8/13/17 - [_coords, // center of the area within which to spawn AI - _minNoAI, // minimum number of AI to spawn - _maxNoAI, // Max number of AI to spawn - _aiDifficultyLevel, // AI level [blue, red, etc] - _uniforms, // Uniforms to use - note default is blck_sSkinList - _headGear // headgear to use - blck_BanditHeager is the default - ] call blck_fnc_spawnMissionAI - returns an array of the units spawned - - -------------------------- - 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["_coords",["_minNoAI",3],["_maxNoAI",6],["_aiDifficultyLevel","red"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear]]; - private["_unitsToSpawn","_unitsPerGroup","_ResidualUnits","_newGroup","_blck_AllMissionAI","_abort"]; - _unitsToSpawn = [[_minNoAI,_maxNoAI]] call blck_fnc_getNumberFromRange; //round(_minNoAI + round(random(_maxNoAI - _minNoAI))); - _unitsPerGroup = floor(_unitsToSpawn/_noAIGroups); - _ResidualUnits = _unitsToSpawn - (_unitsPerGroup * _noAIGroups); - _blck_AllMissionAI = []; - _abort = false; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionAI (30):: _unitsToSpawn %1 ; _unitsPerGroup %2 _ResidualUnits %3",_unitsToSpawn,_unitsPerGroup,_ResidualUnits]; - }; - #endif - - switch (_noAIGroups) do - { - case 1: { // spawn the group near the mission center - - #ifdef blck_debugMode - //params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear] ]; - if (blck_debugLevel > 2) then - { - diag_log format["missionSpawner: Spawning Groups: _noAIGroups=1"]; - }; - #endif - - _newGroup = [_coords,_unitsToSpawn,_unitsToSpawn,_aiDifficultyLevel,_coords,25,30,_uniforms,_headGear,true] call blck_fnc_spawnGroup; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI (37):: case 1 - > _newGroup = %1",_newGroup]; - }; - #endif - - if (isNull _newGroup) then - { - _abort = true; - } - else - { - _newAI = units _newGroup; - blck_monitoredMissionAIGroups pushback _newGroup; - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI(41): Spawning Groups: _noAIGroups=1 _newGroup=%1 _newAI = %2",_newGroup, _newAI]; - }; - #endif - - _blck_AllMissionAI append _newAI; - - }; - }; - case 2: { - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI(47): Spawning Groups: _noAIGroups=2"]; // spawn groups on either side of the mission area - }; - #endif - - _groupLocations = [_coords,_noAIGroups,15,30] call blck_fnc_findPositionsAlongARadius; - { - private["_adjusttedGroupSize"]; - if (_ResidualUnits > 0) then - { - _adjusttedGroupSize = _unitsPerGroup + _ResidualUnits; - _ResidualUnits = 0; - } else { - _adjusttedGroupSize = _unitsPerGroup; - }; - _newGroup = [_x,_adjusttedGroupSize,_adjusttedGroupSize,_aiDifficultyLevel,_coords,15,25,_uniforms,_headGear] call blck_fnc_spawnGroup; - if (isNull _newGroup) then - { - _abort = true; - } - else - { - _newAI = units _newGroup; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI(61): case 2: _newGroup=%1",_newGroup]; - }; - #endif - - _blck_AllMissionAI append _newAI; - }; - }forEach _groupLocations; - - }; - case 3: { // spawn one group near the center of the mission and the rest on the perimeter - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI (68): Spawning Groups: _noAIGroups=3"]; - }; - #endif - - - _newGroup = [_coords,_unitsPerGroup + _ResidualUnits,_unitsPerGroup + _ResidualUnits,_aiDifficultyLevel,_coords,10,15,_uniforms,_headGear] call blck_fnc_spawnGroup; - if (isNull _newGroup) then - { - _abort = true; - } - else - { - _newAI = units _newGroup; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI (73): Case 3: _newGroup=%1",_newGroup]; - }; - #endif - - _blck_AllMissionAI append _newAI; - - _groupLocations = [_coords,2,20,35] call blck_fnc_findPositionsAlongARadius; - { - _newGroup = [_x,_unitsPerGroup,_unitsPerGroup,_aiDifficultyLevel,_coords,1,12,_uniforms,_headGear] call blck_fnc_spawnGroup; - if (isNull _newGroup) then - { - _abort = true; - } - else - { - _newAI = units _newGroup; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI(78): Case 3: line 81: _newGroup = %1",_newGroup]; - }; - #endif - - _blck_AllMissionAI append _newAI; - }; - }forEach _groupLocations; - }; - }; - default { // spawn one group near the center of the mission and the rest on the perimeter - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI (88): case 4:"]; - }; - #endif - - _newGroup = [_coords,_unitsPerGroup + _ResidualUnits,_unitsPerGroup + _ResidualUnits,_aiDifficultyLevel,_coords,1,12,_uniforms,_headGear] call blck_fnc_spawnGroup; - if (isNull _newGroup) then - { - _abort = true; - }; - _newAI = units _newGroup; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI(92): Spawning Groups: _noAIGroups=1 _newGroup=%1 _newAI = %2",_newGroup, _newAI]; - }; - #endif - - _blck_AllMissionAI append _newAI; - _groupLocations = [_coords,(_noAIGroups - 1),20,40] call blck_fnc_findPositionsAlongARadius; - { - _newGroup = [_x,_unitsPerGroup,_unitsPerGroup,_aiDifficultyLevel,_coords,1,12,_uniforms,_headGear] call blck_fnc_spawnGroup; - if (isNull _newGroup) then - { - _abort = true; - } - else - { - _newAI = units _newGroup; - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionAI(99): _newGroup=%1",_newGroup]; - }; - _blck_AllMissionAI append _newAI; - }; - }forEach _groupLocations; - }; - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionAI(133): _abort = %1 | _blck_AllMissionAI = %2",_abort,_blck_AllMissionAI]; - }; - #endif - - private["_return"]; - _return = [_blck_AllMissionAI,_abort]; - _return diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf deleted file mode 100644 index 30678fe..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionCrates.sqf +++ /dev/null @@ -1,48 +0,0 @@ -/* - Spawn some crates using an array containing crate types and their offsets relative to a reference position and prevent their cleanup. - By Ghostrider-DBD- - Copyright 2016 - Last updated 3-20-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private ["_objs","_pos","_offset"]; -params[ ["_coords", [0,0,0]], ["_crates",[]], ["_loadCrateTiming","atMissionSpawn"] ]; - -if ((count _coords) == 2) then // assume only X and Y offsets are provided -{ - _coords pushback 0;; // calculate the world coordinates -}; -_objs = []; -{ - _x params["_crateType","_crateOffset","_lootArray","_lootCounts"]; - //_pos = [(_coords select 0)+(_crateOffset select 0),(_coords select 1) + (_crateOffset select 1),(_coords select 2)+(_crateOffset select 2)]; // calculate the world coordinates - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionCrates: _crateType = %1 | _crateOffset = %2 | _lootArray = %3 | _lootCounts = %4",_crateType,_crateOffset,_lootArray,_lootCounts]; - }; - #endif - _pos = _coords vectorAdd _crateOffset; - _crate = [_pos,_crateType] call blck_fnc_spawnCrate; - _objs pushback _crate; - if (_loadCrateTiming isEqualTo "atMissionSpawn") then - { - //diag_log format["_fnc_spawnMissionCrates::-> loading loot at mission spawn for crate %1",_x]; - [_crate,_lootArray,_lootCounts] call blck_fnc_fillBoxes; - _crate setVariable["lootLoaded",true]; - } - else - { - //diag_log format["_fnc_spawnMissionCrates::-> not loading crate loot at this time for crate %1",_x]; - }; -}forEach _crates; - -_objs diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf deleted file mode 100644 index 488aa2f..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli - Copy.sqf +++ /dev/null @@ -1,75 +0,0 @@ - -/* - By Ghostrider-DbD- - -------------------------- - 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["_coords","_grpPilot","_chanceLoot"]; -_chopperType = selectRandom blck_AIHelis; -_grpPilot setVariable["groupVehicle",_chopperType]; -#ifdef blck_debugMode -diag_log format["_fnc_missionSpawner:: _chopperType seleted = %1",_chopperType]; -#endif - -_spawnVector = round(random(360)); -_spawnDistance = 1000; // + floor(random(1500)); // We need the heli to be on-site quickly to minimize the chance that a small mission has been completed before the paratroops are deployed and added to the list of live AI for the mission -_dropLoot = (random(1) < _chanceLoot); - -// Use the new functionality of getPos -// https://community.bistudio.com/wiki/getPos -_spawnPos = _coords getPos [_spawnDistance,_spawnVector]; - -#ifdef blck_debugMode -diag_log format["_fnc_missionSpawner:: vector was %1 with distance %2 yielding a spawn position of %3 at distance from _coords of %4",_spawnVector,_spawnDistance,_spawnPos, (_coords distance2d _spawnPos)]; -#endif - -_grpPilot setBehaviour "CARELESS"; -_grpPilot setCombatMode "RED"; -_grpPilot setSpeedMode "FULL"; -_grpPilot allowFleeing 0; - -private["_supplyHeli"]; -//create helicopter and spawn it -_supplyHeli = createVehicle [_chopperType, _spawnPos, [], 90, "FLY"]; -blck_monitoredVehicles pushback _supplyHeli; -[_supplyHeli] call blck_fnc_protectVehicle; -_supplyHeli setVariable["vehicleGroup",_grpPilot]; - -_supplyHeli setDir (_spawnVector -180); -_supplyHeli setFuel 1; -_supplyHeli engineOn true; -_supplyHeli flyInHeight 250; -_supplyHeli setVehicleLock "LOCKED"; -_supplyHeli addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}]; - -clearWeaponCargoGlobal _supplyHeli; -clearMagazineCargoGlobal _supplyHeli; -clearItemCargoGlobal _supplyHeli; -clearBackpackCargoGlobal _supplyHeli; - -_unitPilot = _grpPilot createUnit ["I_helipilot_F", getPos _supplyHeli, [], 0, "FORM"]; -_unitPilot setSkill 1; -_unitPilot assignAsDriver _supplyHeli; -_unitPilot moveInDriver _supplyHeli; -_grpPilot selectLeader _unitPilot; -_grpPilot setVariable["paraGroup",_paraGroup]; - -#ifdef blck_debugMode -diag_log format["_fnc_missionSpawner:: heli spawned and pilot added"]; -#endif - -//set waypoint for helicopter -//params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_wpPatrolMode","SAD"],["_soldierType","null"] ]; -[_coords,25,40,_grpPilot,"random","SAD","helicpoter"] spawn blck_fnc_setupWaypoints; - -#ifdef blck_debugMode -diag_log format["_fnc_missionSpawner:: initial pilot waypoints set"]; -#endif -_supplyHeli allowDamage true; -_supplyHeli diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf deleted file mode 100644 index f09720d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionHeli.sqf +++ /dev/null @@ -1,75 +0,0 @@ - -/* - By Ghostrider-DbD- - -------------------------- - 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["_coords","_grpPilot","_chanceLoot"]; -_chopperType = selectRandom blck_AIHelis; -_grpPilot setVariable["groupVehicle",_chopperType]; -#ifdef blck_debugMode -diag_log format["_fnc_spawnMissionHeli:: _chopperType seleted = %1",_chopperType]; -#endif - -_spawnVector = round(random(360)); -_spawnDistance = 1000; // + floor(random(1500)); // We need the heli to be on-site quickly to minimize the chance that a small mission has been completed before the paratroops are deployed and added to the list of live AI for the mission -_dropLoot = (random(1) < _chanceLoot); - -// Use the new functionality of getPos -// https://community.bistudio.com/wiki/getPos -_spawnPos = _coords getPos [_spawnDistance,_spawnVector]; - -#ifdef blck_debugMode -diag_log format["_fnc_spawnMissionHeli:: vector was %1 with distance %2 yielding a spawn position of %3 at distance from _coords of %4",_spawnVector,_spawnDistance,_spawnPos, (_coords distance2d _spawnPos)]; -#endif - -_grpPilot setBehaviour "CARELESS"; -_grpPilot setCombatMode "RED"; -_grpPilot setSpeedMode "FULL"; -_grpPilot allowFleeing 0; - -private["_supplyHeli"]; -//create helicopter and spawn it -_supplyHeli = createVehicle [_chopperType, _spawnPos, [], 90, "FLY"]; -blck_monitoredVehicles pushback _supplyHeli; -[_supplyHeli] call blck_fnc_protectVehicle; -_supplyHeli setVariable["vehicleGroup",_grpPilot]; - -_supplyHeli setDir (_spawnVector -180); -_supplyHeli setFuel 1; -_supplyHeli engineOn true; -_supplyHeli flyInHeight 250; -_supplyHeli setVehicleLock "LOCKED"; -_supplyHeli addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}]; - -clearWeaponCargoGlobal _supplyHeli; -clearMagazineCargoGlobal _supplyHeli; -clearItemCargoGlobal _supplyHeli; -clearBackpackCargoGlobal _supplyHeli; - -_unitPilot = _grpPilot createUnit ["I_helipilot_F", getPos _supplyHeli, [], 0, "FORM"]; -_unitPilot setSkill 1; -_unitPilot assignAsDriver _supplyHeli; -_unitPilot moveInDriver _supplyHeli; -_grpPilot selectLeader _unitPilot; -_grpPilot setVariable["paraGroup",_paraGroup]; - -#ifdef blck_debugMode -diag_log format["_fnc_spawnMissionHeli:: heli spawned and pilot added"]; -#endif - -//set waypoint for helicopter -//params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_wpPatrolMode","SAD"],["_soldierType","null"] ]; -[_coords,25,40,_grpPilot,"random","SAD","helicpoter"] spawn blck_fnc_setupWaypoints; - -#ifdef blck_debugMode -diag_log format["_fnc_spawnMissionHeli:: initial pilot waypoints set"]; -#endif -_supplyHeli allowDamage true; -_supplyHeli diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf deleted file mode 100644 index 5b2f75c..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionLootVehicles.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/* - [_missionLootVehicles] call blck_fnc_spawnMissionLootVehicles; - returns _vehs, an array of vehicles spawned. - by Ghostridere-DbD- - 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_missionLootVehicles",["_loadCrateTiming","atMissionSpawn"]]; -private _vehs = []; -{ - //diag_log format["spawnMissionCVehicles.sqf _x = %1",_x]; - _x params["_vehType","_vehOffset","_lootArray","_lootCounts"]; - //diag_log format["spawnMissionCVehicles: _vehType = %1 | _vehOffset = %2 | _lootArray = %3 | _lootCounts = %4",_vehType,_vehOffset,_lootArray,_lootCounts]; - _pos = _coords vectorAdd _vehOffset; - _veh = [_vehType, _pos] call blck_fnc_spawnVehicle; - [_veh] call blck_fnc_emptyObject; - _veh setVehicleLock "UNLOCKED"; - { - _veh removeAllEventHandlers _x; - }forEach ["getin","getout"]; - if (_loadCrateTiming isEqualTo "atMissionSpawn") then - { - //diag_log format["blck_fnc_spawnMissionLootVehicles::-> loading loot at mission spawn for veh %1",_x]; - [_veh,_lootArray,_lootCounts] call blck_fnc_fillBoxes; - _veh setVariable["lootLoaded",true]; - } - else - { - //diag_log format["blck_fnc_spawnMissionLootVehicles::-> not loading veh loot at this time for veh %1",_x]; - }; - _vehs pushback _veh; -}forEach _missionLootVehicles; -_vehs diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf deleted file mode 100644 index a9a031e..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnMissionVehiclePatrols.sqf +++ /dev/null @@ -1,94 +0,0 @@ -/* - [_coords,_noVehiclePatrols,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionVehiclePatrols - by Ghostrider-DbD- - 3/17/17 - returns [] if no groups could be created - returns [_AI_Vehicles,_missionAI] otherwise; - - -------------------------- - 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["_coords","_noVehiclePatrols","_aiDifficultyLevel","_uniforms","_headGear",["_missionType","unspecified"]]; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_spawnMissionVehiclePatrols:: _coords = %1 | _noVehiclePatrols = %2 | _aiDifficultyLevel = %3 | _missionType = %4",_coords,_noVehiclePatrols,_aiDifficultyLevel,_missionType]; -}; -#endif - -private["_vehGroup","_patrolVehicle","_vehiclePatrolSpawns","_missionAI","_missiongroups","_vehicles","_return","_vehiclePatrolSpawns","_randomVehicle","_return","_abort"]; -_vehicles = []; -_missionAI = []; -_abort = false; - -_vehiclePatrolSpawns = [_coords,_noVehiclePatrols,45,60] call blck_fnc_findPositionsAlongARadius; - -{ - private ["_spawnPos"]; - _spawnPos = _x; - _vehGroup = [_spawnPos,3,3,_aiDifficultyLevel,_coords,1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; - if (isNull _vehGroup) exitWith - { - _abort = true; - }; - if !(isNull _vehGroup) then - { - blck_monitoredMissionAIGroups pushBack _vehGroup; - }; - - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionVehiclePatrols: group spawned = %1",_vehGroup]; - diag_log format["_fnc_spawnMissionVehiclePatrols (40):: -> _missionType = %3 _vehGroup = %1 and units _vehGroup = %2",_vehGroup, units _vehGroup,_missionType]; - }; - #endif - - _randomVehicle = selectRandom blck_AIPatrolVehicles; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionVehiclePatrols: _randomVehicle = %1",_randomVehicle]; - diag_log format["_fnc_spawnMissionVehiclePatrols:: -> randomly selected vehicle = %1",_randomVehicle]; - }; - #endif - - //params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull]]; - _patrolVehicle = [_coords,_spawnPos,_randomVehicle,35,45,_vehGroup] call blck_fnc_spawnVehiclePatrol; - _vehGroup setVariable["groupVehicle",_randomVehicle]; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionVehiclePatrols (65):: - > patrol vehicle spawned was %1",_patrolVehicle]; - }; - #endif - - if !(isNull _patrolVehicle) then - { - _patrolVehicle setVariable["vehicleGroup",_vehGroup]; - _vehicles pushback _patrolVehicle; - _missionAI append (units _vehGroup); - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionVehiclePatrols:: -- > _vehicles updated to %1",_vehicles]; - }; - #endif - -} forEach _vehiclePatrolSpawns; - -blck_monitoredVehicles append _vehicles; -_return = [_vehicles, _missionAI, _abort]; - -_return diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf deleted file mode 100644 index 65e95ed..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnPendingMissions.sqf +++ /dev/null @@ -1,67 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last modified 4/29/17 - checks the status of each entry in -/* - By Ghostrider-DbD- - -------------------------- - 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"; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then { - diag_log format["_fnc_spawnPendingMissions:: blck_pendingMissions = %1", blck_pendingMissions]; -}; -diag_log format["_fnc_spawnPendingMissions: -- >> blck_missionsRunning = %1",blck_missionsRunning]; -#endif - -if (blck_missionsRunning >= blck_maxSpawnedMissions) exitWith { - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then { - diag_log "_fnc_spawnPendingMissions:: --- >> Maximum number of missions is running; function exited without attempting to find a new mission to spawn"; - }; - #endif -}; - -private["_coords","_missionName","_missionPath","_search","_readyToSpawnQue","_missionToSpawn","_allowReinforcements"]; -_readyToSpawnQue = []; -{ - if ( (diag_tickTime > (_x select 6)) && ((_x select 6) > 0) ) then - { - _readyToSpawnQue pushback _x; - }; -} forEach blck_pendingMissions; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["_fnc_spawnPendingMissions:: --- >> _readyToSpawnQue = %1",_readyToSpawnQue]; -}; -#endif -if (count _readyToSpawnQue > 0) then -{ - _missionToSpawn = selectRandom _readyToSpawnQue; - - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["_fnc_spawnPendingMissions:: -- >> blck_missionsRunning = %1 and blck_maxSpawnedMissions = %2 so _canSpawn = %3",blck_missionsRunning,blck_maxSpawnedMissions, (blck_maxSpawnedMissions - blck_missionsRunning)]; - }; - #endif - - _coords = [] call blck_fnc_FindSafePosn; - _coords pushback 0; - _missionName = selectRandom (_missionToSpawn select 0); - _missionPath = _missionToSpawn select 1; - _allowReinforcements = _missionToSpawn select 8; - [_coords,_missionToSpawn,_allowReinforcements] execVM format["\q\addons\custom_server\Missions\%1\%2.sqf",_missionPath,_missionName]; - blck_missionsRunning = blck_missionsRunning + 1; -}; -true diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf deleted file mode 100644 index c26457b..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_spawnRandomLandscape.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - spawn a group of objects in random locations aligned with the radial from the center of the region to the object. - By Ghostrider-DbD- - Last modified 1/22/17 - 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"; - -params["_coords","_missionLandscape",["_min",3],["_max",15],["_nearest",1]]; -private["_objects"]; -_objects = []; - -{ - //Random Position Objects based on distance in array - // https://community.bistudio.com/wiki/BIS_fnc_findSafePos - _pos = [_coords,_min,_max,_nearest,0,5,0] call BIS_fnc_findSafePos; - _wreck = createVehicle[_x, _pos, [], 25, "NONE"]; - _wreck setVariable ["LAST_CHECK", (diag_tickTime + 100000)]; - - private["_dir","_dirOffset"]; - - _dirOffset = random(30) * ([1,-1] call BIS_fnc_selectRandom); - _dir = _dirOffset +([_wreck,_coords] call BIS_fnc_dirTo); - _wreck setDir _dir; - _objects pushback _wreck; - sleep 0.1; -} forEach _missionLandscape; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then {diag_log format["_fnc_spawnRandomLandscape::-->> _objects = %1",_objects];}; -#endif - -_objects diff --git a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf b/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf deleted file mode 100644 index 1e2af28..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/GMS_fnc_updateMissionQue.sqf +++ /dev/null @@ -1,59 +0,0 @@ -/* - Update the parameters for a mission in the list of missions running at that time. - Call with the name of the marker associated with the mission and either "Active" or "Completed" - by Ghostrider-DbD- - Last modified 1-22-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_mission","_status",["_coords",[0,0,0]] ]; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log format["_fnc_updateMissionQue :: _mission = %1 | _status = %2 | _coords = %3",_mission,_status,_coords];}; -#endif - -private["_index","_element","_waitTime"]; - -_index = blck_pendingMissions find _mission; -if (_index > -1) then -{ - #ifdef blck_debugMode - if (blck_debuglevel > 0) 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 > 0) then {diag_log format["_fnc_updateMissionQue:: -- >> _element before update = %1",_element];}; - #endif - - if (toLower(_status) isEqualTo "active") then { - _element set[6, -1]; - _element set[7,_coords]; - }; - if (toLower(_status) isEqualTo "inactive") then - { - _waitTime = (_element select 4) + random((_element select 5) - (_element select 4)); - _element set[6, diag_tickTime + _waitTime]; - _element set [7,[0,0,0]]; - }; - - #ifdef blck_debugMode - if (blck_debuglevel > 0) then {diag_log format["_fnc_updateMissionQue:: -- >> _element after update = %1",_element];}; - #endif - - blck_pendingMissions set [_index, _element]; - - #ifdef blck_debugMode - if (blck_debuglevel > 0) then {diag_log format ["_fnc_updateMissionQue :: blck_pendingMissions after update = %1",blck_pendingMissions];}; - #endif -}; - - diff --git a/@epochhive/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf b/@epochhive/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf deleted file mode 100644 index 059edc8..0000000 --- a/@epochhive/addons/custom_server/Compiles/Missions/otl7_Mapper.sqf +++ /dev/null @@ -1,47 +0,0 @@ -/* -Pulled from Arma - version of 11/9/16 -*/ - -params["_center","_azi","_objs","_setVector"]; - - -private ["_newObjs"]; - -//If the object array is in a script, call it. -//_objs = call (compile (preprocessFileLineNumbers _script)); - -_newObjs = []; - -{ - private _object = (_x select 0) createVehicle [0,0,0]; - _newObjs pushback _object; - _object setDir ( (_x select 2) + _azi); - _object setPosATL (_center vectorAdd (_x select 1)); - _object enableSimulationGlobal true; - _object allowDamage true; - // Lock any vehicles placed as part of the mission landscape. Note that vehicles that can be taken by players can be added via the mission template. - if ( (typeOf _object) isKindOf "LandVehicle" || (typeOf _object) isKindOf "Air" || (typeOf _object) isKindOf "Sea") then - { - #ifdef blck_debugMode - diag_log format["MAP ADDONS:: Locking vehicle of type %1",typeOf _object]; - #endif - //_object = _x select 0; - _object setVehicleLock "LOCKEDPLAYER"; - _object addEventHandler ["GetIn",{ // forces player to be ejected if he/she tries to enter the vehicle - private ["_theUnit"]; - _theUnit = _this select 2; - _theUnit action ["Eject", vehicle _theUnit]; - hint "Use of this vehicle is forbidden"; - }]; - - clearItemCargoGlobal _object; - clearWeaponCargoGlobal _object; - clearMagazineCargoGlobal _object; - clearBackpackCargoGlobal _object; - }; -} forEach _objects; -_newObjs - - -_newObjs diff --git a/@epochhive/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf b/@epochhive/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf deleted file mode 100644 index 908af48..0000000 --- a/@epochhive/addons/custom_server/Compiles/Reinforcements/GMS_fnc_sendHeliHome.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - Author: Ghostrider-DbD- - Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP - License: Attribution-NonCommercial-ShareAlike 4.0 International - Last Modified 1/23/17 -*/ -params["_grpPilot"]; -private["_heli","_pilot"]; -_pilot = (units _grpPilot) select 0; -_heli = vehicle _pilot; -diag_log "reinforcements deployed:: send heli back to spawn"; -[[_heli], 300 /* 5 min*/] spawn blck_fnc_addObjToQue; -// select a random location abotu 2K from the mission -_spawnVector = round(random(360)); -_spawnDistance = 2000; -_pos = getPos _heli; - -// Use the new functionality of getPos -// https://community.bistudio.com/wiki/getPos -_home = _pos getPos [_spawnDistance,_spawnVector]; - -// Send the heli back to base -_grpPilot = group this; -[_grpPilot, 0] setWPPos _pos; -[_grpPilot, 0] setWaypointType "MOVE"; -[_grpPilot, 0] setWaypointSpeed "FULL"; -[_grpPilot, 0] setWaypointBehaviour "CARELESS"; -[_grpPilot, 0] setWaypointCompletionRadius 200; -[_grpPilot, 0] setWaypointStatements ["true", "{deleteVehicle _x} forEach units group this;deleteVehicle (vehicle this);diag_log ""helicopter and crew deleted"""]; -[_grpPilot, 0] setWaypointName "GoHome"; -[_grpPilot,0] setWaypointTimeout [0.5,0.5,0.5]; - - -diag_log "reinforcements:: sending Heli Home"; - - diff --git a/@epochhive/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf b/@epochhive/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf deleted file mode 100644 index d5da18f..0000000 --- a/@epochhive/addons/custom_server/Compiles/Reinforcements/GMS_fnc_spawnParaCrate.sqf +++ /dev/null @@ -1,83 +0,0 @@ -/* - Author: Ghostrider-DbD- - Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP - License: Attribution-NonCommercial-ShareAlike 4.0 International - call with - [ - _supplyHeli, // heli from which they should para - _lootCounts, - _lootSetting // [blue, red, green, orange] - ] call blck_spawnHeliParaCrate -*/ - -params["_supplyHeli","_lootCounts"]; - -private ["_chute","_crate"]; -_crate = ""; -_chute = ""; - -diag_log "_fnc_spawnParaCrate:: spawning crate"; - -private["_dir","_offset"]; -_dir = getDir _supplyHeli; -_dir = if (_dir < 180) then {_dir + 210} else {_dir - 210}; -_offset = _supplyHeli getPos [10, _dir]; - -//open parachute and attach to crate -_chute = createVehicle ["I_Parachute_02_F", [100, 100, 100], [], 0, "FLY"]; -[_chute] call blck_fnc_protectVehicle; -_chute setPos [_offset select 0, _offset select 1, 100 ]; //(_offset select 2) - 10]; - -diag_log format["_fnc_spawnParaCrate:: chute spawned yielding object %1 at postion %2", _chute, getPos _chute]; - -//create the parachute and crate -private["_crateSelected"]; -_crateSelected = selectRandom["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_IND_AmmoVeh_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F"]; -_crate = [getPos _chute, _crateSelected] call blck_fnc_spawnCrate; -//_crate = createVehicle [_crateSelected, position _chute, [], 0, "CAN_COLLIDE"]; -_crate setPos [position _supplyHeli select 0, position _supplyHeli select 1, 250]; //(position _supplyHeli select 2) - 10]; -_crate attachTo [_chute, [0, 0, -1.3]]; -_crate allowdamage false; -_crate enableRopeAttach true; // allow slingloading where possible - -diag_log format["_fnc_spawnParaCrate:: crate spawned %1 at position %2 and attached to %3",_crate, getPos _crate, attachedTo _crate]; - - -switch (_lootSetting) do -{ - case "orange": {[_crate, blck_BoxLoot_Orange, _lootCounts] call blck_fnc_fillBoxes;}; - case "green": {[_crate, blck_BoxLoot_Green, _lootCounts] call blck_fnc_fillBoxes;}; - case "red": {[_crate, blck_BoxLoot_Red, _lootCounts] call blck_fnc_fillBoxes;}; - case "blue": {[_crate, blck_BoxLoot_Blue, _lootCounts] call blck_fnc_fillBoxes;}; - default {[_crate, blck_BoxLoot_Red, _lootCounts] call blck_fnc_fillBoxes;}; -}; - -diag_log format["_fnc_spawnParaCrate:: crate loaded and now at position %1 and attached to %2", getPos _crate, attachedTo _crate]; - -_fn_monitorCrate = { - params["_crate","_chute"]; - uiSleep 30; - private["_crateOnGround"]; - _crateOnGround = false; - while {!_crateOnGround} do - { - uiSleep 1; - diag_log format["_fnc_spawnParaCrate:: Crate Altitude: %1 Crate Velocity: %2 Crate Position: %3 Crate attachedTo %4", getPos _crate select 2, velocityModelSpace _crate select 2, getPosATL _crate, attachedTo _crate]; - if ( (((velocity _crate) select 2) < 0.1) || ((getPosATL _crate select 2) < 0.1) ) exitWith - { - uiSleep 10; // give some time for everything to settle - detach _crate; - deleteVehicle _chute; - if (surfaceIsWater (getPos _crate)) then - { - deleteVehicle _crate; - } else - { - [_crate] call blck_fnc_signalEnd; - }; - }; - }; -}; - -[_crate,_chute] call _fn_monitorCrate; -[[_crate], 1200 /* 20 min*/] spawn blck_fnc_addObjToQue; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf deleted file mode 100644 index 694086a..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_AIHandleDamage.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/* - - Deals with instances in which a unit is damaged (not in use). - By Ghostrider-DbD- - Last modified 4-11-17 - - unit: Object - Object the event handler is assigned to. - selectionName: String - Name of the selection where the unit was damaged. "" for over-all structural damage, "?" for unknown selections. - damage: Number - Resulting level of damage for the selection. - source: Object - The source unit that caused the damage. - projectile: String - Classname of the projectile that caused inflicted the damage. ("" for unknown, such as falling damage.) - - (Since Arma 3 v 1.49.131802) - - hitPartIndex: Number - Hit part index of the hit point, -1 otherwise. - -------------------------- - 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 ["_unit","_killer","_group","_deleteAI_At"]; -_unit = _this select 0; -_source = _this select 3; - -if (isPlayer _source) then { - [_unit,_source] call GRMS_fnc_alertGroup; -}; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf deleted file mode 100644 index 9671043..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_EH_unitWeaponReloaded.sqf +++ /dev/null @@ -1,42 +0,0 @@ -/* - - Handle case where a unit reloads weapon. - This was used in place of fired event handlers to add realism and deal with issues with the arma engine post v1.64 - By Ghostrider-DbD- - Last modified 4-11-17 - - https://community.bistudio.com/wiki/Arma_3:_Event_Handlers/Reloaded - - The EH returns array in _this variable of the following format [entity, weapon, muzzle, newMagazine, (oldMagazine)], where: - - entity: Object - unit or vehicle to which EH is assigned - weapon: String - weapon that got reloaded - muzzle: String - weapons muzzle that got reloaded - newMagazine: Array - new magazine info in format [magazineClass, ammoCount, magazineID, magazineCreator], where: - magazineClass: String - class name of the magazine - ammoCount: Number - amount of ammo in magazine - magazineID: Number - global magazine id - magazineCreator: Number - owner of the magazine creator - - -------------------------- - 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 ["_unit","_mag"]; -//_unit = _this select 0; -//_mag = _this select 3 select 0; -(_this select 0) addMagazine (_this select 3 select 0); -#ifdef blck_debugMode -if (blck_debugON) then { - //diag_log format["_EH_unitWeaponReloaded:: unit %1 reloaded weapon %2 with magazine %3",_this select 0, (_this select 3 select 0)]; - //diag_log format["_EH_unitWeaponReloaded:: unit %1 currently has the following magazines 2",_this select 0,magazines (_this select 0)]; -}; -#endif -//if (blck_debugLevel > 2) then (diag_log format["_EH_unitWeaponReloaded:: one magazine of type %1 added to inventory of unit %2",_mag,_unit]; - - diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf deleted file mode 100644 index 4e0c961..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyLeader.sqf +++ /dev/null @@ -1,25 +0,0 @@ -/* - by Ghostrider - 4-5-17 - Alerts the leader of a group of the location of an enemy. - - -------------------------- - 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["_knowsAbout","_intelligence","_group"]; -params["_unit","_target"]; -_intelligence = _unit getVariable ["intelligence",1]; -_group = group _unit; -{ - _knowsAbout = _x knowsAbout _target; - _x reveal [_target,_knowsAbout + _intelligence]; -}forEach units _group; - - - diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf deleted file mode 100644 index ff3a71d..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_alertNearbyUnits.sqf +++ /dev/null @@ -1,30 +0,0 @@ -/* - by Ghostrider - 9-20-15 - Allerts all units within a certain radius of the location of a killer. - ** Not in use at this time; reserved for the future ** - -------------------------- - 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["_alertDist","_intelligence"]; -params["_unit","_killer"]; - -//diag_log format["#-alertNearbyUnits.sqf-# alerting nearby units of killer of unit %1",_unit]; -_alertDist = _unit getVariable ["alertDist",300]; -_intelligence = _unit getVariable ["intelligence",1]; -if (_alertDist > 0) then { - //diag_log format["+----+ alerting units close to %1",_unit]; - { - if (((position _x) distance2D (position _unit)) <= _alertDist) then { - _knowsAbout = _x knowsAbout _killer; - _x reveal [_killer, _knowsAbout + _intelligence]; - //diag_log "Killer revealed"; - } - } forEach allUnits; -}; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf deleted file mode 100644 index b904443..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_cleanupAliveAI.sqf +++ /dev/null @@ -1,68 +0,0 @@ -/* - Delete alive AI. - Now called from the main thread which tracks the time elapsed so that we no longer spawn a wait timer for each completed mission. - by Ghostrider - Last updated 4/11/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -/* -_fn_deleteAIfromList = { - params["_aiList"]; - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log format["_fn_deleteAIfromList:: _aiList = %1",_aiList];}; - #endif - - { - #ifdef blck_debugMode - if (blck_debugLevel > 1) then {diag_log format["_fn_deleteAIfromList:: -> deleteing AI Unit %1",_x];}; - #endif - - [_x] call blck_fnc_deleteAI; - }forEach _aiList; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["_fnc_cleanupAliveAI called at %1",diag_tickTime];}; -#endif -*/ -for "_i" from 1 to (count blck_liveMissionAI) do -{ - if ((_i) <= count blck_liveMissionAI) then - { - _units = blck_liveMissionAI select (_i - 1); - //diag_log format["_fnc_cleanupAliveAI:: (34) evaluating with delete time = %2 and diag_tickTime %1", diag_tickTime, _units select 1]; - if (diag_tickTime > (_units select 1) ) then - { - //diag_log format["_fnc_cleanupAliveAI:: cleaning up AI group %1",_units]; - { - - //diag_log format["_fnc_cleanupAliveAI:: deleting unit %1",_x]; - //diag_log format["_fnc_cleanupAliveAI:: vehicle _x = %1",vehicle _x]; - //diag_log format["_fnc_cleanupAliveAI:: objectParent _x = %1",objectParent _x]; - - if ((alive _x) && !(isNull objectParent _x)) then // mark the vehicle for deletion - { - //diag_log format["_fnc_cleanupAliveAI: deleteing objectParent %1 [%3] for unit %2",objectParent _x, _x, typeName (objectParent _x), typeOf (objectParent _x)]; - [objectParent _x] call blck_fn_deleteAIvehicle; - }; - [_x] call blck_fnc_deleteAI; - }forEach (_units select 0); - uiSleep 0.1; - blck_liveMissionAI set[(_i - 1), -1]; - blck_liveMissionAI = blck_liveMissionAI - [-1]; // Remove that list of live AI from the list. - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then {diag_log format["_fnc_mainTread:: blck_liveMissionAI updated to %1",blck_liveMissionAI];}; - #endif - }; - }; -}; - diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf deleted file mode 100644 index e8c9867..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_cleanupDeadAI.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/* - Delete Dead AI and nearby weapons after an appropriate period. - by Ghostrider - Last updated 1/24/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then {diag_log format["fnc_cleanupDeadAI called at time %1",diag_tickTime];}; -#endif - -private["_aiList","_ai"]; -_aiList = +blck_deadAI; -{ - if ( diag_tickTime > _x getVariable ["blck_cleanupAt",0] ) then // DBD_DeleteAITimer - { - _ai = _x; - { - deleteVehicle _x; - }forEach nearestObjects [getPos _ai,["WeaponHolderSimulated","GroundWeapoonHolder"],3]; - blck_deadAI = blck_deadAI - [_ai]; - deleteVehicle _ai; - }; -} forEach _aiList; - diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf deleted file mode 100644 index 78fa2a0..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_deleteAI.sqf +++ /dev/null @@ -1,29 +0,0 @@ -/* - Delete a unit. - by Ghostrider - Last updated 1/22/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_ai","_group"]; -params["_unit"]; - -//if (blck_debugLevel > 2) then {diag_log format["_fnc_deleteAI::-> deleting unit = %1",_unit];}; - -{ - _unit removeAllEventHandlers _x; -}forEach ["Killed","Fired","HandleDamage","HandleHeal","FiredNear"]; -private _group = (group _unit); -[_unit] joinSilent grpNull; -deleteVehicle _unit; -if (count units _group isEqualTo 0) then -{ - deletegroup _group; -}; - diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf deleted file mode 100644 index 33d8566..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_processIlleagalAIKills.sqf +++ /dev/null @@ -1,97 +0,0 @@ -/* - by Ghostrider - 6-1-17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_missionType","_wasRunover","_launcher","_legal"]; -params["_unit","_killer"]; -//diag_log format["##-processIlleagalAIKills.sqf-## processing illeagal kills for unit %1",_unit]; -_launcher = _unit getVariable ["Launcher",""]; -_legal = true; - -_fn_targetVehicle = { // force AI to fire on the vehicle with launchers if equiped - params["_unit","_vk"]; - private["_unit"]; - { - if ( ( (getPos _vk) distance2d (getPos _x) ) < 500 ) then - { - _x reveal [_vk, 4]; - _x dowatch _vk; - _x doTarget _vk; - if (_unit getVariable ["Launcher",""] != "") then - { - _x selectWeapon (secondaryWeapon _unit); - _x fireAtTarget [_vk,_unit getVariable ["Launcher"]]; - } else { - _x doTarget _vk; - _x doFire _vk; - }; - }; - } forEach (call blck_fnc_allPlayers); -}; - -_fn_applyVehicleDamage = { // apply a bit of damage - private["_vd"]; - params["_vk"]; - _vd = getDammage _vk; - _vk setDamage (_vd + blck_RunGearDamage); -}; - -_fn_deleteAIGear = { - params["_ai"]; - {deleteVehicle _x}forEach nearestObjects [(getPosATL _ai), ['GroundWeaponHolder','WeaponHolderSimulated','WeaponHolder'], 3]; //Adapted from the AI cleanup logic by KiloSwiss - [_ai] call blck_fnc_removeGear; -}; - -_fn_msgIED = { - params["_killer"]; - //diag_log format["fn_msgIED:: -- >> msg = %1 and owner _killer = %2",blck_Message, (owner _killer)]; - [["IED","",0,0],[_killer]] call blck_fnc_MessagePlayers; -}; - -if (typeOf _killer != typeOf (vehicle _killer)) then // AI was killed by a vehicle -{ - if(_killer == driver(vehicle _killer))then{ // The AI was runover - if(blck_RunGear) then { // If we are supposed to delete gear from AI that were run over then lets do it. - [_unit] call _fn_deleteAIGear; - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["<<--->> Unit %1 was run over by %2",_unit,_killer]; - }; - #endif - }; - if (blck_VK_RunoverDamage) then {//apply vehicle damage - [vehicle _killer] call _fn_applyVehicleDamage; - if (blck_debugON) then{diag_log format[">>---<< %1's vehicle has had damage applied",_killer];}; - [_killer] call _fn_msgIED; - }; - [_unit, vehicle _killer] call _fn_targetVehicle; - _legal = false; - }; -}; - -if ( blck_VK_GunnerDamage &&((typeOf vehicle _killer) in blck_forbidenVehicles or (currentWeapon _killer) in blck_forbidenVehicleGuns) ) then { - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["!!---!! Unit was killed by a forbidden vehicle or gun",_unit]; - }; - #endif - if (blck_VK_Gear) then {[_unit] call _fn_deleteAIGear;}; - [_unit, vehicle _killer] call _fn_targetVehicle; - [vehicle _killer] call _fn_applyVehicleDamage; - - [_killer] call _fn_msgIED; - - _legal = false; -}; - -_legal diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf deleted file mode 100644 index 8c42bc0..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeGear.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - Remove all gear from an AI _unit - By Ghostrider-DbD- - - -------------------------- - 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["_unit"]; - -removeVest _unit; -removeHeadgear _unit; -removeGoggles _unit; -removeAllItems _unit; -removeAllWeapons _unit; -removeBackpackGlobal _unit; -removeUniform _unit; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf deleted file mode 100644 index a1159ad..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeLaunchers.sqf +++ /dev/null @@ -1,31 +0,0 @@ -/* - by Ghostrider - 1-22-17 - Removes an AI launcher and ammo - -------------------------- - 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["_launcher","_launcherRounds"]; -params["_unit"]; // = _this select 0; -_launcher = _unit getVariable ["Launcher",""]; -_unit removeWeapon _Launcher; -if (_launcher != "") then -{ - _unit removeWeapon _Launcher; - { - if (_launcher in weaponCargo _x) exitWith { - deleteVehicle _x; - }; - } forEach ((getPosATL _unit) nearObjects ["WeaponHolderSimulated",10]); - _launcherRounds = getArray (configFile >> "CfgWeapons" >> _Launcher >> "magazines"); //0; - { - if(_x in _launcherRounds) then {_unit removeMagazine _x;}; - } count magazines _unit; -}; - diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf deleted file mode 100644 index a4bb7e3..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_removeNVG.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* - by Ghostrider - 8-13-16 - Remove NVG from AI - -------------------------- - 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["_unit"]; -//diag_log format["+--+ removing NVG for unit %1",_unit]; - -if (blck_useNVG) then -{ - if (_unit getVariable ["hasNVG",false]) then - { - - _unit unassignitem "NVGoggles"; _unit removeweapon "NVGoggles"; - }; -}; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf deleted file mode 100644 index e818124..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_rewardKiller.sqf +++ /dev/null @@ -1,120 +0,0 @@ - -/* - calculate a reward player for AI Kills in crypto. - Code fragment adapted from VEMF - call as [_unit,_killer] call blck_fnc_rewardKiller; - Last modified 6/3/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_unit","_killer"]; -//diag_log format["rewardKiller:: _unit = %1 and _killer %2",_unit,_killer]; - -private["_modType","_reward","_maxReward","_dist","_killstreakReward","_distanceBonus","_newKillerScore","_newKillerFrags","_money"]; -_modType = call blck_fnc_getModType; - -//diag_log format["[blckeagles] rewardKiller:: - _modType = %1",_modType]; -//if (_modType isEqualTo "Epoch") exitWith {}; // Have players pull crypto from AI bodies now that this feature is available. - -if (_modType isEqualTo "Epoch") then -{ - //diag_log "calculating reward for Epoch"; - - if ( (vehicle _killer) in blck_forbidenVehicles || (currentWeapon _killer) in blck_forbidenVehicleGuns ) then - { - _reward = 0; - } - else - { - // Give the player money for killing an AI - _maxReward = 50; - _dist = _unit distance _killer; - _reward = 0; - - if (_dist < 50) then { _reward = _maxReward - (_maxReward / 1.25); _reward }; - if (_dist < 100) then { _reward = _maxReward - (_maxReward / 1.5); _reward }; - if (_dist < 800) then { _reward = _maxReward - (_maxReward / 2); _reward }; - if (_dist > 800) then { _reward = _maxReward - (_maxReward / 4); _reward }; - - private _killstreakReward=+(_kills*2); - //diag_log format["fnd_rewardKiller:: _bonus returned will be %1",_reward]; - if (blck_addAIMoney) then - { - [_killer,_reward + _killstreakReward] call blck_fnc_giveTakeCrypto; - }; - if (blck_useKillScoreMessage) then - { - [["showScore",[_reward,"",_kills],""],[_killer]] call blck_fnc_messageplayers; - }; - }; -}; - -/* -_player setVariable ["ExileHunger", _data select 4]; -_player setVariable ["ExileThirst", _data select 5]; -_player setVariable ["ExileAlcohol", _data select 6]; -_player setVariable ["ExileTemperature", _data select 44]; -_player setVariable ["ExileWetness", _data select 45]; -*/ - -if (_modType isEqualTo "Exile") then -{ - private["_distanceBonus","_overallRespectChange","_newKillerScore","_newKillerFrags","_maxReward","_money","_message"]; - /* - // Temporary fix for the Loss of Respect Bug. - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer name = %2 | ExileScore = %1 | Kills %3",_killer getVariable [ "ExileScore", 0 ], name _killer, _killer getVariable["ExileKills",0]]; - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer = %1 | vehicle _killer = %2 | objectParent _killer %3",_killer, vehicle _killer, objectParent _killer]; - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer is gunner = %1 | killer is driver = %2",_killer isEqualTo gunner objectParent _killer,_killer isEqualTo driver objectParent _killer]; - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileOwnerUID = %1 ",_killer getVariable["ExileOwnerUID",0]]; // ExileOwnerUID - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileHunger = %1 ",_killer getVariable["ExileHunger",0]]; // ExileOwnerUID - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileThirst = %1 ",_killer getVariable["ExileThirst",0]]; // ExileOwnerUID - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileAlcohol = %1 ",_killer getVariable["ExileAlcohol",0]]; // ExileOwnerUID - diag_log format["GMS_fnc_rewardKiller.sqf:: _killer ExileWetness = %1 ",_killer getVariable["ExileWetness",0]]; // ExileOwnerUID - */ - if ( (isPlayer _killer) && (_killer getVariable["ExileHunger",0] > 0) && (_killer getVariable["ExileThirst",0] > 0) ) then - { - _distanceBonus = floor((_unit distance _killer)/100); - _killstreakBonus = 3 * (_killer getVariable["blck_kills",0]); - _respectGained = 25 + _distanceBonus + _killstreakBonus; - _score = _killer getVariable ["ExileScore", 0]; - //diag_log format["GMS_fnc_rewardKiller.sqf:: ExileScore = %1",_killer getVariable ["ExileScore", 0]]; - _score = _score + (_respectGained); - //diag_log format["GMS_fnc_rewardKiller.sqf:: _new = %1",_score]; - _killer setVariable ["ExileScore", _score]; - format["setAccountScore:%1:%2", _score,getPlayerUID _killer] call ExileServer_system_database_query_fireAndForget; - _newKillerFrags = _killer getVariable ["ExileKills", 0]; - _newKillerFrags = _newKillerFrags + 1; - _killer setVariable ["ExileKills", _newKillerFrags]; - format["addAccountKill:%1", getPlayerUID _killer] call ExileServer_system_database_query_fireAndForget; - //_message = ["showFragRequest",_respectGained]; - _killer call ExileServer_object_player_sendStatsUpdate; - if (blck_useKillScoreMessage) then - { - [["showScore",[_respectGained,_distanceBonus,_kills]], [_killer]] call blck_fnc_messageplayers; - }; - }; -}; - - -/* - if (_overallRespectChange > 0) then { - _score = _killer getVariable ["ExileScore", 0]; - _score = _score + _overallRespectChange; - _killer setVariable ["ExileScore", _score]; - format["setAccountScore:%1:%2", _score,_killerPlayerUID] call ExileServer_system_database_query_fireAndForget; - [_killer, "showFragRequest", [_killerRespectPoints]] call A3XAI_sendExileMessage; - }; - - //["systemChatRequest", [_killMessage]] call ExileServer_system_network_send_broadcast; //To-do: Non-global version - _newKillerFrags = _killer getVariable ["ExileKills", 0]; - _killer setVariable ["ExileKills", _newKillerFrags + 1]; - format["addAccountKill:%1", _killerPlayerUID] call ExileServer_system_database_query_fireAndForget; - - _killer call ExileServer_object_player_sendStatsUpdate; -}; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf deleted file mode 100644 index 2831502..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_setSkill.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - Set skills for an AI Unit - by Ghostrider - Last updated 8/14/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -// Self explanatory -// [_group, _skill] call blck_setSkill; -params ["_unit","_skillsArrray"]; -private["_skillLevel"]; -{ - _skillLevel = [_x select 1] call blck_fnc_getNumberFromRange; - _unit setSkill [(_x select 0), _skillLevel]; -} forEach _skillsArrray; diff --git a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf b/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf deleted file mode 100644 index 46ee104..0000000 --- a/@epochhive/addons/custom_server/Compiles/Units/GMS_fnc_spawnUnit.sqf +++ /dev/null @@ -1,184 +0,0 @@ -/* - Original Code by blckeagls - Modified by Ghostrider - Logic for adding AI Ammo, GL Shells and Attachments addapted from that by Buttface (A3XAI). - Everything having to do with spawning and configuring an AI should happen here - Last Modified 1/22/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//Defines private variables so they don't interfere with other scripts -private ["_i","_weap","_skin","_ai1","_skillLevel","_aiSkills", - "_launcherRound","_index","_ammoChoices"]; - -params["_pos","_weaponList","_aiGroup",["_skillLevel","red"],["_Launcher","none"],["_uniforms", blck_SkinList],["_headGear",blck_headgear],["_underwater",false]]; -//_pos = _this select 0; // Position at which to spawn AI -//_weaponList = _this select 1; // List of weapons with which to arm the AI -//_aiGroup = _this select 2; // Group to which AI belongs -//_skillLevel = [_this,3,"red"] call BIS_fnc_param; // Assign a skill level in case one was not passed."blue", "red", "green", "orange" -//_Launcher = [_this, 4, "none"] call BIS_fnc_param; // Set launchers to "none" if no setting was passed. -//_uniforms = [_this, 5, blck_SkinList] call BIS_fnc_param; // skins to add to AI -//_headGear = [_this, 6, _shemag] call BIS_fnc_param;// headGear to add to AI - -if (isNull _aiGroup) exitWith {diag_log "[blckeagls] ERROR CONDITION:-->> NULL-GROUP Provided to _fnc_spawnUnit"}; - -_ai1 = ObjNull; -private _modType = call blck_fnc_getModType; -if (_modType isEqualTo "Epoch") then -{ - "I_Soldier_EPOCH" createUnit [_pos, _aiGroup, "_ai1 = this", 0.7, "COLONEL"]; - switch(_skillLevel) do - { - case "blue":{_ai1 setVariable["Crypto",1 + floor(random(blck_maxMoneyBlue)),true];}; - case "red":{_ai1 setVariable["Crypto",2 + floor(random(blck_maxMoneyRed)),true];}; - case "green":{_ai1 setVariable["Crypto",3 + floor(random(blck_maxMoneyGreen)),true];}; - case "orange":{_ai1 setVariable["Crypto",4 + floor(random(blck_maxMoneyOrange)),true];}; - }; -}; -if (_modType isEqualTo "Exile") then -{ - "i_g_soldier_unarmed_f" createUnit [_pos, _aiGroup, "_ai1 = this", blck_baseSkill, "COLONEL"]; - switch(_skillLevel) do - { - case "blue":{_ai1 setVariable["ExileMoney",2 + floor(random(blck_maxMoneyBlue)),true];}; - case "red":{_ai1 setVariable["ExileMoney",4 + floor(random(blck_maxMoneyRed)),true];}; - case "green":{_ai1 setVariable["ExileMoney",6 + floor(random(blck_maxMoneyGreen)),true];}; - case "orange":{_ai1 setVariable["ExileMoney",8 + floor(random(blck_maxMoneyOrange)),true];}; - }; -}; -[_ai1] call blck_fnc_removeGear; -_skin = ""; -_counter = 1; -while {_skin isEqualTo "" && _counter < 10} do -{ - _skin = selectRandom _uniforms; - _ai1 forceAddUniform _skin; - _skin = uniform _ai1; - //diag_log format["_fnc_spawnUnit::-->> for unit _ai1 % uniform is %2",_ai1, uniform _ai1]; - _counter =+1; -}; -//Stops the AI from being cleaned up -_ai1 setVariable["DBD_AI",1]; - -//Sets AI Tactics -_ai1 enableAI "TARGET"; -_ai1 enableAI "AUTOTARGET"; -_ai1 enableAI "MOVE"; -_ai1 enableAI "ANIM"; -_ai1 enableAI "FSM"; -_ai1 allowDammage true; -_ai1 setBehaviour "COMBAT"; -_ai1 setunitpos "AUTO"; - -if (_modType isEqualTo "Epoch") then -{ - // do this so the AI or corpse hangs around on Epoch servers. - _ai1 setVariable ["LAST_CHECK",28800,true]; -}; - -_ai1 addHeadgear (selectRandom _headGear); -// Add a vest to AI for storage -_ai1 addVest selectRandom blck_vests; - -if ( random (1) < blck_chanceBackpack) then -{ - //_bpck = selectRandom blck_backpack; - _ai1 addBackpack selectRandom blck_backpacks; -}; - -_weap = selectRandom _weaponList; -private["_optics","_pointers","_muzzles","_underbarrel","_legalOptics"]; -_ai1 addWeaponGlobal _weap; -_ammoChoices = getArray (configFile >> "CfgWeapons" >> _weap >> "magazines"); -_optics = getArray (configfile >> "CfgWeapons" >> _weap >> "WeaponSlotsInfo" >> "CowsSlot" >> "compatibleItems"); -_pointers = getArray (configFile >> "CfgWeapons" >> _weap >> "WeaponSlotsInfo" >> "PointerSlot" >> "compatibleItems"); -_muzzles = getArray (configFile >> "CfgWeapons" >> _weap >> "WeaponSlotsInfo" >> "MuzzleSlot" >> "compatibleItems"); -_underbarrel = getArray (configFile >> "CfgWeapons" >> _weap >> "WeaponSlotsInfo" >> "UnderBarrelSlot" >> "compatibleItems"); -_legalOptics = _optics - blck_blacklistedOptics; - -_ai1 addMagazines [selectRandom _ammoChoices, 3]; - -if (random 1 < 0.4) then {_ai1 addPrimaryWeaponItem (selectRandom _muzzles)}; -if (random 1 < 0.4) then {_ai1 addPrimaryWeaponItem (selectRandom _legalOptics);}; -if (random 1 < 0.4) then {_ai1 addPrimaryWeaponItem (selectRandom _pointers);}; -if (random 1 < 0.4) then {_ai1 addPrimaryWeaponItem (selectRandom _muzzles);}; -if (random 1 < 0.4) then {_ai1 addPrimaryWeaponItem (selectRandom _underbarrel);}; -if ((count(getArray (configFile >> "cfgWeapons" >> _weap >> "muzzles"))) > 1) then { - _ai1 addMagazine "1Rnd_HE_Grenade_shell"; -}; - -_weap = selectRandom blck_Pistols; -//diag_log format["[spawnUnit.sqf] _weap os %1",_weap]; -_ai1 addWeaponGlobal _weap; -_ammoChoices = getArray (configFile >> "CfgWeapons" >> _weap >> "magazines"); -_ai1 addMagazines [selectRandom _ammoChoices, 2]; - -//add random items to AI. _other = ["ITEM","COUNT"] -for "_i" from 1 to (1+floor(random(3))) do { - _ai1 addItem (selectRandom blck_ConsumableItems); -}; - -// Add an First Aid or Grenade 50% of the time -if (round(random 10) <= 5) then -{ - //_item = selectRandom blck_specialItems; - //diag_log format["spawnUnit.sqf] -- Item is %1", _item]; - _ai1 addItem selectRandom blck_specialItems; -}; - -if (_Launcher != "none") then -{ - private["_bpck"]; - _ai1 addWeaponGlobal _Launcher; - for "_i" from 1 to 3 do - { - _ai1 addItemToBackpack (getArray (configFile >> "CfgWeapons" >> _Launcher >> "magazines") select 0); // call BIS_fnc_selectRandom; - }; - _ai1 setVariable["Launcher",_launcher]; -}; - -if(sunOrMoon < 0.2 && blck_useNVG)then -{ - _ai1 addWeapon selectRandom blck_NVG; - _ai1 setVariable ["hasNVG", true]; - -} -else -{ - _ai1 setVariable ["hasNVG", false]; -}; - -// Infinite ammo -//_ai1 addeventhandler ["fired", {(_this select 0) setvehicleammo 1;}]; -_ai1 addEventHandler ["reloaded", {_this call compile preprocessfilelinenumbers blck_EH_unitWeaponReloaded;}]; -_ai1 addEventHandler ["killed",{ [(_this select 0), (_this select 1)] call compile preprocessfilelinenumbers blck_EH_AIKilled;}]; // changed to reduce number of concurrent threads, but also works as spawn blck_AIKilled; }]; -_ai1 addEventHandler ["Hit",{ [_this] call compile preprocessFileLineNumbers blck_EH_AHHit;}]; -//_ai1 addEventHandler ["FiredNear",{diag_log "-------->>>>>>>> Weapon fired Near Unit";}]; -//_ai1 addEventHandler ["FiredNear",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIFiredNear;};]; - -switch (_skillLevel) do -{ - case "blue": {_index = 0;_aiSkills = blck_SkillsBlue;}; - case "red": {_index = 1;_aiSkills = blck_SkillsRed;}; - case "green": {_index = 2;_aiSkills = blck_SkillsGreen;}; - case "orange": {_index = 3;_aiSkills = blck_SkillsOrange;}; - default {_index = 0;_aiSkills = blck_SkillsBlue;}; -}; - -//_alertDist = blck_AIAlertDistance select _index; -//_intelligence = blck_AIIntelligence select _index; - -[_ai1,_aiSkills] call blck_fnc_setSkill; -_ai1 setVariable ["alertDist",blck_AIAlertDistance select _index,true]; -_ai1 setVariable ["intelligence",blck_AIIntelligence select _index,true]; -_ai1 setVariable ["GMS_AI",true,true]; - -_ai1 - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf deleted file mode 100644 index d7e8151..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_EH_AIKilled.sqf +++ /dev/null @@ -1,19 +0,0 @@ - -/* - Killed handler for _units - By Ghostrider-DbD - Last Modified 4-11-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_unit","_killer"]; - -//diag_log format["EH_AIKilled:: _units = %1 and _killer = %2",_unit,_killer]; -[_unit,_killer] remoteExec ["blck_fnc_processAIKill",2]; diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf deleted file mode 100644 index 7028bac..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_EH_AIVehicle_HandleDamage.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - By Ghostrider-DbD- - Last Modified 7-27-17 - - Handles the case where a vehicle is hit. - - -------------------------- - 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 ["_unit","_instigator","_group","_wp"]; -diag_log format["_EH_AIVehicle_HandleDamage::-->> _this = %1",_this]; -_unit = _this select 0 select 0; -_instigator = _this select 0 select 3; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_EH_AIVehicle_HandleDamage:: _units = %1 and _instigator = %2 units damage is %3",_unit,_instigator, damage _unit]; -}; -#endif - -if (!(alive _unit)) exitWith {}; -if (!(isPlayer _instigator)) exitWith {}; -[_unit,_instigator] call blck_fnc_alertGroupUnits; -[_instigator] call blck_fnc_alertNearbyVehicles; -_group = group _unit; -//_group setBehavior "COMBAT"; -_wp = [_group, currentWaypoint _group]; -_wp setWaypointBehaviour "COMBAT"; -_group setCombatMode "RED"; -_wp setWaypointCombatMode "RED"; - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf deleted file mode 100644 index 892dbea..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_configureMissionVehicle.sqf +++ /dev/null @@ -1,36 +0,0 @@ -// Configures a mission vehicle -/* - By Ghostrider-DBD- - Copyright 2016 - Last updated 3-14-17 - - spawns a vehicle of _vehType and mans it with units in _group. - returns _veh, the vehicle spawned. - -------------------------- - 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["_veh",["_clearInventory",true]]; -private["_unit"]; -if (_clearInventory) then -{ - [_veh] call blck_fnc_emptyObject; -}; -_veh setVehicleLock "LOCKEDPLAYER"; -_veh addEventHandler ["GetIn",{ // Note: only fires when vehicle is local to player - private["_unit","_veh"]; - _unit = _this select 2; - _veh = _this select 0; - if (isPlayer _unit) then - { - _unit action ["eject",_veh]; - titleText ["You are not allowed to enter that vehicle at this time","PLAIN DOWN"]; - }; -}]; - -_veh diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf deleted file mode 100644 index cab77ef..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_decomissionAIVehicle.sqf +++ /dev/null @@ -1,64 +0,0 @@ -/* - By Ghostrider-DBD- - Copyright 2016 - Last updated 3-14-17 - - spawns a vehicle of _vehType and mans it with units in _group. - returns _veh, the vehicle spawned. - -------------------------- - 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 "Vehicle Decommisioning handler activated"; -params["_veh"]; - -if (_veh getVariable["DBD_vehType","none"] isEqualTo "emplaced") then // Deal with a static weapon -{ - if (blck_killEmptyStaticWeapons) then - { - if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: case of destroyed where vehicle = %1",_veh];}; - _veh setDamage 1; - _veh setVariable["blck_DeleteAt",diag_tickTime + 60]; - } else { - [_veh] call blck_fnc_releaseVehicleToPlayers; - }; -}else { // Deal with vehicles - if (blck_killEmptyAIVehicles) then - { - if (blck_debugLevel > 2) then {diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle destroyed where vehicle = %1",_veh];}; - { - _veh setHitPointDamage [_x, 1]; - - } forEach ["HitLFWheel","HitLF2Wheel","HitRFWheel","HitRF2Wheel","HitEngine","HitLBWheel","HitLMWheel","HitRBWheel","HitRMWheel","HitTurret","HitGun","HitTurret","HitGun","HitTurret","HitGun","HitTurret","HitGun"]; - _veh setVariable["blck_DeleteAt",diag_tickTime + 60]; - } else { - if (blck_debugLevel > 0) then {diag_log format["_fnc_vehicleMonitor:: case of release vehicle = %1 to player with blck_monitoredVehicles = %2",_veh, blck_monitoredVehicles];}; - blck_monitoredVehicles = blck_monitoredVehicles - [_veh]; - if (blck_debugLevel > 0) then {diag_log format["_fnc_vehicleMonitor:: blck_monitoredVehicles updated to %1", blck_monitoredVehicles];}; - [_veh] call blck_fnc_releaseVehicleToPlayers; - }; -}; - -/* - -_ai_veh = _this select 0; - -_if (_ai_veh getVariable["disabled",false]) exitWith {}; - -_ai_veh setVariable["disabled",true]; -//_ai_veh_type = typeof _ai_veh; -//_ai_veh_name = name _ai_veh; - -_ai_veh setFuel 0; -_ai_veh setVehicleAmmo 0; -_ai_veh setAmmoCargo 0; - -_s = ["MOTOR", - "wheel_1_1_steering","wheel_2_1_steering","wheel_1_2_steering","wheel_2_2_steering", - "wheel_1_3_steering","wheel_2_3_steering","wheel_1_4_steering","wheel_2_4_steering"]; -{_ai_veh setHit [_x,1]} forEach _s; diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf deleted file mode 100644 index fbb63b8..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_protectVehicle.sqf +++ /dev/null @@ -1,28 +0,0 @@ -// Protect Vehicles from being cleaned up by the server -// Last modified 2/26/16 by Ghostrider-DBD- -/* - -------------------------- - 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["_Vehicle"]; - -private["_modType"]; -_modType = call blck_fnc_getModType; -switch (_ModType) do { - case "Epoch": - { - #ifdef blck_debugMode - if (blck_debugLevel > 2) then {diag_log format["GMS_fnc_protectVehicle:: Tokens set for vehicle %1",_Vehicle];}; - #endif - //_Vehicle call EPOCH_server_vehicleInit; - _Vehicle call EPOCH_server_setVToken; - }; -}; - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf deleted file mode 100644 index 68347b4..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_releaseVehicleToPlayers.sqf +++ /dev/null @@ -1,43 +0,0 @@ -/* - Handle the case that all AI assigned to a vehicle are dead. - Allows players to enter and use the vehicle. - - By Ghostrider-DBD- - Copyright 2016 - Last updated 3-24-17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - params["_v"]; - //diag_log format["_fnc_releastVehicletoPlayers.sqf: removing vehicle %1 from ",_v,blck_monitoredVehicles]; - //blck_monitoredVehicles = blck_monitoredVehicles - [_v]; - _v removeAllEventHandlers "GetIn"; - _v removeAllEventHandlers "GetOut"; - _v removeAllEventHandlers "Fired"; - _v removeAllEventHandlers "Reloaded"; - _v setVehicleLock "UNLOCKED" ; - _v setVariable["releasedToPlayers",true]; - [_v] call blck_fnc_emptyObject; - - - //{ - //_v removealleventhandlers _x; - //}forEach["Fired","Hit","HitPart","Reloaded","Dammaged","HandleDamage","GetIn","GetOut"]; - - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_v]; - }; - #endif - - - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf deleted file mode 100644 index 908af48..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_sendHeliHome.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - Author: Ghostrider-DbD- - Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP - License: Attribution-NonCommercial-ShareAlike 4.0 International - Last Modified 1/23/17 -*/ -params["_grpPilot"]; -private["_heli","_pilot"]; -_pilot = (units _grpPilot) select 0; -_heli = vehicle _pilot; -diag_log "reinforcements deployed:: send heli back to spawn"; -[[_heli], 300 /* 5 min*/] spawn blck_fnc_addObjToQue; -// select a random location abotu 2K from the mission -_spawnVector = round(random(360)); -_spawnDistance = 2000; -_pos = getPos _heli; - -// Use the new functionality of getPos -// https://community.bistudio.com/wiki/getPos -_home = _pos getPos [_spawnDistance,_spawnVector]; - -// Send the heli back to base -_grpPilot = group this; -[_grpPilot, 0] setWPPos _pos; -[_grpPilot, 0] setWaypointType "MOVE"; -[_grpPilot, 0] setWaypointSpeed "FULL"; -[_grpPilot, 0] setWaypointBehaviour "CARELESS"; -[_grpPilot, 0] setWaypointCompletionRadius 200; -[_grpPilot, 0] setWaypointStatements ["true", "{deleteVehicle _x} forEach units group this;deleteVehicle (vehicle this);diag_log ""helicopter and crew deleted"""]; -[_grpPilot, 0] setWaypointName "GoHome"; -[_grpPilot,0] setWaypointTimeout [0.5,0.5,0.5]; - - -diag_log "reinforcements:: sending Heli Home"; - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf deleted file mode 100644 index d56e7d2..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionHeli.sqf +++ /dev/null @@ -1,209 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-15-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_coords","_skillAI","_weapons","_uniforms","_headGear","_helis",["_chanceParas",0]]; -/* -_coords = _this select 0; -_skillAI = _this select 1; -_weapons = _this select 2; -_uniforms = _this select 3; -_headGear = _this select 4; -_helis = _this select 5; -*/ -diag_log format["_fnc_spawnMissionHeli:: _this = %1",_this]; -diag_log format["_fnc_spawnMissionHeli:: _helis = %1 && _chanceParas = %2",_helis,_chanceParas]; -/* - Handles upper level functions of reinforcements utilizing helicoptor patrols and/or spawned from a helicopter. - Calls on functions that spawn paratroops and/or loot chests at the heli's location. - - Tasks are: - 1) spawn a heli over the mission center. - 2) add crew and gunners - 3) spawn paratroops if needed - 4) configure waypointScript - 5) return the _heli that was spawned. -*/ -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["_fnc_spawnMissionHeli (38):: _helis = %1",_helis]; -}; -#endif - -private["_grpPilot","_chopperType","_patrolHeli","_launcherType","_unitPilot","_unitCrew","_mags","_turret","_return","_abort"]; -_abort = false; -_grpParatroops = grpNull; -_grpPilot = createGroup blck_AI_Side; -if (isNull _grpPilot) then -{ - diag_log "BLCK_ERROR: _fnc_spawnMissionHeli::_->> NULL GROUP Returned for _grpPilot"; - _abort = true; -}; - -if !(isNull _grpPilot) then -{ - _grpPilot setBehaviour "COMBAT"; - _grpPilot setCombatMode "RED"; - _grpPilot setSpeedMode "NORMAL"; - _grpPilot allowFleeing 0; - _grpPilot setVariable["patrolCenter",_coords]; - _grpPilot setVariable["minDis",15]; - _grpPilot setVariable["maxDis",30]; - _grpPilot setVariable["timeStamp",diag_tickTime]; - _grpPilot setVariable["arc",0]; - _grpPilot setVariable["wpRadius",30]; - _grpPilot setVariable["wpMode","SAD"]; - - private["_supplyHeli"]; - //create helicopter and spawn it - if (( typeName _helis) isEqualTo "ARRAY") then {_chopperType = selectRandom _helis} - else - {_chopperType = _helis}; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionHeli (78):: _chopperType seleted = %1",_chopperType]; - }; - #endif - - _patrolHeli = createVehicle [_chopperType, _coords, [], 90, "FLY"]; - _grpPilot setVariable["groupVehicle",_patrolHeli]; - [_patrolHeli] call blck_fnc_protectVehicle; - _patrolHeli setFuel 1; - _patrolHeli engineOn true; - _patrolHeli flyInHeight 100; - _patrolHeli setVehicleLock "LOCKED"; - _patrolHeli addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}]; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionHeli (93):: heli %1 spawned",_patrolHeli]; - }; - #endif - - [_patrolHeli] call blck_fnc_emptyObject; - - _launcherType = "none"; - _unitPilot = _grpPilot createUnit ["I_helipilot_F", getPos _patrolHeli, [], 0, "FORM"]; - _unitPilot = [[100,100,100],_weapons,_grpPilot,_skillAI,_launcherType,_uniforms,_headGear] call blck_fnc_spawnAI; - _unitPilot setSkill 1; - _unitPilot assignAsDriver _patrolHeli; - _unitPilot moveInDriver _patrolHeli; - _grpPilot selectLeader _unitPilot; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionHeli (113):: pilot %1 spawned",_unitPilot]; - }; - #endif - - _turrets = allTurrets [_patrolHeli,false]; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log "_fnc_spawnMissionHeli (103): preparing to clear out blacklisted turrets"; - }; - #endif - - { - if ( (_patrolHeli weaponsTurret _x) in blck_blacklisted_heli_weapons) then - { - private["_mags","_turret"]; - _mags = _patrolHeli magazinesTurret _x; - _turret = _x; - { - _patrolHeli removeMagazines [_x,_turret]; - } forEach _mags; - _patrolHeli removeWeaponTurret _turret; - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionHeli (118)::-->> weapon %1 and its ammo removed from heli %2 for turret %3",_patrolHeli weaponsTurret _x,_patrolHeli, _x]; - }; - } - else - { - // B_helicrew_F - _unitCrew = [(getPosATL _patrolHeli),_weapons,_grpPilot,_skillAI,_launcherType,_uniforms,_headGear] call blck_fnc_spawnAI; - _unitCrew assignAsTurret [_patrolHeli, _x]; - _unitCrew moveInTurret [_patrolHeli, _x]; - - #ifdef blck_debugMode - diag_log format["_fnc_spawnMissionHeli (12798)::-- >> unit %1 moved into turret %2 of vehicle %3",_unitCrew,_x,_patrolHeli]; - #endif - }; - }forEach _turrets; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionHeli (133)::-->> Heli %1 outfited with a crew numbering %2",_patrolHeli, crew _patrolHeli]; - }; - #endif - - if (random(1) < _chanceParas) then - { - _grpParatroops = createGroup blck_AI_Side; - if (isNull _grpParatroops) then - { - diag_log "BLCK_ERROR: _fnc_spawnMissionHeli::_->> NULL GROUP Returned for _grpParatroops"; - _abort = true; - }; - // params["_missionPos","_paraGroup",["_numAI",3],"_skillAI","_weapons","_uniforms","_headGear",["_heli",objNull],_grpParatroops]; - //params["_coords","_skillAI","_weapons","_uniforms","_headGear",["_grpParatroops",grpNull],["_heli",objNull]]; - if !(isNull _grpParatroops) then - { - [_coords,_skillAI,_weapons,_uniforms,_headGear,_grpParatroops,_patrolHeli] call blck_fnc_spawnMissionParatroops; - }; - }; - //set waypoint for helicopter - [_coords,30,35,_grpPilot,"random","SAD"] spawn blck_fnc_setupWaypoints; - - blck_monitoredMissionAIGroups pushBack _grpPilot; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnMissionHeli (153):: initial pilot waypoints set"]; - [_patrolHeli] spawn { - params["_patrolHeli"]; - diag_log "_fnc_spawnMissionHeli:-> spawning crew monitoring loop"; - while {!isNull _patrolHeli} do - { - uiSleep 120; - diag_log format["_fnc_spawnMissionHeli:-> heli %1 has %2 crew alive",_patrolHeli, {alive _x} count crew _patrolHeli]; - diag_log format["_fnc_spawnMissionHeli:-> heli %1 fullCrew = %2",_patrolHeli, fullCrew _patrolHeli]; - }; - }; - }; - #endif - -}; -private["_ai"]; -_ai = (units _grpPilot); -if !(isNull _grpParatroops) then {_ai = _ai + (units _grpParatroops);}; - -_return = [_patrolHeli,_ai,_abort]; - -#ifdef blck_debugMode -if (blck_debugLevel > 0) then -{ - diag_log format["_fnc_spawnMissionHeli:: function returning value for _return of %1",_return]; -}; -#endif - -_return; diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf deleted file mode 100644 index 9d7a270..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnMissionParatroops.sqf +++ /dev/null @@ -1,109 +0,0 @@ -/* - Author: Ghostrider-DbD- - Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP - License: Attribution-NonCommercial-ShareAlike 4.0 International - 3/17/17 - - This is basically a container that determines whether a paragroop group should be created and if so creates a group and passes it off to the routine that spawns the paratroops. - - -------------------------- - 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["_coords","_skillAI","_weapons","_uniforms","_headGear",["_grpParatroops",grpNull],["_heli",objNull]]; - -private["_grpParatroops","_chanceParatroops","_aborted","_return"]; - -_skillAI = toLower _skillAI; -_chanceParatroops = 0; -_noPara = 0; -_aborted = false; - -if (_skillAI isEqualTo "blue") then { - - #ifdef blck_debugMode - if (blck_debugON) then {diag_log "_fnc_spawnMissionParatroops: BLUE difficulty settings applied";}; - #endif - - _chanceParatroops = blck_chanceParaBlue; - _noPara = blck_noParaBlue; -}; -if (_skillAI isEqualTo "green") then { - - #ifdef blck_debugMode - if (blck_debugON) then {diag_log "_fnc_spawnMissionParatroops: GREEN difficulty settings applied";}; - #endif - - _chanceParatroops = blck_chanceParaGreen; - _noPara = blck_noParaGreen; -}; -if (_skillAI isEqualTo "orange") then { - - #ifdef blck_debugMode - if (blck_debugON) then {diag_log "_fnc_spawnMissionParatroops: ORANGE difficulty settings applied";}; - #endif - - _chanceParatroops = blck_chanceParaOrange; - _noPara = blck_noParaOrange; -}; -if (_skillAI isEqualTo "red") then { - - #ifdef blck_debugMode - if (blck_debugON) then {diag_log "_fnc_spawnMissionParatroops: RED difficulty settings applied";}; - #endif - - _chanceParatroops = blck_chanceParaRed; - _noPara = blck_noParaRed; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 2) then {diag_log format["_fnc_spawnMissionParatroops (47): _chanceParatroops %1",_chanceParatroops];}; -if (blck_debugLevel > 2) then {diag_log format["_fnc_spawnMissionParatroops (48): _coords %1 | _numAI %2 | _skillAI %3 | _grpParatroops %4 | _heli %5",_coords,_noPara,_skillAI,_grpParatroops,_heli];}; -#endif - -if ( (random(1) < _chanceParatroops)) then -{ - if (isNull _grpParatroops) then - { - _grpParatroops = createGroup blck_AI_Side; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionParatroops (53):No group passed as a parameter, _grpParatroops %4 created",_grpParatroops]; - }; - #endif - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log format["_fnc_spawnMissionParatroops (58): function running and group %1 successfully created; now calling blck_fnc_spawnParaUnits",_grpParatroops]; - }; - #endif - - //params["_missionPos","_paraGroup",["_numAI",3],"_skillAI","_weapons","_uniforms","_headGear",["_heli",objNull]]; - _aborted = [_coords,_grpParatroops,_noPara,_skillAI,_weapons,_uniforms,_headGear,_heli] call blck_fnc_spawnParaUnits; - //diag_log format["_fnc_spawnMissionParatroops: blck_fnc_spawnParaUnits returned a value of %1",_aborted]; -}; -#ifdef blck_debugMode -diag_log format["_fnc_spawnMissionParatroops: _aborted = %1",_aborted]; -#endif -if (_aborted) then -{ - _return = [[],true]; -} else { - _return = [(units _grpParatroops),false]; -}; - -#ifdef blck_debugMode -diag_log format["_fnc_spawnMissionParatroops:-> _return = %1 | _abort = %2",_return,_aborted]; -#endif - -_return - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf deleted file mode 100644 index 2198ec1..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaCrate.sqf +++ /dev/null @@ -1,92 +0,0 @@ -/* - Author: Ghostrider-DbD- - Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP - License: Attribution-NonCommercial-ShareAlike 4.0 International - call with - [ - _supplyHeli, // heli from which they should para - _lootCounts, - _lootSetting // [blue, red, green, orange] - ] call blck_spawnHeliParaCrate - - ** here for future usage ** - -------------------------- - 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["_supplyHeli","_lootCounts"]; - -private ["_chute","_crate"]; -_crate = ""; -_chute = ""; - -diag_log "_fnc_spawnParaCrate:: spawning crate"; - -private["_dir","_offset"]; -_dir = getDir _supplyHeli; -_dir = if (_dir < 180) then {_dir + 210} else {_dir - 210}; -_offset = _supplyHeli getPos [10, _dir]; - -//open parachute and attach to crate -_chute = createVehicle ["I_Parachute_02_F", [100, 100, 100], [], 0, "FLY"]; -[_chute] call blck_fnc_protectVehicle; -_chute setPos [_offset select 0, _offset select 1, 100 ]; //(_offset select 2) - 10]; - -diag_log format["_fnc_spawnParaCrate:: chute spawned yielding object %1 at postion %2", _chute, getPos _chute]; - -//create the parachute and crate -private["_crateSelected"]; -_crateSelected = selectRandom["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_IND_AmmoVeh_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F"]; -_crate = [getPos _chute, _crateSelected] call blck_fnc_spawnCrate; -//_crate = createVehicle [_crateSelected, position _chute, [], 0, "CAN_COLLIDE"]; -_crate setPos [position _supplyHeli select 0, position _supplyHeli select 1, 250]; //(position _supplyHeli select 2) - 10]; -_crate attachTo [_chute, [0, 0, -1.3]]; -_crate allowdamage false; -_crate enableRopeAttach true; // allow slingloading where possible - -diag_log format["_fnc_spawnParaCrate:: crate spawned %1 at position %2 and attached to %3",_crate, getPos _crate, attachedTo _crate]; - - -switch (_lootSetting) do -{ - case "orange": {[_crate, blck_BoxLoot_Orange, _lootCounts] call blck_fnc_fillBoxes;}; - case "green": {[_crate, blck_BoxLoot_Green, _lootCounts] call blck_fnc_fillBoxes;}; - case "red": {[_crate, blck_BoxLoot_Red, _lootCounts] call blck_fnc_fillBoxes;}; - case "blue": {[_crate, blck_BoxLoot_Blue, _lootCounts] call blck_fnc_fillBoxes;}; - default {[_crate, blck_BoxLoot_Red, _lootCounts] call blck_fnc_fillBoxes;}; -}; - -diag_log format["_fnc_spawnParaCrate:: crate loaded and now at position %1 and attached to %2", getPos _crate, attachedTo _crate]; - -_fn_monitorCrate = { - params["_crate","_chute"]; - uiSleep 30; - private["_crateOnGround"]; - _crateOnGround = false; - while {!_crateOnGround} do - { - uiSleep 1; - diag_log format["_fnc_spawnParaCrate:: Crate Altitude: %1 Crate Velocity: %2 Crate Position: %3 Crate attachedTo %4", getPos _crate select 2, velocityModelSpace _crate select 2, getPosATL _crate, attachedTo _crate]; - if ( (((velocity _crate) select 2) < 0.1) || ((getPosATL _crate select 2) < 0.1) ) exitWith - { - uiSleep 10; // give some time for everything to settle - detach _crate; - deleteVehicle _chute; - if (surfaceIsWater (getPos _crate)) then - { - deleteVehicle _crate; - } else - { - [_crate] call blck_fnc_signalEnd; - }; - }; - }; -}; - -[_crate,_chute] call _fn_monitorCrate; -[[_crate], 1200 /* 20 min*/] spawn blck_fnc_addObjToQue; diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf deleted file mode 100644 index 810ef13..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnParaUnits.sqf +++ /dev/null @@ -1,82 +0,0 @@ -/* - Author: Ghostrider-DbD- - Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP - License: Attribution-NonCommercial-ShareAlike 4.0 International - 3/17/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ - -------------------------- - 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["_missionPos","_paraGroup","_numAI","_skillAI","_weapons","_uniforms","_headGear",["_heli",objNull]]; -private["_arc","_dir","_spawnPos","_chute","_unit","_launcherType","_aborted"]; -_aborted = false; - -#ifdef blck_debugMode -diag_log format["_fnc_spawnParaUnits (17)::_missionPos %1 | _paraGroup %2 | _numAI %3 | _skillAI %4 | _heli = %5",_missionPos,_paraGroup,_numAI,_skillAI,_heli]; -#endif - -if (isNull _paraGroup) then -{ - _aborted = true; -} else { - _paraGroup setVariable["groupVehicle",objNull]; - _launcherType = "none"; - private ["_arc","_spawnPos"]; - _arc = 45; - _dir = 0; - _pos = _missionPos; - for "_i" from 1 to _numAI do - { - if (_heli isKindOf "Air") then {_pos = getPos _heli}; - _spawnPos = _pos getPos[1.5,_dir]; - _chute = createVehicle ["Steerable_Parachute_F", [100, 100, 200], [], 0, "FLY"]; - [_chute] call blck_fnc_protectVehicle; - _unit = [[_spawnPos select 0, _spawnPos select 1, 100],_weapons,_paraGroup,_skillAI,_launcherType,_uniforms,_headGear] call blck_fnc_spawnAI; - _chute setPos [_spawnPos select 0, _spawnPos select 1, 125]; //(_offset select 2) - 10]; - _unit assignAsDriver _chute; - _unit moveInDriver _chute; - _unit allowDamage true; - _dir = _dir + _arc; - - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["_fnc_spawnParaUnits:: spawned unit %1, at location %2 and vehicle _unit %1",_unit,getPos _unit, vehicle _unit]; - }; - #endif - - uiSleep 2; - }; - _paraGroup selectLeader ((units _paraGroup) select 0); - //params["_pos","_minDis","_maxDis","_group"]; - // [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD"] spawn blck_fnc_setupWaypoints; - [_missionPos,20,30,_paraGroup,"random","SAD","paraUnits"] call blck_fnc_setupWaypoints; - blck_monitoredMissionAIGroups pushback _paraGroup; - #ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log "_fnc_spawnParaUnits (44): All Units spawned"; - }; - #endif - -}; - -#ifdef blck_debugMode -diag_log format["_fnc_spawnParaUnits: _aborted = %1",_aborted]; -#endif - -_aborted; - - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf deleted file mode 100644 index 46a8e2b..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnReinforcements.sqf +++ /dev/null @@ -1,115 +0,0 @@ -/* - - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-16-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -params["_coords","_aiSkillsLevel","_weapons","_uniforms","_headgear",["_chancePara",0]]; -/* -_coords = _this select 0; -_aiSkillsLevel = _this select 1; -_weapons = _this select 2; -_uniforms = _this select 3; -_headgear = _this select 4; -*/ - -private["_chanceHeliPatrol","_return","_temp","_missionHelis"]; -#ifdef blck_debugMode -if (blck_debugLevel > 0) then {diag_log format["_fnc_spawnMissionReinforcements (25): Script Starting with _aiSkillsLevel = %1",_aiSkillsLevel]}; -#endif -_aiSkillsLevel = toLower _aiSkillsLevel; - -if (_aiSkillsLevel isEqualTo "blue") then { - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log "_fnc_spawnMissionReinforcements (29): BLUE difficulty settings applied";}; - #endif - _chanceHeliPatrol = blck_chanceHeliPatrolBlue; - _missionHelis = blck_patrolHelisBlue; -}; -if (_aiSkillsLevel isEqualTo "green") then { - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log "_fnc_spawnMissionReinforcements (34): GREEN difficulty settings applied";}; - #endif - _chanceHeliPatrol = blck_chanceHeliPatrolGreen; - _missionHelis = blck_patrolHelisGreen; -}; -if (_aiSkillsLevel isEqualTo "orange") then { - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log "_fnc_spawnMissionReinforcements (39): ORANGE difficulty settings applied";}; - #endif - _chanceHeliPatrol = blck_chanceHeliPatrolOrange; - _missionHelis = blck_patrolHelisOrange; -}; -if (_aiSkillsLevel isEqualTo "red") then -{ - #ifdef blck_debugMode - if (blck_debugLevel > 0) then {diag_log "_fnc_spawnMissionReinforcements (46): RED difficulty settings applied";}; - #endif - _chanceHeliPatrol = blck_chanceHeliPatrolRed; - _missionHelis = blck_patrolHelisRed; -}; -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["_fnc_spawnMissionReinforcements (50): Variables defined: _chanceHeliPatrol %1 | _missionHelis %2",_chanceHeliPatrol,_missionHelis];}; -#endif -if ( (_chanceHeliPatrol > 0) && (random (1) < _chanceHeliPatrol) ) then // if helipatrols are 'enabled' then paratroops will only drop if a heli spawns. - // The chance that they drop is linked to the value for them for that difficulty _aiSkillsLevel - //see _fnc_spannMissionParatroops for how this is handled. -{ - _temp = [objNull,[],false]; - //params["_coords","_aiSkillsLevel",,"_weapons","_uniforms","_headgear""_helis"]; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then - { - diag_log "_fnc_spawnMissionReinforcements (64): calling _fnc_spawnMissionHeli to spawn heli and paratroops"; - }; - #endif - // params["_coords","_skillAI","_weapons","_uniforms","_headGear","_helis",["_chanceParas",0]]; - _temp = [_coords,_aiSkillsLevel,_weapons,_uniforms,_headgear,_missionHelis,_chancePara] call blck_fnc_spawnMissionHeli; - if (typeName _temp isEqualTo "ARRAY") then - { - _return = [_temp select 0, _temp select 1, _temp select 2]; - } - else - { - _return = [objNull, [], true]; - }; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then {diag_log format["_fnc_spawnMissionReinforcements (66): blck_fnc_spawnMissionHeli returned value of %1 for _return",_return];}; - #endif - -} else { - if (blck_debugLevel > 2) then {diag_log "_fnc_spawnMissionReinforcements (68): calling _fnc_spawnMissionParatroops to spawn para reinforcements";}; - _temp = [objNull,[],false]; - // params["_coords","_skillAI","_weapons","_uniforms","_headgear"]; - _temp = [_coords,_aiSkillsLevel,_weapons,_uniforms,_headgear] call blck_fnc_spawnMissionParatroops; - - #ifdef blck_debugMode - if (blck_debugLevel > 2) then { - diag_log format["_fnc_spawnMissionReinforcements (71):: blck_fnc_spawnMissionParatroops returned value for _paratroops of %1",_temp]; - }; - #endif - - if (typeName _temp isEqualTo "ARRAY") then - { - _return = [objNull, _temp select 0 /*units*/, _temp select 1 /*true/false*/]; - } else { - _return = [objNull, [],true]; - }; -}; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["_fnc_spawnMissionReinforcements (74):: _return = %1",_return];}; -#endif - -_return \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf deleted file mode 100644 index 059f532..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehicle.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - Spawn a vehicle and protect it against cleanup by Epoch - Returns the object (vehicle) created. - By Ghostrider-DBD- - Last modified 1-27-17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_veh","_modType"]; -params["_vehType","_pos",["_clearInventory",true]]; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["spawnVehicle.sqf: _vehType = %1 | _pos = %2",_vehType,_pos];}; -#endif - -_veh = createVehicle[_vehType, _pos, [], 0, "NONE"]; -[_veh] call blck_fnc_protectVehicle; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["spawnVehicle.sqf:: vehicle spawned is %1",_veh];}; -#endif -// params["_veh",["_clearInventory",true]]; -[_veh,_clearInventory] call blck_fnc_configureMissionVehicle; - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then {diag_log format["spawnVehicle:: returning parameter _veh = %1",_veh];}; -#endif - -_veh - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf deleted file mode 100644 index e37010a..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_spawnVehiclePatrol.sqf +++ /dev/null @@ -1,73 +0,0 @@ -/* - By Ghostrider-DBD- - Copyright 2016 - Last updated 3-17-17 - - spawns a vehicle of _vehType and mans it with units in _group. - returns _veh, the vehicle spawned. - -------------------------- - 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["_vehType","_safepos","_veh"]; -params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull]]; - - -//_center Center of the mission area - this is usuall the position treated as the center by the mission spawner. Vehicles will patrol the perimeter of the mission area. -// _pos the approximate spawn point for the vehicle -//_vehType = [_this,1,"I_G_Offroad_01_armed_F"] call BIS_fnc_param; -//_minDis = minimum distance from the center of the mission for vehicle waypoints -//_maxDis = maximum distance from the center of the mission for vehicle waypoints -//_groupForVehiclePatrol = The group with which to man the vehicle - -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_spawnVehiclePatrol:: _center = %1 | _pos = %2 | _vehType = %3 | _group = %4",_center,_pos,_vehType,_group]; -}; -#endif - -if !(isNull _group) then -{ // exitWith {diag_log "[blckeagls] ERROR CONDITION:-->> NULL-GROUP Provided to _fnc_spawnVehiclePatrol"; objNull;}; - _veh = [_vehType,_pos] call blck_fnc_spawnVehicle; - _veh addEventHandler["HandleDamage",{ [_this] call compile preprocessFileLineNumbers blck_EH_AIVehicle_HandleDamage}]; - _group setVariable["groupVehicle",_veh]; - //#ifdef blck_debugMode - if (blck_debugLevel > 1) then - { - diag_log format["spawnVehiclePatrol:: vehicle spawned is %1 of typeof %2",_veh, typeOf _veh]; - }; - //#endif - - private["_unitNumber"]; - _unitNumber = 0; - - { - switch (_unitNumber) do - { - case 0: {_x moveingunner _veh;}; - case 1: {_x moveindriver _veh;}; - default {_x moveInCargo _veh;}; - }; - _unitNumber = _unitNumber + 1; - }forEach (units _group); - - // params["_pos","_minDis","_maxDis","_group",["_mode","random"],["_pattern",["MOVE","SAD"]]]; - _group setcombatmode "RED"; - _group setBehaviour "COMBAT"; - [_center,_minDis,_maxDis,_group,"perimeter","SAD","vehicle"] spawn blck_fnc_setupWaypoints; -}; -#ifdef blck_debugMode -if (blck_debugLevel > 1) then -{ - diag_log format["_fnc_spawnVehiclePatrol::->> _veh = %1",_veh]; -}; -#endif -_veh - - diff --git a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf b/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf deleted file mode 100644 index 6163a20..0000000 --- a/@epochhive/addons/custom_server/Compiles/Vehicles/GMS_fnc_vehicleMonitor.sqf +++ /dev/null @@ -1,176 +0,0 @@ -/* - Handle the case that all AI assigned to a vehicle are dead. - Allows players to enter and use the vehicle when appropriate - or otherwise destroys the vehicle. - - Logic: - 1) Mission ended; players can keep vehicles BUT not all vehicle AI were killed - > delete vehicle when live AI are killed; - 2) Vehicle has a blck_deleteAT timer set - > delete vehicle; - 3) All AI killed an players may NOT keep vehicles - > detroy vehicle - 4) All AI Killed and players MAY keep vehicles -> release vehicle - 5) vehicle ammo low AND vehicle gunner is alive - > reloaded - - By Ghostrider-DBD- - Copyright 2016 - Last updated 1-22-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//diag_log "_fnc_vehicleMonitor: starting function"; -#ifdef blck_debugMode - //diag_log format["_fnc_vehicleMonitor:: blck_debugMode defined"]; -#endif - -_fn_releaseVehicle = { - params["_v"]; - blck_monitoredVehicles = blck_monitoredVehicles - [_veh]; - _v setVehicleLock "UNLOCKED" ; - //_v setVariable["releasedToPlayers",true]; - //[_v] call blck_fnc_emptyObject; - { - _v removealleventhandlers _x; - } forEach ["GetIn","GetOut","fired","hit","hitpart","reloaded","dammaged","HandleDamage"]; - - #ifdef blck_debugMode - if (blck_debugLevel > 3) then - { - diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_v]; - }; - #endif -}; - -_fn_destroyVehicleAndCrew = { - params["_veh"]; - private["_crew"]; - _crew = crew _veh; - {[_x] call blck_fnc_deleteAI;} forEach _crew; - [_veh] call blck_fn_deleteAIvehicle; -}; - -_fn_reloadAmmo = { - params["_veh"]; - private ["_crew","_mag","_allMags","_cnt"]; - // https://community.bistudio.com/wiki/fullCrew - // 0 1 2 3 4 - // returns Array - format [[unit,role,cargoIndex,turretPath,personTurret], ...] - //diag_log format["_fnc_vehicleMonitor:: (65) _veh = %1",_veh]; - if ({alive _x and !(isPlayer _x)} count (crew _veh) > 0) then - { - _crew = fullCrew _veh; - //diag_log format["_fnc_vehicleMonitor:: (67) _crew = %1",_crew]; - { - //diag_log format ["_fnc_vehicleMonitor:: (69) _x = %1",_x]; - _mag = _veh currentMagazineTurret (_x select 3); - if (count _mag > 0) then - { - //diag_log format["_fnc_vehicleMonitor:: (71) _mag is typeName %1", typeName _mag]; - //diag_log format ["_fnc_vehicleMonitor:: (71) length _mag = %2 and _mag = %1",_mag,count _mag]; - _allMags = magazinesAmmo _veh; - //diag_log format["_fnc_vehicleMonitor:: (71) _allMags = %1",_allMags]; - _cnt = ( {_mag isEqualTo (_x select 0)}count _allMags); - //diag_log format["_fnc_vehicleMonitor:: (75) _cnt = %1",_cnt]; - if (_cnt < 2) then {_veh addMagazineCargo [_mag,2]}; - }; - } forEach _crew; - }; -}; -blck_fn_deleteAIvehicle = { - params["_veh"]; - { - _veh removeAllEventHandlers _x; - }forEach ["Hit","HitPart","GetIn","GetOut","Fired","FiredNear"]; - blck_monitoredVehicles = blck_monitoredVehicles - [_veh]; - deleteVehicle _veh; -}; -private ["_veh","_vehList"]; -_vehList = +blck_monitoredVehicles; - -#ifdef blck_debugMode -if (blck_debugLevel > 3) then {diag_log format["_fnc_vehicleMonitor:: function called at %1 with _vehList %2 and blck_monitoredVehicles %3",diag_tickTime,_vehList,blck_monitoredVehicles];}; -#endif - -{ - _veh = _x; // (purely for clarity at this point, _x could be used just as well) - - #ifdef blck_debugMode - if (blck_debugLevel > 3) then - { - diag_log format["_fnc_vehicleMonitor: vehicle %1 with missionCompleted = %2 being evaluated",_x, _x getVariable"missionCompleted",0]; - }; - #endif - private["_evaluate"]; - _evaluate = true; - // Case where vehicle has been marked for deletion after a certain time. - if ( (_veh getVariable["blck_DeleteAt",0] > 0) && (diag_tickTime > _veh getVariable "blck_DeleteAt")) then - { - [_veh] call _fn_destroyVehicleAndCrew; - _evaluate = false; - }; - - // Case where is an emplaced / static wweapon and has no alive crew and such vehicles should be 'killed' or release to players - if (_evaluate) then - { - if ( (_veh getVariable["DBD_vehType","none"] isEqualTo "emplaced") && {alive _x} count crew _veh isEqualTo 0) then - { - if (blck_killEmptyStaticWeapons) then - { - #ifdef blck_debugMode - if (blck_debugLevel > 3) then {diag_log format["_fnc_vehicleMonitor:: case of destroyed where vehicle = %1",_veh];}; - #endif - - _veh setDamage 1; - _veh setVariable["blck_DeleteAt",diag_tickTime + 60]; - }else { - [_veh] call _fn_releaseVehicle; - }; - _evaluate = false; - }; - }; - - // Case where a vehicle is NOT an emplaced / static weapon and has no alive crew and such vehicles should be 'killed' or release to players - if (_evaluate) then - { - if (_veh getVariable["DBD_vehType","none"] isEqualTo "none" && ({alive _x} count crew _veh isEqualTo 0) ) then - { - if (blck_killEmptyAIVehicles) then - { - _veh setDamage 0.7; - _veh setVariable["blck_DeleteAt",diag_tickTime + 60]; - } else { - [_veh] call _fn_releaseVehicle; - }; - _evaluate = false; - }; - }; - - // Case where a vehicle is part of a mission that has been completed and containes live AI. - if (_evaluate) then - { - if ( _veh getVariable["missionCompleted",0] > 0 && ({alive _x} count crew _veh > 0)) then - { - private["_cleanupTimer"]; - _cleanupTimer = _veh getVariable["cleanupTimer",0]; // The time delat to deleting any alive AI units - // "missionCompleted" = the time at which the mission was completed or aborted - if (diag_tickTime > ((blck_AliveAICleanUpTimer - 70) + (_veh getVariable["missionCompleted",0])) ) then - { - [_veh] call _fn_destroyVehicleAndCrew; - _evaluate = false; - }; - }; - }; - - if (_evaluate) then - { - [_veh] call _fn_reloadAmmo; - }; -}forEach _vehList; - - - diff --git a/@epochhive/addons/custom_server/Compiles/blck_variables.sqf b/@epochhive/addons/custom_server/Compiles/blck_variables.sqf deleted file mode 100644 index 8dfbf12..0000000 --- a/@epochhive/addons/custom_server/Compiles/blck_variables.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/* - AI Mission for Epoch Mod for Arma 3 - For the Mission System originally coded by blckeagls - By Ghostrider - Functions and global variables used by the mission system. - -------------------------- - 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"; - -blck_debugON = false; -blck_debugLevel = 0; // Sets level of detail for debugging info - WIP. -blck_minFPS = 10; - -//////////////////////////////////////////////// -// Do Not Touch Anything Below This Line -/////////////////////////////////////////////// -blck_townLocations = []; //nearestLocations [blck_mapCenter, ["NameCity","NameCityCapital"], 30000]; -blck_ActiveMissionCoords = []; -blck_recentMissionCoords = []; -blck_locationBlackList = []; -blck_monitoredVehicles = []; -blck_livemissionai = []; -blck_monitoredMissionAIGroups = []; // Used to track groups in active missions for whatever purpose -blck_oldMissionObjects = []; -blck_pendingMissions = []; -blck_missionsRunning = 0; -blck_activeMissions = []; -blck_deadAI = []; -#ifdef useDynamicSimulation -"Group" setDynamicSimulationDistance 1800; -enableDynamicSimulationSystem true; -#endif -// Arrays for use during cleanup of alive AI at some time after the end of a mission -DBD_HeliCrashSites = []; - -// radius within whih missions are triggered. The trigger causes the crate and AI to spawn. -blck_TriggerDistance = 1000; -blck_mainThreadUpdateInterval = 60; -//blck_missionSpawning = false; -diag_log "[blckeagls] Variables Loaded"; -blck_variablesLoaded = true; diff --git a/@epochhive/addons/custom_server/Compiles/passToHCs.sqf b/@epochhive/addons/custom_server/Compiles/passToHCs.sqf deleted file mode 100644 index 4eeed69..0000000 --- a/@epochhive/addons/custom_server/Compiles/passToHCs.sqf +++ /dev/null @@ -1,83 +0,0 @@ -/* - * passToHCs.sqf - * - * In the mission editor, name the Headless Clients "HC", "HC2", "HC3" without the quotes - * - * In the mission init.sqf, call passToHCs.sqf with: - * execVM "passToHCs.sqf"; - * - * It seems that the dedicated server and headless client processes never use more than 20-22% CPU each. - * With a dedicated server and 3 headless clients, that's about 88% CPU with 10-12% left over. Far more efficient use of your processing power. - * - */ - -if (!isServer || !blck_useHC) exitWith {}; - -diag_log "passToHCs: Started"; - -//waitUntil {!isNil "HC"}; -//waitUntil {!isNull HC}; -_wait = true; -while {_wait} do{ - if (isNil "HC1") then - { - diag_log "passToHCs: HC not connected"; - } else { - diag_log format["passToHCs: owner HC1 = %1", owner HC1]; - _wait = false; - }; - sleep 15; -}; - - -_HC1_ID = -1; // Will become the Client ID of HC -_HC2_ID = -1; // Will become the Client ID of HC2 -_HC3_ID = -1; // Will become the Client ID of HC3 -rebalanceTimer = 10; // Rebalance sleep timer in seconds -cleanUpThreshold = 200; // Threshold of number of dead bodies + destroyed vehicles before forcing a clean up - -diag_log format["passToHCs: First pass will begin in %1 seconds", rebalanceTimer]; - -while {true} do { - uisleep rebalanceTimer; - try { - _HC1_ID = owner HC1; - - if (_HC1_ID > 2) then { - diag_log format ["passToHCs: Found HC with Client ID %1", _HC1_ID]; - } else { - diag_log "passToHCs: [WARN] HC disconnected"; - - HC1 = objNull; - _HC1_ID = -1; - }; - } catch { diag_log format ["passToHCs: [ERROR] [HC] %1", _exception]; HC = objNull; _HC1_ID = -1; }; - { - if (!isNull HC1) then - { - // Pass the AI - _numTransfered = 0; - - if (_x getVariable["blck_group",false]) then { - diag_log format["group belongs to blckeagls mission system so time to transfer it"]; - _id = groupOwner _x; - diag_log format["Owner of group %1 is %2",_x,_id]; - if (_id > 2) then - { - diag_log format["group %1 is already assigned to an HC with _id of %2",_x,_id]; - _swap = false; - } else { - if (_numTransfered < 5) then - { - diag_log format["group %1 should be moved to an HC",_x]; - _rc = _x setGroupOwner _HC1_ID; - if ( _rc ) then { _numTransfered = _numTransfered + 1; }; - }; - }; - - } else { - diag_log format["group %1 does not belong to blckeagls mission system",_x]; - }; - - } forEach (allGroups); -}; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Configs/blck_configs.sqf b/@epochhive/addons/custom_server/Configs/blck_configs.sqf deleted file mode 100644 index c89775e..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_configs.sqf +++ /dev/null @@ -1,415 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-17-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - - #include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - #ifdef blck_milServer - execVM "\q\addons\custom_server\Configs\blck_configs_mil.sqf"; - if (true) exitWith {}; - #endif - - diag_log "[blckeagls] Loading configurations for Non-militarized servers: blck_configs.sqf"; - /* - Configuration for Addons that support the overall Mission system. - These are a module to spawn map addons generated with the Eden Editor - And a moduel to spawn static loot crates at specific location - A time acceleration module. - */ - - blck_spawnMapAddons = true; // When true map addons will be spawned based on parameters define in custum_server\MapAddons\MapAddons_init.sqf - blck_spawnStaticLootCrates = true; // When true, static loot crates will be spawned and loaded with loot as specified in custom_server\SLS\SLS_init_Epoch.sqf (or its exile equivalent). - - // Note that you can define map-specific variants in custom_server\configs\blck_custom_config.sqf - 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 = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - - /************************************************************** - - BLACKLIST LOCATIONS - - **************************************************************/ - // if true then missions will not spawn within 1000 m of spawn points for Altis, Bornholm, Cherno, Esseker or stratis. - blck_blacklistTraderCities = true; // Set this = true if you would like the mission system to automatically search for the locations of the Epoch/Exile trader cities. Note that these are added to the list of blacklisted locations for Epoch for the most common maps. - - /*********************************************************** - - GENERAL MISSION SYSTEM CONFIGURATION - - ***********************************************************/ - //////// - // Headless Client Configurations - blck_useHC = false; // Not Yet Working - - /////////////////////////////// - // Kill message configurations - // These determine whether and when messages are sent to players regarding AI Kills or illegal kills that might damage a vehicle. - blck_useKillMessages = true; // when true a message will be broadcast to all players each time an AI is killed; may impact server performance. - blck_useKillScoreMessage = true; // when true a tile is displayed to the killer with the kill score information - blck_useIEDMessages = true; // Displayes a message when a player vehicle detonates and IED (such as would happen if a player killed AI with a forbidden weapon). - - /////////////////////////////// - // MISSION MARKER CONFIGURATION - // blck_labelMapMarkers: Determines if when the mission composition provides text labels, map markers with have a text label indicating the mission type - //When set to true,"arrow", text will be to the right of an arrow below the mission marker. - // When set to true,"dot", ext will be to the right of a black dot at the center the mission marker. - blck_labelMapMarkers = [true,"center"]; - blck_preciseMapMarkers = true; // Map markers are/are not centered at the loot crate - - - //Minimum distance between missions - blck_MinDistanceFromMission = 2000; - - /////////////////////////////// - // Mission Smoke and Signals - /////////////////////////////// - - // global loot crate options - // Options to spawn a smoking wreck near the crate. When the first parameter is true, a wreck or junk pile will be spawned. - // It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission. - blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether. - blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. - blck_loadCratesTiming = "atMissionCompletion"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - - /////////////////////////////// - // PLAYER PENALTIES - /////////////////////////////// - - blck_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given blck_RunGearDamage of damage. - blck_RunGearDamage = 0.2; // Damage applied to player vehicle for each AI run over - blck_VK_Gear = true; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given blck_RunGearDamage of damage - blck_VK_RunoverDamage = true; // when the AI was run over blck_RunGearDamage of damage will be applied to the killer's vehicle. - blck_VK_GunnerDamage = true; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, blck_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun. - blck_forbidenVehicles = [/*"B_MRAP_01_hmg_F","O_MRAP_02_hmg_F","I_MRAP_03_hmg_F","B_MRAP_01_hmg_F","O_MRAP_02_hmg_F"*/]; // Add any vehicles for which you wish to forbid vehicle kills - // For a listing of the guns mounted on various land vehicles see the following link: https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Vehicle_Weapons - // HMG_M2 is mounted on the armed offroad that is spawned by Epoch - blck_forbidenVehicleGuns = [/*"LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC","HMG_M2","HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01"*/]; // Add any vehicles for which you wish to forbid vehicle kills, o - - - /////////////////////////////// - // MISC MISSION PARAMETERS - /////////////////////////////// - blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown. - blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Turn this off if you have vehicle patrols. - blck_cleanupCompositionTimer = 1200; // Mission objects will be deleted after the mission is completed after a deley set by this timer. - blck_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects. - blck_MissionTimout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting. - - /////////////////////////////// - // Paratroop Settings - // AI paratrooper reinforcement paramters - // The behavior of these can be linked to some degree to the spawning of patrolling helis. - // For example, if you always want a helicopter to spawn paratroops set the value 1. - // Recommended that you disable paratroops if using muliple aircraft/vehicle patrols - blck_chanceParaBlue = 0; // [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_chanceParaRed = 0; - blck_noParaRed = 3; - - blck_chanceParaGreen = 0; - blck_noParaGreen = 4; - - blck_chanceParaOrange = 0; - blck_noParaOrange = 4; - - // Supplemental Loot Parameters. - - /////////////////////////////// - // Heli Patrol Heli Types - // Armed Helis - ////////////////////////////// - _blck_littleBirds = ["B_Heli_Light_01_armed_F"]; // AH-9 Pawnee (WEST) - _blck_armed_hellcats = ["I_Heli_light_03_F"]; - _blck_armed_orcas = ["O_Heli_Light_02_F","O_Heli_Light_02_v2_F"]; - _blck_armed_ghosthawks = ["B_Heli_Transport_01_F","B_Heli_Transport_01_camo_F"]; - _blck_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"]; - _blck_armed_attackHelis = ["B_Heli_Attack_01_F"]; - _blck_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"]; - _blck_fighters = [ - "O_Plane_CAS_02_F", // /ti-199 Neophron (CAS) - "I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA) - "I_Plane_Fighter_04_F", // A-149 Gryphon - "B_Plane_CAS_01_F", // A-164 Wipeout (CAS) - "B_Plane_Fighter_01_F" // F/A-181 Black Wasp II - ]; - blck_blacklisted_heli_ammo = ["24Rnd_missiles","24Rnd_PG_missiles","12Rnd_PG_missiles","2Rnd_LG_scalpel","6Rnd_LG_scalpel","8Rnd_LG_scalpel","M_Scalpel_AT ","14Rnd_80mm_rockets","38Rnd_80mm_rockets"]; - blck_blacklisted_heli_weapons = ["missiles_SCALPEL","missiles_titan","rockets_Skyfire","missiles_DAGR","missiles_DAR"]; - - - /////////////////////////////// - // Heli Patrol Settings - /////////////////////////////// - - blck_chanceHeliPatrolBlue = 0; //[0 - 1] Set to 0 to deactivate and 1 to always have a heli spawn over the mission center and patrol the mission area. - // The chance of paratroops dropping from the heli is defined by blck_chancePara(Blue|Red|Green|Orange) above. - // Recommend setting the change = 1 if you wish to spawn multiple helis at a mission. - blck_patrolHelisBlue = _blck_littleBirds; - blck_noPatrolHelisBlue = 1; - - blck_chanceHeliPatrolRed = 0.1; // 0.4; - blck_patrolHelisRed = _blck_littleBirds; - blck_noPatrolHelisRed = 1; - - blck_chanceHeliPatrolGreen = 0.4; - blck_patrolHelisGreen = _blck_littleBirds; - blck_noPatrolHelisGreen = 1; - - blck_chanceHeliPatrolOrange = 0.5; - blck_patrolHelisOrange = _blck_armed_hellcats+_blck_armed_orcas; - blck_noPatrolHelisOrange = 1; - - //////////////////// - // Enable / Disable Missions - //////////////////// - - // Maximum number of missions shown on the map at any one time. - #ifdef DBDserver - blck_maxSpawnedMissions = 6; - #else - // Change this value to reduce the number of spawned missions at any one time. - blck_maxSpawnedMissions = 4; - #endif - - //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = 1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = 1; - #ifdef DBDserver - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = 1; - blck_maxcrashsites = 3; - #endif - - //////////////////// - // MISSION TIMERS - //////////////////// - - // Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out - blck_TMin_Orange = 250; - blck_TMin_Green = 200; - blck_TMin_Blue = 120; - blck_TMin_Red = 150; - #ifdef DBDserver - blck_TMin_Hunter = 120; - blck_TMin_Scouts = 115; - blck_TMin_Crashes = 115; - //blck_TMin_UMS = 200; - #endif - - //Maximum Spawn time between missions in seconds - blck_TMax_Orange = 360; - blck_TMax_Green = 300; - blck_TMax_Blue = 200; - blck_TMax_Red = 250; - #ifdef DBDserver - blck_TMax_Hunter = 200; - blck_TMax_Scouts = 200; - blck_TMax_Crashes = 200; - //blck_TMax_UMS = 280; - #endif - - /////////////////////////////// - // AI VEHICLE PATROL PARAMETERS - /////////////////////////////// - - blck_useVehiclePatrols = true; // When true vehicles will be spawned at missions and will patrol the mission area. - blck_killEmptyAIVehicles = false; // when true, the AI vehicle will be extensively damaged once all AI have gotten outor been killed. - - //////////////////// - // Mission Vehicle Settings - //////////////////// - //Defines how many AI Vehicles to spawn. Set this to -1 to disable spawning of static weapons or vehicles. To discourage players runniing with with vehicles, spawn more B_GMG_01_high - blck_SpawnVeh_Orange = 3; // Number of static weapons at Orange Missions - blck_SpawnVeh_Green = 3; // Number of static weapons at Green Missions - blck_SpawnVeh_Blue = -1; // Number of static weapons at Blue Missions - blck_SpawnVeh_Red = 1; // Number of static weapons at Red Missions - - /////////////////////////////// - // AI STATIC WEAPON PARAMETERS - /////////////////////////////// - - blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles - blck_killEmptyStaticWeapons = true; // When true, static weapons will have damage set to 1 when the AI manning them is killed. - blck_staticWeapons = ["B_HMG_01_high_F","B_GMG_01_high_F"/*,"O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher] - - //////////////////// - // Mission Static Weapon Settings - //////////////////// - - // Defines how many static weapons to spawn. Set this to -1 to disable spawning - blck_SpawnEmplaced_Orange = 3; // Number of static weapons at Orange Missions - blck_SpawnEmplaced_Green = 3; // Number of static weapons at Green Missions - blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions - blck_SpawnEmplaced_Red = 1; // Number of static weapons at Red Missions - - - - /**************************************************************** - - GENERAL AI SETTINGS - - ****************************************************************/ - - blck_groupBehavior = "SENTRY"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes - blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. - blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND" - blck_addAIMoney = true; - blck_chanceBackpack = 0.3; // Chance AI will be spawned with a backpack - blck_useNVG = true; // When true, AI will be spawned with NVG if is dark - blck_removeNVG = false; // When true, NVG will be removed from AI when they are killed. - blck_useLaunchers = true; // When true, some AI will be spawned with RPGs; they do not however fire on vehicles for some reason so I recommend this be set to false for now - //blck_launcherTypes = ["launch_NLAW_F","launch_RPG32_F","launch_B_Titan_F","launch_I_Titan_F","launch_O_Titan_F","launch_B_Titan_short_F","launch_I_Titan_short_F","launch_O_Titan_short_F"]; - blck_launcherTypes = ["launch_RPG32_F"]; - blck_launchersPerGroup = 1; // Defines the number of AI per group spawned with a launcher - blck_launcherCleanup = true;// When true, launchers and launcher ammo are removed from dead AI. - - //This defines how long after an AI dies that it's body disappears. - blck_bodyCleanUpTimer = 1200; // 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 - // values are ordered as follows [blue, red, green, orange]; - blck_AliveAICleanUpTimer = 1200; // Time after mission completion at which any remaining live AI are deleted. - - // How precisely player locations will be revealed to AI after an AI kill - // values are ordered as follows [blue, red, green, orange]; - blck_AIAlertDistance = [250,325,450,500]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. - //blck_AIAlertDistance = [150,225,400,500]; - // How precisely player locations will be revealed to AI after an AI kill - // values are ordered as follows [blue, red, green, orange]; - blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; - - blck_baseSkill = 1.0; // The overal skill of the AI - range 0.1 to 1.0. - - /*************************************************************** - - MISSION TYPE SPECIFIC AI SETTINGS - - **************************************************************/ - //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type - // Orange Missions - blck_MinAI_Orange = 20; - blck_MaxAI_Orange = 25; - blck_AIGrps_Orange = 5; - blck_SkillsOrange = [ - ["aimingAccuracy",[0.35,0.45]],["aimingShake",[0.65,0.75]],["aimingSpeed",[0.65,0.75]],["endurance",1.00],["spotDistance",1.0],["spotTime",1.0],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00] - ]; - - // Green Missions - blck_MinAI_Green = 16; - blck_MaxAI_Green = 21; - blck_AIGrps_Green = 4; - blck_SkillsGreen = [ - ["aimingAccuracy",0.3],["aimingShake",0.65],["aimingSpeed",0.65],["endurance",0.9],["spotDistance",0.9],["spotTime",0.9],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75] - ]; - - // Red Missions - blck_MinAI_Red = 12; - blck_MaxAI_Red = 15; - blck_AIGrps_Red = 3; - blck_SkillsRed = [ - ["aimingAccuracy",0.2],["aimingShake",0.6],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.8],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70] - ]; - - // Blue Missions - blck_MinAI_Blue = 8; - blck_MaxAI_Blue = 12; - blck_AIGrps_Blue = 2; - blck_SkillsBlue = [ - ["aimingAccuracy",0.1],["aimingShake",0.5],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] - ]; - - // Add some money to AI; only works with Exile for now. - blck_maxMoneyOrange = 25; - blck_maxMoneyGreen = 20; - blck_maxMoneyRed = 15; - blck_maxMoneyBlue = 10; - - #ifdef DBDserver - blck_AIAlertDistance = [250,450,650,800]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. - //blck_AIAlertDistance = [150,225,400,500]; - // How precisely player locations will be revealed to AI after an AI kill - // values are ordered as follows [blue, red, green, orange]; - blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; - - blck_baseSkill = 0.7; // The overal skill of the AI - range 0.1 to 1.0. - - /*************************************************************** - - MISSION TYPE SPECIFIC AI SETTINGS - - **************************************************************/ - //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type - // Orange Missions - blck_MinAI_Orange = 20; - blck_MaxAI_Orange = 25; - blck_AIGrps_Orange = 5; - blck_SkillsOrange = [ - ["aimingAccuracy",[0.25,0.36]],["aimingShake",[0.45,0.55]],["aimingSpeed",[0.65,0.75]],["endurance",1.00],["spotDistance",1.0],["spotTime",0.7],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00] - ]; - - // Green Missions - blck_MinAI_Green = 16; - blck_MaxAI_Green = 21; - blck_AIGrps_Green = 4; - blck_SkillsGreen = [ - ["aimingAccuracy",[0.2,0.3]],["aimingShake",[0.4,0.5]],["aimingSpeed",[0.55,0.7]],["endurance",0.9],["spotDistance",0.9],["spotTime",0.65],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75] - ]; - - // Red Missions - blck_MinAI_Red = 12; - blck_MaxAI_Red = 15; - blck_AIGrps_Red = 3; - blck_SkillsRed = [ - ["aimingAccuracy",[0.2,0.25]],["aimingShake",[0.35,0.4]],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.6],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70] - ]; - - // Blue Missions - blck_MinAI_Blue = 8; - blck_MaxAI_Blue = 12; - blck_AIGrps_Blue = 2; - blck_SkillsBlue = [ - ["aimingAccuracy",[0.08,16]],["aimingShake",[0.25,0.35]],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] - ]; - - // Add some money to AI; only works with Exile for now. - blck_maxMoneyOrange = 25; - blck_maxMoneyGreen = 20; - blck_maxMoneyRed = 15; - blck_maxMoneyBlue = 10; - #endif - - private["_modType"]; - _modType = [] call blck_fnc_getModType; - if (_modType isEqualTo "Epoch") then - { - diag_log format["[blckeagls] Loading Mission System using Parameters for %1",_modType]; - execVM "\q\addons\custom_server\Configs\blck_configs_epoch.sqf"; - 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 - { - diag_log format["[blckeagls] Loading Mission System using Parameters for %1",_modType]; - 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";}; - }; - blck_configsLoaded = true; diff --git a/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf b/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf deleted file mode 100644 index dc4e158..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_configs_epoch.sqf +++ /dev/null @@ -1,845 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//////////// -// Epoch-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_AI_Side = RESISTANCE; - blck_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases - - #define useAPEX 1 - - // 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", - ]; - 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; - - #ifdef useAPEX - 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 = blck_RifleAsault_556 + blck_RifleAsault_650; - - 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_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" - ]; - 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"]; - - //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_apexWeapons; - 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_WeaponList_Orange = blck_WeaponList_Orange + blck_apexWeapons; - blck_WeaponList_Green = blck_WeaponList_Green + blck_apexWeapons; - #endif - - blck_baseBackpacks = ["B_Carryall_ocamo","B_Carryall_oucamo","B_Carryall_mcamo","B_Carryall_oli","B_Carryall_khk","B_Carryall_cbr" ]; - 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" - ]; - - #ifdef useAPEX - blck_backpacks = blck_baseBackpacks + blck_ApexBackpacks; - #endif - - 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", - - //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; - //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 - "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_vests = [ - "V_1_EPOCH","V_2_EPOCH","V_3_EPOCH","V_4_EPOCH","V_5_EPOCH","V_6_EPOCH","V_7_EPOCH","V_8_EPOCH","V_9_EPOCH","V_10_EPOCH","V_11_EPOCH","V_12_EPOCH","V_13_EPOCH","V_14_EPOCH","V_15_EPOCH","V_16_EPOCH","V_17_EPOCH","V_18_EPOCH","V_19_EPOCH","V_20_EPOCH", - "V_21_EPOCH","V_22_EPOCH","V_23_EPOCH","V_24_EPOCH","V_25_EPOCH","V_26_EPOCH","V_27_EPOCH","V_28_EPOCH","V_29_EPOCH","V_30_EPOCH","V_31_EPOCH","V_32_EPOCH","V_33_EPOCH","V_34_EPOCH","V_35_EPOCH","V_36_EPOCH","V_37_EPOCH","V_38_EPOCH","V_39_EPOCH","V_40_EPOCH", - // DLC Vests - "V_PlateCarrierSpec_blk","V_PlateCarrierSpec_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_mtp","V_PlateCarrierIAGL_oli" - ]; - //CraftingFood - blck_Meats=[ - "SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH" - ]; - blck_Drink = [ - "WhiskeyNoodle","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","FoodWalkNSons" - ]; - blck_Food = [ - "FoodBioMeat","FoodMeeps","FoodSnooter","FoodWalkNSons","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH", - "CookedRabbit_EPOCH","CookedChicken_EPOCH","ItemTrout","ItemSeaBass","ItemTuna","TacticalBacon" - ]; - 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 = ["FAK"]; - blck_specialItems = blck_throwableExplosives + blck_medicalItems; - blck_NVG = ["NVG_EPOCH"]; - blck_epochValuables = ["class PartOreGold","cass PartOreSilver","class PartOre","class ItemGoldBar","class ItemSilverBar", - "class ItemGoldBar10oz","class ItemTopaz","class ItemOnyx","class ItemSapphire","class ItemAmethyst", - "class ItemEmerald","class ItemCitrine","class ItemRuby","class ItemQuartz","class ItemJade", - "class ItemGarnet","class ItemKiloHemp"]; - blck_epochBuildingSupplies = ["PartPlankPack","CinderBlocks","MortarBucket","ItemScraps", - "ItemCorrugated","ItemCorrugatedLg","ItemSolar","ItemCables", - "ItemBattery","Pelt_EPOCH"]; - blck_buildingMaterials = blck_epochBuildingSupplies; -/*************************************************************************************** -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,30,16,1]; // Orange - blck_lootCountsGreen = [7,24,6,16,18,1]; // 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 - ["MultiGun","EnergyPackLg"], - ["arifle_Katiba_F","30Rnd_65x39_caseless_green"], - ["arifle_Katiba_GL_F","30Rnd_65x39_caseless_green"], - ["arifle_MX_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"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_LRR_F","7Rnd_408_Mag"], - ["srifle_EBR_F","20Rnd_762x51_Mag"], - ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], - ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], - ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], - ["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,4], - ["EnergyPack",2,5], - // 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] - // Apex Ammo - ], - [ // 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 - ["CinderBlocks",5,15], - ["jerrycan_epoch",1,2], - //["lighter_epoch",0,1], - ["CircuitParts",2,3], - ["WoodLog_EPOCH",5,10], - ["ItemCorrugatedLg",1,6], - ["ItemCorrugated",3,10], - ["ItemMixOil",1,2], - ["MortarBucket",5,10], - ["PartPlankPack",10,19], - ["ItemLockbox",1,2], - ["ItemSolar",1,2], - ["ItemCables",1,2], - ["ItemBattery",1,2], - ["Pelt_EPOCH",1,2], - ["EnergyPackLg",1,3] - ], - [//Items - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,4],["FAK",1,4],["VehicleRepair",1,3],["Rangefinder",1,3],["ItemJade",1,2],["ItemQuartz",1,2],["ItemRuby",1,2],["ItemSapphire",1,2], - ["ItemKiloHemp",1,2],["ItemRuby",1,2],["ItemSilverBar",1,2],["ItemEmerald",1,2],["ItemTopaz",1,2],["ItemOnyx",1,2],["ItemSapphire",1,2],["ItemAmethyst",1,2], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // Backpacks - ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_ocamo",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_khk",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oli",1,2],["B_FieldPack_oucamo",1,2],["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2], - ["B_Kitbag_rgr",1,2],["B_Kitbag_sgg",1,2],["B_Parachute",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],["smallbackpack_red_epoch",1,2],["smallbackpack_green_epoch",1,2],["smallbackpack_teal_epoch",1,2],["smallbackpack_pink_epoch",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 - ["MultiGun","EnergyPackLg"], - ["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"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_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], - ["EnergyPack",2,5], - // 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] - ], - [ // 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] - ], - [ - ["CinderBlocks",4,12], - ["jerrycan_epoch",1,2], - ["lighter_epoch",1,1], - ["CircuitParts",2,5], - ["WoodLog_EPOCH",10,20], - ["ItemCorrugatedLg",1,3], - ["ItemCorrugated",2,9], - ["ItemMixOil",1,2], - ["MortarBucket",3,6], - ["PartPlankPack",10,12], - ["ItemLockbox",1,3], - ["ItemSolar",1,2], - ["ItemCables",1,2], - ["ItemBattery",1,2], - ["Pelt_EPOCH",1,2], - ["EnergyPackLg",1,3] - ], - [//Items - // Format is ["Item name, Minimum number to add, Maximum number to add], - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["VehicleRepair",1,3],["Rangefinder",1,3], - ["ItemKiloHemp",1,2],["ItemRuby",1,2],["ItemSilverBar",1,2],["ItemGoldBar10oz",1,2], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // Backpacks - ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_ocamo",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_khk",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oli",1,2],["B_FieldPack_oucamo",1,2],["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2], - ["B_Kitbag_rgr",1,2],["B_Kitbag_sgg",1,2],["B_Parachute",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],["smallbackpack_red_epoch",1,2],["smallbackpack_green_epoch",1,2],["smallbackpack_teal_epoch",1,2],["smallbackpack_pink_epoch",1,2] - ] - ]; - - blck_BoxLoot_Blue = - [ - [// Weapons - ["MultiGun","EnergyPackLg"], - ["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"], - ["m16_EPOCH","30Rnd_556x45_Stanag"], - ["m16Red_EPOCH","30Rnd_556x45_Stanag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["m4a3_EPOCH","30Rnd_556x45_Stanag"], - ["SMG_02_F","30Rnd_9x21_Mag"], - ["SMG_01_F","30Rnd_45ACP_Mag_SMG_01"], - ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_LRR_F","7Rnd_408_Mag"], - ["srifle_EBR_F","20Rnd_762x51_Mag"], - ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], - ["m249_EPOCH","200Rnd_556x45_M249"], - ["m249Tan_EPOCH","200Rnd_556x45_M249"], - ["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], - ["EnergyPack",2,5], - // 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] - ], - [ - ["CinderBlocks",2,6], - ["jerrycan_epoch",1,3], - ["lighter_epoch",1,1], - ["CircuitParts",2,3], - ["WoodLog_EPOCH",10,20], - ["ItemCorrugatedLg",0,4], - ["ItemCorrugated",3,6], - ["ItemMixOil",1,2], - ["MortarBucket",1,8], - ["PartPlankPack",10,12], - ["ItemLockbox",1,2], - ["EnergyPackLg",0,1] - ], - [//Items - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,2],["FAK",1,5],["VehicleRepair",1,5], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // 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], - ["B_Carryall_cbr",0,2],["B_Carryall_khk",0,2],["B_Carryall_mcamo",0,2],["B_Carryall_ocamo",0,2],["B_Carryall_oli",0,2],["B_Carryall_oucamo",0,2],["B_FieldPack_blk",0,2], - ["B_FieldPack_cbr",0,2],["B_FieldPack_khk",0,2],["B_FieldPack_ocamo",0,2],["B_FieldPack_oli",0,2],["B_FieldPack_oucamo",0,2],["B_Kitbag_cbr",0,2],["B_Kitbag_mcamo",0,2], - ["B_Kitbag_rgr",0,2],["B_Kitbag_sgg",0,2],["B_Parachute",0,2],["B_TacticalPack_blk",0,2],["B_TacticalPack_mcamo",0,2],["B_TacticalPack_ocamo",0,2],["B_TacticalPack_oli",0,2], - ["B_TacticalPack_rgr",0,2],["smallbackpack_red_epoch",0,2],["smallbackpack_green_epoch",0,2],["smallbackpack_teal_epoch",0,2],["smallbackpack_pink_epoch",0,2] - ] - ]; - - blck_BoxLoot_Red = - [ - [// Weapons - ["MultiGun","EnergyPackLg"], - ["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"], - ["m16_EPOCH","30Rnd_556x45_Stanag"], - ["m16Red_EPOCH","30Rnd_556x45_Stanag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["m4a3_EPOCH","30Rnd_556x45_Stanag"], - ["SMG_02_F","30Rnd_9x21_Mag"], - ["SMG_01_F","30Rnd_45ACP_Mag_SMG_01"], - ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_LRR_F","7Rnd_408_Mag"], - ["srifle_EBR_F","20Rnd_762x51_Mag"], - ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], - ["m249_EPOCH","200Rnd_556x45_M249"], - ["m249Tan_EPOCH","200Rnd_556x45_M249"], - ["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], - ["3rnd_HE_Grenade_Shell",1,2],["HandGrenade",1,3],["EnergyPack",2,5], - // 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] - ], - [ - ["CinderBlocks",2,7], - ["jerrycan_epoch",1,3], - ["lighter_epoch",1,1], - ["CircuitParts",2,6], - ["WoodLog_EPOCH",10,20], - ["ItemCorrugatedLg",0,5], - ["ItemCorrugated",3,7], - ["ItemMixOil",1,2], - ["MortarBucket",2,5], - ["PartPlankPack",10,12], - ["ItemLockbox",1,2], - ["EnergyPackLg",0,1] - ], - [//Items - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,2],["FAK",1,2],["VehicleRepair",1,3], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // 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], - ["B_Carryall_cbr",0,2],["B_Carryall_khk",0,2],["B_Carryall_mcamo",0,2],["B_Carryall_ocamo",0,2],["B_Carryall_oli",0,2],["B_Carryall_oucamo",0,2],["B_FieldPack_blk",0,2], - ["B_FieldPack_cbr",0,2],["B_FieldPack_khk",0,2],["B_FieldPack_ocamo",0,2],["B_FieldPack_oli",0,2],["B_FieldPack_oucamo",0,2],["B_Kitbag_cbr",0,2],["B_Kitbag_mcamo",0,2], - ["B_Kitbag_rgr",0,2],["B_Kitbag_sgg",0,2],["B_Parachute",0,2],["B_TacticalPack_blk",0,2],["B_TacticalPack_mcamo",0,2],["B_TacticalPack_ocamo",0,2],["B_TacticalPack_oli",0,2], - ["B_TacticalPack_rgr",0,2],["smallbackpack_red_epoch",0,2],["smallbackpack_green_epoch",0,2],["smallbackpack_teal_epoch",0,2],["smallbackpack_pink_epoch",0,2] - ] - ]; - - - // 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 "[blckeagls] Configurations for Epoch Loaded"; - blck_configsEpochLoaded = true; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Configs/blck_configs_epoch_mil.sqf b/@epochhive/addons/custom_server/Configs/blck_configs_epoch_mil.sqf deleted file mode 100644 index e682a01..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_configs_epoch_mil.sqf +++ /dev/null @@ -1,868 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//////////// -// Epoch-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_AI_Side = RESISTANCE; - blck_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases - - #define useAPEX 1 - - 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_mlrs_base_F", - "B_MBT_01_mlrs_F", - "B_MBT_01_TUSK_F", - "B_APC_Tracked_01_AA_F", - "B_APC_Tracked_01_CRV_F", - "B_APC_Tracked_01_rcws_F" - ]; // Type of vehicle spawned to defend AI bases - // 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" - ]; - 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; - - #ifdef useAPEX - 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 = blck_RifleAsault_556 + blck_RifleAsault_650; - - 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_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" - ]; - 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"]; - - //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_apexWeapons; - 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_WeaponList_Orange = blck_WeaponList_Orange + blck_apexWeapons; - blck_WeaponList_Green = blck_WeaponList_Green + blck_apexWeapons; - #endif - - blck_baseBackpacks = ["B_Carryall_ocamo","B_Carryall_oucamo","B_Carryall_mcamo","B_Carryall_oli","B_Carryall_khk","B_Carryall_cbr" ]; - 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" - ]; - - #ifdef useAPEX - blck_backpacks = blck_baseBackpacks + blck_ApexBackpacks; - #endif - - 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", - - //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; - //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 - "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_vests = [ - "V_1_EPOCH","V_2_EPOCH","V_3_EPOCH","V_4_EPOCH","V_5_EPOCH","V_6_EPOCH","V_7_EPOCH","V_8_EPOCH","V_9_EPOCH","V_10_EPOCH","V_11_EPOCH","V_12_EPOCH","V_13_EPOCH","V_14_EPOCH","V_15_EPOCH","V_16_EPOCH","V_17_EPOCH","V_18_EPOCH","V_19_EPOCH","V_20_EPOCH", - "V_21_EPOCH","V_22_EPOCH","V_23_EPOCH","V_24_EPOCH","V_25_EPOCH","V_26_EPOCH","V_27_EPOCH","V_28_EPOCH","V_29_EPOCH","V_30_EPOCH","V_31_EPOCH","V_32_EPOCH","V_33_EPOCH","V_34_EPOCH","V_35_EPOCH","V_36_EPOCH","V_37_EPOCH","V_38_EPOCH","V_39_EPOCH","V_40_EPOCH", - // DLC Vests - "V_PlateCarrierSpec_blk","V_PlateCarrierSpec_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_mtp","V_PlateCarrierIAGL_oli" - ]; - //CraftingFood - blck_Meats=[ - "SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH" - ]; - blck_Drink = [ - "WhiskeyNoodle","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","FoodWalkNSons" - ]; - blck_Food = [ - "FoodBioMeat","FoodMeeps","FoodSnooter","FoodWalkNSons","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","honey_epoch","CookedSheep_EPOCH","CookedGoat_EPOCH","SnakeMeat_EPOCH", - "CookedRabbit_EPOCH","CookedChicken_EPOCH","ItemTrout","ItemSeaBass","ItemTuna","TacticalBacon" - ]; - 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 = ["FAK"]; - blck_specialItems = blck_throwableExplosives + blck_medicalItems; - blck_NVG = ["NVG_EPOCH"]; - blck_epochValuables = ["class PartOreGold","cass PartOreSilver","class PartOre","class ItemGoldBar","class ItemSilverBar", - "class ItemGoldBar10oz","class ItemTopaz","class ItemOnyx","class ItemSapphire","class ItemAmethyst", - "class ItemEmerald","class ItemCitrine","class ItemRuby","class ItemQuartz","class ItemJade", - "class ItemGarnet","class ItemKiloHemp"]; - blck_epochBuildingSupplies = ["PartPlankPack","CinderBlocks","MortarBucket","ItemScraps", - "ItemCorrugated","ItemCorrugatedLg","ItemSolar","ItemCables", - "ItemBattery","Pelt_EPOCH"]; - blck_buildingMaterials = blck_epochBuildingSupplies; -/*************************************************************************************** -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,30,16,1]; // Orange - blck_lootCountsGreen = [7,24,6,16,18,1]; // 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 - ["MultiGun","EnergyPackLg"], - ["arifle_Katiba_F","30Rnd_65x39_caseless_green"], - ["arifle_Katiba_GL_F","30Rnd_65x39_caseless_green"], - ["arifle_MX_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"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_LRR_F","7Rnd_408_Mag"], - ["srifle_EBR_F","20Rnd_762x51_Mag"], - ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], - ["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"], - ["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"], - ["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"], - ["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,4], - ["EnergyPack",2,5], - // 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] - // Apex Ammo - ], - [ // 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 - ["CinderBlocks",5,15], - ["jerrycan_epoch",1,2], - //["lighter_epoch",0,1], - ["CircuitParts",2,3], - ["WoodLog_EPOCH",5,10], - ["ItemCorrugatedLg",1,6], - ["ItemCorrugated",3,10], - ["ItemMixOil",1,2], - ["MortarBucket",5,10], - ["PartPlankPack",10,19], - ["ItemLockbox",1,2], - ["ItemSolar",1,2], - ["ItemCables",1,2], - ["ItemBattery",1,2], - ["Pelt_EPOCH",1,2], - ["EnergyPackLg",1,3] - ], - [//Items - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,4],["FAK",1,4],["VehicleRepair",1,3],["Rangefinder",1,3],["ItemJade",1,2],["ItemQuartz",1,2],["ItemRuby",1,2],["ItemSapphire",1,2], - ["ItemKiloHemp",1,2],["ItemRuby",1,2],["ItemSilverBar",1,2],["ItemEmerald",1,2],["ItemTopaz",1,2],["ItemOnyx",1,2],["ItemSapphire",1,2],["ItemAmethyst",1,2], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // Backpacks - ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_ocamo",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_khk",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oli",1,2],["B_FieldPack_oucamo",1,2],["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2], - ["B_Kitbag_rgr",1,2],["B_Kitbag_sgg",1,2],["B_Parachute",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],["smallbackpack_red_epoch",1,2],["smallbackpack_green_epoch",1,2],["smallbackpack_teal_epoch",1,2],["smallbackpack_pink_epoch",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 - ["MultiGun","EnergyPackLg"], - ["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"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_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], - ["EnergyPack",2,5], - // 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] - ], - [ // 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] - ], - [ - ["CinderBlocks",4,12], - ["jerrycan_epoch",1,2], - ["lighter_epoch",1,1], - ["CircuitParts",2,5], - ["WoodLog_EPOCH",10,20], - ["ItemCorrugatedLg",1,3], - ["ItemCorrugated",2,9], - ["ItemMixOil",1,2], - ["MortarBucket",3,6], - ["PartPlankPack",10,12], - ["ItemLockbox",1,3], - ["ItemSolar",1,2], - ["ItemCables",1,2], - ["ItemBattery",1,2], - ["Pelt_EPOCH",1,2], - ["EnergyPackLg",1,3] - ], - [//Items - // Format is ["Item name, Minimum number to add, Maximum number to add], - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["FAK",1,2],["VehicleRepair",1,3],["Rangefinder",1,3], - ["ItemKiloHemp",1,2],["ItemRuby",1,2],["ItemSilverBar",1,2],["ItemGoldBar10oz",1,2], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // Backpacks - ["B_AssaultPack_dgtl",1,2],["B_AssaultPack_khk",1,2],["B_AssaultPack_mcamo",1,2],["B_AssaultPack_ocamo",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_khk",1,2],["B_FieldPack_ocamo",1,2],["B_FieldPack_oli",1,2],["B_FieldPack_oucamo",1,2],["B_Kitbag_cbr",1,2],["B_Kitbag_mcamo",1,2], - ["B_Kitbag_rgr",1,2],["B_Kitbag_sgg",1,2],["B_Parachute",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],["smallbackpack_red_epoch",1,2],["smallbackpack_green_epoch",1,2],["smallbackpack_teal_epoch",1,2],["smallbackpack_pink_epoch",1,2] - ] - ]; - - blck_BoxLoot_Blue = - [ - [// Weapons - ["MultiGun","EnergyPackLg"], - ["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"], - ["m16_EPOCH","30Rnd_556x45_Stanag"], - ["m16Red_EPOCH","30Rnd_556x45_Stanag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["m4a3_EPOCH","30Rnd_556x45_Stanag"], - ["SMG_02_F","30Rnd_9x21_Mag"], - ["SMG_01_F","30Rnd_45ACP_Mag_SMG_01"], - ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_LRR_F","7Rnd_408_Mag"], - ["srifle_EBR_F","20Rnd_762x51_Mag"], - ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], - ["m249_EPOCH","200Rnd_556x45_M249"], - ["m249Tan_EPOCH","200Rnd_556x45_M249"], - ["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], - ["EnergyPack",2,5], - // 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] - ], - [ - ["CinderBlocks",2,6], - ["jerrycan_epoch",1,3], - ["lighter_epoch",1,1], - ["CircuitParts",2,3], - ["WoodLog_EPOCH",10,20], - ["ItemCorrugatedLg",0,4], - ["ItemCorrugated",3,6], - ["ItemMixOil",1,2], - ["MortarBucket",1,8], - ["PartPlankPack",10,12], - ["ItemLockbox",1,2], - ["EnergyPackLg",0,1] - ], - [//Items - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,2],["FAK",1,5],["VehicleRepair",1,5], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // 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], - ["B_Carryall_cbr",0,2],["B_Carryall_khk",0,2],["B_Carryall_mcamo",0,2],["B_Carryall_ocamo",0,2],["B_Carryall_oli",0,2],["B_Carryall_oucamo",0,2],["B_FieldPack_blk",0,2], - ["B_FieldPack_cbr",0,2],["B_FieldPack_khk",0,2],["B_FieldPack_ocamo",0,2],["B_FieldPack_oli",0,2],["B_FieldPack_oucamo",0,2],["B_Kitbag_cbr",0,2],["B_Kitbag_mcamo",0,2], - ["B_Kitbag_rgr",0,2],["B_Kitbag_sgg",0,2],["B_Parachute",0,2],["B_TacticalPack_blk",0,2],["B_TacticalPack_mcamo",0,2],["B_TacticalPack_ocamo",0,2],["B_TacticalPack_oli",0,2], - ["B_TacticalPack_rgr",0,2],["smallbackpack_red_epoch",0,2],["smallbackpack_green_epoch",0,2],["smallbackpack_teal_epoch",0,2],["smallbackpack_pink_epoch",0,2] - ] - ]; - - blck_BoxLoot_Red = - [ - [// Weapons - ["MultiGun","EnergyPackLg"], - ["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"], - ["m16_EPOCH","30Rnd_556x45_Stanag"], - ["m16Red_EPOCH","30Rnd_556x45_Stanag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["m4a3_EPOCH","30Rnd_556x45_Stanag"], - ["SMG_02_F","30Rnd_9x21_Mag"], - ["SMG_01_F","30Rnd_45ACP_Mag_SMG_01"], - ["Hgun_PDW2000_F","30Rnd_9x21_Mag"], - ["M14_EPOCH","20Rnd_762x51_Mag"], - ["M14Grn_EPOCH","20Rnd_762x51_Mag"], - ["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"], - ["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"], - ["m107_EPOCH","5Rnd_127x108_Mag"], - ["m107Tan_EPOCH","5Rnd_127x108_Mag"], - ["srifle_DMR_01_F","10Rnd_762x51_Mag"], - ["srifle_LRR_F","7Rnd_408_Mag"], - ["srifle_EBR_F","20Rnd_762x51_Mag"], - ["srifle_GM6_F","5Rnd_127x108_APDS_Mag"], - ["m249_EPOCH","200Rnd_556x45_M249"], - ["m249Tan_EPOCH","200Rnd_556x45_M249"], - ["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], - ["3rnd_HE_Grenade_Shell",1,2],["HandGrenade",1,3],["EnergyPack",2,5], - // 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] - ], - [ - ["CinderBlocks",2,7], - ["jerrycan_epoch",1,3], - ["lighter_epoch",1,1], - ["CircuitParts",2,6], - ["WoodLog_EPOCH",10,20], - ["ItemCorrugatedLg",0,5], - ["ItemCorrugated",3,7], - ["ItemMixOil",1,2], - ["MortarBucket",2,5], - ["PartPlankPack",10,12], - ["ItemLockbox",1,2], - ["EnergyPackLg",0,1] - ], - [//Items - ["Heal_EPOCH",1,2],["Defib_EPOCH",1,2],["Repair_EPOCH",1,2],["FAK",1,2],["VehicleRepair",1,3], - ["ItemSodaRbull",1,3],["ItemSodaOrangeSherbet",1,3],["ItemSodaPurple",1,3],["ItemSodaMocha",1,3],["ItemSodaBurst",1,3], - ["CookedChicken_EPOCH",1,3],["CookedGoat_EPOCH",1,3],["CookedSheep_EPOCH",1,3],["FoodSnooter",1,3],["FoodMeeps",1,3],["FoodBioMeat",1,3],["ItemTuna",1,3],["ItemSeaBass",1,3],["ItemTrout",1,3] - ], - [ // 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], - ["B_Carryall_cbr",0,2],["B_Carryall_khk",0,2],["B_Carryall_mcamo",0,2],["B_Carryall_ocamo",0,2],["B_Carryall_oli",0,2],["B_Carryall_oucamo",0,2],["B_FieldPack_blk",0,2], - ["B_FieldPack_cbr",0,2],["B_FieldPack_khk",0,2],["B_FieldPack_ocamo",0,2],["B_FieldPack_oli",0,2],["B_FieldPack_oucamo",0,2],["B_Kitbag_cbr",0,2],["B_Kitbag_mcamo",0,2], - ["B_Kitbag_rgr",0,2],["B_Kitbag_sgg",0,2],["B_Parachute",0,2],["B_TacticalPack_blk",0,2],["B_TacticalPack_mcamo",0,2],["B_TacticalPack_ocamo",0,2],["B_TacticalPack_oli",0,2], - ["B_TacticalPack_rgr",0,2],["smallbackpack_red_epoch",0,2],["smallbackpack_green_epoch",0,2],["smallbackpack_teal_epoch",0,2],["smallbackpack_pink_epoch",0,2] - ] - ]; - - - // 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 "[blckeagls] Configurations for Epoch Loaded"; - blck_configsEpochLoaded = true; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Configs/blck_configs_exile.sqf b/@epochhive/addons/custom_server/Configs/blck_configs_exile.sqf deleted file mode 100644 index c1e1bc6..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_configs_exile.sqf +++ /dev/null @@ -1,852 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -#ifdef blck_milServer -execVM "\q\addons\custom_server\Configs\blck_configs_exile_mil.sqf"; -if (true) exitWith {}; -#endif - -diag_log "[blckeagls] Loading Exile-specific configs for Non-militarized servers: blck_configs_exile.sqf"; -//////////// -// 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 = true; - blck_listConcreteMixerZones = true; - blck_AI_Side = EAST; - 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"]; // Type of vehicle spawned to defend AI bases - - // 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_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_baseBackpacks = ["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_baseBackpacks + blck_ApexBackpacks; - #endif - - 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; - //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_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" - ]; - - //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" - ]; - 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"]; - blck_tools = ["Exile_Item_Matches","Exile_Item_CookingPot","Exile_Melee_Axe","Exile_Melee_SledgeHammmer","Exile_Item_Handsaw","Exile_Item_Pliers"]; - -/*************************************************************************************** -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 = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange - blck_lootCountsGreen = [[4,8],[20,30],[5,9],[15,18],18,1]; // Green - blck_lootCountsRed = [[4,6],[12,18],4,[6,12],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",1,5], - ["10Rnd_338_Mag",1,5], - ["10Rnd_127x54_Mag" ,1,5], - ["10Rnd_127x54_Mag",1,5], - ["10Rnd_93x64_DMR_05_Mag" ,1,5], - ["10Rnd_93x64_DMR_05_Mag" ,1,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_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] - ], - [ // 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,5] - ], - [//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] - ], - [//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] - ], - [//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] - ] - ]; - - // 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/@epochhive/addons/custom_server/Configs/blck_configs_exile_mil.sqf b/@epochhive/addons/custom_server/Configs/blck_configs_exile_mil.sqf deleted file mode 100644 index a0c1643..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_configs_exile_mil.sqf +++ /dev/null @@ -1,865 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -//////////// -// 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_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_mlrs_base_F", - "B_MBT_01_mlrs_F", - "B_MBT_01_TUSK_F", - "B_APC_Tracked_01_AA_F", - "B_APC_Tracked_01_CRV_F", - "B_APC_Tracked_01_rcws_F" - ]; // Type of vehicle spawned to defend AI bases - - // 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_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_baseBackpacks = ["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_baseBackpacks + blck_ApexBackpacks; - #endif - - 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; - //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_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" - ]; - - //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" - ]; - 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"]; - -/*************************************************************************************** -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,30,16,1]; // Orange - blck_lootCountsGreen = [7,24,6,16,18,1]; // 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",1,5], - ["10Rnd_338_Mag",1,5], - ["10Rnd_127x54_Mag" ,1,5], - ["10Rnd_127x54_Mag",1,5], - ["10Rnd_93x64_DMR_05_Mag" ,1,5], - ["10Rnd_93x64_DMR_05_Mag" ,1,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_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] - ], - [ // 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,5] - ], - [//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] - ], - [//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] - ] - ]; - - // 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/@epochhive/addons/custom_server/Configs/blck_configs_mil.sqf b/@epochhive/addons/custom_server/Configs/blck_configs_mil.sqf deleted file mode 100644 index fcfb6a3..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_configs_mil.sqf +++ /dev/null @@ -1,420 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-17-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - - #include "\q\addons\custom_server\Configs\blck_defines.hpp"; - - diag_log "[blckeagls] Loading blck_configs_mil.sqf for Militarized Servers"; - - /* - Configuration for Addons that support the overall Mission system. - These are a module to spawn map addons generated with the Eden Editor - And a moduel to spawn static loot crates at specific location - A time acceleration module. - */ - - blck_spawnMapAddons = true; // When true map addons will be spawned based on parameters define in custum_server\MapAddons\MapAddons_init.sqf - blck_spawnStaticLootCrates = true; // When true, static loot crates will be spawned and loaded with loot as specified in custom_server\SLS\SLS_init_Epoch.sqf (or its exile equivalent). - - // Note that you can define map-specific variants in custom_server\configs\blck_custom_config.sqf - 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 = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - - /************************************************************** - - BLACKLIST LOCATIONS - - **************************************************************/ - // if true then missions will not spawn within 1000 m of spawn points for Altis, Bornholm, Cherno, Esseker or stratis. - blck_blacklistTraderCities = true; // Set this = true if you would like the mission system to automatically search for the locations of the Epoch/Exile trader cities. Note that these are added to the list of blacklisted locations for Epoch for the most common maps. - - /*********************************************************** - - GENERAL MISSION SYSTEM CONFIGURATION - - ***********************************************************/ - //////// - // Headless Client Configurations - blck_useHC = false; // Not Yet Working - - /////////////////////////////// - // Kill message configurations - // These determine whether and when messages are sent to players regarding AI Kills or illegal kills that might damage a vehicle. - blck_useKillMessages = false; // when true a message will be broadcast to all players each time an AI is killed; may impact server performance. - blck_useKillScoreMessage = true; // when true a tile is displayed to the killer with the kill score information - blck_useIEDMessages = true; // Displayes a message when a player vehicle detonates and IED (such as would happen if a player killed AI with a forbidden weapon). - - /////////////////////////////// - // MISSION MARKER CONFIGURATION - // blck_labelMapMarkers: Determines if when the mission composition provides text labels, map markers with have a text label indicating the mission type - //When set to true,"arrow", text will be to the right of an arrow below the mission marker. - // When set to true,"dot", ext will be to the right of a black dot at the center the mission marker. - blck_labelMapMarkers = [false,"center"]; - blck_preciseMapMarkers = false; // Map markers are/are not centered at the loot crate - - - //Minimum distance between missions - blck_MinDistanceFromMission = 1500; - - /////////////////////////////// - // Mission Smoke and Signals - /////////////////////////////// - - // global loot crate options - // Options to spawn a smoking wreck near the crate. When the first parameter is true, a wreck or junk pile will be spawned. - // It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission. - blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether. - blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. - blck_loadCratesTiming = "atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; - - /////////////////////////////// - // PLAYER PENALTIES - /////////////////////////////// - - blck_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given blck_RunGearDamage of damage. - blck_RunGearDamage = 0.2; // Damage applied to player vehicle for each AI run over - blck_VK_Gear = true; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given blck_RunGearDamage of damage - blck_VK_RunoverDamage = true; // when the AI was run over blck_RunGearDamage of damage will be applied to the killer's vehicle. - blck_VK_GunnerDamage = false; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, blck_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun. - blck_forbidenVehicles = []; // Add any vehicles for which you wish to forbid vehicle kills - // For a listing of the guns mounted on various land vehicles see the following link: https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Vehicle_Weapons - // HMG_M2 is mounted on the armed offroad that is spawned by Epoch - blck_forbidenVehicleGuns = []; // Add any vehicles for which you wish to forbid vehicle kills, o - - - /////////////////////////////// - // MISC MISSION PARAMETERS - /////////////////////////////// - blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown. - blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Turn this off if you have vehicle patrols. - blck_cleanupCompositionTimer = 1200; // Mission objects will be deleted after the mission is completed after a deley set by this timer. - blck_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects. - blck_MissionTimout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting. - - /////////////////////////////// - // Paratroop Settings - // AI paratrooper reinforcement paramters - // The behavior of these can be linked to some degree to the spawning of patrolling helis. - // For example, if you always want a helicopter to spawn paratroops set the value 1. - // If you never want paratroops to spawn them set the value to 0. - // Recommended that you disable paratroops if using muliple aircraft/vehicle patrols - blck_chanceParaBlue = 0; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. - blck_noParaBlue = 3; // [1-N] - - blck_chanceParaRed = 0; - blck_noParaRed = 3; - - blck_chanceParaGreen = 0; - blck_noParaGreen = 4; - - blck_chanceParaOrange = 0; - blck_noParaOrange = 4; - - // Supplemental Loot Parameters. - - /////////////////////////////// - // Heli Patrol Heli Types - // Armed Helis - ////////////////////////////// - _blck_littleBirds = ["B_Heli_Light_01_armed_F"]; // AH-9 Pawnee (WEST) - _blck_armed_hellcats = ["I_Heli_light_03_F"]; - _blck_armed_orcas = ["O_Heli_Light_02_F","O_Heli_Light_02_v2_F"]; - _blck_armed_ghosthawks = ["B_Heli_Transport_01_F","B_Heli_Transport_01_camo_F"]; - _blck_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"]; - _blck_armed_attackHelis = ["B_Heli_Attack_01_F"]; - _blck_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"]; - _blck_fighters = [ - "O_Plane_CAS_02_F", // /ti-199 Neophron (CAS) - "I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA) - "I_Plane_Fighter_04_F", // A-149 Gryphon - "B_Plane_CAS_01_F", // A-164 Wipeout (CAS) - "B_Plane_Fighter_01_F" // F/A-181 Black Wasp II - ]; - /* - _blck_UAVs = [ - "I_UAV_02_CAS_F", - "I_UAV_02_F", - "B_UAV_02_CAS_F", - "B_UAV_02_F",, - "O_UAV_02_CAS_F", - "O_UAV_02_F" - ]; - */ - blck_blacklisted_heli_ammo = []; - blck_blacklisted_heli_weapons = []; - - - /////////////////////////////// - // Heli Patrol Settings - /////////////////////////////// - - blck_chanceHeliPatrolBlue = 0.2; //[0 - 1] Set to 0 to deactivate and 1 to always have a heli spawn over the mission center and patrol the mission area. The chance of paratroops dropping from the heli is defined by blck_chancePara(Blue|Red|Green|Orange) above. - blck_patrolHelisBlue = _blck_littleBirds; - blck_noPatrolHelisBlue = 1; - - blck_chanceHeliPatrolRed = 0.8; // 0.4; - blck_patrolHelisRed = _blck_armed_hellcats+_blck_armed_orcas + _blck_armed_ghosthawks; - blck_noPatrolHelisRed = 1; - - blck_chanceHeliPatrolGreen = 0.9999; - blck_patrolHelisGreen = _blck_armed_heavyAttackHelis+_blck_armed_ghosthawks; - blck_noPatrolHelisGreen = 2; //[1,3]; - - blck_chanceHeliPatrolOrange = 0.9999; - blck_patrolHelisOrange = _blck_armed_heavyAttackHelis + _blck_fighters; - blck_noPatrolHelisOrange = 3; //[2,3]; - - //////////////////// - // Enable / Disable Missions - //////////////////// - - // Maximum number of missions shown on the map at any one time. - #ifdef DBDserver - blck_maxSpawnedMissions = 6; - #else - // Change this value to reduce the number of spawned missions at any one time. - blck_maxSpawnedMissions = 4; - #endif - - //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = 1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = 1; - #ifdef DBDserver - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = 1; - blck_maxcrashsites = 3; - #endif - - //////////////////// - // MISSION TIMERS - //////////////////// - - // Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out - blck_TMin_Orange = 250; - blck_TMin_Green = 200; - blck_TMin_Blue = 120; - blck_TMin_Red = 150; - #ifdef DBDserver - blck_TMin_Hunter = 120; - blck_TMin_Scouts = 115; - blck_TMin_Crashes = 115; - //blck_TMin_UMS = 200; - #endif - - //Maximum Spawn time between missions in seconds - blck_TMax_Orange = 360; - blck_TMax_Green = 300; - blck_TMax_Blue = 200; - blck_TMax_Red = 250; - #ifdef DBDserver - blck_TMax_Hunter = 200; - blck_TMax_Scouts = 200; - blck_TMax_Crashes = 200; - //blck_TMax_UMS = 280; - #endif - - /////////////////////////////// - // AI VEHICLE PATROL PARAMETERS - /////////////////////////////// - - blck_useVehiclePatrols = true; // When true vehicles will be spawned at missions and will patrol the mission area. - blck_killEmptyAIVehicles = false; // when true, the AI vehicle will be extensively damaged once all AI have gotten outor been killed. - - //////////////////// - // Mission Vehicle Settings - //////////////////// - //Defines how many AI Vehicles to spawn. Set this to -1 to disable spawning of static weapons or vehicles. To discourage players runniing with with vehicles, spawn more B_GMG_01_high - blck_SpawnVeh_Orange = 4; //[3,5]; // Number of static weapons at Orange Missions - blck_SpawnVeh_Green = 3; //[3,4]; // Number of static weapons at Green Missions - blck_SpawnVeh_Blue = -1; // Number of static weapons at Blue Missions - blck_SpawnVeh_Red = 2; // Number of static weapons at Red Missions - - /////////////////////////////// - // AI STATIC WEAPON PARAMETERS - /////////////////////////////// - - blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles - blck_killEmptyStaticWeapons = true; // When true, static weapons will have damage set to 1 when the AI manning them is killed. - blck_staticWeapons = ["B_HMG_01_high_F","B_GMG_01_high_F"]; // [0.50 cal, grenade launcher, AT Launcher] - - //////////////////// - // Mission Static Weapon Settings - //////////////////// - - // Defines how many static weapons to spawn. Set this to -1 to disable spawning - blck_SpawnEmplaced_Orange = 4; //[3,5]; // Number of static weapons at Orange Missions - blck_SpawnEmplaced_Green = 3; //[3,4]; // Number of static weapons at Green Missions - blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions - blck_SpawnEmplaced_Red = 2; // Number of static weapons at Red Missions - - - - /**************************************************************** - - GENERAL AI SETTINGS - - ****************************************************************/ - - blck_groupBehavior = "SAD"; // Suggested choices are "SAD", "SENTRY", "AWARE" https://community.bistudio.com/wiki/ArmA:_AI_Combat_Modes - blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes. - blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND" - blck_addAIMoney = true; - blck_chanceBackpack = 0.3; // Chance AI will be spawned with a backpack - blck_useNVG = true; // When true, AI will be spawned with NVG if is dark - blck_removeNVG = false; // When true, NVG will be removed from AI when they are killed. - blck_useLaunchers = true; // When true, some AI will be spawned with RPGs; they do not however fire on vehicles for some reason so I recommend this be set to false for now - blck_launcherTypes = ["launch_NLAW_F","launch_RPG32_F","launch_B_Titan_F","launch_I_Titan_F","launch_O_Titan_F","launch_B_Titan_short_F","launch_I_Titan_short_F","launch_O_Titan_short_F"]; - //blck_launcherTypes = ["launch_RPG32_F"]; - blck_launchersPerGroup = 5; // Defines the number of AI per group spawned with a launcher - blck_launcherCleanup = false;// When true, launchers and launcher ammo are removed from dead AI. - - //This defines how long after an AI dies that it's body disappears. - blck_bodyCleanUpTimer = 1200; // 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 - // values are ordered as follows [blue, red, green, orange]; - blck_AliveAICleanUpTimer = 1200; // Time after mission completion at which any remaining live AI are deleted. - - // How precisely player locations will be revealed to AI after an AI kill - // values are ordered as follows [blue, red, green, orange]; - blck_AIAlertDistance = [250,425,650,800]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. - //blck_AIAlertDistance = [150,225,400,500]; - // How precisely player locations will be revealed to AI after an AI kill - // values are ordered as follows [blue, red, green, orange]; - blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; - - blck_baseSkill = 1.0; // The overal skill of the AI - range 0.1 to 1.0. - - /*************************************************************** - - MISSION TYPE SPECIFIC AI SETTINGS - - **************************************************************/ - //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type - // Orange Missions - blck_MinAI_Orange = 20; - blck_MaxAI_Orange = 25; - blck_AIGrps_Orange = 5; - blck_SkillsOrange = [ - ["aimingAccuracy",0.6],["aimingShake",0.9],["aimingSpeed",0.9],["endurance",1.00],["spotDistance",1.0],["spotTime",1.0],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00] - ]; - - // Green Missions - blck_MinAI_Green = 16; - blck_MaxAI_Green = 21; - blck_AIGrps_Green = 4; - blck_SkillsGreen = [ - ["aimingAccuracy",0.55],["aimingShake",0.75],["aimingSpeed",0.85],["endurance",0.9],["spotDistance",0.9],["spotTime",0.9],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75] - ]; - - // Red Missions - blck_MinAI_Red = 12; - blck_MaxAI_Red = 15; - blck_AIGrps_Red = 3; - blck_SkillsRed = [ - ["aimingAccuracy",0.4],["aimingShake",0.6],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.8],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70] - ]; - - // Blue Missions - blck_MinAI_Blue = 8; - blck_MaxAI_Blue = 12; - blck_AIGrps_Blue = 2; - blck_SkillsBlue = [ - ["aimingAccuracy",0.1],["aimingShake",0.5],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] - ]; - - // Add some money to AI; only works with Exile for now. - blck_maxMoneyOrange = 50; - blck_maxMoneyGreen = 40; - blck_maxMoneyRed = 30; - blck_maxMoneyBlue = 20; - - #ifdef DBDserver - blck_AIAlertDistance = [250,425,650,800]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. - //blck_AIAlertDistance = [150,225,400,500]; - // How precisely player locations will be revealed to AI after an AI kill - // values are ordered as follows [blue, red, green, orange]; - blck_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; - - blck_baseSkill = 1; // The overal skill of the AI - range 0.1 to 1.0. - - /*************************************************************** - - MISSION TYPE SPECIFIC AI SETTINGS - - **************************************************************/ - //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type - // Orange Missions - blck_MinAI_Orange = 30; - blck_MaxAI_Orange = 35; - blck_AIGrps_Orange = 5; - blck_SkillsOrange = [ - ["aimingAccuracy",0.6],["aimingShake",0.9],["aimingSpeed",0.9],["endurance",1.00],["spotDistance",1.0],["spotTime",1.0],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00] - ]; - - // Green Missions - blck_MinAI_Green = 26; - blck_MaxAI_Green = 31; - blck_AIGrps_Green = 4; - blck_SkillsGreen = [ - ["aimingAccuracy",0.55],["aimingShake",0.75],["aimingSpeed",0.85],["endurance",0.9],["spotDistance",0.9],["spotTime",0.9],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75] - ]; - - // Red Missions - blck_MinAI_Red = 12; - blck_MaxAI_Red = 18; - blck_AIGrps_Red = 3; - blck_SkillsRed = [ - ["aimingAccuracy",0.4],["aimingShake",0.6],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.8],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70] - ]; - - // Blue Missions - blck_MinAI_Blue = 8; - blck_MaxAI_Blue = 14; - blck_AIGrps_Blue = 2; - blck_SkillsBlue = [ - ["aimingAccuracy",0.12],["aimingShake",0.3],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60] - ]; - - // Add some money to AI; only works with Exile for now. - blck_maxMoneyOrange = 25; - blck_maxMoneyGreen = 20; - blck_maxMoneyRed = 15; - blck_maxMoneyBlue = 10; - #endif - - private["_modType"]; - _modType = [] call blck_fnc_getModType; - if (_modType isEqualTo "Epoch") then - { - diag_log format["[blckeagls] Loading Mission System using Parameters for %1 for militarized servers",_modType]; - execVM "\q\addons\custom_server\Configs\blck_configs_epoch_mil.sqf"; - 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 - { - diag_log format["[blckeagls] Loading Mission System using Parameters for %1 for militarized servers",_modType]; - execVM "\q\addons\custom_server\Configs\blck_configs_exile_mil.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";}; - }; - blck_configsLoaded = true; diff --git a/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf b/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf deleted file mode 100644 index a3c4495..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_custom_config.sqf +++ /dev/null @@ -1,177 +0,0 @@ - -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -diag_log "[blckeagls] Loading Configuration Overides"; - -private["_startTime"]; -_startTime = diag_tickTime; -_world = toLower format ["%1", worldName]; -private["_nightAccel","_dayAccel","_duskAccel"]; -switch (_world) do { - case "altis":{_nightAccel = 3;_dayAccel=0.5; _duskAccel = 3;}; - case "napf":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;}; - case "namalsk":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;}; - case "tanoa":{_nightAccel = 12; _dayAccel = 3.2;_duskAccel = 6;}; -}; - -switch (toLower (worldName)) do -{ - case "altis": - { - 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 = 0.5; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - blck_maxCrashSites = 3; - }; - case"tanoa": - { - blck_maxCrashSites = 2; - blck_timeAcceleration = 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.4; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case"namalsk": - { - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable - - blck_timeAcceleration = 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 = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case "esseker": - { - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = -1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = -1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = -1; - blck_maxCrashSites = 1; - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 3; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 6; // Nighttim time acceleration - }; - case "panthera3": - { - blck_maxCrashSites = 2; - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1.4; // Daytime time accelearation - blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 8; // Nighttim time acceleration - }; - case "malden": - { - _arr = date call BIS_fnc_sunriseSunsetTime; - _sunrise = _arr select 0; - _sunset = _arr select 1; - _time = dayTime; - _daylight = _sunset - _sunrise; - - blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = (_daylight / 2.5); // Daytime time accelearation - blck_timeAccelerationDusk = 8; // Dawn/dusk time accelearation - blck_timeAccelerationNight = ((24 - _daylight) / 1.5); // Nighttim time acceleration - }; -}; - -if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in \custom_server\compiles\blck_variables.sqf -{ - // Used primarily for debugging. - diag_log "[blckeagls] Debug seting is ON, Custom configurations used"; - - blck_useTimeAcceleration = false; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below. - blck_timeAccelerationDay = 1; // Daytime time accelearation - blck_timeAccelerationDusk = 18; // Dawn/dusk time accelearation - blck_timeAccelerationNight = 24; // Nighttim time acceleration - - blck_mainThreadUpdateInterval = 10; - blck_enableOrangeMissions = 1; - blck_enableGreenMissions = 1; - blck_enableRedMissions = 1; - blck_enableBlueMissions = 1; - blck_enableHunterMissions = 1; - blck_enableScoutsMissions = 1; - blck_maxCrashSites = 3; - - //blck_enabeUnderwaterMissions = 1; - - 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_chanceHeliPatrolBlue = 1; - blck_SpawnEmplaced_Orange = 4; // Number of static weapons at Orange Missions - blck_SpawnEmplaced_Green = 3; // Number of static weapons at Green Missions - blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions - blck_SpawnEmplaced_Red = 2; - - blck_SpawnVeh_Orange = 4; // Number of static weapons at Orange Missions - blck_SpawnVeh_Green = 3; // Number of static weapons at Green Missions - blck_SpawnVeh_Blue = 1; // Number of static weapons at Blue Missions - blck_SpawnVeh_Red = 2; - - 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; - - //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_MissionTimout = 360; // 40 min - blck_MinAI_Blue = 3; - blck_MaxAI_Blue = 5; - blck_AIGrps_Blue = 1; - - - 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] - ]; - -}; - - - diff --git a/@epochhive/addons/custom_server/Configs/blck_defines.hpp b/@epochhive/addons/custom_server/Configs/blck_defines.hpp deleted file mode 100644 index 49da0dc..0000000 --- a/@epochhive/addons/custom_server/Configs/blck_defines.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 6/7/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -//#define DBDserver -#define wpModeMove -#define useAPEX -#define useDynamicSimulation -//#define blck_debugMode -//#define blck_milServer \ No newline at end of file diff --git a/@epochhive/addons/custom_server/MapAddons/MapAddons_init.sqf b/@epochhive/addons/custom_server/MapAddons/MapAddons_init.sqf deleted file mode 100644 index 6ae775e..0000000 --- a/@epochhive/addons/custom_server/MapAddons/MapAddons_init.sqf +++ /dev/null @@ -1,69 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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"; - -if (!isServer) exitWith{}; -_addonsPath = "\q\addons\custom_server\MapAddons\mapcontent\"; -_addonsEpoch = [ - //["mapName","subfolder","filename.sqf"] - // when "subfolder" equals "" then the spawner will look for the file in the mapcontent directory - // See the examples below and in custom_server\MapAddons\mapcontent\Altis for an idea as to how to set these arrays up. - /* - ["Altis","Altis","mobileRefuelSaltFlats.sqf"], - ["Altis","Altis","smallbaseSaltFlats.sqf"] - */ -]; - -_addonsExile = [ - /* - ["Altis","Altis","mobileRefuelSaltFlats-DBD_final.sqf"], - ["Altis","Altis","smallbaseSaltFlats.sqf"] - */ -]; - - -_fnc_runIt = -{ - params["_addons"]; - //if (blck_debugON) then {diag_log format["[blckeagls] MapAddons:: addons list is %1",_addons];}; - _worldName = toLower (worldName); - { - if (toLower format["%1",_x select 0] isEqualTo _worldName) then - { - _path = ""; - if ( (_x select 1) isEqualTo "") then - { - _path = _addonsPath; - } else { - _path = format["%1%2%3",_addonsPath,_x select 1,"\"]; - }; - if (blck_debugLevel > 2) then {diag_log format["[blckeagls] MapAddons::-->> Running the following script: %1%2",_path,_x select 2];}; - [] execVM format["%1%2",_path,_x select 2]; - }; - }forEach _addons; -}; - -if not (isNull( configFile >> "CfgPatches" >> "a3_epoch_server" )) then -{ - diag_log "[blckeagls] Running Map Addons for Epoch"; - [_addonsEpoch] call _fnc_runIt; -}; - -if not (isNull( configFile >> "CfgPatches" >> "exile_server" )) then -{ - diag_log "[blckeagls] Running Map Addons for Exile"; - [_addonsExile] call _fnc_runIt; -}; diff --git a/@epochhive/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf b/@epochhive/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf deleted file mode 100644 index 34b5a62..0000000 --- a/@epochhive/addons/custom_server/MapAddons/mapcontent/Altis/mobileRefuelSaltFlats.sqf +++ /dev/null @@ -1,33 +0,0 @@ -// Small bandit base on the salt flats -// by Ghostrider-Dbd- -// 11/8/16 - -private _objects = [ - ["Land_BluntStone_02",[26582.2,24670.5,12.0115],[[0,0.995673,-0.0929294],[-0.130865,0.0921302,0.98711]],[false,false]], - ["Land_BluntStone_02",[25767.7,21581.5,24.3651],[[0,0.999645,0.0266571],[-0.0346456,-0.0266411,0.999045]],[false,false]], - ["Land_BluntStone_02",[24927.3,22961.3,11.2178],[[0,0.999996,0.00265199],[0.031983,-0.00265063,0.999485]],[false,false]], - ["Flag_AAF_F",[22954.8,17041.1,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_CargoBox_V1_F",[22952.6,17016,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_Cargo40_blue_F",[22947.5,17024.9,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_Cargo40_blue_F",[22935.9,17031.2,3.19],[[-0.866282,-0.499555,0],[0,0,1]],[false,false]], - ["Land_Cargo40_blue_F",[22934,17045.2,3.19],[[-0.979295,0.202436,0],[0,0,1]],[false,false]], - ["Land_Cargo40_blue_F",[22942.7,17055.7,3.19],[[0.425964,-0.90474,0],[0,0,1]],[false,false]], - ["Land_Cargo40_blue_F",[22956.6,17059.1,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_Cargo40_blue_F",[22968.8,17054.2,3.19],[[0.658744,0.752367,0],[0,0,1]],[false,false]], - ["Land_WaterTank_F",[22957.9,17020.7,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_WaterBarrel_F",[22973.4,17042.1,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_CncBarrier_F",[22955.9,17026.5,3.19],[[0.627124,-0.778919,0],[0,0,1]],[false,false]], - ["Land_CncBarrierMedium4_F",[22944.5,17023.4,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_CncBarrierMedium4_F",[22960.6,17031.1,3.19],[[0.682042,-0.731313,0],[0,0,1]],[false,false]], - ["Land_CncBarrierMedium4_F",[22966.7,17036.8,3.19],[[0.682042,-0.731313,0],[0,0,1]],[false,false]], - ["Land_CncBarrierMedium4_F",[22971.8,17043.3,3.19],[[-0.855661,0.517537,0],[0,0,1]],[false,false]], - ["Land_FuelStation_Build_F",[22949.7,17049.9,3.19],[[0.551057,-0.834468,0],[0,0,1]],[false,false]], - ["Land_fs_feed_F",[22952.9,17044.6,3.19],[[0.555135,-0.83176,0],[0,0,1]],[false,false]] -]; -{ - private _object = (_x select 0) createVehicle [0,0,0]; - _object setPosASL (_x select 1); - _object setVectorDirAndUp (_x select 2); - _object enableSimulationGlobal ((_x select 3) select 0); - _object allowDamage ((_x select 3) select 1); -} forEach _objects; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf b/@epochhive/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf deleted file mode 100644 index eef7696..0000000 --- a/@epochhive/addons/custom_server/MapAddons/mapcontent/Altis/smallbaseSaltFlats.sqf +++ /dev/null @@ -1,41 +0,0 @@ -// Small bandit base on the salt flats -// by Ghostrider-Dbd- -// 11/8/16 - -private _objects = [ - ["Land_HBarrier_1_F",[23531.2,18446,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23533.5,18446.1,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23536.8,18445.9,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23540.2,18445.9,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23543.6,18445.9,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23529.6,18431.4,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23530.1,18434.7,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23530.4,18437.9,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23530.7,18441.4,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23543.7,18431.2,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23544.1,18434.4,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23544.5,18437.7,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23544.7,18441.2,3.19],[[-0.995806,0.0914938,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23530.3,18427.3,3.19],[[0.0644281,0.997922,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23533.6,18426.9,3.19],[[0.0644281,0.997922,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23536.9,18426.6,3.19],[[0.0644281,0.997922,0],[0,0,1]],[false,false]], - ["Land_HBarrier_3_F",[23540.4,18426.5,3.19],[[0.0644281,0.997922,0],[0,0,1]],[false,false]], - ["Land_HBarrier_01_big_tower_green_F",[23556.9,18453,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_HBarrierTower_F",[23520,18423,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_Scrap_MRAP_01_F",[23536,18434.6,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_PressureWasher_01_F",[23534.2,18427.5,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_PressureWasher_01_F",[23534.2,18427.5,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_ScrapHeap_1_F",[23549.8,18426.8,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_ScrapHeap_2_F",[23524.8,18445.7,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["CamoNet_INDP_Curator_F",[23536.3,18434,3.19],[[-0.998396,0.0566218,0],[0,0,1]],[false,false]], - ["Land_Cargo_House_V3_F",[23556.7,18420.3,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Land_Cargo_House_V3_F",[23519.2,18449.4,3.19],[[0,1,0],[0,0,1]],[false,false]], - ["Flag_AAF_F",[23538.1,18443,3.19],[[0,1,0],[0,0,1]],[false,false]] -]; -{ - private _object = (_x select 0) createVehicle [0,0,0]; - _object setPosASL (_x select 1); - _object setVectorDirAndUp (_x select 2); - _object enableSimulationGlobal ((_x select 3) select 0); - _object allowDamage ((_x select 3) select 1); -} forEach _objects; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Missions/Blue/default.sqf b/@epochhive/addons/custom_server/Missions/Blue/default.sqf deleted file mode 100644 index 1362971..0000000 --- a/@epochhive/addons/custom_server/Missions/Blue/default.sqf +++ /dev/null @@ -1,63 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_chanceHeliPatrol","_endCondition","_chanceHeliLootDropped","_chanceLoot","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Blue Mission with template = default"; - -private["_missionEnabled"]; - -_crateLoot = blck_BoxLoot_Blue; -_lootCounts = blck_lootCountsBlue; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Blue marker on your map for the location!"; -_endMsg = "The Sector at the Blue Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[175,175],"GRID"]; -_markerColor = "ColorBlue"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "random"; // acceptable values are "none","random","precise" -_missionLandscape = ["Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_WoodPile_F","Land_BagFence_Short_F","Land_FieldToilet_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_TentDome_F","Land_CargoBox_V1_F","Land_CargoBox_V1_F"]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Blue; -_maxNoAI = blck_MaxAI_Blue; -_noAIGroups = blck_AIGrps_Blue; -_noVehiclePatrols = blck_SpawnVeh_Blue; -_noEmplacedWeapons = blck_SpawnEmplaced_Blue; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; -_headgear = blck_headgear; - -_chanceReinforcements = 0; //blck_reinforcementsBlue select 0; -_noPara = 2; //blck_reinforcementsBlue select 1; -_chanceHeliPatrol = 0;//blck_reinforcementsBlue select 2; -_chanceLoot = 0.992; //blck_reinforcementsBlue select 3; - -private["_weap","_mags","_backpacks","_optics","_loadout","_reinforcementLootCounts"]; -_weap = 3 + floor(random(4)); -_mags = 8 + floor(random(6)); -_backpacks = 1 + floor(random(2)); -_optics = 1 + floor(random(6)); -_loadout = 1 + floor(random(3)); -_reinforcementLootCounts = [_weap,_mags,_optics,0,0,_backpacks]; - -////diag_log format["blueDefault:: _chanceReinforcements = %1 and _chanceLoot = %2", _chanceReinforcements, _chanceLoot]; -////diag_log format["blueDefault:: default reinforcement settings are %1",blck_reinforcementsBlue]; - -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -////_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Blue/default2.sqf b/@epochhive/addons/custom_server/Missions/Blue/default2.sqf deleted file mode 100644 index f8ab6ec..0000000 --- a/@epochhive/addons/custom_server/Missions/Blue/default2.sqf +++ /dev/null @@ -1,75 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Blue Mission with template = default2"; - -_crateLoot = blck_BoxLoot_Blue; -_lootCounts = blck_lootCountsBlue; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Blue marker on your map for the location!"; -_endMsg = "The Sector at the Blue Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[175,175],"GRID"]; -_markerColor = "ColorBlue"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Flag_AAF_F",[0,0,0],0,[false,false]], - ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,1,0,[],"","",true,false], - ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,0.00819469,0.830999,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,1,0,[],"","",true,false], - ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,1,0,[],"","",true,false], - ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,1,0,[],"","",true,false], - ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,1,0,[],"","",true,false], - ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape -_missionLootBoxes = [ - ["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout - ["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks - ["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] - ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. - // blck_lootCountsBlue= [4,12,3,6,6,1]; -_missionLootVehicles = [ - ["I_G_Offroad_01_armed_F",[-8,8,0],_crateLoot,[0,10,2,5,5,1]], - ["I_G_Offroad_01_armed_F",[8,17,0],_crateLoot,[0,10,2,5,5,1]] - ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. - // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; -_missionEmplacedWeapons = [["B_HMG_01_high_F",[-10,-15,0]],["B_GMG_01_high_F",[10,12,0]],["O_static_AT_F",[-10,10,0]]]; // can be used to define the type and precise placement of static weapons [["wep",[1,2,3]] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Blue; -_maxNoAI = blck_MaxAI_Blue; -_noAIGroups = blck_AIGrps_Blue; -_noVehiclePatrols = blck_SpawnVeh_Blue; -_noEmplacedWeapons = blck_SpawnEmplaced_Blue; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -// _chanceReinforcements = blck_reinforcementsBlue select 0; -//_noPara = blck_reinforcementsBlue select 1; -//_helipatrol = blck_reinforcementsBlue select 2; -_endCondition = "allUnitsKilled"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Blue/medicalCamp.sqf b/@epochhive/addons/custom_server/Missions/Blue/medicalCamp.sqf deleted file mode 100644 index a324975..0000000 --- a/@epochhive/addons/custom_server/Missions/Blue/medicalCamp.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Blue Mission with template = medicalCamp"; -_crateLoot = blck_BoxLoot_Blue; -_lootCounts = blck_lootCountsBlue; -_startMsg = "A Bandit Medical camp has been spotted. Check the Blue marker on your map for its location"; -_endMsg = "The Bandit Medical camp at the Blue Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[175,175],"GRID"]; -_markerColor = "ColorBlue"; -_markerMissionName = "Medical Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,1,0,[],"","",true,false], - ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,0.00819469,0.830999,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,1,0,[],"","",true,false], - ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,1,0,[],"","",true,false], - ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,1,0,[],"","",true,false], - ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,1,0,[],"","",true,false], - ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Blue; -_maxNoAI = blck_MaxAI_Blue; -_noAIGroups = blck_AIGrps_Blue; -_noVehiclePatrols = blck_SpawnVeh_Blue; -_noEmplacedWeapons = blck_SpawnEmplaced_Blue; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsBlue select 0; -_noPara = blck_reinforcementsBlue select 1; -_chanceHeliPatrol = blck_reinforcementsBlue select 2; -_chanceLoot = blck_reinforcementsBlue select 3; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - diff --git a/@epochhive/addons/custom_server/Missions/Blue/redCamp.sqf b/@epochhive/addons/custom_server/Missions/Blue/redCamp.sqf deleted file mode 100644 index 8e3699f..0000000 --- a/@epochhive/addons/custom_server/Missions/Blue/redCamp.sqf +++ /dev/null @@ -1,92 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Blue Mission with template = redCamp"; -_crateLoot = blck_BoxLoot_Blue; -_lootCounts = blck_lootCountsBlue; -_startMsg = "A temporary Bandit camp has been spotted. Check the Blue marker on your map for its location"; -_endMsg = "The temporary Bandit Blue camp at the Blue Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[175,175],"GRID"]; -_markerColor = "ColorBlue"; -_markerMissionName = "Bandit Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,1,0], - ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,1,0], - ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,1,0], - ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,1,0], - ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,1,0], - ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,1,0], - ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,1,0], - ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,1,0], - ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,1,0], - ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,1,0], - ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,1,0], - ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,1,0], - ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,1,0], - ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,1,0], - ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,1,0], - ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,1,0], - ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,1,0], - ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,1,0], - ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,1,0], - ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,1,0], - ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,1,0], - ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,1,0], - ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,1,0], - ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,1,0], - ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,1,0], - ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,1,0], - ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,1,0], - ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,1,0], - ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,1,0], - ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,1,0], - ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,1,0], - ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,1,0], - ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,1,0], - ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,1,0], - ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,1,0], - ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,1,0], - ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,1,0], - ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,1,0], - ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,1,0], - ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,1,0], - ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,1,0], - ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,1,0] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Blue; -_maxNoAI = blck_MaxAI_Blue; -_noAIGroups = blck_AIGrps_Blue; -_noVehiclePatrols = blck_SpawnVeh_Blue; -_noEmplacedWeapons = blck_SpawnEmplaced_Blue; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsBlue select 0; -_noPara = blck_reinforcementsBlue select 1; -_chanceHeliPatrol = blck_reinforcementsBlue select 2; -_chanceLoot = blck_reinforcementsBlue select 3; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - - diff --git a/@epochhive/addons/custom_server/Missions/Blue/resupplyCamp.sqf b/@epochhive/addons/custom_server/Missions/Blue/resupplyCamp.sqf deleted file mode 100644 index e8b1094..0000000 --- a/@epochhive/addons/custom_server/Missions/Blue/resupplyCamp.sqf +++ /dev/null @@ -1,56 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Blue Mission with template = resupplyCamp"; -_crateLoot = blck_BoxLoot_Blue; -_lootCounts = blck_lootCountsBlue; -_startMsg = "A Bandit resupply camp has been spotted. Check the Blue marker on your map for its location"; -_endMsg = "The Bandit resupply camp at the Blue Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[175,175],"GRID"]; -_markerColor = "ColorBlue"; -_markerMissionName = "Resupply Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_Cargo_Patrol_V1_F",[-29.41016,0.13477,-0.0224228],359.992,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,0,0.848867,[],"","",true,false], - ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,1,0,[],"","",true,false], - ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Blue; -_maxNoAI = blck_MaxAI_Blue; -_noAIGroups = blck_AIGrps_Blue; -_noVehiclePatrols = blck_SpawnVeh_Blue; -_noEmplacedWeapons = blck_SpawnEmplaced_Blue; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsBlue select 0; -_noPara = blck_reinforcementsBlue select 1; -_chanceHeliPatrol = blck_reinforcementsBlue select 2; -_chanceLoot = blck_reinforcementsBlue select 3; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/GMS_missionLists.sqf b/@epochhive/addons/custom_server/Missions/GMS_missionLists.sqf deleted file mode 100644 index 6948db9..0000000 --- a/@epochhive/addons/custom_server/Missions/GMS_missionLists.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -private["_pathBlue","_missionListBlue"]; - -_pathScouts = "Scouts"; -_missionListScouts = ["Scouts"]; - -_pathHunters = "Hunters"; -_missionListHunters = ["Hunters"]; - -_pathBlue = "Blue"; -_missionListBlue = ["default"/*,"default2","medicalCamp","redCamp","resupplyCamp"*/]; - -_pathRed = "Red"; -_missionListRed = [/*"default","default2","medicalCamp",*/"redCamp"/*,"resupplyCamp"*/]; - -_pathGreen = "Green"; -_missionListGreen = [/*"default","default2",*/"medicalCamp"/*,"redCamp","resupplyCamp"*/]; - -_pathOrange = "Orange"; -_missionListOrange = [/*"default","default2","medicalCamp","redCamp",*/"resupplyCamp"]; - diff --git a/@epochhive/addons/custom_server/Missions/Green/default.sqf b/@epochhive/addons/custom_server/Missions/Green/default.sqf deleted file mode 100644 index d39247c..0000000 --- a/@epochhive/addons/custom_server/Missions/Green/default.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Green Mission with template = default"; -_crateLoot = blck_BoxLoot_Green; -_lootCounts = blck_lootCountsGreen; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Green marker on your map for the location!"; -_endMsg = "The Sector at the Green Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[225,225],"GRID"]; -_markerColor = "ColorGreen"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = []; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Green; -_maxNoAI = blck_MaxAI_Green; -_noAIGroups = blck_AIGrps_Green; -_noVehiclePatrols = blck_SpawnVeh_Green; -_noEmplacedWeapons = blck_SpawnEmplaced_Green; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsGreen select 0; -_noPara = blck_reinforcementsGreen select 1; -_helipatrol = blck_reinforcementsGreen select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Green/default2.sqf b/@epochhive/addons/custom_server/Missions/Green/default2.sqf deleted file mode 100644 index ec88b03..0000000 --- a/@epochhive/addons/custom_server/Missions/Green/default2.sqf +++ /dev/null @@ -1,38 +0,0 @@ -/* -Mission Compositions by Bill prepared for DBD Clan -*/ - - -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition"]; -diag_log "[blckeagls] Spawning Green Mission with template = default2"; -_crateLoot = blck_BoxLoot_Green; -_lootCounts = blck_lootCountsGreen; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Green marker on your map for the location!"; -_endMsg = "The Sector at the Green Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[225,225],"GRID"]; -_markerColor = "ColorGreen"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = []; // list of objects to spawn as landscape -_missionLootBoxes = [ - ["Box_NATO_Wps_F",_crateLoot,[0,0,0]], // Standard loot crate with standard loadout - ["Land_PaperBox_C_EPOCH",_crateLoot,[-5,-5,0]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks - ["Land_CargoBox_V1_F",_crateLoot,[7, 5.4,0]]]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = [["I_G_Offroad_01_armed_F","I_G_Offroad_01_armed_F"]]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Green; -_maxNoAI = blck_MaxAI_Green; -_noAIGroups = blck_AIGrps_Green; -_noVehiclePatrols = blck_SpawnVeh_Green; -_noEmplacedWeapons = blck_SpawnEmplaced_Green; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsGreen select 0; -_noPara = blck_reinforcementsGreen select 1; -_helipatrol = blck_reinforcementsGreen select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "playerNear" -_timeout = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Green/medicalCamp.sqf b/@epochhive/addons/custom_server/Missions/Green/medicalCamp.sqf deleted file mode 100644 index 3649196..0000000 --- a/@epochhive/addons/custom_server/Missions/Green/medicalCamp.sqf +++ /dev/null @@ -1,77 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Green Mission with template = medicalCamp"; - -_crateLoot = blck_BoxLoot_Green; -_lootCounts = blck_lootCountsGreen; -_startMsg = "A Bandit Medical camp has been spotted. Check the Green marker on your map for its location"; -_endMsg = "The Bandit Medical camp at the Green Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[225,225],"GRID"]; -_markerColor = "ColorGreen"; -_markerMissionName = "Medical Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Flag_AAF_F",[3,3,0],0,1,0,[],"","",true,false], - ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,1,0,[],"","",true,false], - ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,0.00819469,0.830999,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,1,0,[],"","",true,false], - ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,1,0,[],"","",true,false], - ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,1,0,[],"","",true,false], - ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,1,0,[],"","",true,false], - ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Green; -_maxNoAI = blck_MaxAI_Green; -_noAIGroups = blck_AIGrps_Green; -_noVehiclePatrols = blck_SpawnVeh_Green; -_noEmplacedWeapons = blck_SpawnEmplaced_Green; -_uniforms = blck_SkinList; -_headgear = blck_headgear; - -_chanceReinforcements = 0.5; //blck_reinforcementsBlue select 0; -_noPara = 4; //blck_reinforcementsBlue select 1; -_chanceHeliPatrol = 0;//blck_reinforcementsBlue select 2; -_chanceLoot = 0.33; //blck_reinforcementsBlue select 3; - -private["_weap","_mags","_backpacks","_optics","_loadout"]; -_weap = 3 + floor(random(4)); -_mags = 8 + floor(random(6)); -_backpacks = 1 + floor(random(2)); -_optics = 3 + floor(random(6)); - -_reinforcementLootCounts = [_weap,_mags,_optics,0,0,_backpacks]; - -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - diff --git a/@epochhive/addons/custom_server/Missions/Green/redCamp.sqf b/@epochhive/addons/custom_server/Missions/Green/redCamp.sqf deleted file mode 100644 index c10c784..0000000 --- a/@epochhive/addons/custom_server/Missions/Green/redCamp.sqf +++ /dev/null @@ -1,91 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Green Mission with template = redCamp"; -_crateLoot = blck_BoxLoot_Green; -_lootCounts = blck_lootCountsGreen; -_startMsg = "A temporary enemy camp has been spotted. Check the Green marker on your map for its location"; -_endMsg = "The temporary Bandit Green camp at the Green Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[225,225],"GRID"]; -_markerColor = "ColorGreen"; -_markerMissionName = "Bandit Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,1,0], - ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,1,0], - ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,1,0], - ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,1,0], - ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,1,0], - ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,1,0], - ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,1,0], - ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,1,0], - ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,1,0], - ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,1,0], - ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,1,0], - ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,1,0], - ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,1,0], - ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,1,0], - ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,1,0], - ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,1,0], - ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,1,0], - ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,1,0], - ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,1,0], - ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,1,0], - ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,1,0], - ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,1,0], - ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,1,0], - ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,1,0], - ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,1,0], - ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,1,0], - ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,1,0], - ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,1,0], - ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,1,0], - ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,1,0], - ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,1,0], - ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,1,0], - ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,1,0], - ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,1,0], - ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,1,0], - ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,1,0], - ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,1,0], - ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,1,0], - ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,1,0], - ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,1,0], - ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,1,0], - ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,1,0] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Green; -_maxNoAI = blck_MaxAI_Green; -_noAIGroups = blck_AIGrps_Green; -_noVehiclePatrols = blck_SpawnVeh_Green; -_noEmplacedWeapons = blck_SpawnEmplaced_Green; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsGreen select 0; -_noPara = blck_reinforcementsGreen select 1; -_helipatrol = blck_reinforcementsGreen select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - - diff --git a/@epochhive/addons/custom_server/Missions/Green/resupplyCamp.sqf b/@epochhive/addons/custom_server/Missions/Green/resupplyCamp.sqf deleted file mode 100644 index 997d88e..0000000 --- a/@epochhive/addons/custom_server/Missions/Green/resupplyCamp.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Green Mission with template = resupplyCamp"; -_crateLoot = blck_BoxLoot_Green; -_lootCounts = blck_lootCountsGreen; -_startMsg = "A Bandit resupply camp has been spotted. Check the Green marker on your map for its location"; -_endMsg = "The Bandit resupply camp at the Green Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[225,225],"GRID"]; -_markerColor = "ColorGreen"; -_markerMissionName = "Resupply Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_Cargo_Patrol_V1_F",[-29.41016,0.13477,-0.0224228],359.992,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,0,0.848867,[],"","",true,false], - ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,1,0,[],"","",true,false], - ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Green; -_maxNoAI = blck_MaxAI_Green; -_noAIGroups = blck_AIGrps_Green; -_noVehiclePatrols = blck_SpawnVeh_Green; -_noEmplacedWeapons = blck_SpawnEmplaced_Green; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsGreen select 0; -_noPara = blck_reinforcementsGreen select 1; -_helipatrol = blck_reinforcementsGreen select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Orange/default.sqf b/@epochhive/addons/custom_server/Missions/Orange/default.sqf deleted file mode 100644 index 4e4f6e5..0000000 --- a/@epochhive/addons/custom_server/Missions/Orange/default.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; -//diag_log "[blckeagls] Spawning Orange Mission with template = default"; -//diag_log "[blckeagls] Spawning Orange Mission with template = default"; -_crateLoot = blck_BoxLoot_Orange; -_lootCounts = blck_lootCountsOrange; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Orange marker on your map for the location!"; -_endMsg = "The Sector at the Orange Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[250,250],"GRID"]; -_markerColor = "ColorOrange"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = []; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Orange; -_maxNoAI = blck_MaxAI_Orange; -_noAIGroups = blck_AIGrps_Orange; -_noVehiclePatrols = blck_SpawnVeh_Orange; -_noEmplacedWeapons = blck_SpawnEmplaced_Orange; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsOrange select 0; -_noPara = blck_reinforcementsOrange select 1; -_helipatrol = blck_reinforcementsOrange select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Orange/default2.sqf b/@epochhive/addons/custom_server/Missions/Orange/default2.sqf deleted file mode 100644 index a78ac74..0000000 --- a/@epochhive/addons/custom_server/Missions/Orange/default2.sqf +++ /dev/null @@ -1,53 +0,0 @@ -/* -Mission Compositions by Bill prepared for DBD Clan -*/ - -_crateLoot = - [ - [// Weapons - ], - [//Magazines - ], - [ // Optics - ], - [// Materials and supplies - ], - [//Items - ], - [ // Backpacks - ] - ]; - -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition"]; -diag_log "[blckeagls] Spawning Orange Mission with template = default2"; -_crateLoot = blck_BoxLoot_Orange; -_lootCounts = blck_lootCountsOrange; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Orange marker on your map for the location!"; -_endMsg = "The Sector at the Orange Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[250,250],"GRID"]; -_markerColor = "ColorOrange"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = []; // list of objects to spawn as landscape -_missionLootBoxes = [ - ["Box_NATO_Wps_F",_crateLoot,[0,0,0]], // Standard loot crate with standard loadout - ["Land_PaperBox_C_EPOCH",_crateLoot,[-5,-5,0]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks - ["Land_CargoBox_V1_F",_crateLoot,[7, 5.4,0]]]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = [["I_G_Offroad_01_armed_F","I_G_Offroad_01_armed_F"]]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Orange; -_maxNoAI = blck_MaxAI_Orange; -_noAIGroups = blck_AIGrps_Orange; -_noVehiclePatrols = blck_SpawnVeh_Orange; -_noEmplacedWeapons = blck_SpawnEmplaced_Orange; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsOrange select 0; -_noPara = blck_reinforcementsOrange select 1; -_helipatrol = blck_reinforcementsOrange select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "playerNear" -_timeout = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Orange/medicalCamp.sqf b/@epochhive/addons/custom_server/Missions/Orange/medicalCamp.sqf deleted file mode 100644 index 3091446..0000000 --- a/@epochhive/addons/custom_server/Missions/Orange/medicalCamp.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -////diag_log "[blckeagls] Spawning Orange Mission with template = medicalCamp"; -_crateLoot = blck_BoxLoot_Orange; -_lootCounts = blck_lootCountsOrange; -_startMsg = "A Bandit Medical camp has been spotted. Check the Orange marker on your map for its location"; -_endMsg = "The Bandit Medical camp at the Orange Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[250,250],"GRID"]; -_markerColor = "ColorOrange"; -_markerMissionName = "Medical Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,1,0,[],"","",true,false], - ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,0.00819469,0.830999,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,1,0,[],"","",true,false], - ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,1,0,[],"","",true,false], - ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,1,0,[],"","",true,false], - ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,1,0,[],"","",true,false], - ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines;_minNoAI = blck_MinAI_Orange; -_maxNoAI = blck_MaxAI_Orange; -_noAIGroups = blck_AIGrps_Orange; -_noVehiclePatrols = blck_SpawnVeh_Orange; -_noEmplacedWeapons = blck_SpawnEmplaced_Orange; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsOrange select 0; -_noPara = blck_reinforcementsOrange select 1; -_helipatrol = blck_reinforcementsOrange select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -////_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - diff --git a/@epochhive/addons/custom_server/Missions/Orange/redCamp.sqf b/@epochhive/addons/custom_server/Missions/Orange/redCamp.sqf deleted file mode 100644 index 608d734..0000000 --- a/@epochhive/addons/custom_server/Missions/Orange/redCamp.sqf +++ /dev/null @@ -1,91 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -////diag_log "[blckeagls] Spawning Orange Mission with template = redCamp"; -_crateLoot = blck_BoxLoot_Orange; -_lootCounts = blck_lootCountsOrange; -_startMsg = "A temporary Bandit camp has been spotted. Check the Orange marker on your map for its location"; -_endMsg = "The temporary Bandit Orange camp at the Orange Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[250,250],"GRID"]; -_markerColor = "ColorOrange"; -_markerMissionName = "Bandit Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,1,0], - ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,1,0], - ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,1,0], - ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,1,0], - ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,1,0], - ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,1,0], - ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,1,0], - ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,1,0], - ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,1,0], - ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,1,0], - ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,1,0], - ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,1,0], - ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,1,0], - ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,1,0], - ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,1,0], - ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,1,0], - ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,1,0], - ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,1,0], - ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,1,0], - ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,1,0], - ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,1,0], - ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,1,0], - ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,1,0], - ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,1,0], - ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,1,0], - ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,1,0], - ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,1,0], - ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,1,0], - ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,1,0], - ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,1,0], - ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,1,0], - ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,1,0], - ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,1,0], - ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,1,0], - ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,1,0], - ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,1,0], - ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,1,0], - ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,1,0], - ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,1,0], - ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,1,0], - ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,1,0], - ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,1,0] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Orange; -_maxNoAI = blck_MaxAI_Orange; -_noAIGroups = blck_AIGrps_Orange; -_noVehiclePatrols = blck_SpawnVeh_Orange; -_noEmplacedWeapons = blck_SpawnEmplaced_Orange; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsOrange select 0; -_noPara = blck_reinforcementsOrange select 1; -_helipatrol = blck_reinforcementsOrange select 2;; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -////_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - - diff --git a/@epochhive/addons/custom_server/Missions/Orange/resupplyCamp.sqf b/@epochhive/addons/custom_server/Missions/Orange/resupplyCamp.sqf deleted file mode 100644 index 9e880b2..0000000 --- a/@epochhive/addons/custom_server/Missions/Orange/resupplyCamp.sqf +++ /dev/null @@ -1,67 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Orange Mission with template = resupplyCamp"; - -_crateLoot = blck_BoxLoot_Orange; -_lootCounts = blck_lootCountsOrange; -_startMsg = "A Bandit resupply camp has been spotted. Check the Orange marker on your map for its location"; -_endMsg = "The Bandit resupply camp at the Orange Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[250,250],"GRID"]; -_markerColor = "ColorOrange"; -_markerMissionName = "Resupply Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Flag_AAF_F",[3,3,0],0,1,0,[],"","",true,false], - ["Land_Cargo_Patrol_V1_F",[-29.41016,0.13477,-0.0224228],359.992,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,0,0.848867,[],"","",true,false], - ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,1,0,[],"","",true,false], - ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_minNoAI = blck_MinAI_Orange; -_maxNoAI = blck_MaxAI_Orange; -_noAIGroups = blck_AIGrps_Orange; -_noVehiclePatrols = blck_SpawnVeh_Orange; -_noEmplacedWeapons = blck_SpawnEmplaced_Orange; -_uniforms = blck_SkinList; -_headgear = blck_headgear; - -_chanceReinforcements = 0; -_noPara = 5; -_chanceHeliPatrol = 0; -_chanceLoot = 0.33; - -private["_weap","_mags","_backpacks","_optics","_loadout"]; -_weap = 4 + floor(random(4)); -_mags = 12 + floor(random(6)); -_backpacks = 1 + floor(random(2)); -_optics = 5 + floor(random(6)); -_reinforcementLootCounts = [_weap,_mags,_optics,0,0,_backpacks]; - -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Red/default.sqf b/@epochhive/addons/custom_server/Missions/Red/default.sqf deleted file mode 100644 index 51b74b4..0000000 --- a/@epochhive/addons/custom_server/Missions/Red/default.sqf +++ /dev/null @@ -1,46 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Red Mission with template = default"; -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Red marker on your map for the location!"; -_endMsg = "The Sector at the Red Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -_markerColor = "ColorRed"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = []; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Red; -_maxNoAI = blck_MaxAI_Red; -_noAIGroups = blck_AIGrps_Red; -_noVehiclePatrols = blck_SpawnVeh_Red; -_noEmplacedWeapons = blck_SpawnEmplaced_Red; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsRed select 0; -_noPara = blck_reinforcementsRed select 1; -_helipatrol = blck_reinforcementsRed select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Red/default2.sqf b/@epochhive/addons/custom_server/Missions/Red/default2.sqf deleted file mode 100644 index 20ba2b8..0000000 --- a/@epochhive/addons/custom_server/Missions/Red/default2.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/* -Mission Compositions by Bill prepared for DBD Clan -*/ - - -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition"]; - -diag_log "[blckeagls] Spawning Red Mission with template = default2"; -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; -_startMsg = "A group of Bandits was sighted in a nearby sector! Check the Blue marker on your map for the location!"; -_endMsg = "The Sector at the Blue Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -_markerColor = "ColorRed"; -_markerMissionName = "Bandit Patrol"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = []; // list of objects to spawn as landscape -_missionLootBoxes = [ - ["Box_NATO_Wps_F",_crateLoot,[0,0,0]], // Standard loot crate with standard loadout - ["Land_PaperBox_C_EPOCH",_crateLoot,[-5,-5,0]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks - ["Land_CargoBox_V1_F",_crateLoot,[7, 5.4,0]]]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = [["I_G_Offroad_01_armed_F","I_G_Offroad_01_armed_F"]]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Red; -_maxNoAI = blck_MaxAI_Red; -_noAIGroups = blck_AIGrps_Red; -_noVehiclePatrols = blck_SpawnVeh_Red; -_noEmplacedWeapons = blck_SpawnEmplaced_Red; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsRed select 0; -_noPara = blck_reinforcementsRed select 1; -_helipatrol = blck_reinforcementsRed select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "playerNear" -_timeout = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - - diff --git a/@epochhive/addons/custom_server/Missions/Red/medicalCamp.sqf b/@epochhive/addons/custom_server/Missions/Red/medicalCamp.sqf deleted file mode 100644 index fcc8dff..0000000 --- a/@epochhive/addons/custom_server/Missions/Red/medicalCamp.sqf +++ /dev/null @@ -1,64 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Red Mission with template = medicalCamp"; -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; -_startMsg = "A Bandit Medical camp has been spotted. Check the Red marker on your map for its location"; -_endMsg = "The Bandit Medical camp at the Red Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -_markerColor = "ColorRed"; -_markerMissionName = "Medical Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_dp_transformer_F",[1.698242,-10.4668,-0.00763702],271.32,1,0,[],"","",true,false], - ["Land_Wreck_BRDM2_F",[1.37012,13.498,0.00109863],184.487,0.00819469,0.830999,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4512,-3.66406,0.00780487],305.003,1,0,[],"","",true,false], - ["Land_Cargo_HQ_V1_F",[-20.1367,11.7539,0],90.8565,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-22.707,-3.75586,-0.0130234],44.9901,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[24.3584,7.45313,0.00111389],91.6329,1,0,[],"","",true,false], - ["StorageBladder_01_fuel_forest_F",[1.29492,29.3184,0.000999451],179.65,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-9.45996,31.252,0.02005],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-13.0459,32.668,-0.0283051],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-11.5957,33.125,-0.598007],184.595,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-8.98145,34.5801,-0.00514221],184.592,1,0,[],"","",true,false], - ["Land_Addon_02_V1_ruins_F",[24.8369,24.6582,-0.00820923],90.9637,1,0,[],"","",true,false], - ["Land_GarbageBags_F",[-10.9443,35.0449,0.577057],184.592,1,0,[],"","",true,false], - ["Land_Cargo20_military_green_F",[14.6533,32.9004,0.000480652],90.0989,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-23.0186,28.6738,-0.0271301],120.012,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[37.1504,34.5742,0.0146866],255,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Red; -_maxNoAI = blck_MaxAI_Red; -_noAIGroups = blck_AIGrps_Red; -_noVehiclePatrols = blck_SpawnVeh_Red; -_noEmplacedWeapons = blck_SpawnEmplaced_Red; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsRed select 0; -_noPara = blck_reinforcementsRed select 1; -_helipatrol = blck_reinforcementsRed select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - diff --git a/@epochhive/addons/custom_server/Missions/Red/redCamp.sqf b/@epochhive/addons/custom_server/Missions/Red/redCamp.sqf deleted file mode 100644 index 1391b0e..0000000 --- a/@epochhive/addons/custom_server/Missions/Red/redCamp.sqf +++ /dev/null @@ -1,103 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Red Mission with template = redCamp"; - -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; -_startMsg = "A temporary enemy camp has been spotted. Check the Red marker on your map for its location"; -_endMsg = "The temporary enemy camp at the Red Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -_markerColor = "ColorRed"; -_markerMissionName = "Bandit Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Flag_AAF_F",[3,3,0],0,1,0,[],"","",true,false], - ["Land_CampingChair_V1_F",[1.32227,2.07813,8.2016e-005],108.293,1,0], - ["Land_CampingChair_V1_F",[-2.01465,2.91992,3.05176e-005],236.049,1,0], - ["FirePlace_burning_F",[0.0302734,4.26563,2.47955e-005],359.997,1,0], - ["Land_CampingChair_V1_F",[2.47168,4.21484,0.000102997],108.293,1,0], - ["Land_CampingChair_V1_F",[-1.86816,5.07422,3.05176e-005],319.489,1,0], - ["Land_CampingChair_V1_F",[0.915039,6.20898,1.71661e-005],51.7207,1,0], - ["Land_Sleeping_bag_brown_F",[8.27441,0.609375,0.00414658],98.0314,1,0], - ["Land_Sleeping_bag_brown_F",[8.27344,2.76758,0.00447083],91.7928,1,0], - ["Land_Sleeping_bag_brown_F",[7.9082,4.95898,-0.00173759],85.1176,1,0], - ["Land_Garbage_square3_F",[-4.95508,8.24023,0.00018692],60.0024,1,0], - ["Land_Camping_Light_F",[8.92773,3.80273,-0.000205994],344.236,1,0], - ["Land_Sleeping_bag_brown_F",[7.32129,7.55859,-0.0051899],60.1216,1,0], - ["Land_TentDome_F",[-9.75488,3.13477,0.00125313],146.574,1,0], - ["Land_WoodPile_F",[-0.322266,9.97266,-0.000553131],35.0017,1,0], - ["Land_Razorwire_F",[-0.0185547,-9.84961,0.0752335],1.7831,1,0], - ["Land_CampingChair_V1_folded_F",[3.8584,9.59375,0],60,1,0], - ["Land_TentDome_F",[-8.76855,7.85156,-0.00471497],207.522,1,0], - ["Land_BagFence_Round_F",[8.99707,-8.01367,-0.00951576],326.002,1,0], - ["Land_BagFence_Round_F",[-10.8164,-6.33594,-0.0038681],59.9991,1,0], - ["Land_TentDome_F",[-7.12207,11.8398,-0.00328445],231.101,1,0], - ["Land_CampingTable_small_F",[-4.62598,13.2754,7.62939e-005],344.243,1,0], - ["Land_Camping_Light_F",[-4.5957,13.332,0.687943],344.243,1,0], - ["Land_Razorwire_F",[15.5459,0.605469,0.145557],102.505,1,0], - ["Land_BagFence_Round_F",[7.16211,13.8516,0.000429153],221.639,1,0], - ["Land_Razorwire_F",[15.9678,8.35938,0.0635166],85.7459,1,0], - ["Land_Razorwire_F",[-19.1553,-1.61328,-0.0238552],70.0997,1,0], - ["Land_Razorwire_F",[-12.3906,-15.4492,0.0128002],19.2641,1,0], - ["Land_Razorwire_F",[-19.4629,5.67969,0.0492821],102.505,1,0], - ["Land_BagFence_Round_F",[-11.2891,17.6777,-0.00759888],128.563,1,0], - ["Land_Razorwire_F",[15.2949,-14.3027,0.0502853],139.224,1,0], - ["Land_Razorwire_F",[15.2852,16.2656,-0.0208111],85.1363,1,0], - ["Land_Razorwire_F",[4.80273,21.8223,-0.0563145],49.2133,1,0], - ["Land_Razorwire_F",[-17.7891,13.4863,-0.0646877],102.5,1,0], - ["Land_Razorwire_F",[-14.7109,20.2871,0.0674477],306.189,1,0], - ["Land_BagFence_Round_F",[25.3975,-6.08008,0.00466537],272.26,1,0], - ["Land_Wreck_Truck_F",[26.6289,12.2441,0.00333214],344.243,1,0], - ["Land_GarbageBags_F",[-24.9463,17.3066,0.000968933],60.0003,1,0], - ["Land_BagFence_Round_F",[11.167,28.832,-0.00405121],178.394,1,0], - ["Land_BagFence_Round_F",[-6.36914,30.6953,-0.000207901],178.378,1,0], - ["Land_Wreck_Hunter_F",[21.0391,25.9707,0.0118179],325.412,1,0], - ["Land_Camping_Light_F",[-33.7852,10.0371,0.000759125],344.235,1,0], - ["Land_BagFence_Round_F",[-34.3232,10.1035,0.00181007],60.0012,1,0] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Red; -_maxNoAI = blck_MaxAI_Red; -_noAIGroups = blck_AIGrps_Red; -_noVehiclePatrols = blck_SpawnVeh_Red; -_noEmplacedWeapons = blck_SpawnEmplaced_Red; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; -_headgear = blck_headgear; - -_chanceReinforcements = 0.10; //blck_reinforcementsBlue select 0; -_noPara = 2; //blck_reinforcementsBlue select 1; -_chanceHeliPatrol = 0;//blck_reinforcementsBlue select 2; -_chanceLoot = 0.10; //blck_reinforcementsBlue select 3; - -private["_weap","_mags","_backpacks","_optics","_loadout"]; -_weap = 3 + floor(random(4)); -_mags = 8 + floor(random(6)); -_backpacks = 1 + floor(random(2)); -_optics = 1 + floor(random(6)); -_reinforcementLootCounts = [_weap,_mags,_optics,0,0,_backpacks]; - -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; - - diff --git a/@epochhive/addons/custom_server/Missions/Red/resupplyCamp.sqf b/@epochhive/addons/custom_server/Missions/Red/resupplyCamp.sqf deleted file mode 100644 index 5c089ea..0000000 --- a/@epochhive/addons/custom_server/Missions/Red/resupplyCamp.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - Mission Template by Ghostrider-DbD- - Mission Compositions by Bill prepared for DBD Clan - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -//diag_log "[blckeagls] Spawning Red Mission with template = resupplyCamp"; -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; -_startMsg = "A Bandit resupply camp has been spotted. Check the Red marker on your map for its location"; -_endMsg = "The Bandit resupply camp at the Red Marker is under player control"; -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -_markerColor = "ColorRed"; -_markerMissionName = "Resupply Camp"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Land_Cargo_Patrol_V1_F",[-29.41016,0.13477,-0.0224228],359.992,1,0,[],"","",true,false], - ["Land_Cargo_House_V1_F",[29.2988,-0.1,0.150505],54.9965,0,0.848867,[],"","",true,false], - ["CamoNet_INDP_big_F",[-20.4346,15.43164,-0.00395203],54.9965,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.4346,15.43164,-0.0138168],119.996,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[-20.3604,-15.6035,-0.0130463],44.9901,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.4453,-15.791,0.00744629],305.003,1,0,[],"","",true,false], - ["Land_BagBunker_Small_F",[18.3711,15.5703,0.0101624],254.999,1,0,[],"","",true,false], - ["CamoNet_INDP_big_F",[18.3711,15.5703,-0.00395203],54.9965,1,0,[],"","",true,false] - ]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = []; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used -_minNoAI = blck_MinAI_Red; -_maxNoAI = blck_MaxAI_Red; -_noAIGroups = blck_AIGrps_Red; -_noVehiclePatrols = blck_SpawnVeh_Red; -_noEmplacedWeapons = blck_SpawnEmplaced_Red; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; -_headgear = blck_headgear; -_chanceReinforcements = blck_reinforcementsRed select 0; -_noPara = blck_reinforcementsRed select 1; -_helipatrol = blck_reinforcementsRed select 2; -_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear" -//_timeOut = -1; -#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf deleted file mode 100644 index 1864483..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_fnc_sm_spawnMission.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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/ -*/ -if (!isServer) exitWith{}; -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -params["_mission"]; -// Spawn landscape -// params["_objects"]; -[_missionLandscape] call blck_fnc_sm_spawnObjects; -uiSleep 10; // Let the objects 'settle' before placing anything on or around them. - - -// Spawn Air Patrols -// params["_airPatrols","_noAirPatrols","_heliTypes","_center","_difficulty","_uniforms","_headGear"]; -[_airPatrols,_noAirPatrols,_aircraftTypes,_missionCenter,_difficulty,_uniforms,_headgear,_weapons] call blck_fnc_sm_spawnAirPatrols; -//uiSleep 1; - -// Spawn Vehicle Patrols -// params["_coords","_noVehiclePatrols","_vehiclePatrolSpawns","_aiDifficultyLevel","_uniforms","_headGear",["_missionType","unspecified"]]; -[_missionCenter,_noVehiclePatrols,_vehiclePatrolParameters,_difficulty,_uniforms,_headGear] call blck_fnc_sm_spawnVehiclePatrols; -//uiSleep 1; - - -// spawn infantry -// params["_patrols","_coords",["_minNoAI",3],["_maxNoAI",6],["_aiDifficultyLevel","red"],["_weapons",blck_WeaponList_Orange],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear]]; -[_aiGroupParameters, _missionCenter,_minNoAI,_maxNoAI,_difficulty,_weapons,_uniforms,_headGear] call blck_fnc_sm_spawnInfantryPatrols; -//uiSleep 1; - -// spawn loot vehicles -// params["_objects","_coords","_loot","_lootCounts"]; -[_missionLootVehicles,_missionCenter,_crateLoot,_lootCounts] call blck_fnc_sm_spawnLootContainers; - -// Spawn static weapons -// params["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; -[_missionEmplacedWeapons,_noEmplacedWeapons,_difficulty,_missionCenter,_uniforms,_headGear] call blck_fnc_sm_spawnEmplaced; - -// spawn loot chests -[_missionLootBoxes,_missionCenter,_crateLoot,_lootCounts] call blck_fnc_sm_spawnLootContainers; - -_blck_localMissionMarker = ["",_missionCenter,"","",_markerColor,_markerType]; -[_blck_localMissionMarker] execVM "debug\spawnMarker.sqf"; - -diag_log format["[blckeagls] Static Mission Spawner: Mission %1 spawned",_mission]; - diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf deleted file mode 100644 index b24b4ef..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_checkForPlayerNearMission.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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 ["_missionCenter"]; - _missionCenter = _x select 0; - if ([_missionCenter,2000] call blck_fnc_playerInRange then ([_missionCenter] execVM format["%1", _x select 1]; -} forEach blck_staticMissions; - - diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf deleted file mode 100644 index e21b877..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_init_functions.sqf +++ /dev/null @@ -1,28 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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"; - -//blck_fnc_sm_checkForPlayerNearMission = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\StaticMissions_checkForPlayerNearMission.sqf"; -blck_fnc_sm_spawnAirPatrols = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnAirPatrols.sqf"; -blck_fnc_sm_spawnEmplaced = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnEmplaced.sqf"; -blck_fnc_sm_spawnInfantryPatrols = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnInfantryPatrols.sqf"; -blck_fnc_sm_spawnLootContainers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnLootContainers.sqf"; -blck_fnc_sm_spawnObjects = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnObjects.sqf"; -blck_fnc_sm_spawnVehiclePatrols = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Missions\Static\Code\GMS_sm_spawnVehiclePatrols.sqf"; - -diag_log "[blckeagls] GMS_sm_init_functions.sqf "; - -blck_sm_functionsLoaded = true; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf deleted file mode 100644 index 422affe..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnAirPatrols.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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"; - -/* -_coords = _this select 0; -_skillAI = _this select 1; -_weapons = _this select 2; -_uniforms = _this select 3; -_headGear = _this select 4; -_helis = _this select 5; -*/ - -params["_airPatrols","_noAirPatrols","_heliTypes","_center","_difficulty","_uniforms","_headGear","_weapons"]; -diag_log format["_sm_spawnAirPatrols:: _this = %1",_this]; -diag_log format["_sm_spawnAirPatrols:: _airPatrols = %1",_airPatrols]; -if (_airPatrols isEqualTo []) then -{ - for "_i" from 1 to _noAirPatrols do - { - /* - _coords = _this select 0; - _skillAI = _this select 1; - _weapons = _this select 2; - _uniforms = _this select 3; - _headGear = _this select 4; - _helis = _this select 5; - */ - [_center,_difficulty,_weapons,_uniforms,_headGear,_heliTypes,0] call blck_fnc_spawnMissionHeli; - }; -} else { - { - /* - /*[aircraft classname, position, difficulty(blue, red etc)]*/ - _aircraft = _x select 0; - _pos = _x select 1; - _difficulty = _x select 2; - [_pos,_difficulty,_weapons,_uniforms,_headGear,_aircraft] call blck_fnc_spawnMissionHeli; - }forEach _airPatrols; -}; - diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf deleted file mode 100644 index 2747727..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnEmplaced.sqf +++ /dev/null @@ -1,62 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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["_missionEmplacedWeapons","_noEmplacedWeapons","_aiDifficultyLevel","_coords","_uniforms","_headGear"]; -private["_return","_emplacedWeps","_emplacedAI","_wep","_units","_gunner","_abort","_pos","_mode"]; -_emplacedWeps = []; -_emplacedAI = []; -_units = []; -_abort = false; -_pos = []; - -//diag_log format["_sm_spawnEmplaced :: _missionEmplacedWeapons = %1",_missionEmplacedWeapons]; -// Define _missionEmplacedWeapons if not already configured. -if (_missionEmplacedWeapons isEqualTo []) then -{ - _missionEmplacedWeaponPositions = [_coords,_noEmplacedWeapons,35,50] call blck_fnc_findPositionsAlongARadius; - { - _static = selectRandom blck_staticWeapons; - //diag_log format["_fnc_spawnEmplacedWeaponArray: creating spawn element [%1,%2]",_static,_x]; - _missionEmplacedWeapons pushback [_static,_coords vectorAdd _x,_aiDifficultyLevel]; - //diag_log format["_fnc_spawnEmplacedWeaponArray: _mi updated to %1",_missionEmplacedWeapons]; - } forEach _missionEmplacedWeaponPositions; -}; -//diag_log format["_sm_spawnEmplaced:: _missionEmplacedWeapons = %1",_missionEmplacedWeapons]; -{ - _wepnClassName = _x select 0; - _pos = _x select 1; - _difficulty = _x select 2; - - // params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear] ]; - _empGroup = [_pos,1,1,_difficulty,_pos,1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; - _empGroup setcombatmode "RED"; - _empGroup setBehaviour "COMBAT"; - [_pos,0.01,0.02,_empGroup,"random","SAD","emplaced"] spawn blck_fnc_setupWaypoints; - //if (isNull _empGroup) exitWith {_abort = _true}; - _wep = [_wepnClassName,[0,0,0],false] call blck_fnc_spawnVehicle; - _empGroup setVariable["groupVehicle",_wep]; - _wep setVariable["vehicleGroup",_empGroup]; - _wep setVariable["DBD_vehType","emplaced"]; - _wep setPosATL _pos; - [_wep,false] call blck_fnc_configureMissionVehicle; - _units = units _empGroup; - _gunner = _units select 0; - _gunner moveingunner _wep; -} forEach _missionEmplacedWeapons; -blck_monitoredVehicles append _emplacedWeps; - -true diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf deleted file mode 100644 index eb0aa5d..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnInfantryPatrols.sqf +++ /dev/null @@ -1,39 +0,0 @@ -/* - - Spawns infantry patrols for static missions. - - by Ghostrider-DbD- - 8/15/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -// params["_coords",["_minNoAI",3],["_maxNoAI",6],["_aiDifficultyLevel","red"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear]]; -params["_patrols","_coords",["_minNoAI",3],["_maxNoAI",6],["_aiDifficultyLevel","red"],["_weapons",blck_WeaponList_Orange],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear]]; -//diag_log format["_sm_spawnInfantryPatrols:: _this = %1",_this]; -//diag_log format["_sm_spawnInfantryPatrols:: patrols = %1",_patrols]; -if (_patrols isEqualTo []) then -{ - // Use the random spawn logic from the regular dyanmic mission system. - [_coords,_minNoAI,_maxNoAI,_aiDifficultyLevel,_uniforms,_headGear] call blck_fnc_spawnMissionAI -} else { - { - //diag_log format["_sm_spawnInfantryPatrols.sqf:: _x = %1",_x]; - // Use the pre-defined spawn positions and other parameters for each group. - // [[22819.4,16929.5,5.33892],"red",4, 75] - private["_pos","_difficulty","_noAI","_patrolRadius"]; - _pos = _x select 0; // Position at which to spawn the group - _difficulty = _x select 1; // AI difficulty setting (blue, green etc) - _noAI = _x select 2; // Number of AI to spawn with the group - _patrolRadius = _x select 3; // Radius within which AI should patrol - // params["_pos", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], "_center", ["_minDist",20], ["_maxDist",35], ["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_configureWaypoints",true] ]; - [_pos,_noAI,_noAI,_difficulty,_pos,_patrolRadius,_patrolRadius,_uniforms,_headGear,true] call blck_fnc_spawnGroup; - }forEach _patrols; -}; - diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf deleted file mode 100644 index f8ad82e..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnLootContainers.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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["_objects","_coords","_loot","_lootCounts"]; -private["_object"]; -//diag_log format["_sm_spawnLootContainers:: _this = %1",_this]; -//diag_log format["_sm_spawnLootContainers:: _objects = %1",_objects]; - -if !(_objects isEqualTo []) exitWith -{ // Spawn loot crates where specified in _objects using the information for loot parameters provided for each location. - { - private _object = (_x select 0) createVehicle [0,0,0]; - _object setPosASL (_x select 1); - _object setVectorDirAndUp (_x select 2); - _object enableSimulationGlobal ((_x select 3) select 0); - _object allowDamage ((_x select 3) select 1); - _loot = _x select 4; // A bit slower this way because you have to allocate memory and transfer the information but more clear for coding. - _lootCounts = _x select 5; - [_object, _loot, _lootCounts] call blck_fnc_fillBoxes; - } forEach _objects; -}; - -// In the case where no loot crate parameters are defined in _objects just spawn 1 at the center of the mission. -if (_objects isEqualTo []) then -{ - - _crateType = selectRandom blck_crateTypes; - _crate = [_coords,_crateType] call blck_fnc_spawnCrate; - [_crate,_loot,_lootCounts] call blck_fnc_fillBoxes; -}; - diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf deleted file mode 100644 index ad688cd..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnObjects.sqf +++ /dev/null @@ -1,41 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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["_objects"]; -diag_log format["_sm_spawnObjects:: _objects = %1",_objects]; -private["_objects","_object"]; - -{ - //diag_log format["_sm_spawnObjects:: spawning object of type %1 with parameters of %2",_x select 0, _x]; - private _object = (_x select 0) createVehicle [0,0,0]; - _object setPosASL (_x select 1); - _object setVectorDirAndUp (_x select 2); - _object enableSimulationGlobal ((_x select 3) select 0); - _object allowDamage ((_x select 3) select 1); -} forEach _objects; - - -/* -if (_objects isEqualTo [] and (count _this isEqualTo 4) then -{ - -} else { - _crateType = selectRandom blck_crateTypes; - _crate = [_coords,_crateType] call blck_fnc_spawnCrate; - [_crate,_loot,_lootCounts] call blck_fnc_fillBoxes; -}; - diff --git a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf b/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf deleted file mode 100644 index 2d8dec0..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/Code/GMS_sm_spawnVehiclePatrols.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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["_coords","_noVehiclePatrols","_vehiclePatrolSpawns","_aiDifficultyLevel","_uniforms","_headGear",["_missionType","unspecified"]]; -diag_log format["_sm_spawnVehiclePatrols:: _vehiclePatrolSpawns = %1",_vehiclePatrolSpawns]; -private["_vehGroup","_patrolVehicle","_missionAI","_missiongroups","_vehicles","_return","_vehiclePatrolSpawns","_randomVehicle","_return","_abort"]; - -if (_vehiclePatrolSpawns isEqualTo []) then -{ - private["_spawnPoints","_vehType"]; - _spawnPoints = [_coords,_noVehiclePatrols,75,100] call blck_fnc_findPositionsAlongARadius; - { - // ["B_G_Offroad_01_armed_F",[22819.4,16929.5,3.17413],"red", 600], - _vehType = selectRandom blck_AIPatrolVehicles; - _vehiclePatrolSpawns pushBack [_vehType, _x, _aiDifficultyLevel, 150]; - } forEach _spawnPoints; -}; - -{ - private ["_vehicle","_spawnPos","_difficulty","_patrolRadius"]; - _vehicle = _x select 0; - _spawnPos = _x select 1; - _difficulty = _x select 2; - _patrolRadius = _x select 3; - _vehGroup = [_spawnPos,3,3,_difficulty,_spawnPos,1,2,_uniforms,_headGear,false] call blck_fnc_spawnGroup; - - //params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_maxDis",45],["_group",grpNull]]; - _patrolVehicle = [_spawnPos,_spawnPos,_vehicle,_patrolRadius,_patrolRadius,_vehGroup] call blck_fnc_spawnVehiclePatrol; - _vehGroup setVariable["groupVehicle",_vehicle]; - - if !(isNull _patrolVehicle) then - { - _patrolVehicle setVariable["vehicleGroup",_vehGroup]; - }; -} forEach _vehiclePatrolSpawns; - -true - - diff --git a/@epochhive/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf b/@epochhive/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf deleted file mode 100644 index dded2f5..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/GMS_StaticMissions_Lists.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - 8/15/17 - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -if (!isServer) exitWith{}; - -private ["_staticMissions"]; - -_staticMissions = [ - // [mod (Epoch, Exile), map (Altis, Tanoa etc), mission center, eg [10445,2014,0], filename.sqf (name of static mission template for that mission)]; - //["Epoch","Altis","\q\addons\custom_server\Missions\Static\staticMissionExample1.sqf"], - //["Exile","Altis","\q\addons\custom_server\Missions\Static\missions\staticMissionExample1.sqf"] -]; - -diag_log "[blckeagls] GMS_StaticMissions_Lists.sqf "; diff --git a/@epochhive/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf b/@epochhive/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf deleted file mode 100644 index b33e800..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/GMS_StaticMissions_init.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - Run scripts exported from M3EDEN Editor plug in for Arma 3 or other map addons. - Add addons to the arrays for Epoch or Exile as appropriate. - Arrays should contain ["mapname", "name of folder within mapaddons","name of file to execute"] - by Ghostrider-DbD- - for DBD Clan - 11/12/16 - -------------------------- - 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/ -*/ -if (!isServer) exitWith{}; - -diag_log "[blckeagls] GMS_StaticMissions_init.sqf "; - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#include "\q\addons\custom_server\Missions\Static\GMS_StaticMissions_Lists.sqf"; -[] execVM "\q\addons\custom_server\Missions\Static\Code\GMS_sm_init_functions.sqf"; -//while{ (isNil "blck_sm_functionsLoaded"; uiSleep 0.1]; -uiSleep 3; -private["_mod","_map","_missionMod","_missionMap","_missionLocation","_missionDataFile"]; -diag_log "[blckeagls] GMS_StaticMissions_init.sqf "; -_mod = call blck_fnc_getModType; -diag_log format["[blckeagls] GMS_StaticMissions_init.sqf ",_mod]; -diag_log "[blckeagls] GMS_StaticMissions_init.sqf "; -_map = toLower worldName; -diag_log format["[blckeagls] GMS_StaticMissions_init.sqf ",_map]; -blck_staticMissions = []; -diag_log format["[blckeagls] GMS_StaticMissions_init.sqf <_staticMissions = %1>",_staticMissions]; -{ - diag_log format["[blckeagls] GMS_StaticMissions_init.sqf ",_x]; - [] execVM format["%1",(_x select 2)]; - uiSleep 15; -}forEach _staticMissions; -/* -{ - _missionMod = _x select 0; - _missionMap = _x select 1; - //_missionLocation = _x select 2; - _missionDataFile = _x select 2; - diag_log format["blckegls] Static Mission System: ",_x]; - if (_mod isEqualTo _missionMod && _map isEqualTo _missionMap) then {blck_staticMissions pusback [_missionDataFile]; -}forEach _staticMissions; - -diag_log "[blckeagls] GMS_StaticMissions_init.sqf "; -{ - diag_log format["[blckeagls] Static Mission System: Initializing Mission %1", (_x select 0)]; - [_x select 0] execVM format["%1", _x select 0]; -} forEach blck_staticMissions; -*/ -diag_log "[blckeagls] GMS_StaticMissions_init.sqf "; - diff --git a/@epochhive/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf b/@epochhive/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf deleted file mode 100644 index 0c847d2..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/missions/staticMissionExample1.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/* - This is a simple mission using randomly placed AI infantry, static weapons and vehicle patrols. - Please see staticMissionExample2.sqf for a more complete overview of how to configure static missions. -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -_mission = "static mission example 1"; -_missionCenter = [24415,18909,0]; // I pulled this from the position of the marker. -_difficulty = "red"; // Skill level of AI (blue, red, green etc) -_crateLoot = blck_BoxLoot_Red; -_lootCounts = blck_lootCountsRed; - -_markerLabel = ""; -_markerType = ["ELIPSE",[200,200],"GRID"]; -// An alternative would be: -// _markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers -_markerColor = "ColorRed"; // This can be any valid Arma Marker Color -_markerMissionName = "Bad Guys Town"; -_missionLandscapeMode = "precise"; // acceptable values are "random","precise" - // In precise mode objects will be spawned at the relative positions specified. - // In the random mode, objects will be randomly spawned within the mission area. -_missionLandscape = [ - -]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -// If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. -// -// [["box_classname1",_customLootArray1,[px,py,pz],["box_classname2",_customLootArray2,[px2,py2,pz2]] -// where _customLootArray follows the same format as blck_BoxLoot_Red and the other pre-defined arrays and -// where _customlootcountsarray1 also follows the same format as the predefined arrays like blck_lootCountsRed - -_missionLootVehicles = []; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; -// When blank nothing is spawned. -// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. - -_noEmplacedWeapons = [2,3]; -_missionEmplacedWeapons = []; // example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; - // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used - // If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. - // If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. - -_minNoAI = blck_MinAI_Red; // Modify as needed -_maxNoAI = blck_MaxAI_Red; // Modify as needed. -_noAIGroups = blck_AIGrps_Red; // Modify as needed -_aiGroupParameters = []; - -_noVehiclePatrols = blck_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] -_vehiclePatrolParameters = []; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/] ] - // When empty vehicle patrols will be scattered randomely around the mission. - // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). - // If _noVehiclePatrols is less than the number of locations specified only _noVehiclePatrols patrols will be spawned. -_noEmplacedWeapons = blck_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] - -_aircraftTypes = blck_patrolHelisRed; // You can use one of the pre-defined lists in blck_configs or your own custom array. -_noAirPatrols = blck_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; -_airPatrols = []; - -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; -_uniforms = blck_SkinList; // You can replace this list with a custom list of uniforms if you like. -_headgear = blck_headgear; // You can replace this list with a custom list of headgear. -_weapons = blck_WeaponList_Orange; // You can replace this list with a customized list of weapons, or another predifined list from blck_configs_epoch or blck_configs_exile as appropriate. - -#include "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnMission.sqf"; diff --git a/@epochhive/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf b/@epochhive/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf deleted file mode 100644 index 4674729..0000000 --- a/@epochhive/addons/custom_server/Missions/Static/missions/staticMissionExample2.sqf +++ /dev/null @@ -1,131 +0,0 @@ -/* - This is a simple mission using precisely placed loot crates and infantry, static weapons and vehicle patrols. - See the accompanying example mission in the exampleMission folder to get an idea how I laid this out. - Note that I exported the mission using the exportAll function of M3EDEN editor. -*/ -private ["_markerLabel","_endMsg","_startMsg","_lootCounts","_crateLoot","_markerMissionName","_missionLandscapeMode","_missionLandscape", - "_missionLootBoxes","_missionLootVehicles","_missionEmplacedWeapons","_minNoAI","_maxNoAI","_noAIGroups","_noVehiclePatrols","_noEmplacedWeapons", - "_uniforms","_headgear","_chanceReinforcements","_noPara","_helipatrol","_endCondition","_markerColor","_markerType","_useMines"]; - -_mission = "static mission example #2"; // Included for additional documentation. Not intended to be spawned as a mission per se. -_missionCenter = [22907,16789,0]; // I pulled this from the position of the marker. -_difficulty = "red"; // Skill level of AI (blue, red, green etc) -_crateLoot = blck_BoxLoot_Orange; // You can use a customized _crateLoot configuration by defining an array here. It must follow the following format shown for a hypothetical loot array called _customLootArray - /* - _customLootArray = - // Loot is grouped as [weapons],[magazines],[items] in order to be able to use the correct function to load the item into the crate later on. - // Each item consist of the following information ["ItemName",minNum, maxNum] where min is the smallest number added and min+max is the largest number added. - - [ - [// Weapons - - ["srifle_DMR_06_olive_F","20Rnd_762x51_Mag"] - ], - [//Magazines - ["10Rnd_93x64_DMR_05_Mag" ,1,5] - ], - [ // Optics - ["optic_KHS_tan",1,3] - ], - [// Materials and supplies - ["Exile_Item_MetalScrews",3,10] - // - ], - [//Items - ["Exile_Item_MountainDupe",1,3] - ], - [ // Backpacks - ["B_OutdoorPack_tan",1,2] - ] - ]; - */ - -_lootCounts = blck_lootCountsRed; // You can use a customized set of loot counts or one that is predefined but it must follow the following format: - // values are: number of things from the weapons, magazines, optics, materials(cinder etc), items (food etc) and backpacks arrays to add, respectively. - // blck_lootCountsOrange = [[6,8],[24,32],[5,10],[25,35],16,1]; // Orange - -_markerLabel = ""; -//_markerType = ["ELIPSE",[200,200],"GRID"]; -// An alternative would be: -_markerType = ["mil_triangle",[0,0]]; // You can replace mil_triangle with any other valid Arma 3 marker type https://community.bistudio.com/wiki/cfgMarkers -_markerColor = "ColorRed"; // This can be any valid Arma Marker Color -_markerMissionName = "Bad People Live Here"; -_missionLandscapeMode = "precise"; // acceptable values are "random","precise" - // In precise mode objects will be spawned at the relative positions specified. - // In the random mode, objects will be randomly spawned within the mission area. -_missionLandscape = [ // Paste appropriate lines from M3EDEN output here. - ["Land_Cargo_HQ_V2_F",[22894.7,16766,3.19],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Cargo_HQ_V1_F",[22918.1,16761.9,3.18151],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Cargo_HQ_V3_F",[22907.6,16740.3,3.17544],[[0,1,0],[0,0,1]],[true,false]], - ["Land_Dome_Small_F",[22908.2,16808.8,3.19],[[0,1,0],[0,0,1]],[true,false]] -]; // list of objects to spawn as landscape using output from M3EDEN editor. - -_missionLootBoxes = [ // Paste appropriate lines from M3EDEN editor output here, then add the appropriate lootArray - // [["box_classname1",_customLootArray1,[px,py,pz],...,_customLootArray1],["box_classname2",,[px2,py2,pz2],...,_customLootArray2] - // where _customLootArray follows the same format as blck_BoxLoot_Red and the other pre-defined arrays and - // where _customlootcountsarray1 also follows the same format as the predefined arrays like blck_lootCountsRed - ["Box_NATO_Ammo_F",[22917.4,16763,6.30803],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1] ], - ["Box_NATO_Ammo_F",[22893,16766.8,6.31652],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts], - ["Box_NATO_Ammo_F",[22904.8,16742.5,6.30195],[[0,1,0],[0,0,1]],[true,false], _crateLoot, _lootCounts] -]; // If this array is empty a single loot chest will be added at the center. If you add items loot chest(s) will be spawned in specific positions. - - - -_missionLootVehicles = [ // Paste appropriate lines from the output of M3EDEN Editor here and add the loot crate type and loot counts at the end of each entry as shown in the example below. - // Many vehicles have less inventory capacity than crates so you may have to modify _lootcounts to avoid having stuff spawned all over the ground. - ["Exile_Car_Van_Box_Guerilla02",[22896.8,16790.1,3.18987],[[0,1,0],[0,0,1]],[true,false], _crateLoot, [[1,2],[4,6],[2,6],[5,8],6,1]], - ["Exile_Car_Van_Fuel_Guerilla02",[22919,16782.7,3.18132],[[0,1,0],[0.00129187,0,0.999999]],[true,false],_crateLoot, _lootCounts] -]; // [ ["vehicleClassName", [px, py, pz] /* possition at which to spawn*/, _loot /* pointer to array of loot (see below)]; -// When blank nothing is spawned. -// You can use the same format used for _missionLootBoxes to add vehicles with/without loot. - -_noEmplacedWeapons = blck_SpawnEmplaced_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4] -//format: _noEmplacedWeapons = [2,3]; // a range of values -// or _noEmplacedWeapons = 3; // a constant number of emplaced weps per misison -// Note that this value is ignored if you define static weapon positions and types in the array below. -_missionEmplacedWeapons = [ - ["B_G_Mortar_01_F",[22867.3,16809.1,3.17968],"red"], - ["B_G_Mortar_01_F",[22944.3,16820.5,3.14243],"green"] -]; // example [ ["emplacedClassName",[px, py, pz] /* position to spawn weapon */, difficulty /* difficulty of AI manning weapon (blue, red etc)] ]; - // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used - // If the number of possible locations exceeds the number of emplaced weapons specified above then only some of the locations in the array will have emplaced weapons spawned. - // If you leave this array blank then emplaced weapons will be spawned at random locations around the mission using the default list of emplace weapons. - -_minNoAI = blck_MinAI_Red; // Modify as needed -_maxNoAI = blck_MaxAI_Red; // Modify as needed. -_noAIGroups = blck_AIGrps_Red; // Modify as needed; note that these values are ignored of you specify AI patrols in the array below. -_aiGroupParameters = [ - // [ [px, py, pz] /* position*/, "difficulty", 4 /*Number to Spawn*/, 150 /*radius of patrol*/] - [[22920.4,16887.3,3.19144],"red",4, 75], - [[22993.3,16830.8,5.6292],"red",4, 75], - [[22947.8,16717,6.80305],"red",4, 75], - [[22849,16720.4,7.33123],"red",4, 75], - [[22832.9,16805.6,4.59315],"red",4, 75], - [[22909.8,16778.6,3.19144],"red",4, 75], - [[22819.4,16929.5,5.33892],"red",4, 75], - [[22819.4,16929.5,5.33892],"red",4, 75] -]; - -_noVehiclePatrols = blck_SpawnVeh_Red; // Modified as needed; can be a numberic value (e.g. 3) or range presented as [2,4]; - // Note that this value is ignored if you define vehicle patrols in the array below. -_vehiclePatrolParameters = [ - ["B_G_Offroad_01_armed_F",[22819.4,16929.5,3.17413],"red", 600], - ["B_G_Offroad_01_repair_F",[22809.5,16699.2,8.78706],"green", 600] -]; //[ ["vehicleClassName",[px,py,pz] /* center of patrol area */, difficulty /* blue, red etc*/, patrol radius] ] - // When this array is empty, vehicle patrols will be scattered randomely around the mission. - // Allows you to define the location of the center of the patrol, vehicle type spawned, radius to patrol, and AI difficulty (blue, red, green etc). - -_aircraftTypes = blck_patrolHelisRed; // You can use one of the pre-defined lists in blck_configs or your own custom array. -_noAirPatrols = blck_noPatrolHelisRed; // You can use one of the pre-defined values or a custom one. acceptable values are integers (1,2,3) or a range such as [2,4]; - // Note: this value is ignored if you specify air patrols in the array below. -_airPatrols = [ - ["Exile_Chopper_Huey_Armed_Green",[22923.4,16953,3.19],"red"], - ["Exile_Chopper_Hellcat_FIA",[22830.2,16618.1,11.4549],"green"] -]; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = blck_useMines; // Set to false if you have vehicles patrolling nearby. -_uniforms = blck_SkinList; // You can replace this list with a custom list of uniforms if you like. -_headgear = blck_headgear; // You can replace this list with a custom list of headgear. -_weapons = blck_WeaponList_Orange; // You can replace this list with a customized list of weapons, or another predifined list from blck_configs_epoch or blck_configs_exile as appropriate. - -#include "\q\addons\custom_server\Missions\Static\Code\GMS_fnc_sm_spawnMission.sqf"; diff --git a/@epochhive/addons/custom_server/SLS/SLS_defines_epoch.sqf b/@epochhive/addons/custom_server/SLS/SLS_defines_epoch.sqf deleted file mode 100644 index e3d2ba8..0000000 --- a/@epochhive/addons/custom_server/SLS/SLS_defines_epoch.sqf +++ /dev/null @@ -1,207 +0,0 @@ -/* - Define loot crate configurations for Epoch. - - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ -diag_log "Loading Static Loot Container Spawning System for Epoch"; -_lootBoxes = -[ - /*[ - - "altis", // map name - "Camp1", // a name for this region for logging and debuging purpses and to help identify the definition down the road when changing things on the server - 2, // number of locations specified from the list below at which to spawn crates - [ // format here is [[position x, y, z], direction, exact / loose placement (true/false), smoke near crate (true/false] - [[23555.9,18422.7,0.730287],0,true, false], // loadout (0-4), false=random placement near position, true = show smoke at position - [[23542.1,18435.9,0.00143886],0,true, false], - [[23514,18452.5,0.00143886],0,true, false], - [[23534.2,18418.8,0.00143886],0,false, true] - ] - - ], - [ "altis", - "refuel", - 2, - [ // format here is [[position x, y, z], direction, exact / loose placement (true/false), smoke near crate (true/false] - [[22963.8,17041.3,0.00143886],0,false, false], - [[22942.8,17038,0.00143886],0,false, false], - [[22948.7,17054,0.00143886],0,false, false] - ] // No comma after this last one - ] // No comma after this last one - */ -]; - -private["_loot_uniforms","_loot_pistols","_loot_rifles","_loot_snipers","_loot_LMG","_loot_silencers"]; -// Edit these to your liking -//Uniforms -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_uniforms = ["U_O_CombatUniform_ocamo", "U_O_GhillieSuit", "U_O_PilotCoveralls", "U_O_Wetsuit", "U_OG_Guerilla1_1", "U_OG_Guerilla2_1", "U_OG_Guerilla2_3", "U_OG_Guerilla3_1", "U_OG_Guerilla3_2", "U_OG_leader", "U_C_Poloshirt_stripped", "U_C_Poloshirt_blue", - "U_C_Poloshirt_burgundy", "U_C_Poloshirt_tricolour", "U_C_Poloshirt_salmon", "U_C_Poloshirt_redwhite", "U_C_Poor_1", "U_C_WorkerCoveralls", "U_C_Journalist", "U_C_Scientist", "U_OrestesBody", "U_Wetsuit_uniform", "U_Wetsuit_White", "U_Wetsuit_Blue", - "U_Wetsuit_Purp", "U_Wetsuit_Camo", "U_CamoRed_uniform", "U_CamoBrn_uniform", "U_CamoBlue_uniform", "U_Camo_uniform", "U_ghillie1_uniform", "U_ghillie2_uniform", "U_ghillie3_uniform","U_B_FullGhillie_ard","U_I_FullGhillie_ard","U_O_FullGhillie_ard", - "Full Ghillie Suit Semi-Arid:","U_B_FullGhillie_sard","U_O_FullGhillie_sard","U_I_FullGhillie_sard","Full Ghillie Suit Lush","U_B_FullGhillie_lsh","U_O_FullGhillie_lsh","U_I_FullGhillie_lsh"]; - -//Weapons -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - -_loot_pistols = blck_Pistols; - -_loot_rifles = blck_RifleAsault + blck_apexWeapons; -_loot_snipers = blck_RifleSniper + blck_DLC_Sniper; -_loot_LMG = blck_RifleLMG + blck_DLC_MMG; -_loot_magazines = [ // Ignored 5.56, SMG and pistol ammo as most players seem to have little interest in it when given the choice to use higher caliber amo. - "100Rnd_65x39_caseless_mag", - "100Rnd_65x39_caseless_mag_Tracer", - "10Rnd_127x54_Mag", - "10Rnd_338_Mag", - "10Rnd_762x54_Mag", - "10Rnd_93x64_DMR_05_Mag", - "130Rnd_338_Mag", // SPMG - "150Rnd_762x54_Box", - "150Rnd_762x54_Box_Tracer", - "150Rnd_93x64_Mag", // NAVID - "16Rnd_9x21_Mag", - "200Rnd_65x39_cased_Box", - "200Rnd_65x39_cased_Box_Tracer", - "20Rnd_762x51_Mag", - "30Rnd_65x39_caseless_green", - "30Rnd_65x39_caseless_green_mag_Tracer", - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer", - // Apex - "30Rnd_580x42_Mag_F", - "30Rnd_580x42_Mag_Tracer_F", - "100Rnd_580x42_Mag_F", - "100Rnd_580x42_Mag_Tracer_F", - "20Rnd_650x39_Cased_Mag_F", - "10Rnd_50BW_Mag_F", - "150Rnd_556x45_Drum_Mag_F", - "150Rnd_556x45_Drum_Mag_Tracer_F", - "30Rnd_762x39_Mag_F", - "30Rnd_762x39_Mag_Green_F", - "30Rnd_762x39_Mag_Tracer_F", - "30Rnd_762x39_Mag_Tracer_Green_F", - "30Rnd_545x39_Mag_F", - "30Rnd_545x39_Mag_Green_F", - "30Rnd_545x39_Mag_Tracer_F", - "30Rnd_545x39_Mag_Tracer_Green_F", - "200Rnd_556x45_Box_F", - "200Rnd_556x45_Box_Red_F", - "200Rnd_556x45_Box_Tracer_F", - "200Rnd_556x45_Box_Tracer_Red_F", - "10Rnd_9x21_Mag" - ]; - -//Silencers -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_silencers = ["muzzle_sr25S_epoch","muzzle_snds_H","muzzle_snds_M","muzzle_snds_L","muzzle_snds_B","muzzle_snds_H_MG","muzzle_snds_acp","muzzle_snds_93mmg","muzzle_snds_93mmg_tan", - "muzzle_snds_338_black","muzzle_snds_338_greenmuzzle_snds_338_sand"]; - -private["_loot_optics","_loot_backpacks","_loot_vests","_loot_headgear","_loot_food","_loot_misc","_loot_build"]; -//Optics -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_optics = ["optic_NVS","optic_tws","optic_tws_mg","optic_SOS","optic_LRPS","optic_DMS","optic_Arco","optic_Hamr","Elcan_epoch","Elcan_reflex_epoch","optic_MRCO","optic_Holosight", - "optic_Holosight_smg","optic_Aco","optic_ACO_grn","optic_Aco_smg","optic_ACO_grn_smg","optic_Yorris","optic_MRD","optic_AMS","optic_AMS_khk","optic_AMS_snd", - "optic_KHS_blk","optic_KHS_hex","optic_KHS_old","optic_KHS_tan"]; - -//Backpacks -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_backpacks = blck_backpacks; - -//Vests -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_vests = blck_vests; - -//Head Gear -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_headgear = ["H_1_EPOCH","H_2_EPOCH","H_3_EPOCH","H_4_EPOCH","H_5_EPOCH","H_6_EPOCH","H_7_EPOCH","H_8_EPOCH","H_9_EPOCH","H_10_EPOCH","H_11_EPOCH","H_12_EPOCH","H_13_EPOCH","H_14_EPOCH","H_15_EPOCH","H_16_EPOCH","H_17_EPOCH","H_18_EPOCH","H_19_EPOCH","H_20_EPOCH","H_21_EPOCH","H_22_EPOCH","H_23_EPOCH","H_24_EPOCH","H_25_EPOCH","H_26_EPOCH","H_27_EPOCH","H_28_EPOCH","H_29_EPOCH","H_30_EPOCH","H_31_EPOCH","H_32_EPOCH","H_33_EPOCH","H_34_EPOCH","H_35_EPOCH","H_36_EPOCH","H_37_EPOCH","H_38_EPOCH","H_39_EPOCH","H_40_EPOCH","H_41_EPOCH","H_42_EPOCH","H_43_EPOCH","H_44_EPOCH","H_45_EPOCH","H_46_EPOCH","H_47_EPOCH","H_48_EPOCH","H_49_EPOCH","H_50_EPOCH","H_51_EPOCH","H_52_EPOCH","H_53_EPOCH","H_54_EPOCH","H_55_EPOCH","H_56_EPOCH","H_57_EPOCH","H_58_EPOCH","H_59_EPOCH","H_60_EPOCH","H_61_EPOCH","H_62_EPOCH","H_63_EPOCH","H_64_EPOCH","H_65_EPOCH","H_66_EPOCH","H_67_EPOCH","H_68_EPOCH","H_69_EPOCH","H_70_EPOCH","H_71_EPOCH","H_72_EPOCH","H_73_EPOCH","H_74_EPOCH","H_75_EPOCH","H_76_EPOCH","H_77_EPOCH","H_78_EPOCH","H_79_EPOCH","H_80_EPOCH","H_81_EPOCH","H_82_EPOCH","H_83_EPOCH","H_84_EPOCH","H_85_EPOCH","H_86_EPOCH","H_87_EPOCH","H_88_EPOCH","H_89_EPOCH","H_90_EPOCH","H_91_EPOCH","H_92_EPOCH","H_93_EPOCH","H_94_EPOCH","H_95_EPOCH","H_96_EPOCH","H_97_EPOCH","H_98_EPOCH","H_99_EPOCH","H_100_EPOCH","H_101_EPOCH","H_102_EPOCH","H_103_EPOCH","H_104_EPOCH"]; - -//Food -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_food = blck_ConsumableItems; - -// Tools -//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -_loot_tools = [["Hatchet",2],["MeleeSledge",2],["ChainSaw",1]]; - -//Misc -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_Misc = ["PaintCanClear","PaintCanBlk","PaintCanBlu","PaintCanBrn","PaintCanGrn","PaintCanOra","PaintCanPur","PaintCanRed","PaintCanTeal","PaintCanYel","ItemDocument","ItemMixOil","emptyjar_epoch","FoodBioMeat","ItemSodaOrangeSherbet","ItemSodaPurple","ItemSodaMocha","ItemSodaBurst","ItemSodaRbull","sardines_epoch","meatballs_epoch","scam_epoch","sweetcorn_epoch","Towelette","HeatPack","ColdPack","VehicleRepair","VehicleRepairLg","CircuitParts","ItemCoolerE","ItemScraps","ItemScraps","lighter_epoch","EnergyPack","EnergyPackLg"]; - -//Construction -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_build = blck_epochBuildingSupplies; - -// Explosives -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_explosives = [["HandGrenade",3],["MiniGrenade",3],["SatchelCharge_Remote_Mag",3],["DemoCharge_Remote_Mag",3],["ClaymoreDirectionalMine_Remote_Mag",3]]; -_loot_launchers = ["launch_NLAW_F","launch_RPG32_F","launch_B_Titan_F","launch_Titan_short_F"]; - -// Loot Configuration 1: Heavy Weapons and explosives -_box1_Pistols = 3; -_box1_Rifles = 5; -_box1_LMG = 4; -_box1_Snipers = 3; -_box1_Mags = [2,6]; -_box1_Optics = 6; -_box1_Silencers = 5; -_box1_Explosives = 6; -_box1_FoodDrink = 6; -_box1_Misc = 3; -_box1_Backpacks = 3; -_box1_BuildingSupplies = 3; -_box1_Tools = 0; -_box1_launchers = 0; -// Note that the bonus items are listed in a nexted array within the _box1_cbonus array. It was more difficult to ocde otherwise and would have needed indexing to make it work. -_box1_bonus_items = [["SatchelCharge_Remote_Mag",3],["DemoCharge_Remote_Mag",3],["ClaymoreDirectionalMine_Remote_Mag",3]]; -_box1_bonus = 1; - -// Loot Configuration 2: Sniper Weapons and sniper scopes -_box2_Pistols = 3; -_box2_Rifles = 5; -_box2_LMG = 4; -_box2_Snipers = 3; -_box2_Mags = [2,6]; // [number of times to select a mag, min # of that mag to add, max # of that mag to add] -_box2_Optics = 6; -_box2_Silencers = 5; -_box2_Explosives = 6; -_box2_FoodDrink = 6; -_box2_Misc = 3; -_box2_Backpacks = 3; -_box2_BuildingSupplies = 3; -_box2_Tools = 0; -_box2_Misc = 0; -_box2_launchers = 0; -_box2_bonus_items = [["NVG_EPOCH",2],["ItemGPS",1],["Rangefinder",1],["Hatchet",2],["MeleeSledge",2],["ChainSaw",1],["water_epoch",10]]; -_box2_bonus = 1; - -// Loot Configuration 3: building materials and tools -_box3_Pistols = 2; -_box3_Rifles = 2; -_box3_LMG = 1; -_box3_Snipers = 1; -_box3_Mags = [4,2,6]; -_box3_Optics = 1; -_box3_Silencers = 1; -_box3_Explosives = 2; -_box3_FoodDrink = 3; -_box3_Misc = 3; -_box3_Backpacks = 1; -_box3_BuildingSupplies = [8,15]; // [Number of items, min for item, max for item] -_box3_Tools = 4; -_box3_Misc = 6; -_box3_launchers = 0; -_box3_bonus_items = [["MultiGun",3],["EnergyPack",5],["EnergyPackLg",3],["ItemLockBox",2],["jerrycan_epoch",2],["ItemGoldBar10oz",2],["ItemSilverBar",4],["ItemKiloHemp",4],["Hatchet",2],["MeleeSledge",2],["ChainSaw",1],["water_epoch",10]]; -_box3_bonus = 1; - -//////////////////////////// -// End of configurations diff --git a/@epochhive/addons/custom_server/SLS/SLS_defines_exile.sqf b/@epochhive/addons/custom_server/SLS/SLS_defines_exile.sqf deleted file mode 100644 index 15b30fe..0000000 --- a/@epochhive/addons/custom_server/SLS/SLS_defines_exile.sqf +++ /dev/null @@ -1,327 +0,0 @@ -/* - Define constants for SLS for Exile - - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -diag_log "[blckeagls] SLS : Loading Static Loot Container Spawning System for Exile"; - -_lootBoxes = -[ - /*[ - - "altis", // map name - "Camp1", // a name for this region for logging and debuging purpses and to help identify the definition down the road when changing things on the server - 2, // number of locations specified from the list below at which to spawn crates - [ // format here is [[position x, y, z], direction, exact / loose placement (true/false), smoke near crate (true/false] - [[23555.9,18422.7,0.730287],0,true, false], // loadout (0-4), false=random placement near position, true = show smoke at position - [[23542.1,18435.9,0.00143886],0,true, false], - [[23514,18452.5,0.00143886],0,true, false], - [[23534.2,18418.8,0.00143886],0,false, true] - ] - - ], - [ "altis", - "refuel", - 2, - [ // format here is [[position x, y, z], direction, exact / loose placement (true/false), smoke near crate (true/false] - [[22963.8,17041.3,0.00143886],0,false, false], - [[22942.8,17038,0.00143886],0,false, false], - [[22948.7,17054,0.00143886],0,false, false] - ] // No comma after this last one - ] // No comma after this last one - */ -]; - -private["_loot_uniforms","_loot_pistols","_loot_rifles","_loot_snipers","_loot_LMG","_loot_silencers"]; -// Edit these to your liking -//Uniforms -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_uniforms = ["U_O_CombatUniform_ocamo", "U_O_GhillieSuit", "U_O_PilotCoveralls", "U_O_Wetsuit", "U_OG_Guerilla1_1", "U_OG_Guerilla2_1", "U_OG_Guerilla2_3", "U_OG_Guerilla3_1", "U_OG_Guerilla3_2", "U_OG_leader", "U_C_Poloshirt_stripped", "U_C_Poloshirt_blue", - "U_C_Poloshirt_burgundy", "U_C_Poloshirt_tricolour", "U_C_Poloshirt_salmon", "U_C_Poloshirt_redwhite", "U_C_Poor_1", "U_C_WorkerCoveralls", "U_C_Journalist", "U_C_Scientist", "U_OrestesBody", "U_Wetsuit_uniform", "U_Wetsuit_White", "U_Wetsuit_Blue", - "U_Wetsuit_Purp", "U_Wetsuit_Camo", "U_CamoRed_uniform", "U_CamoBrn_uniform", "U_CamoBlue_uniform", "U_Camo_uniform", "U_ghillie1_uniform", "U_ghillie2_uniform", "U_ghillie3_uniform","U_B_FullGhillie_ard","U_I_FullGhillie_ard","U_O_FullGhillie_ard", - "Full Ghillie Suit Semi-Arid:","U_B_FullGhillie_sard","U_O_FullGhillie_sard","U_I_FullGhillie_sard","Full Ghillie Suit Lush","U_B_FullGhillie_lsh","U_O_FullGhillie_lsh","U_I_FullGhillie_lsh"]; - -//Weapons -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ - -_loot_pistols = blck_Pistols; -_loot_rifles = blck_RifleAsault + blck_apexWeapons; -_loot_snipers = blck_RifleSniper + blck_DLC_Sniper; -_loot_LMG = blck_RifleLMG + blck_DLC_MMG; -_loot_magazines = [ // Ignored 5.56, SMG and pistol ammo as most players seem to have little interest in it when given the choice to use higher caliber amo. - "100Rnd_65x39_caseless_mag", - "100Rnd_65x39_caseless_mag_Tracer", - "10Rnd_127x54_Mag", - "10Rnd_338_Mag", - "10Rnd_762x54_Mag", - "10Rnd_93x64_DMR_05_Mag", - "130Rnd_338_Mag", // SPMG - "150Rnd_762x54_Box", - "150Rnd_762x54_Box_Tracer", - "150Rnd_93x64_Mag", // NAVID - "16Rnd_9x21_Mag", - "200Rnd_65x39_cased_Box", - "200Rnd_65x39_cased_Box_Tracer", - "20Rnd_762x51_Mag", - "30Rnd_65x39_caseless_green", - "30Rnd_65x39_caseless_green_mag_Tracer", - "30Rnd_65x39_caseless_mag", - "30Rnd_65x39_caseless_mag_Tracer", - // Apex - "30Rnd_580x42_Mag_F", - "30Rnd_580x42_Mag_Tracer_F", - "100Rnd_580x42_Mag_F", - "100Rnd_580x42_Mag_Tracer_F", - "20Rnd_650x39_Cased_Mag_F", - "10Rnd_50BW_Mag_F", - "150Rnd_556x45_Drum_Mag_F", - "150Rnd_556x45_Drum_Mag_Tracer_F", - "30Rnd_762x39_Mag_F", - "30Rnd_762x39_Mag_Green_F", - "30Rnd_762x39_Mag_Tracer_F", - "30Rnd_762x39_Mag_Tracer_Green_F", - "30Rnd_545x39_Mag_F", - "30Rnd_545x39_Mag_Green_F", - "30Rnd_545x39_Mag_Tracer_F", - "30Rnd_545x39_Mag_Tracer_Green_F", - "200Rnd_556x45_Box_F", - "200Rnd_556x45_Box_Red_F", - "200Rnd_556x45_Box_Tracer_F", - "200Rnd_556x45_Box_Tracer_Red_F", - "10Rnd_9x21_Mag" - ]; - -//Silencers -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_silencers = ["muzzle_sr25S_epoch","muzzle_snds_H","muzzle_snds_M","muzzle_snds_L","muzzle_snds_B","muzzle_snds_H_MG","muzzle_snds_acp","muzzle_snds_93mmg","muzzle_snds_93mmg_tan", - "muzzle_snds_338_black","muzzle_snds_338_greenmuzzle_snds_338_sand"]; - -private["_loot_optics","_loot_backpacks","_loot_vests","_loot_headgear","_loot_food","_loot_misc","_loot_build"]; -//Optics -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_optics = ["optic_NVS","optic_tws","optic_tws_mg","optic_SOS","optic_LRPS","optic_DMS","optic_Arco","optic_Hamr","Elcan_epoch","Elcan_reflex_epoch","optic_MRCO","optic_Holosight", - "optic_Holosight_smg","optic_Aco","optic_ACO_grn","optic_Aco_smg","optic_ACO_grn_smg","optic_Yorris","optic_MRD","optic_AMS","optic_AMS_khk","optic_AMS_snd", - "optic_KHS_blk","optic_KHS_hex","optic_KHS_old","optic_KHS_tan"]; - -//Backpacks -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_backpacks = blck_backpacks; - -//Vests -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_vests = blck_vests; - -//Head Gear -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_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_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" - ]; - -//Food -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_food = blck_ConsumableItems; - -//Misc -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_Misc = ["Exile_Item_InstaDoc","Exile_Item_Matches","Exile_Item_CookingPot","Exile_Item_CanOpener"]; - -//Construction -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_build = ["Exile_Item_Rope","Exile_Item_DuctTape","Exile_Item_ExtensionCord","Exile_Item_FuelCanisterEmpty", - "Exile_Item_JunkMetal","Exile_Item_LightBulb","Exile_Item_CamoTentKit","Exile_Item_WorkBenchKit", - "Exile_Item_MetalBoard","Exile_Item_MetalPole","Exile_Item_Sand","Exile_Item_Cement","Exile_Item_MetalWire","Exile_Item_MetalScrews" ]; -_loot_tools = ["Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_Grinder","Exile_Item_Foolbox"]; - -// Explosives -//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ -_loot_explosives = [["HandGrenade",3],["MiniGrenade",3],["SatchelCharge_Remote_Mag",3],["DemoCharge_Remote_Mag",3],["ClaymoreDirectionalMine_Remote_Mag",3]]; -_loot_launchers = ["launch_NLAW_F","launch_RPG32_F","launch_B_Titan_F","launch_Titan_short_F"]; - -// Loot Configuration 1: Heavy Weapons and explosives -_box1_Pistols = [2,4]; -_box1_Rifles = [5,8]; -_box1_LMG = [1,4]; -_box1_Snipers = 0; -_box1_Mags = [4,8]; -_box1_Optics = [3,6]; -_box1_Silencers = [3,6]; -_box1_Explosives = [3,6]; -_box1_FoodDrink = 3; -_box1_Misc = 0; -_box1_Backpacks = 3; -_box1_BuildingSupplies = 0; -_box1_Tools = 0; - -#ifdef blck_milServer -_box1_launchers = 4; -#else -_box1_launchers = 0; -#endif -// Note that the bonus items are listed in a nexted array within the _box1_cbonus array. It was more difficult to ocde otherwise and would have needed indexing to make it work. -_box1_bonus_items = [["ItemGPS",1],["Rangefinder",1],["SatchelCharge_Remote_Mag",3],["DemoCharge_Remote_Mag",3],["ClaymoreDirectionalMine_Remote_Mag",3]]; -_box1_bonus = 1; - -// Loot Configuration 2: Sniper Weapons and sniper scopes -_box2_Pistols = 2; -_box2_Rifles = 2; -_box2_LMG = [3,6]; -_box2_Snipers = [4,8]; -_box2_Mags = [2,6]; // [number of times to select a mag, min # of that mag to add, max # of that mag to add] -_box2_Optics = 6; -_box2_Silencers = 5; -_box2_Explosives = 6; -_box2_FoodDrink = 2; -_box2_Misc = 1; -_box2_Backpacks = 3; -_box2_BuildingSupplies = 0; -_box2_Tools = 0; -_box2_Misc = 0; -#ifdef blck_milServer -_box2_launchers = 4; -#else -_box2_launchers = 0; -#endif - -_box2_bonus_items = [["ItemGPS",2],["Rangefinder",2],["SatchelCharge_Remote_Mag",1],["DemoCharge_Remote_Mag",10]]; -_box2_bonus = 1; - -// Loot Configuration 3: building materials and tools -_box3_Pistols = 2; -_box3_Rifles = 2; -_box3_LMG = 1; -_box3_Snipers = 1; -_box3_Mags = [4,6]; -_box3_Optics = 1; -_box3_Silencers = 1; -_box3_Explosives = 2; -_box3_FoodDrink = 12; -_box3_Misc = 6; -_box3_Backpacks = 1; -_box3_BuildingSupplies = [12,20]; // [Number of items, min for item, max for item] -_box3_Tools = 4; -_box3_Misc = 6; -#ifdef blck_milServer -_box3_launchers = 4; -#else -_box3_launchers = 0; -#endif - -_box3_bonus_items = [["Exile_Item_Matches",2],[ "Exile_Item_CookingPot",2],["Exile_Item_CanOpener",3],["Exile_Item_Handsaw",2],["Exile_Item_Pliers",2],["Exile_Item_Grinder",1],["Exile_Item_Foolbox",1]]; -_box3_bonus = 1; - - -//////////////////////////// -// End of configurations diff --git a/@epochhive/addons/custom_server/SLS/SLS_functions.sqf b/@epochhive/addons/custom_server/SLS/SLS_functions.sqf deleted file mode 100644 index 66f747f..0000000 --- a/@epochhive/addons/custom_server/SLS/SLS_functions.sqf +++ /dev/null @@ -1,138 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 8-23-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -//Based on the Random Loot Crates addon by Darth_Rogue & Chisel (tdwhite) -// Re-written by Ghostrider-DBD- to add features and clean up code - -// Do not touch anything below this line. -/// ******************************************************************************************************************************************************************************************************************************** -_box1_loadout = [[_loot_pistols,_box1_Pistols],[_loot_rifles,_box1_Rifles],[_loot_LMG,_box1_LMG],[_loot_snipers,_box1_Snipers],[_loot_magazines,_box1_Mags],[_loot_optics,_box1_Optics],[_loot_silencers,_box1_Silencers], - [_loot_explosives,_box1_Explosives],[_loot_food,_box1_FoodDrink],[_loot_Misc,_box1_Misc],[_loot_backpacks,_box1_Backpacks],[_loot_build,_box1_BuildingSupplies],[_loot_tools,_box1_Tools],[_loot_Misc,_box1_Misc], - [_loot_launchers,_box1_launchers],[_box1_bonus_items,_box1_bonus]]; -_box2_loadout = [[_loot_pistols,_box2_Pistols],[_loot_rifles,_box2_Rifles],[_loot_LMG,_box2_LMG],[_loot_snipers,_box2_Snipers],[_loot_magazines,_box2_Mags],[_loot_optics,_box2_Optics],[_loot_silencers,_box2_Silencers], - [_loot_explosives,_box2_Explosives],[_loot_food,_box2_FoodDrink],[_loot_Misc,_box2_Misc],[_loot_backpacks,_box2_Backpacks],[_loot_build,_box2_BuildingSupplies],[_loot_tools,_box2_Tools],[_loot_Misc,_box2_Misc], - [_loot_launchers,_box2_launchers],[_box2_bonus_items,_box2_bonus]]; -_box3_loadout = [[_loot_pistols,_box3_Pistols],[_loot_rifles,_box3_Rifles],[_loot_LMG,_box3_LMG],[_loot_snipers,_box3_Snipers],[_loot_magazines,_box3_Mags],[_loot_optics,_box3_Optics],[_loot_silencers,_box3_Silencers], - [_loot_explosives,_box3_Explosives],[_loot_food,_box3_FoodDrink],[_loot_Misc,_box3_Misc],[_loot_backpacks,_box3_Backpacks],[_loot_build,_box3_BuildingSupplies],[_loot_tools,_box3_Tools],[_loot_Misc,_box3_Misc], - [_loot_launchers,_box3_launchers],[_box3_bonus_items,_box3_bonus]]; - -// allows a visible cue to be spawned near the crate -_fn_smokeAtCrate = { // adapted from Ritchies heli crash addon - params["_pos"]; - private["_wreckChoices"]; - _wreckChoices = ["Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_Car_F","Land_Wreck_Offroad2_F","Land_Wreck_Offroad_F","Land_Tyres_F","Land_Pallets_F","Land_MetalBarrel_F"]; - // params["_pos","_mode",["_maxDist",12],["_wreckChoices",_wrecks],["_addFire",false]]; - [_pos,"random",8,_wreckChoices,false] call blck_fnc_smokeAtCrates; -}; - -// fill the crate with something -_fn_spawnCrate = { - private["_crate","_minDistfromCenter","_maxDistfromCenter","_clossestObj","_spawnOnWater","_spawnAtShore","_pos","_px","_py","_pz"]; - - params["_cratePos",["_randomLocation",true]]; - - // Spawn an Empty a Crate - // find a safe location for the crate - _minDistfromCenter = 0; - _maxDistfromCenter = 25; - _clossestObj = 10; - _spawnOnWater = 0; // water mode 0: cannot be in water , 1: can either be in water or not , 2: must be in water - _spawnAtShore = 0; // 0: does not have to be at a shore , 1: must be at a shore - - if (_randomLocation) then{ - _pos = [_cratePos,_minDistfromCenter,_maxDistfromCenter,_clossestObj,_spawnOnWater,20,_spawnAtShore] call BIS_fnc_findSafePos; // find a random loc - if (count _pos < 3) then {_pos pushback 0;}; - } - else - { - _pos = _cratePos; - //diag_log format["crate spawner using exact position %1",_pos]; - }; - #ifdef blck_debugMode - if (blck_debugLevel > 0) then - { - diag_log format["[blckeagls[ SLS :: _fn_spawnCrate %1 _randomLocation %2 crate position %3",_cratePos,_randomLocation,_pos]; - }; - #endif - private["_crateTypes","_selectedCrateType"]; - //_crateTypes = ["I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F","I_supplyCrate_F","Box_East_AmmoVeh_F","Box_NATO_AmmoVeh_F"]; - _selectedCrateType = selectRandom blck_crateTypes; - _crate = [[0,0,0],_selectedCrateType] call blck_fnc_spawnCrate; - _crate setPosATL _pos; - _crate setDir round(random(360)); - //uiSleep 1; - _crate setVectorUp surfaceNormal _pos; - _crate -}; - -_fn_setupCrates = { - params["_location","_lootType","_randomPos","_useSmoke"]; - private["_crate"]; - - _crate = [_location,_randomPos] call _fn_SpawnCrate; - while {_lootType == 0} do {_lootType = round(random(3));}; - switch(_lootType) do - { - // format here is [_arrayOfLoot, crateToLoad, magazinesToAddForEachWeaponLoaded] - case 1:{[_box1_loadout,_crate,3] call blck_fnc_loadLootItemsFromArray;}; - case 2:{[_box2_loadout, _crate,3] call blck_fnc_loadLootItemsFromArray;}; - case 3:{[_box3_loadout, _crate,3] call blck_fnc_loadLootItemsFromArray;}; - }; - if (_useSmoke) then {[getPos _crate] call _fn_smokeAtCrate;}; - #ifdef blck_debugMode - if (blck_debugON) then - { - _blck_localMissionMarker = [format["SLS%1%2",_location select 0, _location select 1],(getPos _crate),"","","ColorGreen",["mil_box",[]]]; - diag_log format["[blckeagls] SLS:: spawning diagnostic marker at %1",getPos _crate]; - // params["_missionType","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerType"]; - [_blck_localMissionMarker] execVM "debug\spawnMarker.sqf"; - }; - #endif - _crate -}; -diag_log "[blckeagls] SLS System: Functions Initialized!"; -private["_cratePosnList","_no","_ar","_x","_cratePos","_lootType","_randomPos","_useSmoke"]; - -{ - _map = _x select 0; - _name = _x select 1; - _no = _x select 2; - _ar = _x select 3; - private["_index"]; - _index = 1; - if (blck_debugON) then - { - diag_log format["[blckeagls] SLS :: main function: Location name = %3 |count _ar = %1 | _index = %2", count _ar, _index, _name]; - diag_log format["[blckeagls] SLS :: main function: count _ar = %1", _ar]; - }; - if (_map isEqualto (toLower(worldName))) then - { - _usedLocations = []; - for "_i" from 1 to _no do - { - // Pick a random element and be sure it has not already been selected_crateParams - _crateParams = selectRandom _ar; - while {_crateParams in _usedLocations} do {_crateParams = selectRandom _ar;}; // selectRandom is about 5X faster than BIS_fnc_selectRandom in my testing. - if (blck_debugON) then - { - diag_log format["[blckeagls] SLS:: spawning crate spawning crate at location name %1 with parameters of %2 --->>> %1",_name,_crateParams]; - }; - _usedLocations pushback _crateParams; - _crateParams params["_cratePos","_lootType","_randomPos","_useSmoke"]; // params is about 5x faster in my testing over _this select 0 where many local variables are defined by parsing _this. - [_cratePos,_lootType,_randomPos,_useSmoke] call _fn_setupCrates; - }; - }; -} forEach _lootBoxes; - - diff --git a/@epochhive/addons/custom_server/SLS/SLS_init.sqf b/@epochhive/addons/custom_server/SLS/SLS_init.sqf deleted file mode 100644 index 01ff573..0000000 --- a/@epochhive/addons/custom_server/SLS/SLS_init.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/* - Static loot crate spawner - by Ghostrider-DbD- - For Arma 3 Exile and Epoch - Last Updated 11/12/16 - -------------------------- - 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/ -*/ -diag_log "[blckeagls] SLS System: Initializing Static Loot Crate System!"; -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; - -if not (isNull( configFile >> "CfgPatches" >> "a3_epoch_server" )) then -{ - [] execVM "\q\addons\custom_server\SLS\SLS_init_epoch.sqf"; -}; - -if not (isNull ( configFile >> "CfgPatches" >> "exile_server" ) ) then -{ - [] execVM "\q\addons\custom_server\SLS\SLS_init_exile.sqf"; -}; -diag_log "[blckeagls] SLS System: Static loot crates ran successfully!"; -blck_SLSComplete = true; \ No newline at end of file diff --git a/@epochhive/addons/custom_server/SLS/SLS_init_epoch.sqf b/@epochhive/addons/custom_server/SLS/SLS_init_epoch.sqf deleted file mode 100644 index 195c683..0000000 --- a/@epochhive/addons/custom_server/SLS/SLS_init_epoch.sqf +++ /dev/null @@ -1,19 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -// Assemble the final executable with Epoch crate configurations and SLS code - -#include "\q\addons\custom_server\SLS\SLS_defines_epoch.sqf"; -#include "\q\addons\custom_server\SLS\SLS_functions.sqf"; diff --git a/@epochhive/addons/custom_server/SLS/SLS_init_exile.sqf b/@epochhive/addons/custom_server/SLS/SLS_init_exile.sqf deleted file mode 100644 index 2db0f9d..0000000 --- a/@epochhive/addons/custom_server/SLS/SLS_init_exile.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -#include "\q\addons\custom_server\Configs\blck_defines.hpp"; -#include "\q\addons\custom_server\SLS\SLS_defines_exile.sqf"; -#include "\q\addons\custom_server\SLS\SLS_functions.sqf"; diff --git a/@epochhive/addons/custom_server/config.cpp b/@epochhive/addons/custom_server/config.cpp deleted file mode 100644 index 8da0452..0000000 --- a/@epochhive/addons/custom_server/config.cpp +++ /dev/null @@ -1,33 +0,0 @@ -/* - for DBD Clan - By Ghostrider-DBD- - Copyright 2016 - Last Modified 3-14-17 - - -------------------------- - License - -------------------------- - All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. - - http://creativecommons.org/licenses/by-nc-sa/4.0/ -*/ - -class CfgPatches { - class custom_server { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.1; - requiredAddons[] = {}; - }; -}; - -class CfgFunctions { - class blck_init { - class blck_start { - file = "\q\addons\custom_server\init"; - class init { - postInit = 1; - }; - }; - }; -}; diff --git a/@epochhive/addons/custom_server/init/broadcastServerFPS.sqf b/@epochhive/addons/custom_server/init/broadcastServerFPS.sqf deleted file mode 100644 index 97c60ec..0000000 --- a/@epochhive/addons/custom_server/init/broadcastServerFPS.sqf +++ /dev/null @@ -1,14 +0,0 @@ - - -private["_startTime"]; -_startTime = diag_tickTime; -[] spawn { - while {true} do - { - blck_serverFPS = diag_FPS; - publicVariable "blck_serverFPS"; - uiSleep 3; - }; -}; - - diff --git a/@epochhive/addons/custom_server/init/build.sqf b/@epochhive/addons/custom_server/init/build.sqf deleted file mode 100644 index bfd7f13..0000000 --- a/@epochhive/addons/custom_server/init/build.sqf +++ /dev/null @@ -1,3 +0,0 @@ -private ["_version","_versionDate"]; -_blck_version = "6.71 Build 77"; -_blck_versionDate = "9-24-17 4:00 PM"; diff --git a/MPMissions/Exile.Altis/debug/blckClient.sqf b/MPMissions/Exile.Altis/debug/blckClient.sqf index 46b3b6e..6f7fbdc 100644 --- a/MPMissions/Exile.Altis/debug/blckClient.sqf +++ b/MPMissions/Exile.Altis/debug/blckClient.sqf @@ -1,8 +1,10 @@ //////////////////////////////////////////// // Start Server-side functions and Create, Display Mission Messages for blckeagls mission system for Arma 3 Epoch -// Last Updated 8/3/17 +// Last Updated 1/11/17 // by Ghostrider-DbD- ////////////////////////////////////////// +_blck_clientVersion = "6.72 Build 82"; +//if (_blck_clientVersion != blck_pvs_version) then {diag_log "[BLCKEAGLS CLIENT] WARNING!! CLIENT VERSION DOES NOT MATCH SERVER VERSION"}; blck_fnc_spawnMarker = compileFinal preprocessfilelinenumbers "debug\spawnMarker.sqf"; blck_fnc_deleteMarker = compileFinal preprocessfilelinenumbers "debug\deleteMarker.sqf"; blck_fnc_missionCompleteMarker = compileFinal preprocessfilelinenumbers "debug\missionCompleteMarker.sqf"; @@ -121,7 +123,7 @@ if !(isServer) then fn_handleMessage = { //private["_event","_msg","_mission"]; - //diag_log format["blck_Message ====] Paremeters = _this = %1",_this]; + diag_log format["fn_handleMessage ====] Paremeters = _this = %1",_this]; params["_event","_message",["_mission",""]]; //diag_log format["blck_Message ====] Paremeters _event %1 _message %2 paramter #3 %3",_event,_message,_mission]; @@ -154,34 +156,41 @@ if !(isServer) then }; case "reinforcements": { - if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_dynamicNotification;}; + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_missionNotification;}; //diag_log "---->>>> Reinforcements Spotted"; }; case "IED": { + playSound "Alarm"; + ["IED","Bandit Grenades Detonated Under Your Vehicle","Nearby Explosion"] call fn_missionNotification; [1] call BIS_fnc_Earthquake; - //["IED","Bandits targeted your vehicle with an IED"] call fn_dynamicNotification; - ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; }; case "showScore": { [_message select 0, _message select 1, _message select 2] call fn_killScoreNotification; }; + case "abort": + { + playSound "Alarm"; + [_event,_message,"Warning"] spawn fn_missionNotification; + }; }; }; - diag_log "blck client loaded ver 8/3/17"; + diag_log "blck client loaded ver 10/13/17 8 PM"; + diag_log "[blckeagls] starting client loop"; while {true} do { waitUntil {!(blck_message isEqualTo "")}; - //diag_log format["[blckClient] blck_Message = %1", blck_message]; + diag_log format["[blckClient] blck_Message = %1", blck_message]; private["_message"]; _message = blck_message; _message spawn fn_handleMessage; blck_Message = ""; }; + }; \ No newline at end of file diff --git a/MPMissions/Exile.Altis/debug/deleteMarker.sqf b/MPMissions/Exile.Altis/debug/deleteMarker.sqf index 5ad507c..3ed7c11 100644 --- a/MPMissions/Exile.Altis/debug/deleteMarker.sqf +++ b/MPMissions/Exile.Altis/debug/deleteMarker.sqf @@ -5,10 +5,10 @@ ////////////////////////////////////////// // delete a marker -//diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; +diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; private["_markerName"]; _markerName = _this select 0; deleteMarker _markerName; _markerName = "label" + _markerName; deleteMarker _markerName; -//diag_log format["deleteMarker complete script for _this = %1",_this]; +diag_log format["deleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf b/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf index 61e5b3c..9353c33 100644 --- a/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf +++ b/MPMissions/Exile.Altis/debug/missionCompleteMarker.sqf @@ -1,11 +1,13 @@ //////////////////////////////////////////// // Create, delete and change Mission Markers -// 8/3/17 +// 7/10/15 // by Ghostrider-DbD- ////////////////////////////////////////// // spawn a temporary marker to indicate the position of a 'completed' mission +// this will not show to JIP players private["_location","_MainMarker","_name"]; +diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; _location = _this select 0; _name = str(random(1000000)) + "MarkerCleared"; _MainMarker = createMarker [_name, _location]; @@ -14,4 +16,4 @@ _MainMarker setMarkerType "n_hq"; _MainMarker setMarkerText "Mission Cleared"; uiSleep 300; deleteMarker _MainMarker; - +diag_log format["missionCompleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/epoch.Altis/debug/blckClient.sqf b/MPMissions/epoch.Altis/debug/blckClient.sqf index 46b3b6e..6f7fbdc 100644 --- a/MPMissions/epoch.Altis/debug/blckClient.sqf +++ b/MPMissions/epoch.Altis/debug/blckClient.sqf @@ -1,8 +1,10 @@ //////////////////////////////////////////// // Start Server-side functions and Create, Display Mission Messages for blckeagls mission system for Arma 3 Epoch -// Last Updated 8/3/17 +// Last Updated 1/11/17 // by Ghostrider-DbD- ////////////////////////////////////////// +_blck_clientVersion = "6.72 Build 82"; +//if (_blck_clientVersion != blck_pvs_version) then {diag_log "[BLCKEAGLS CLIENT] WARNING!! CLIENT VERSION DOES NOT MATCH SERVER VERSION"}; blck_fnc_spawnMarker = compileFinal preprocessfilelinenumbers "debug\spawnMarker.sqf"; blck_fnc_deleteMarker = compileFinal preprocessfilelinenumbers "debug\deleteMarker.sqf"; blck_fnc_missionCompleteMarker = compileFinal preprocessfilelinenumbers "debug\missionCompleteMarker.sqf"; @@ -121,7 +123,7 @@ if !(isServer) then fn_handleMessage = { //private["_event","_msg","_mission"]; - //diag_log format["blck_Message ====] Paremeters = _this = %1",_this]; + diag_log format["fn_handleMessage ====] Paremeters = _this = %1",_this]; params["_event","_message",["_mission",""]]; //diag_log format["blck_Message ====] Paremeters _event %1 _message %2 paramter #3 %3",_event,_message,_mission]; @@ -154,34 +156,41 @@ if !(isServer) then }; case "reinforcements": { - if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_dynamicNotification;}; + if ( (player distance _mission) < 1000) then {playsound "AddItemOK"; ["Alert",_message] call fn_missionNotification;}; //diag_log "---->>>> Reinforcements Spotted"; }; case "IED": { + playSound "Alarm"; + ["IED","Bandit Grenades Detonated Under Your Vehicle","Nearby Explosion"] call fn_missionNotification; [1] call BIS_fnc_Earthquake; - //["IED","Bandits targeted your vehicle with an IED"] call fn_dynamicNotification; - ["Bandits targeted your vehicle with an IED.", 5] call Epoch_message; for "_i" from 1 to 3 do {playSound "BattlefieldExplosions3_3D";uiSleep 0.3;}; }; case "showScore": { [_message select 0, _message select 1, _message select 2] call fn_killScoreNotification; }; + case "abort": + { + playSound "Alarm"; + [_event,_message,"Warning"] spawn fn_missionNotification; + }; }; }; - diag_log "blck client loaded ver 8/3/17"; + diag_log "blck client loaded ver 10/13/17 8 PM"; + diag_log "[blckeagls] starting client loop"; while {true} do { waitUntil {!(blck_message isEqualTo "")}; - //diag_log format["[blckClient] blck_Message = %1", blck_message]; + diag_log format["[blckClient] blck_Message = %1", blck_message]; private["_message"]; _message = blck_message; _message spawn fn_handleMessage; blck_Message = ""; }; + }; \ No newline at end of file diff --git a/MPMissions/epoch.Altis/debug/deleteMarker.sqf b/MPMissions/epoch.Altis/debug/deleteMarker.sqf index 5ad507c..3ed7c11 100644 --- a/MPMissions/epoch.Altis/debug/deleteMarker.sqf +++ b/MPMissions/epoch.Altis/debug/deleteMarker.sqf @@ -5,10 +5,10 @@ ////////////////////////////////////////// // delete a marker -//diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; +diag_log format["blck_fnc_deleteMarker:: _this = %1",_this]; private["_markerName"]; _markerName = _this select 0; deleteMarker _markerName; _markerName = "label" + _markerName; deleteMarker _markerName; -//diag_log format["deleteMarker complete script for _this = %1",_this]; +diag_log format["deleteMarker complete script for _this = %1",_this]; diff --git a/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf b/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf index 61e5b3c..9353c33 100644 --- a/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf +++ b/MPMissions/epoch.Altis/debug/missionCompleteMarker.sqf @@ -1,11 +1,13 @@ //////////////////////////////////////////// // Create, delete and change Mission Markers -// 8/3/17 +// 7/10/15 // by Ghostrider-DbD- ////////////////////////////////////////// // spawn a temporary marker to indicate the position of a 'completed' mission +// this will not show to JIP players private["_location","_MainMarker","_name"]; +diag_log format["blck_fnc_missionCompleteMarker:: _this = %1",_this]; _location = _this select 0; _name = str(random(1000000)) + "MarkerCleared"; _MainMarker = createMarker [_name, _location]; @@ -14,4 +16,4 @@ _MainMarker setMarkerType "n_hq"; _MainMarker setMarkerText "Mission Cleared"; uiSleep 300; deleteMarker _MainMarker; - +diag_log format["missionCompleteMarker complete script for _this = %1",_this];