A bunch of small bug fixes and removed debugging
This commit is contained in:
parent
03c031537c
commit
0584f61c97
@ -13,7 +13,6 @@ for "_i" from 1 to (count blck_temporaryMarkers) do
|
||||
if (_i > (count blck_temporaryMarkers)) exitWith {};
|
||||
private _m = blck_temporaryMarkers deleteAt 0;
|
||||
_m params["_marker","_deleteAt"];
|
||||
|
||||
if (diag_tickTime > _deleteAt) then
|
||||
{
|
||||
deleteMarker _marker;
|
||||
|
@ -11,6 +11,5 @@
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
params[["_markerName",""]];
|
||||
|
||||
|
||||
deleteMarker _markerName;
|
||||
deleteMarker (_markerName + "label");
|
||||
|
@ -32,7 +32,7 @@ _fn_buildBlacklistedLocationsList = {
|
||||
_blacklistedLocs pushBack [_x,_minToMissions];
|
||||
} forEach blck_ActiveMissionCoords;
|
||||
|
||||
private "_bases";
|
||||
private _bases = [];
|
||||
if (blck_modType isEqualTo "Epoch") then {_bases = nearestObjects[blck_mapCenter, ["PlotPole_EPOCH"], blck_mapRange + 25000]};
|
||||
if (blck_modType isEqualTo "Exile") then {_bases = nearestObjects[blck_mapCenter, ["Exile_Construction_Flag_Static"], blck_mapRange + 25000]};
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
*/
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
|
||||
//diag_log format["starting _fnc_mainThread with time = %1",diag_tickTime];
|
||||
|
||||
private["_timer1sec","_timer5sec","_timer20sec","_timer5min","_timer5min"];
|
||||
_timer1sec = diag_tickTime;
|
||||
@ -24,7 +23,12 @@ while {true} do
|
||||
uiSleep 1;
|
||||
if (diag_tickTime > _timer1sec) then
|
||||
{
|
||||
|
||||
if (blck_showCountAliveAI) then
|
||||
{
|
||||
{
|
||||
_x call blck_fnc_updateMarkerAliveCount;
|
||||
} forEach blck_missionLabelMarkers;
|
||||
};
|
||||
_timer1sec = diag_tickTime + 1;
|
||||
};
|
||||
if (diag_tickTime > _timer5sec) then
|
||||
|
@ -15,14 +15,7 @@
|
||||
private["_numbertospawn","_safepos","_launcherType","_infantryType"];
|
||||
params[["_group","Error"],"_pos", "_center", ["_numai1",5], ["_numai2",10], ["_skillLevel","red"], ["_minDist",30], ["_maxDist",45],["_configureWaypoints",true], ["_uniforms",[]], ["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weaponList",[]],["_sideArms",[]], ["_scuba",false],["_patrolRadius",30]];
|
||||
|
||||
#ifdef blck_debugMode
|
||||
if (blck_debugLevel > 3) then
|
||||
{
|
||||
{
|
||||
diag_log format["_fnc_spawnGroup: _this select %1 = %2",_forEachIndex,_this select _forEachIndex];
|
||||
}forEach _this;
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
if (_weaponList isEqualTo []) then {_weaponList = [_skillLevel] call blck_fnc_selectAILoadout};
|
||||
@ -71,10 +64,5 @@ if !(isNull _group) then
|
||||
{
|
||||
diag_log "_fnc_spawnGroup:: ERROR CONDITION : NULL GROUP CREATED";
|
||||
};
|
||||
#ifdef blck_debugMode
|
||||
if (blck_debugLevel > 2) then
|
||||
{
|
||||
diag_log format["_fnc_spawnGroup:_group = %1",_group];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
|
@ -17,7 +17,7 @@ private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_mission
|
||||
"_AI_Vehicles","_timeOut","_aiDifficultyLevel","_missionPatrolVehicles","_missionGroups","_loadCratesTiming","_spawnCratesTiming","_assetSpawned","_hostageConfig",
|
||||
"_chanceHeliPatrol","_noPara","_chanceLoot","_heliCrew","_loadCratesTiming","_useMines","_blck_AllMissionAI","_delayTime","_groupPatrolRadius",
|
||||
"_wait","_missionStartTime","_playerInRange","_missionTimedOut","_temp","_patrolVehicles","_vehToSpawn","_noChoppers","_chancePara","_paraSkill","_marker","_vehicleCrewCount",
|
||||
"_defaultMissionLocations","_garrisonedbuildings_buildingposnsystem","_garrisonedBuilding_ATLsystem", "_isScubaMission","_markerlabel"];
|
||||
"_defaultMissionLocations","_garrisonedbuildings_buildingposnsystem","_garrisonedBuilding_ATLsystem", "_isScubaMission","_markerlabel","_missionLootBoxes"];
|
||||
|
||||
params["_coords","_markerName","_aiDifficultyLevel"];
|
||||
if (isNil "_markerLabel") then {_markerLabel = _markerMissionName};
|
||||
@ -157,26 +157,9 @@ while {_wait} do
|
||||
if (_missionTimedOut) exitWith
|
||||
{
|
||||
|
||||
// diag_log format["[blckeagls] missionSpawner (17):: Initializing mission: _cords %1 : _markerName %2 : _aiDifficultyLevel %3 _markerLabel %4",_coords,_markerName,_aiDifficultyLevel,_markerLabel];
|
||||
|
||||
diag_log format["_fnc_missionSpawner (187): mission timed out: _markerName %1 | _markerLabel %2 | time %3",_markerName,_markerLabel,diag_tickTime];
|
||||
/*
|
||||
params[
|
||||
"_coords",
|
||||
"_mines",
|
||||
"_objects",
|
||||
"_crates",
|
||||
"_blck_AllMissionAI",
|
||||
"_endMsg",
|
||||
"_markers",
|
||||
"_markerPos",
|
||||
"_markerName",
|
||||
"_markerLabel",
|
||||
["_endCondition",0],
|
||||
["_vehicles",[]],
|
||||
["_isScubaMission",false]
|
||||
|
||||
];
|
||||
*/
|
||||
[_coords,_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_markers,_markerPos,_markerName,_markerMissionName, 1] call blck_fnc_endMission;
|
||||
};
|
||||
|
||||
@ -244,10 +227,8 @@ if !(_abort) then
|
||||
if !(_scubaGroupParameters isEqualTo []) then
|
||||
{
|
||||
#define isScubaMission true
|
||||
//diag_log format["_fnc_dynamicUMSspawner: spawning scuba groups with _scubaGroupParameters = %1",_scubaGroupParameters];
|
||||
// params["_coords",["_minNoAI",3],["_maxNoAI",6],"_missionGroups",["_aiDifficultyLevel","red"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear],["_vests",blck_vests],["_backpacks",[]],["_weapons",[]],["_sideArms",blck_Pistols],["_isScubaGroup",false]];
|
||||
private _temp = [_coords, _minNoAI,_maxNoAI,count _scubaGroupParameters,_scubaGroupParameters,_aiDifficultyLevel,blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,[],blck_UMS_weapons,[],_isScubaMission] call blck_fnc_spawnMissionAI;
|
||||
diag_log format["_fnc_missionSpawner (243): _temp = %1",_temp];
|
||||
|
||||
uiSleep 2;
|
||||
_abort = _temp select 1;
|
||||
|
||||
@ -255,16 +236,9 @@ if !(_scubaGroupParameters isEqualTo []) then
|
||||
{
|
||||
_blck_AllMissionAI append (_temp select 0);
|
||||
};
|
||||
diag_log format["[blckeagls] missionSpawner:: (250) scuba AI spawned: _markerName %1 : _markerLabel %2 : count _blck_AllMissionAI = %3",_markerName,_markerLabel, count _blck_AllMissionAI];
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 0) then
|
||||
{
|
||||
diag_log format["[blckeagls] missionSpawner:: (288) AI Patrols Spawned: _cords %1 : _markerName %2 : _aiDifficultyLevel %3 _markerLabel %4",_coords,_markerName,_aiDifficultyLevel,_markerLabel];
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
_assetSpawned = objNull;
|
||||
if !(_hostageConfig isEqualTo []) then
|
||||
@ -311,10 +285,7 @@ if (_noChoppers > 0) then
|
||||
};
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (256) helipatrols spawned"};
|
||||
#endif
|
||||
|
||||
|
||||
uisleep 3;
|
||||
if !(_garrisonedBuilding_ATLsystem isEqualTo []) then
|
||||
@ -326,10 +297,7 @@ if !(_garrisonedBuilding_ATLsystem isEqualTo []) then
|
||||
};
|
||||
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (271) garrisons (ATL) spawned"};
|
||||
#endif
|
||||
|
||||
|
||||
uiSleep 3;
|
||||
if !(_garrisonedBuildings_BuildingPosnSystem isEqualTo []) then
|
||||
@ -340,10 +308,7 @@ if !(_garrisonedBuildings_BuildingPosnSystem isEqualTo []) then
|
||||
_blck_AllMissionAI append (units (_temp select 0));
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (285) garrisons (building position system) spawned"};
|
||||
#endif
|
||||
|
||||
|
||||
uiSleep 15;
|
||||
private["_noEmplacedToSpawn"];
|
||||
@ -356,15 +321,11 @@ if (blck_useStatic && (_noEmplacedToSpawn > 0)) then
|
||||
_blck_AllMissionAI append _units;
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (309) emplaced weapons spawned"};
|
||||
#endif
|
||||
|
||||
|
||||
_vehToSpawn = [_noVehiclePatrols] call blck_fnc_getNumberFromRange;
|
||||
if (blck_useVehiclePatrols && ((_vehToSpawn > 0) || !(_missionPatrolVehicles isEqualTo []) )) then
|
||||
{
|
||||
//diag_log format["_missionSpawner(315): _vehToSpawn = %1 | _missionPatrolVehicles = %2",_vehToSpawn,_missionPatrolVehicles];
|
||||
_temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_missionPatrolVehicles,useRelativePos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
|
||||
_temp params ["_patrolVehicles","_units","_abort"];
|
||||
@ -374,18 +335,15 @@ if (blck_useVehiclePatrols && ((_vehToSpawn > 0) || !(_missionPatrolVehicles isE
|
||||
// Spawn any submarine patrols
|
||||
if (blck_useVehiclePatrols && !(_submarinePatrolParameters isEqualTo []) ) then
|
||||
{
|
||||
// params["_coords","_noVehiclePatrols","_aiDifficultyLevel","_missionPatrolVehicles",["_useRelativePos",true],["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_vests",blck_vests],["_backpacks",blck_backpacks],["_weaponList",[]],["_sideArms",blck_Pistols], ["_isScubaGroup",false]];
|
||||
|
||||
_temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_submarinePatrolParameters,true,_umsUniforms,_umsHeadgear,_umsVests,[],_umsWeapons,[],isScubaMission] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
_missionAIVehicles append (_temp select 0);
|
||||
_blck_AllMissionAI append (_temp select 1);
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (330) vehicle patrols spawned"};
|
||||
#endif
|
||||
|
||||
uiSleep delayTime;
|
||||
|
||||
|
||||
if (_spawnCratesTiming isEqualTo "atMissionSpawnGround") then
|
||||
{
|
||||
if !(_missionLootBoxes isEqualTo []) then
|
||||
@ -404,10 +362,7 @@ if (_spawnCratesTiming isEqualTo "atMissionSpawnGround") then
|
||||
};
|
||||
uiSleep delayTime;;
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (355) loot crate(s) spawned"};
|
||||
#endif
|
||||
|
||||
|
||||
if !(_missionLootVehicles isEqualTo []) then
|
||||
{
|
||||
@ -416,7 +371,7 @@ if !(_missionLootVehicles isEqualTo []) then
|
||||
};
|
||||
if (_noPara > 0 && (random(1) < _chancePara) && _paraTriggerDistance == 0) then
|
||||
{
|
||||
diag_log format["_fnc_missionSpawner (436): spawning %1 paraunits at mission spawn",_noPara];
|
||||
|
||||
private _paratroops = [_coords,_noPara,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnParaUnits;
|
||||
if !(isNull _paratroops) then
|
||||
{
|
||||
@ -424,7 +379,7 @@ if (_noPara > 0 && (random(1) < _chancePara) && _paraTriggerDistance == 0) then
|
||||
};
|
||||
if (random(1) < _chanceLoot) then
|
||||
{
|
||||
diag_log format["_fnc_missionSpawner (446): spawning supplemental loot with _chanceLoot = %1",_chanceLoot];
|
||||
|
||||
private _extraCrates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_paraLoot,_paraLootCounts]], "atMissionSpawn","atMissionStartAir", "start", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
@ -433,19 +388,13 @@ if (_noPara > 0 && (random(1) < _chancePara) && _paraTriggerDistance == 0) then
|
||||
};
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (384) mission loot vehicles spawned"};
|
||||
#endif
|
||||
|
||||
|
||||
private["_missionComplete","_endIfPlayerNear","_endIfAIKilled","_secureAsset","_crateStolen","_locations"];
|
||||
_missionComplete = -1;
|
||||
_startTime = diag_tickTime;
|
||||
|
||||
#ifdef blck_debugMode
|
||||
uiSleep 10;
|
||||
if (blck_debugLevel > 2) then {diag_log "_fnc_missionSpawner (393) waiting for mission end contitions to be met"};
|
||||
#endif
|
||||
|
||||
|
||||
switch (_endCondition) do
|
||||
{
|
||||
@ -457,8 +406,7 @@ switch (_endCondition) do
|
||||
|
||||
if (blck_showCountAliveAI) then
|
||||
{
|
||||
diag_log format["_missionSpawner(419): updating AI Alive Counts for _markers = %1",_markers];
|
||||
[_markers select 1,_markerMissionName,_blck_AllMissionAI] call blck_fnc_updateMarkerAliveCount;
|
||||
|
||||
blck_missionLabelMarkers pushBack [_markers select 1,_markerMissionName,_blck_AllMissionAI];
|
||||
};
|
||||
|
||||
@ -494,7 +442,7 @@ while {_missionComplete isEqualTo -1} do
|
||||
{
|
||||
{
|
||||
private _d = _x distance (_x getVariable ["crateSpawnPos",_coords]);
|
||||
//diag_log format["crate %1 moved %2 at %3",_x,_d,diag_tickTime];
|
||||
|
||||
if (_d > 25) exitWith
|
||||
{
|
||||
_missionComplete = 1;
|
||||
@ -556,23 +504,7 @@ while {_missionComplete isEqualTo -1} do
|
||||
|
||||
if (_crateStolen) exitWith
|
||||
{
|
||||
/*
|
||||
params[
|
||||
"_coords",
|
||||
"_mines",
|
||||
"_objects",
|
||||
"_crates",
|
||||
"_blck_AllMissionAI",
|
||||
"_endMsg",
|
||||
"_markers",
|
||||
"_markerPos",
|
||||
"_markerName",
|
||||
"_markerLabel",
|
||||
["_endCondition",0],
|
||||
["_vehicles",[]],
|
||||
["_isScubaMission",false]
|
||||
];
|
||||
*/
|
||||
|
||||
[_coords,_mines,_objects,_crates, _blck_AllMissionAI,"Crate Removed from Mission Site Before Mission Completion: Mission Aborted",_markers,_markerPos,_markerName,_markerLabel, 2] call blck_fnc_endMission;
|
||||
};
|
||||
|
||||
@ -589,18 +521,12 @@ if (_spawnCratesTiming in ["atMissionEndGround","atMissionEndAir"]) then
|
||||
_crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming,_spawnCratesTiming, "end", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
if (blck_debugLevel > 0) then {diag_log format["_fnc_missionSpawner (531): _crates = %1", _crates]};
|
||||
#endif
|
||||
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _crates;
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
if (blck_debugLevel > 0) then {diag_log format["[blckeagls] missionSpawner:: (428) Crates Spawned: _cords %1 : _markerName %2 : _aiDifficultyLevel %3 _markerLabel %4",_coords,_markerName,_aiDifficultyLevel,_markerLabel]};
|
||||
#endif
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
@ -642,22 +568,7 @@ if (_secureAsset && (alive _assetSpawned)) then
|
||||
};
|
||||
if (_secureAsset && !(alive _assetSpawned)) then
|
||||
{
|
||||
/* params[
|
||||
"_coords",
|
||||
"_mines",
|
||||
"_objects",
|
||||
"_crates",
|
||||
"_blck_AllMissionAI",
|
||||
"_endMsg",
|
||||
"_markers",
|
||||
"_markerPos",
|
||||
"_markerName",
|
||||
"_markerLabel",
|
||||
["_endCondition",0],
|
||||
["_vehicles",[]],
|
||||
["_isScubaMission",false]
|
||||
];
|
||||
*/
|
||||
|
||||
[_coords,_mines,_objects,_crates,_blck_AllMissionAI,_assetKilledMsg,_markers,_markerPos,_markerName,_markerLabel, -1] call blck_fnc_endMission;
|
||||
};
|
||||
|
||||
@ -666,9 +577,7 @@ if (!(_secureAsset) || (_secureAsset && (alive _assetSpawned))) then
|
||||
[_coords,_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_markers,_markerPos,_markerName,_markerLabel, 0] call blck_fnc_endMission;
|
||||
};
|
||||
|
||||
#ifdef blck_debugMode
|
||||
if (blck_debugLevel > 2) then {diag_log format["[blckeagls] missionSpawner:: (507)end of mission: blck_fnc_endMission has returned control to _fnc_missionSpawner"]};
|
||||
#endif
|
||||
|
||||
diag_log format["_fnc_missionSpawner (643) Mission Completed | _cords %1 : _markerName %2 : _aiDifficultyLevel %3 _markerLabel %4",_coords,_markerName,_aiDifficultyLevel,_markerLabel];
|
||||
blck_missionsRun = blck_missionsRun + 1;
|
||||
diag_log format["_fnc_missionSpawner (644): Total Dyanamic Land and UMS Run = %1", blck_missionsRun];
|
||||
|
@ -77,8 +77,7 @@ if !(_missionGroups isEqualTo []) then
|
||||
blck_monitoredMissionAIGroups pushback _newGroup;
|
||||
|
||||
|
||||
_allSpawnedAI append (units _newGroup);
|
||||
diag_log format["_fnc_spawnMissionAI(77): group %1 | count _newAI = %2 | count _allSpawnedAI = %3",_forEachIndex,count (units _newGroup), count _allSpawnedAI];
|
||||
_allSpawnedAI append (units _newGroup);
|
||||
};
|
||||
}forEach _missionGroups;
|
||||
};
|
||||
|
@ -49,12 +49,6 @@ _fnc_dropMissionCrates = {
|
||||
|
||||
params[ ["_coords", [0,0,0]], ["_cratesToSpawn",[]], ["_loadCrateTiming","atMissionSpawn"],["_spawnCrateTiming","atMissionSpawn"],["_missionState","start"], ["_difficulty","red"] ];
|
||||
|
||||
/*
|
||||
private _params = ["_coords","_cratesToSpawn","_loadCrateTiming","_spawnCrateTiming","_missionState","_difficulty"];
|
||||
{
|
||||
diag_log format["_fnc_spawnMissionCrates: %1 = %2 with _foreachindex = %3",_params select _foreachindex, _this select _foreachindex, _foreachindex];
|
||||
}forEach _this;
|
||||
*/
|
||||
|
||||
if ((count _coords) == 2) then // assume only X and Y offsets are provided
|
||||
{
|
||||
@ -93,5 +87,5 @@ if (_spawnCrateTiming in ["atMissionEndAir","atMissionStartAir"]) then
|
||||
{
|
||||
[_cratesSpawned] spawn _fnc_dropMissionCrates;
|
||||
};
|
||||
//diag_log format["_fnc_spawnMissionCrates: _cratesSpawned = %1",_cratesSpawned];
|
||||
|
||||
_cratesSpawned
|
||||
|
@ -58,13 +58,7 @@ _wp setWaypointBehaviour "COMBAT";
|
||||
(group _unit) setCombatMode "RED";
|
||||
_wp setWaypointCombatMode "RED";
|
||||
|
||||
if (blck_showCountAliveAI) then
|
||||
{
|
||||
{
|
||||
diag_log format["_fnc_processAIKill: _x = %1",_x];
|
||||
_x call blck_fnc_updateMarkerAliveCount;
|
||||
} forEach blck_missionLabelMarkers;
|
||||
};
|
||||
|
||||
|
||||
if ([_unit,_killer] call blck_fnc_processIlleagalAIKills) then {
|
||||
[_unit,_killer] call GMS_fnc_handlePlayerUpdates;
|
||||
|
876
@GMS/addons/custom_server/Configs/blck_configs_default.sqf
Normal file
876
@GMS/addons/custom_server/Configs/blck_configs_default.sqf
Normal file
@ -0,0 +1,876 @@
|
||||
/*
|
||||
By Ghostrider [GRG]
|
||||
Copyright 2016
|
||||
|
||||
--------------------------
|
||||
License
|
||||
--------------------------
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
#include "\q\addons\custom_server\init\build.sqf";
|
||||
diag_log format["[blckeagls] loading default configurations for blckeagls build %1",blck_buildNumber];
|
||||
////////////
|
||||
// default 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 = EAST;
|
||||
|
||||
blck_crateMoneyBlue = [100,250];
|
||||
blck_crateMoneyRed = [175, 300];
|
||||
blck_crateMoneyGreen = [300, 500];
|
||||
blck_crateMoneyOrange = [500, 750];
|
||||
|
||||
blck_allowSalesAtBlackMktTraders = true; // Allow vehicles to be sold at Halvjes black market traders.
|
||||
|
||||
blck_maximumItemPriceInAI_Loadouts = 100;
|
||||
|
||||
blck_lightlyArmed_ARMA3 = [
|
||||
"B_G_Offroad_01_armed_F",
|
||||
"O_G_Offroad_01_armed_F",
|
||||
"B_MRAP_01_gmg_F",
|
||||
"B_MRAP_01_hmg_F",
|
||||
"O_MRAP_02_gmg_F",
|
||||
"O_MRAP_02_hmg_F",
|
||||
"I_MRAP_03_hmg_F",
|
||||
"I_MRAP_03_gmg_F",
|
||||
"B_APC_Wheeled_01_cannon_F",
|
||||
"I_APC_Wheeled_03_cannon_F"
|
||||
];
|
||||
|
||||
blck_tracked_APC_ARMA3 = [
|
||||
"B_APC_Tracked_01_rcws_F",
|
||||
"B_APC_Tracked_01_CRV_F",
|
||||
"B_APC_Tracked_01_AA_F",
|
||||
"O_APC_Tracked_02_cannon_F",
|
||||
"O_APC_Tracked_02_AA_F",
|
||||
"O_APC_Wheeled_02_rcws_F",
|
||||
"I_APC_tracked_03_cannon_F"
|
||||
];
|
||||
|
||||
blck_Tanks_ARMA3 = [
|
||||
//"B_MBT_01_arty_F",
|
||||
"B_MBT_01_mlrs_F",
|
||||
"B_MBT_01_TUSK_F",
|
||||
"O_MBT_02_cannon_F",
|
||||
//"O_MBT_02_arty_F",
|
||||
"I_MBT_03_cannon_F"
|
||||
];
|
||||
|
||||
blck_APC_CUP = [
|
||||
"CUP_B_Mastiff_GMG_GB_D",
|
||||
"CUP_B_Mastiff_HMG_GB_D",
|
||||
"CUP_B_Ridgback_HMG_GB_D",
|
||||
"CUP_B_Ridgback_GMG_GB_D",
|
||||
"CUP_B_M1128_MGS_Desert",
|
||||
"CUP_B_M1135_ATGMV_Desert_Slat",
|
||||
"CUP_B_M1133_MEV_Desert_Slat",
|
||||
"CUP_B_LAV25M240_desert_USMC",
|
||||
"CUP_B_M1129_MC_MK19_Desert_Slat",
|
||||
"CUP_B_LAV25_HQ_desert_USMC",
|
||||
"CUP_B_BRDM2_ATGM_CDF",
|
||||
"CUP_B_BTR60_CDF",
|
||||
"CUP_B_M1130_CV_M2_Desert_Slat",
|
||||
"CUP_B_M1126_ICV_MK19_Desert_Slat",
|
||||
"CUP_O_BTR90_RU",
|
||||
"CUP_O_GAZ_Vodnik_BPPU_RU",
|
||||
"CUP_B_M1126_ICV_M2_Desert",
|
||||
"CUP_B_M1126_ICV_MK19_Desert",
|
||||
"CUP_B_M1130_CV_M2_Desert",
|
||||
"CUP_B_M1126_ICV_M2_Desert_Slat",
|
||||
"CUP_B_M1133_MEV_Desert",
|
||||
"CUP_O_GAZ_Vodnik_AGS_RU",
|
||||
"CUP_O_GAZ_Vodnik_PK_RU"
|
||||
];
|
||||
|
||||
blck_Tanks_CUP = [
|
||||
"CUP_B_M2A3Bradley_USA_D",
|
||||
"CUP_B_M113_desert_USA",
|
||||
"CUP_B_M163_USA",
|
||||
"CUP_B_M6LineBacker_USA_D",
|
||||
"CUP_B_M1A1_DES_US_Army",
|
||||
"CUP_B_M1A2_TUSK_MG_DES_US_Army",
|
||||
"CUP_B_AAV_USMC",
|
||||
"CUP_B_M270_DPICM_USA",
|
||||
"CUP_B_ZSU23_CDF",
|
||||
"CUP_B_BMP2_CDF",
|
||||
"CUP_B_T72_CDF",
|
||||
"CUP_I_T34_NAPA",
|
||||
"CUP_B_Challenger2_NATO",
|
||||
"CUP_B_FV432_Bulldog_GB_D_RWS",
|
||||
"CUP_B_FV432_Bulldog_GB_D",
|
||||
"CUP_B_FV510_GB_D_SLAT",
|
||||
"CUP_B_MCV80_GB_D_SLAT",
|
||||
"CUP_O_2S6_RU",
|
||||
"CUP_O_BMP3_RU",
|
||||
"CUP_O_T90_RU",
|
||||
"CUP_O_T55_SLA",
|
||||
"CUP_O_BMP1P_TKA",
|
||||
"CUP_B_M270_DPICM_USA",
|
||||
"CUP_B_M2Bradley_USA_W",
|
||||
"CUP_B_FV510_GB_D",
|
||||
"CUP_B_MCV80_GB_D",
|
||||
"CUP_B_M7Bradley_USA_D",
|
||||
"CUP_O_2S6_RU",
|
||||
"CUP_O_BMP1_TKA"
|
||||
];
|
||||
|
||||
blck_AIPatrolVehicles = ["B_LSV_01_armed_F","I_C_Offroad_02_LMG_F","B_T_LSV_01_armed_black_F","B_T_LSV_01_armed_olive_F","B_T_LSV_01_armed_sand_F"]; // Type of vehicle spawned to defend AI bases
|
||||
blck_AIPatrolVehiclesBlue = blck_AIPatrolVehicles;
|
||||
blck_AIPatrolVehiclesRed = blck_AIPatrolVehicles;
|
||||
blck_AIPatrolVehiclesGreen = blck_AIPatrolVehicles;
|
||||
blck_AIPatrolVehiclesOrange = blck_AIPatrolVehicles;
|
||||
|
||||
// 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_Pistols_blue = blck_Pistols;
|
||||
blck_Pistols_red = blck_Pistols;
|
||||
blck_Pistols_green = blck_Pistols;
|
||||
blck_Pistols_orange = blck_Pistols;
|
||||
|
||||
blck_DLC_MMG = [
|
||||
"MMG_01_hex_F","MMG_02_sand_F","MMG_01_tan_F","MMG_02_black_F","MMG_02_camo_F"
|
||||
];
|
||||
|
||||
blck_DLC_Sniper = [
|
||||
"srifle_DMR_02_camo_F","srifle_DMR_02_F","srifle_DMR_02_sniper_F","srifle_DMR_03_F","srifle_DMR_03_tan_F","srifle_DMR_04_F","srifle_DMR_04_Tan_F","srifle_DMR_05_blk_F","srifle_DMR_05_hex_F","srifle_DMR_05_tan_F","srifle_DMR_06_camo_F","srifle_DMR_06_olive_F"
|
||||
];
|
||||
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_backpacks = ["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_backpacks + blck_ApexBackpacks;
|
||||
#endif
|
||||
blck_backpacks_blue = blck_backpacks;
|
||||
blck_backpacks_red = blck_backpacks;
|
||||
blck_backpacks_green = blck_backpacks;
|
||||
blck_backpacks_orange = blck_backpacks;
|
||||
|
||||
blck_BanditHeadgear = ["H_Shemag_khk","H_Shemag_olive","H_Shemag_tan","H_ShemagOpen_khk"];
|
||||
//This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI.
|
||||
blck_headgear = [
|
||||
"H_Cap_blk",
|
||||
"H_Cap_blk_Raven",
|
||||
"H_Cap_blu",
|
||||
"H_Cap_brn_SPECOPS",
|
||||
"H_Cap_grn",
|
||||
"H_Cap_headphones",
|
||||
"H_Cap_khaki_specops_UK",
|
||||
"H_Cap_oli",
|
||||
"H_Cap_press",
|
||||
"H_Cap_red",
|
||||
"H_Cap_tan",
|
||||
"H_Cap_tan_specops_US",
|
||||
"H_Watchcap_blk",
|
||||
"H_Watchcap_camo",
|
||||
"H_Watchcap_khk",
|
||||
"H_Watchcap_sgg",
|
||||
"H_MilCap_blue",
|
||||
"H_MilCap_dgtl",
|
||||
"H_MilCap_mcamo",
|
||||
"H_MilCap_ocamo",
|
||||
"H_MilCap_oucamo",
|
||||
"H_MilCap_rucamo",
|
||||
"H_Bandanna_camo",
|
||||
"H_Bandanna_cbr",
|
||||
"H_Bandanna_gry",
|
||||
"H_Bandanna_khk",
|
||||
"H_Bandanna_khk_hs",
|
||||
"H_Bandanna_mcamo",
|
||||
"H_Bandanna_sgg",
|
||||
"H_Bandanna_surfer",
|
||||
"H_Booniehat_dgtl",
|
||||
"H_Booniehat_dirty",
|
||||
"H_Booniehat_grn",
|
||||
"H_Booniehat_indp",
|
||||
"H_Booniehat_khk",
|
||||
"H_Booniehat_khk_hs",
|
||||
"H_Booniehat_mcamo",
|
||||
"H_Booniehat_tan",
|
||||
"H_Hat_blue",
|
||||
"H_Hat_brown",
|
||||
"H_Hat_camo",
|
||||
"H_Hat_checker",
|
||||
"H_Hat_grey",
|
||||
"H_Hat_tan",
|
||||
"H_StrawHat",
|
||||
"H_StrawHat_dark",
|
||||
"H_Beret_02",
|
||||
"H_Beret_blk",
|
||||
"H_Beret_blk_POLICE",
|
||||
"H_Beret_brn_SF",
|
||||
"H_Beret_Colonel",
|
||||
"H_Beret_grn",
|
||||
"H_Beret_grn_SF",
|
||||
"H_Beret_ocamo",
|
||||
"H_Beret_red",
|
||||
"H_Shemag_khk",
|
||||
"H_Shemag_olive",
|
||||
"H_Shemag_olive_hs",
|
||||
"H_Shemag_tan",
|
||||
"H_ShemagOpen_khk",
|
||||
"H_ShemagOpen_tan",
|
||||
"H_TurbanO_blk",
|
||||
|
||||
//Apex
|
||||
"H_MilCap_tna_F",
|
||||
"H_MilCap_ghex_F",
|
||||
"H_Booniehat_tna_F",
|
||||
"H_Beret_gen_F",
|
||||
"H_MilCap_gen_F",
|
||||
"H_Cap_oli_Syndikat_F",
|
||||
"H_Cap_tan_Syndikat_F",
|
||||
"H_Cap_blk_Syndikat_F",
|
||||
"H_Cap_grn_Syndikat_F"
|
||||
];
|
||||
blck_helmets = [
|
||||
"H_HelmetB",
|
||||
"H_HelmetB_black",
|
||||
"H_HelmetB_camo",
|
||||
"H_HelmetB_desert",
|
||||
"H_HelmetB_grass",
|
||||
"H_HelmetB_light",
|
||||
"H_HelmetB_light_black",
|
||||
"H_HelmetB_light_desert",
|
||||
"H_HelmetB_light_grass",
|
||||
"H_HelmetB_light_sand",
|
||||
"H_HelmetB_light_snakeskin",
|
||||
"H_HelmetB_paint",
|
||||
"H_HelmetB_plain_blk",
|
||||
"H_HelmetB_sand",
|
||||
"H_HelmetB_snakeskin",
|
||||
"H_HelmetCrew_B",
|
||||
"H_HelmetCrew_I",
|
||||
"H_HelmetCrew_O",
|
||||
"H_HelmetIA",
|
||||
"H_HelmetIA_camo",
|
||||
"H_HelmetIA_net",
|
||||
"H_HelmetLeaderO_ocamo",
|
||||
"H_HelmetLeaderO_oucamo",
|
||||
"H_HelmetO_ocamo",
|
||||
"H_HelmetO_oucamo",
|
||||
"H_HelmetSpecB",
|
||||
"H_HelmetSpecB_blk",
|
||||
"H_HelmetSpecB_paint1",
|
||||
"H_HelmetSpecB_paint2",
|
||||
"H_HelmetSpecO_blk",
|
||||
"H_HelmetSpecO_ocamo",
|
||||
"H_CrewHelmetHeli_B",
|
||||
"H_CrewHelmetHeli_I",
|
||||
"H_CrewHelmetHeli_O",
|
||||
"H_HelmetCrew_I",
|
||||
"H_HelmetCrew_B",
|
||||
"H_HelmetCrew_O",
|
||||
"H_PilotHelmetHeli_B",
|
||||
"H_PilotHelmetHeli_I",
|
||||
"H_PilotHelmetHeli_O",
|
||||
"H_Helmet_Skate",
|
||||
"H_HelmetB_TI_tna_F",
|
||||
// Apex
|
||||
//"H_HelmetO_ViperSP_hex_F",
|
||||
//"H_HelmetO_ViperSP_ghex_F",
|
||||
"H_HelmetB_tna_F",
|
||||
"H_HelmetB_Enh_tna_F",
|
||||
"H_HelmetB_Light_tna_F",
|
||||
"H_HelmetSpecO_ghex_F",
|
||||
"H_HelmetLeaderO_ghex_F",
|
||||
"H_HelmetO_ghex_F",
|
||||
"H_HelmetCrew_O_ghex_F"
|
||||
];
|
||||
blck_headgearList = blck_headgear + blck_helmets;
|
||||
blck_headgear_blue = blck_headgearList;
|
||||
blck_headgear_red = blck_headgearList;
|
||||
blck_headgear_green = blck_headgearList;
|
||||
blck_headgear_orange = blck_headgearList;
|
||||
|
||||
//This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI.
|
||||
blck_SkinList_Male = [
|
||||
//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_SkinList = blck_SkinList_Male;
|
||||
blck_SkinList_blue = blck_SkinList;
|
||||
blck_SkinList_red = blck_SkinList;
|
||||
blck_SkinList_green = blck_SkinList;
|
||||
blck_SkinList_orange = blck_SkinList;
|
||||
|
||||
blck_vests = [
|
||||
// DLC Vests
|
||||
"V_PlateCarrierSpec_blk","V_PlateCarrierSpec_mtp","V_PlateCarrierGL_blk","V_PlateCarrierGL_mtp","V_PlateCarrierIAGL_oli"
|
||||
];
|
||||
blck_vests_blue = blck_vests;
|
||||
blck_vests_red = blck_vests;
|
||||
blck_vests_green = blck_vests;
|
||||
blck_vests_orange = blck_vests;
|
||||
|
||||
//CraftingFood
|
||||
blck_Meats=[
|
||||
];
|
||||
blck_Drink = [
|
||||
];
|
||||
blck_Food = [
|
||||
];
|
||||
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"];
|
||||
blck_buildingMaterials = [];
|
||||
|
||||
/***************************************************************************************
|
||||
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"],
|
||||
["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"],
|
||||
["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"],
|
||||
["srifle_DMR_01_F","10Rnd_762x54_Mag"],
|
||||
["srifle_LRR_F","7Rnd_408_Mag"],
|
||||
["srifle_EBR_F","20Rnd_762x51_Mag"],
|
||||
["srifle_GM6_F","5Rnd_127x108_APDS_Mag"],
|
||||
["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["LMG_Zafir_F","150Rnd_762x54_Box"],
|
||||
["MMG_01_hex_F","150Rnd_93x64_Mag"],
|
||||
["MMG_01_tan_F","150Rnd_93x64_Mag"],
|
||||
["MMG_02_black_F","130Rnd_338_Mag"],
|
||||
["MMG_02_camo_F","130Rnd_338_Mag"],
|
||||
["MMG_02_sand_F","130Rnd_338_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],
|
||||
// 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
|
||||
["130Rnd_338_Mag",1,3],
|
||||
["150Rnd_93x64_Mag",1,3]
|
||||
],
|
||||
[ // 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
|
||||
|
||||
],
|
||||
[//Items
|
||||
|
||||
],
|
||||
[ // 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]
|
||||
]
|
||||
];
|
||||
|
||||
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"],
|
||||
["arifle_MXM_F","30Rnd_65x39_caseless_mag_Tracer"],
|
||||
["arifle_MXM_Black_F","30Rnd_65x39_caseless_mag_Tracer"],
|
||||
["srifle_DMR_01_F","10Rnd_762x54_Mag"],
|
||||
["srifle_LRR_F","7Rnd_408_Mag"],
|
||||
["srifle_EBR_F","20Rnd_762x51_Mag"],
|
||||
["srifle_GM6_F","5Rnd_127x108_APDS_Mag"],
|
||||
["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"],
|
||||
["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["LMG_Zafir_F","150Rnd_762x54_Box"],
|
||||
["MMG_01_hex_F","150Rnd_93x64_Mag"],
|
||||
["MMG_01_tan_F","150Rnd_93x64_Mag"],
|
||||
["MMG_02_black_F","130Rnd_338_Mag"],
|
||||
["MMG_02_camo_F","130Rnd_338_Mag"],
|
||||
["MMG_02_sand_F","130Rnd_338_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
|
||||
// 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],
|
||||
// Apex Ammo
|
||||
["130Rnd_338_Mag",1,3],
|
||||
["150Rnd_93x64_Mag",1,3]
|
||||
],
|
||||
[ // 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]
|
||||
],
|
||||
[
|
||||
|
||||
],
|
||||
[//Items
|
||||
// Format is ["Item name, Minimum number to add, Maximum number to add],
|
||||
],
|
||||
[ // 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]
|
||||
]
|
||||
];
|
||||
|
||||
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"],
|
||||
["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_762x54_Mag"],
|
||||
["srifle_LRR_F","7Rnd_408_Mag"],
|
||||
["srifle_EBR_F","20Rnd_762x51_Mag"],
|
||||
["srifle_GM6_F","5Rnd_127x108_APDS_Mag"],
|
||||
["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"],
|
||||
["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["LMG_Zafir_F","150Rnd_762x51_Box_Tracer"]
|
||||
],
|
||||
[//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],
|
||||
// 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]
|
||||
],
|
||||
[
|
||||
|
||||
],
|
||||
[//Items
|
||||
|
||||
],
|
||||
[ // 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]
|
||||
]
|
||||
];
|
||||
|
||||
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"],
|
||||
["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_762x54_Mag"],
|
||||
["srifle_LRR_F","7Rnd_408_Mag"],
|
||||
["srifle_EBR_F","20Rnd_762x51_Mag"],
|
||||
["srifle_GM6_F","5Rnd_127x108_APDS_Mag"],
|
||||
|
||||
["LMG_Mk200_F","200Rnd_65x39_cased_Box_Tracer"],
|
||||
["Arifle_MX_SW_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["Arifle_MX_SW_Black_F","100Rnd_65x39_caseless_mag_Tracer"],
|
||||
["LMG_Zafir_F","150Rnd_762x54_Box"],
|
||||
["MMG_01_hex_F","150Rnd_93x64_Mag"],
|
||||
["srifle_DMR_04_Tan_F","10Rnd_338_Mag"],
|
||||
["srifle_DMR_06_camo_F","10Rnd_338_Mag"]
|
||||
],
|
||||
[//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]
|
||||
],
|
||||
[
|
||||
|
||||
],
|
||||
[//Items
|
||||
|
||||
],
|
||||
[ // 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]
|
||||
]
|
||||
];
|
||||
|
||||
blck_contructionLoot = blck_BoxLoot_Orange;
|
||||
blck_highPoweredLoot = blck_BoxLoot_Orange;
|
||||
blck_supportLoot = blck_BoxLoot_Orange;
|
||||
|
||||
|
||||
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] Default Configurations Loaded";
|
||||
|
@ -526,6 +526,14 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
|
||||
"U_B_CTRG_Soldier_urb_2_F",
|
||||
"U_B_CTRG_Soldier_urb_3_F"
|
||||
];
|
||||
blck_femaleUniformsEpoch = [
|
||||
"U_CamoBlue_uniform", "U_CamoBrn_uniform", "U_CamoPinkPolka_uniform","U_CamoPink_uniform","U_CamoOutback_uniform",
|
||||
"U_CamoBubblegum_uniform","U_CamoBiker_uniform","U_CamoAloha_uniform","U_CamoRed_uniform"
|
||||
];
|
||||
blck_femaleWetsuitsEpoch = [
|
||||
"U_Wetsuit_uniform","U_Wetsuit_White","U_Wetsuit_Blue","U_Wetsuit_Purp","U_Wetsuit_Camo"
|
||||
];
|
||||
blck_SkinList = blck_femaleUniformsEpoch + blck_femaleWetsuitsEpoch + blck_SkinList_Male;
|
||||
blck_SkinList_blue = blck_SkinList;
|
||||
blck_SkinList_red = blck_SkinList;
|
||||
blck_SkinList_green = blck_SkinList;
|
||||
|
@ -65,8 +65,7 @@ if ((toLower blck_modType) isEqualTo "default") then
|
||||
"Exile_Boat_SDV_Grey"
|
||||
];
|
||||
|
||||
blck_UMS_crates =
|
||||
[
|
||||
blck_UMS_crates = blck_crateTypes;
|
||||
|
||||
];
|
||||
};
|
||||
|
@ -1,418 +0,0 @@
|
||||
/*
|
||||
Dynamic Underwater Mission Spawner
|
||||
By Ghostrider GRG
|
||||
Copyright 2016
|
||||
|
||||
--------------------------
|
||||
License
|
||||
--------------------------
|
||||
All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License.
|
||||
|
||||
http://creativecommons.org/licenses/by-nc-sa/4.0/
|
||||
*/
|
||||
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
|
||||
|
||||
#define isScubaMission true
|
||||
#define delayTime 1
|
||||
private ["_abort","_crates","_aiGroup","_objects","_mines","_blck_AllMissionAI","_blck_localMissionMarker",
|
||||
"_AI_Vehicles","_timeOut","_aiDifficultyLevel","_missionPatrolVehicles","_missionGroups","_loadCratesTiming","_spawnCratesTiming","_assetSpawned",
|
||||
"_blck_AllMissionAI","_delayTime","_wait","_missionStartTime","_playerInRange","_missionTimedOut","_temp","_patrolVehicles","_vehToSpawn","_marker","_vehicleCrewCount",
|
||||
"_defaultMissionLocations"];
|
||||
|
||||
params["_coords","_mission",["_allowReinforcements",false]];
|
||||
|
||||
_markerClass = _mission;
|
||||
_aiDifficultyLevel = _difficulty; // _difficulty is defined in the mission description file. see \addons\custom_server\Missions\UMS\dynamicMissions\default.sqf for an example
|
||||
|
||||
diag_log format["[blckeagls Dynamic UMS] dynamicUMSspawner (34):: Initializing mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
|
||||
|
||||
|
||||
if (isNil "_assetKilledMsg") then {_assetKilledMsg = ""};
|
||||
if (isNil "_markerColor") then {_markerColor = "ColorBlack"};
|
||||
if (isNil "_markerType") then {_markerType = ["mil_box",[]]};
|
||||
if (isNil "_markerSize") then {_markerSize = []};
|
||||
if (isNil "_endCondition") then {_endCondition = blck_missionEndCondition}; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"};
|
||||
if (isNil "_spawnCratesTiming") then {_spawnCratesTiming = blck_spawnCratesTiming}; // Choices: "atMissionSpawnGround","atMissionStartAir","atMissionEndGround","atMissionEndAir".
|
||||
if (isNil "_loadCratesTiming") then {_loadCratesTiming = blck_loadCratesTiming}; // valid choices are "atMissionCompletion" and "atMissionSpawn";
|
||||
if (isNil "_missionPatrolVehicles") then {_missionPatrolVehicles = []};
|
||||
if (isNil "_missionGroups") then {_missionGroups = []};
|
||||
if (isNil "_hostageConfig") then {_hostageConfig = []};
|
||||
if (isNil "_enemyLeaderConfig") then {_enemyLeaderConfig = []};
|
||||
if (isNil "_useMines") then {_useMines = blck_useMines;};
|
||||
if (isNil "_weaponList") then {_weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout};
|
||||
if (isNil "_sideArms") then {_sideArms = [_aiDifficultyLevel] call blck_fnc_selectAISidearms};
|
||||
if (isNil "_uniforms") then {_uniforms = [_aiDifficultyLevel] call blck_fnc_selectAIUniforms};
|
||||
if (isNil "_headGear") then {_headGear = [_aiDifficultyLevel] call blck_fnc_selectAIHeadgear};
|
||||
if (isNil "_vests") then {_vests = [_aiDifficultyLevel] call blck_fnc_selectAIVests};
|
||||
if (isNil "_backpacks") then {_backpacks = [_aiDifficultyLevel] call blck_fnc_selectAIBackpacks};
|
||||
if (isNil "_chanceHeliPatrol") then {_chanceHeliPatrol = [_aiDifficultyLevel] call blck_fnc_selectChanceHeliPatrol};
|
||||
if (isNil "_noChoppers") then {_noChoppers = [_aiDifficultyLevel] call blck_fnc_selectNumberAirPatrols};
|
||||
if (isNil "_chancePara") then {_chancePara = [_aiDifficultyLevel] call blck_fnc_selectChanceParatroops};
|
||||
if (isNil "_missionHelis") then {_missionHelis = [_aiDifficultyLevel] call blck_fnc_selectMissionHelis};
|
||||
if (isNil "_noPara") then {_noPara = [_aiDifficultyLevel] call blck_fnc_selectNumberParatroops};
|
||||
if (isNil "_paraSkill") then {_paraSkill = _aiDifficultyLevel};
|
||||
if (isNil "_chanceLoot") then {_chanceLoot = 1.0}; //0.5};
|
||||
if (isNil "_paraTriggerDistance") then {_paraTriggerDistance = 400;};
|
||||
if (isNil "_paraLoot") then {_paraLoot = blck_BoxLoot_Green}; // Add diffiiculty based settings
|
||||
if (isNil "_paraLootCounts") then {_paraLootCounts = blck_lootCountsRed}; // Add difficulty based settings
|
||||
if (isNil "_missionLootVehicles") then {_missionLootVehicles = []};
|
||||
if (isNil "_garrisonedBuilding_ATLsystem") then {_garrisonedBuilding_ATLsystem = []};
|
||||
if (isNil "_garrisonedBuildings_BuildingPosnSystem") then {_garrisonedBuildings_BuildingPosnSystem = []};
|
||||
if (isNil "_vehicleCrewCount") then {_vehicleCrewCount = [_aiDifficultyLevel] call GMS_fnc_selectVehicleCrewCount};
|
||||
if (isNil "_defaultMissionLocations") then {_defaultMissionLocations = []};
|
||||
if (isNil "_submarinePatrolParameters") then {_submarinePatrolParameters = []};
|
||||
if (isNil "_airpatrols") then {_airpatrols = []};
|
||||
if (isNil "_scubagroupparameters") then {_scubagroupparameters = []};
|
||||
if (isNil "_markerMissionName") then {
|
||||
diag_log format["_fnc_missionSpawner: _markerMissionName not defined, using default value"];
|
||||
_markerMissionName = "Default Mission Name";
|
||||
};
|
||||
if (isNil "_noLootCrates") then {_noLootCrates = 1};
|
||||
if (isNil "_lootCrates") then {_lootCrates = blck_crateTypes};
|
||||
if (isNil "_lootCratePositions") then {_lootCratePositions = []};
|
||||
if (isNil "_isScubaMission") then {_isScubaMission = false};
|
||||
if (isNil "_missionLootBoxes") then {_missionLootBoxes = []};
|
||||
|
||||
_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
|
||||
{
|
||||
_blck_localMissionMarker set [2, _markerMissionName];
|
||||
};
|
||||
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?
|
||||
[["start",_startMsg,_markerMissionName]] call blck_fnc_messageplayers;
|
||||
_marker = [_blck_localMissionMarker] call blck_fnc_spawnMarker;
|
||||
_blck_localMissionMarker set [0, _marker];
|
||||
////////
|
||||
// All parameters are defined, let's wait until a player is nearby or the mission has timed out
|
||||
////////
|
||||
|
||||
_missionStartTime = diag_tickTime;
|
||||
_playerInRange = false;
|
||||
_missionTimedOut = false;
|
||||
|
||||
_wait = true;
|
||||
|
||||
while {_wait} do
|
||||
{
|
||||
if ([_coords, blck_TriggerDistance, false] call blck_fnc_playerInRange) exitWith {_playerInRange = true;};
|
||||
if ([_missionStartTime,blck_MissionTimeout] call blck_fnc_timedOut) exitWith {_missionTimedOut = true;};
|
||||
uiSleep 5;
|
||||
|
||||
};
|
||||
|
||||
if (_missionTimedOut) exitWith
|
||||
{
|
||||
// Deal with the case in which the mission timed out.
|
||||
blck_priorDynamicUMS_Missions pushback [_coords,diag_tickTime];
|
||||
blck_UMS_ActiveDynamicMissions = blck_UMS_ActiveDynamicMissions - [_coords];
|
||||
blck_dynamicUMS_MissionsRuning = blck_dynamicUMS_MissionsRuning - 1;
|
||||
diag_log format["_fnc_dynamicUMSSpawner (187): mission timed out"];
|
||||
[_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 1] call blck_fnc_endMission;
|
||||
};
|
||||
|
||||
////////
|
||||
// Spawn the mission objects, loot chest, and AI
|
||||
////////
|
||||
|
||||
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 = [];
|
||||
//diag_log format["_dynamicUMSspawner"" _missionLandscape = %1 | _missionLandscapeMode = %2",_missionLandscape, _missionLandscapeMode];
|
||||
if (_missionLandscapeMode isEqualTo "random") then
|
||||
{
|
||||
_temp = [_coords,_missionLandscape, 3, 15, 2] call blck_fnc_spawnRandomLandscape;
|
||||
};
|
||||
if (_missionLandscapeMode isEqualTo "precise") then
|
||||
{
|
||||
//params["_center","_objects"];
|
||||
_temp = [_coords, _missionLandscape] call blck_fnc_spawnCompositionObjects;
|
||||
//uiSleep 1;
|
||||
};
|
||||
//diag_log format["_fnc_dynamicUMSspawner: _temp = %1, typeName _temp = %2",_temp, typeName _temp];
|
||||
if (typeName _temp isEqualTo "ARRAY") then
|
||||
{
|
||||
_objects append _temp;
|
||||
};
|
||||
|
||||
uiSleep delayTime;;
|
||||
|
||||
_temp = [_coords,_missionLootVehicles] call blck_fnc_spawnMissionLootVehicles;
|
||||
//uisleep 1;
|
||||
_crates append _temp;
|
||||
|
||||
uiSleep _delayTime;
|
||||
|
||||
private _abort = false;
|
||||
private _temp = [[],[],false];
|
||||
diag_log format["_fnc_dynamicUMSspawner: spawning infantry using data in _missionGroups with _missionGroups = %1",_missionGroups];
|
||||
// Require that the server admin define the location of any infantry patrols given that missions will be off-shore.
|
||||
// AI could be spawned on a platform or floating structure.
|
||||
if (count _missionGroups > 0) then
|
||||
{
|
||||
if (isNil "_noAIGroups") then {_noAIGroups = 1};
|
||||
diag_log format["_fnc_dynamicUMSSpawner: _noAIGroups = %1",_noAIGroups];
|
||||
// _temp = [_coords, _minNoAI,_maxNoAI,_noAIGroups,_missionGroups,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnMissionAI;
|
||||
_temp = [_coords, _minNoAI,_maxNoAI,_noAIGroups,_missionGroups,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnMissionAI;
|
||||
_blck_AllMissionAI append (_temp select 0);
|
||||
};
|
||||
|
||||
private "_temp";
|
||||
if (count _scubaGroupParameters > 0) then
|
||||
{
|
||||
//diag_log format["_fnc_dynamicUMSspawner: spawning scuba groups with _scubaGroupParameters = %1",_scubaGroupParameters];
|
||||
// params["_coords",["_minNoAI",3],["_maxNoAI",6],"_missionGroups",["_aiDifficultyLevel","red"],["_uniforms",blck_SkinList],["_headGear",blck_BanditHeadgear],["_vests",blck_vests],["_backpacks",[]],["_weapons",[]],["_sideArms",blck_Pistols],["_isScubaGroup",false]];
|
||||
_temp = [_coords, _minNoAI,_maxNoAI,count _scubaGroupParameters,_scubaGroupParameters,_aiDifficultyLevel,blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,[],blck_UMS_weapons,[],isScubaMission] call blck_fnc_spawnMissionAI;
|
||||
_blck_AllMissionAI append (_temp select 0);
|
||||
};
|
||||
|
||||
uiSleep _delayTime;
|
||||
|
||||
_temp = [[],[],false];
|
||||
_abort = false;
|
||||
private["_patrolVehicles","_vehToSpawn"];
|
||||
_vehToSpawn = 0;
|
||||
|
||||
// Spawn any surface patrols
|
||||
if (blck_useVehiclePatrols && count _vehiclePatrolParameters > 0) then
|
||||
{
|
||||
// params["_coords","_noVehiclePatrols","_aiDifficultyLevel","_missionPatrolVehicles",["_useRelativePos",true],["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_vests",blck_vests],["_backpacks",blck_backpacks],["_weaponList",[]],["_sideArms",blck_Pistols], ["_isScubaGroup",false]];
|
||||
_temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_vehiclePatrolParameters,true,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount /*,blck_UMS_weapons,blck_UMS_vests,isScubaMission*/ ] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
_missionAIVehicles append (_temp select 0);
|
||||
_blck_AllMissionAI append (_temp select 1);
|
||||
};
|
||||
// Spawn any submarine patrols
|
||||
if (blck_useVehiclePatrols && count _submarinePatrolParameters > 0) then
|
||||
{
|
||||
// params["_coords","_noVehiclePatrols","_aiDifficultyLevel","_missionPatrolVehicles",["_useRelativePos",true],["_uniforms",blck_SkinList], ["_headGear",blck_headgear],["_vests",blck_vests],["_backpacks",blck_backpacks],["_weaponList",[]],["_sideArms",blck_Pistols], ["_isScubaGroup",false]];
|
||||
_temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_submarinePatrolParameters,true,blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,[],blck_UMS_weapons,[],isScubaMission] call blck_fnc_spawnMissionVehiclePatrols;
|
||||
_missionAIVehicles append (_temp select 0);
|
||||
_blck_AllMissionAI append (_temp select 1);
|
||||
};
|
||||
|
||||
uiSleep delayTime;
|
||||
|
||||
_noChoppers = [_noChoppers] call blck_fnc_getNumberFromRange;
|
||||
_noPara = [_noPara] call blck_fnc_getNumberFromRange;
|
||||
|
||||
if (_noChoppers > 0) then
|
||||
{
|
||||
for "_i" from 1 to (_noChoppers) do
|
||||
{
|
||||
if (random(1) < _chanceHeliPatrol) then
|
||||
{
|
||||
//_temp = [_coords,_missionHelis,spawnHeli,_aiDifficultyLevel,_chancePara,_noPara,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnMissionReinforcements;
|
||||
_temp = [_coords,_aiDifficultyLevel,_missionHelis] call blck_fnc_spawnMissionHeli;
|
||||
blck_monitoredVehicles pushBack (_temp select 0);
|
||||
_blck_AllMissionAI append (_temp select 1);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
//////////////////////////
|
||||
// Spawn Crates and Emplaced Weapons Last to try to force them to correct positions relative to spawned buildinga or other objects.
|
||||
|
||||
uiSleep 15;
|
||||
private["_noEmplacedToSpawn"];
|
||||
_noEmplacedToSpawn = [_noEmplacedWeapons] call blck_fnc_getNumberFromRange;
|
||||
//diag_log format["_dynamicUMSspawner:: _noEmplacedToSpawn = %1",_vehToSpawn];
|
||||
if (blck_useStatic && ((_noEmplacedToSpawn > 0)) || count _missionEmplacedWeapons > 0) then
|
||||
{
|
||||
_temp = [_coords,_missionEmplacedWeapons,true,_noEmplacedToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnEmplacedWeaponArray;
|
||||
_objects append (_temp select 0);
|
||||
_blck_AllMissionAI append (_temp select 1);
|
||||
};
|
||||
|
||||
uiSleep _delayTime;
|
||||
if (isNil "blck_UMS_crates") then {blck_UMS_crates = blck_crateTypes};
|
||||
if (blck_UMS_crates isEqualTo []) then {blck_UMS_crates = blck_crateTypes};
|
||||
if (_spawnCratesTiming isEqualTo "atMissionSpawnGround") then
|
||||
{
|
||||
if (count _missionLootBoxes > 0) then
|
||||
{
|
||||
_crates = [_coords,_missionLootBoxes,_loadCratesTiming, _spawnCratesTiming, "start", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
}
|
||||
else
|
||||
{
|
||||
_crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming, _spawnCratesTiming, "start", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
};
|
||||
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _crates;
|
||||
};
|
||||
};
|
||||
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _crates;
|
||||
};
|
||||
if (_noPara > 0 && (random(1) < _chancePara) && _paraTriggerDistance == 0) then
|
||||
{
|
||||
private _paratroops = [_coords,_noPara,_aiDifficultyLevel,blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,[],blck_UMS_weapons,[],isScubaMission] call blck_fnc_spawnParaUnits;
|
||||
if !(isNull _paratroops) then
|
||||
{
|
||||
_blck_AllMissionAI append (units _paratroops);
|
||||
};
|
||||
if (random(1) < _chanceLoot) then
|
||||
{
|
||||
private _extraCrates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_paraLoot,_paraLootCounts]], "atMissionSpawn","atMissionStartAir", "start", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _extraCrates;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// Trigger for mission end
|
||||
private["_missionComplete","_endIfPlayerNear","_endIfAIKilled"];
|
||||
_missionComplete = -1;
|
||||
_startTime = diag_tickTime;
|
||||
if (blck_showCountAliveAI) then
|
||||
{
|
||||
if !(_marker isEqualTo "") then
|
||||
{
|
||||
[_marker,_markerMissionName,_blck_AllMissionAI] call blck_fnc_updateMarkerAliveCount;
|
||||
blck_missionMarkers pushBack [_marker,_markerMissionName,_blck_AllMissionAI];
|
||||
};
|
||||
};
|
||||
switch (_endCondition) do
|
||||
{
|
||||
case "playerNear": {_endIfPlayerNear = true;_endIfAIKilled = false;};
|
||||
case "allUnitsKilled": {_endIfPlayerNear = false;_endIfAIKilled = true;};
|
||||
case "allKilledOrPlayerNear": {_endIfPlayerNear = true;_endIfAIKilled = true;};
|
||||
};
|
||||
|
||||
private["_locations"];
|
||||
_locations = [_coords];
|
||||
{
|
||||
_locations pushback (getPos _x);
|
||||
_x setVariable["crateSpawnPos", (getPos _x)];
|
||||
} forEach _crates;
|
||||
|
||||
if (blck_showCountAliveAI) then
|
||||
{
|
||||
if !(_marker isEqualTo "") then
|
||||
{
|
||||
[_marker,_markerMissionName,_blck_AllMissionAI] call blck_fnc_updateMarkerAliveCount;
|
||||
blck_missionMarkers pushBack [_marker,_markerMissionName,_blck_AllMissionAI];
|
||||
};
|
||||
};
|
||||
|
||||
private _spawnPara = if (random(1) < _chancePara) then {true} else {false};
|
||||
_missionComplete = -1;
|
||||
while {_missionComplete isEqualTo -1} do
|
||||
{
|
||||
if ((_endIfPlayerNear) && [_locations,10,true] call blck_fnc_playerInRangeArray) exitWith {};
|
||||
if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1) exitWith {};
|
||||
|
||||
if (_spawnCratesTiming isEqualTo "atMissionSpawn") then
|
||||
{
|
||||
{
|
||||
if ({[_x] call blck_fnc_crateMoved} count _crates > 0) exitWith
|
||||
{
|
||||
_missionComplete = 1;
|
||||
_crateStolen = true;
|
||||
};
|
||||
}forEach _crates;
|
||||
};
|
||||
if (_spawnPara) then
|
||||
{
|
||||
|
||||
if ([_coords,_paraTriggerDistance,true] call blck_fnc_playerInRange) then
|
||||
{
|
||||
_spawnPara = false; // The player gets one try to spawn these.
|
||||
if (random(1) < _chancePara) then //
|
||||
{
|
||||
// blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,[],blck_UMS_weapons,[],isScubaMission] call blck_fnc_spawnParaUnits;] call blck_fnc_spawnParaUnits;
|
||||
private _paratroops = [_coords,_noPara,_aiDifficultyLevel,blck_UMS_uniforms,blck_UMS_headgear,blck_UMS_vests,[],blck_UMS_weapons,[],isScubaMission] call blck_fnc_spawnParaUnits;
|
||||
if !(isNull _paratroops) then
|
||||
{
|
||||
_blck_AllMissionAI append (units _paratroops);
|
||||
};
|
||||
if (random(1) < _chanceLoot) then
|
||||
{
|
||||
private _extraCrates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_paraLoot,_paraLootCounts]], "atMissionSpawn","atMissionStartAir", "start", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _extraCrates;
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
//diag_log format["dynamicUMSspawner:: (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["dynamicUMSspawner:: (542) 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,isScubaMission] call blck_fnc_endMission;
|
||||
};
|
||||
|
||||
if (_spawnCratesTiming in ["atMissionEndGround","atMissionEndAir"]) then
|
||||
{
|
||||
if (count _missionLootBoxes > 0) then
|
||||
{
|
||||
_crates = [_coords,_missionLootBoxes,_loadCratesTiming,_spawnCratesTiming, "end", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
}
|
||||
else
|
||||
{
|
||||
_crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]], _loadCratesTiming,_spawnCratesTiming, "end", _aiDifficultyLevel] call blck_fnc_spawnMissionCrates;
|
||||
};
|
||||
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _crates;
|
||||
};
|
||||
};
|
||||
|
||||
if (_spawnCratesTiming isEqualTo "atMissionSpawnGround" && _loadCratesTiming isEqualTo "atMissionCompletion") then
|
||||
{
|
||||
{
|
||||
[_x] call blck_fnc_loadMissionCrate;
|
||||
} forEach _crates;
|
||||
};
|
||||
|
||||
private["_result"];
|
||||
// Force passing the mission name for informational purposes.
|
||||
_blck_localMissionMarker set [2, _markerMissionName];
|
||||
if (blck_showCountAliveAI) then
|
||||
{
|
||||
//_marker setMarkerText format["%1: All AI Dead",_markerMissionName];
|
||||
{
|
||||
if ((_x select 1) isEqualTo _markerMissionName) exitWith{blck_missionMarkers deleteAt _forEachIndex};
|
||||
}forEach blck_missionMarkers;
|
||||
};
|
||||
// params["_mines","_objects","_crates","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission",["_endCondition",0],["_vehicles",[]],["_isScubaMission",false]];
|
||||
_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_mission,0,_missionAIVehicles,isScubaMission] call blck_fnc_endMission;
|
||||
|
||||
blck_missionsRun = blck_missionsRun + 1;
|
||||
diag_log format["[blckeagls] dynamicUMSspawner:: Total Dyanamic Land and UMS Run = %1", blck_missionsRun];
|
@ -7,7 +7,7 @@ Many thanks for new Coding and ideas from Grahame.
|
||||
|
||||
Significant Changes:
|
||||
=====================
|
||||
6.98 Build 204
|
||||
6.98 Build 206
|
||||
FIXED: few minor bug fixes.
|
||||
FIXED: Static Mission Loot vehicles are no longer deleted by Epoch servers when players enter them.
|
||||
FIXED: an error in coordinates for some randomly spawned missions tha added an extra 0 to the array with the coordinaates.
|
||||
|
@ -49,28 +49,32 @@ if ((toLower blck_modType) isEqualTo "default") then
|
||||
// Just some housekeeping for ghost.
|
||||
private _blck_loadingStartTime = diag_tickTime;
|
||||
#include "\q\addons\custom_server\init\build.sqf";
|
||||
diag_log format["[blckeagls] build information loaded at %1",diag_tickTime];
|
||||
//diag_log format["[blckeagls] build information loaded at %1",diag_tickTime];
|
||||
|
||||
|
||||
// compile functions
|
||||
[] call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_functions.sqf";
|
||||
diag_log format["[blckeagls] functions compiled at %1",diag_tickTime];
|
||||
//diag_log format["[blckeagls] functions compiled at %1",diag_tickTime];
|
||||
|
||||
|
||||
[] call compile preprocessfilelinenumbers "\q\addons\custom_server\Configs\blck_configs.sqf";
|
||||
diag_log format["[blckeagls] blck_configs.sqf run at %1",diag_tickTime];
|
||||
if (blck_debugOn) then {diag_log format["[blckeagls] blck_configs.sqf run at %1",diag_tickTime]};
|
||||
waitUntil{(!isNil "blck_useHC") && (!isNil "blck_simulationManager") && (!isNil "blck_debugOn") && (!isNil "blck_AI_Side")};
|
||||
uiSleep 10;
|
||||
if (blck_debugOn) then {diag_log format["[blckeagls] blck_AI_Side = %1",blck_AI_Side]};
|
||||
|
||||
// Load any user-defined specifications or overrides
|
||||
#include "\q\addons\custom_server\Configs\blck_custom_config.sqf";
|
||||
|
||||
diag_log format["[blckeagls] Custom Configurations Loaded at %1",diag_tickTime];
|
||||
diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 | blck_debugLevel = %3",blck_debugON,blck_debugLevel];
|
||||
diag_log format["[blckeagls] debug mode settings:blck_debugON = %1 | blck_debugLevel = %2",blck_debugON,blck_debugLevel];
|
||||
// blck_customConfigsLoaded
|
||||
diag_log format["[blckeagls] blck_customConfigsLoaded = %1",if(isNil "blck_customConfigsLoaded") then {"nil"} else {blck_customConfigsLoaded}];
|
||||
//diag_log format["[blckeagls] blck_CUPWeapons = %1",if(isNil "blck_CUPWeapons") then {"nil"} else {blck_CUPWeapons}];
|
||||
|
||||
// Load vaariables used to store information for the mission system.
|
||||
[] call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\blck_variables.sqf";
|
||||
diag_log format["[blckeagls] Variables loaded at %1",diag_tickTime];
|
||||
if (blck_debugOn) then {diag_log format["[blckeagls] Variables loaded at %1",diag_tickTime]};
|
||||
|
||||
// configure dynamic simulation management is this is being used.
|
||||
if (blck_simulationManager == 2) then
|
||||
@ -89,11 +93,11 @@ if (blck_spawnMapAddons) then
|
||||
|
||||
// find and set Mapcenter and size
|
||||
call compileFinal preprocessFileLineNumbers "\q\addons\custom_server\init\GMS_fnc_findWorld.sqf";
|
||||
diag_log "[blckeagls] Map-specific information defined";
|
||||
if (blck_debugOn) then {diag_log "[blckeagls] Map-specific information defined"};
|
||||
|
||||
// set up the lists of available missions for each mission category
|
||||
#include "\q\addons\custom_server\Missions\GMS_missionLists.sqf";
|
||||
diag_log "[blckeagls] Mission Lists Loaded Successfully";
|
||||
if (blck_debugOn) then {diag_log "[blckeagls] Mission Lists Loaded Successfully"};
|
||||
|
||||
call compile preprocessfilelinenumbers "\q\addons\custom_server\Missions\Static\GMS_StaticMissions_init.sqf";
|
||||
call compile preprocessfilelinenumbers "q\addons\custom_server\Missions\UMS\GMS_UMS_init.sqf"; // loads functions and spawns any static missions.
|
||||
@ -169,56 +173,31 @@ blck_townLocations = _villages + _cites + _capitals + _marine + _other + _airpor
|
||||
{
|
||||
blck_locationBlackList pushBack [locationPosition _x, blck_minDistanceFromTowns];
|
||||
} forEach blck_townLocations;
|
||||
diag_log format["_init_server: count blck_townLocations = %1 || blck_townLocations = %2",count blck_townLocations, blck_townLocations];
|
||||
|
||||
|
||||
//Start the mission timers
|
||||
if (blck_enableOrangeMissions > 0) then
|
||||
{
|
||||
//[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange] spawn blck_fnc_missionTimer;//Starts major mission system (Orange Map Markers)
|
||||
|
||||
[_missionListOrange,_pathOrange,"OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange,blck_enableOrangeMissions] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
if (blck_enableGreenMissions > 0) then
|
||||
{
|
||||
//[_missionListGreen,_pathGreen,"GreenMarker","green",blck_TMin_Green,blck_TMax_Green] spawn blck_fnc_missionTimer;//Starts major mission system 2 (Green Map Markers)
|
||||
|
||||
[_missionListGreen,_pathGreen,"GreenMarker","green",blck_TMin_Green,blck_TMax_Green,blck_enableGreenMissions] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
if (blck_enableRedMissions > 0) then
|
||||
{
|
||||
//[_missionListRed,_pathRed,"RedMarker","red",blck_TMin_Red,blck_TMax_Red] spawn blck_fnc_missionTimer;//Starts minor mission system (Red Map Markers)//Starts minor mission system 2 (Red Map Markers)
|
||||
|
||||
[_missionListRed,_pathRed,"RedMarker","red",blck_TMin_Red,blck_TMax_Red,blck_enableRedMissions] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
if (blck_enableBlueMissions > 0) then
|
||||
{
|
||||
//[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue] spawn blck_fnc_missionTimer;//Starts minor mission system (Blue Map Markers)
|
||||
|
||||
[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue,blck_enableBlueMissions] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
|
||||
#ifdef GRGserver
|
||||
diag_log "[blckeagls] Running GhostriderGaming Version";
|
||||
//diag_log format["[blckeagls] _init_server: blck_enableScoutsMissions = %1",blck_enableScoutsMissions];
|
||||
if (blck_enableScoutsMissions > 0) then
|
||||
{
|
||||
//[_missionListScouts,_pathScouts,"ScoutsMarker","red",blck_TMin_Scouts,blck_TMax_Scouts] spawn blck_fnc_missionTimer;
|
||||
[_missionListScouts,_pathScouts,"ScoutsMarker","red",blck_TMin_Scouts,blck_TMax_Scouts,blck_enableScoutsMissions,false] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
|
||||
//diag_log format["[blckeagls] _init_server: blck_enableHunterMissions = %1",blck_enableHunterMissions];
|
||||
if (blck_enableHunterMissions > 0) then
|
||||
{
|
||||
//[_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter] spawn blck_fnc_missionTimer;
|
||||
// params["_missionList","_path","_marker","_difficulty","_tMin","_tMax","_noMissions"];
|
||||
[_missionListHunters,_pathHunters,"HunterMarker","green",blck_TMin_Hunter,blck_TMax_Hunter,blck_enableHunterMissions,false] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
|
||||
// Running new version of Crash sites.
|
||||
//diag_log format["[blckeagls] _init_server: blck_maxCrashSites = %1",blck_maxCrashSites];
|
||||
if (blck_maxCrashSites > 0) then
|
||||
{
|
||||
[] execVM "\q\addons\custom_server\Missions\HeliCrashs\Crashes2.sqf";
|
||||
};
|
||||
//diag_log "loading DLS System";
|
||||
call compile preprocessfilelinenumbers "\q\addons\custom_server\DLS\DLS_init.sqf";
|
||||
#endif
|
||||
|
||||
// Setup a group for AI corpses
|
||||
blck_graveyardGroup = createGroup [blck_AI_Side,false];
|
||||
@ -247,22 +226,4 @@ if (blck_debugOn || (blck_debugLevel >= 1)) then
|
||||
} forEach [blck_MinDistanceFromMission,blck_minDistanceToBases,blck_minDistanceToPlayer,blck_minDistanceFromTowns];
|
||||
};
|
||||
*/
|
||||
if (blck_debugOn) then
|
||||
{
|
||||
diag_log "blck_init_server: <BEGIN> findSafePosn speed tests";
|
||||
private _allCoords = [];
|
||||
private _t1 = diag_tickTime;
|
||||
for "_i" from 1 to 25 do
|
||||
{
|
||||
private _coords = [] call blck_fnc_FindSafePosn;
|
||||
|
||||
};
|
||||
diag_log format["blck_init_server: time elapsed for 10000 calls to blck_fnc_findSafePosn = %1",diag_tickTime - _t1];
|
||||
_t1 = diag_tickTime;
|
||||
_allCoords = [];
|
||||
for "_j" from 1 to 25 do
|
||||
{
|
||||
private _coords = [] call blck_fnc_FindSafePosn_2;
|
||||
};
|
||||
diag_log format["blck_init_server: time elapsed for 10000 calls to blck_fnc_findSafePosn_2 = %1",diag_tickTime - _t1];
|
||||
};
|
||||
|
@ -1,4 +1,4 @@
|
||||
|
||||
#define blck_buildNumber 205
|
||||
#define blck_buildNumber 206
|
||||
#define blck_versionNumber 6.98
|
||||
#define blck_buildDate "6-3-20"
|
||||
#define blck_buildDate "6-27-20"
|
||||
|
Loading…
Reference in New Issue
Block a user