Build 134

See Changelog for details.
This commit is contained in:
Ghostrider-GRG- 2018-06-03 08:33:40 -04:00
parent 44d8342188
commit 0f50530d30
52 changed files with 2397 additions and 373 deletions

View File

@ -13,7 +13,7 @@
private _traderCites = allMapMarkers;
_tc = [];
{
if (blck_debugON) then {diag_log format["[blckeagls] _fnc_getExileLocations :: -- >> Evaluating Markertype of %1", (getMarkerType _x)];};
//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)];};

View File

@ -16,12 +16,12 @@ private["_cleanupAliveAITimer","_cleanupCompositionTimer","_isScubaMission"];
_fn_missionCleanup = {
params["_mines","_objects","_blck_AllMissionAI","_mission","_cleanupAliveAITimer","_cleanupCompositionTimer",["_isScubaMission",false]];
diag_log format["_fn_missionCleanup: blck_missionsRunning Started at %1", blck_missionsRunning];
//diag_log format["_fn_missionCleanup: blck_missionsRunning Started at %1", blck_missionsRunning];
[_mines] call blck_fnc_clearMines;
[_objects, _cleanupCompositionTimer] call blck_fnc_addObjToQue;
[_blck_AllMissionAI, (_cleanupAliveAITimer)] call blck_fnc_addLiveAItoQue;
blck_missionsRunning = blck_missionsRunning - 1;
diag_log format["_fn_missionCleanup: blck_missionsRunning reset to %1", blck_missionsRunning];
//diag_log format["_fn_missionCleanup: blck_missionsRunning reset to %1", blck_missionsRunning];
blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords];
if !(_isScubaMission) then
{
@ -43,7 +43,7 @@ _fn_missionCleanup = {
diag_log format["_fnc_endMission: _this = %1",_this];
#endif
params["_mines","_objects","_crates","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission",["_endCondition",0],["_vehicles",[]],["_isScubaMission",false]];
diag_log format["_fnc_endMission (44): _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _endCondition %4",_blck_localMissionMarker,_coords,_mission,_endCondition];
//diag_log format["_fnc_endMission (44): _blck_localMissionMarker %1 | _coords %2 | _mission %3 | _endCondition %4",_blck_localMissionMarker,_coords,_mission,_endCondition];
#ifdef blck_debugMode
if (blck_debugLevel > 0) then
{
@ -56,7 +56,7 @@ _fn_missionCleanup = {
if (_endCondition > 0) exitWith // Mision aborted for some reason
{
diag_log format["_fnc_endMission: mission end condition > 0 | setting all timers to 0"];
//diag_log format["_fnc_endMission: mission end condition > 0 | setting all timers to 0"];
#ifdef blck_debugMode
if (blck_debugLevel > 0) then {
diag_log format["_fnc_endMission: Mission Aborted, setting all timers to 0"];
@ -82,7 +82,7 @@ _fn_missionCleanup = {
};
if (_endCondition == 0) then // Normal Mission End State
{
diag_log format["_fnc_endMission: mission end condition == 0 | setting all timers to 0"];
//diag_log format["_fnc_endMission: mission end condition == 0 | setting all timers to 0"];
private["_cleanupAliveAITimer","_cleanupCompositionTimer"];
if (blck_useSignalEnd) then
{
@ -136,5 +136,5 @@ _fn_missionCleanup = {
#ifdef blck_debugMode
diag_log format["_fnc_endMission: after to running mission end functions -> blck_missionsRunning = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_missionsRunning,blck_dynamicUMS_MissionsRuning];
#endif
diag_log format["_fnc_endMission (138): after to running mission end functions -> blck_missionsRunning = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_missionsRunning,blck_dynamicUMS_MissionsRuning];
//diag_log format["_fnc_endMission (138): after to running mission end functions -> blck_missionsRunning = %1 | blck_dynamicUMS_MissionsRuning = %2",blck_missionsRunning,blck_dynamicUMS_MissionsRuning];
_endCondition

View File

@ -47,14 +47,65 @@ 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 = blck_Pistols};
if (isNil "_vests") then {_vests = blck_vests};
if (isNil "_backpacks") then {_backpacks = blck_backpacks};
//diag_log format["_fnc_missionSpawner: -> blck_backpacks = %1", blck_backpacks];
//diag_log format["_fnc_missionSpawner: -> _backpacks = %1",_backpacks];
if (isNil "_uniforms") then {_uniforms = blck_SkinList};
if (isNil "_headGear") then {_headgear = blck_headgear};
if (isNil "_sideArms") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_sideArms = blck_Pistols_blue};
case "red": {_sideArms = blck_Pistols_red};
case "green": {_sideArms = blck_Pistols_green};
case "orange": {_sideArms = blck_Pistols_orange};
default {_sideArms = blck_Pistols};
};
};
if (isNil "_uniforms") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_uniforms = blck_SkinList_blue};
case "red": {_uniforms = blck_SkinList_red};
case "green": {_uniforms = blck_SkinList_green};
case "orange": {_uniforms = blck_SkinList_orange};
default {_uniforms = blck_SkinList};
};
};
if (isNil "_headGear") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_headGear = blck_headgear_blue};
case "red": {_headGear = blck_headgear_red};
case "green": {_headGear = blck_headgear_green};
case "orange": {_headGear = blck_headgear_orange};
default {_headGear = blck_headgear};
};
};
if (isNil "_vests") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_vests = blck_vests_blue};
case "red": {_vests = blck_vests_red};
case "green": {_vests = blck_vests_green};
case "orange": {_vests = blck_vests_orange};
default {_vests = blck_vests};
};
};
if (isNil "_backpacks") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_backpacks = blck_backpacks_blue};
case "red": {_backpacks = blck_backpacks_red};
case "green": {_backpacks = blck_backpacks_green};
case "orange": {_backpacks = blck_backpacks_orange};
default {_backpacks = blck_backpacks};
};
};
if (isNil "_chanceHeliPatrol") then
{
switch (toLower(_aiDifficultyLevel)) do
@ -112,9 +163,10 @@ if (isNil "_noPara") then
};
if (isNil "_chanceLoot") then {_chanceLoot = 1.0}; //0.5};
if (isNil "_paraTriggerDistance") then {_paraTriggerDistance = 400;};
if (isNil "_paraLoot") then {_paraLoot = blck_BoxLoot_Red};
if (isNil "_paraLoot") then {_paraLoot = blck_BoxLoot_Green};
if (isNil "_paraLootCounts") then {_paraLootCounts = blck_lootCountsRed};
_objects = [];
_mines = [];
_crates = [];
@ -623,18 +675,18 @@ if (blck_showCountAliveAI) then
}forEach blck_missionMarkers;
};
diag_log format["_fnc_missionSpawner (557) Build 123: _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
//diag_log format["_fnc_missionSpawner (557) Build 123: _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then
{
diag_log "Processing Mission End for Hostage Rescue";
//diag_log "Processing Mission End for Hostage Rescue";
_assetSpawned setCaptive false;
_assetSpawned setVariable["GMSAnimations",[""],true];
[_assetSpawned,""] remoteExec["switchMove",-2];;
uiSleep 0.1;
_assetSpawned enableAI "ALL";
private _newPos = (getPos _assetSpawned) getPos [1000, random(360)];
diag_log format["processing domove for hostage with current pos = %1 and new pos = %2",getPos _assetSpawned, _newPos];
//diag_log format["processing domove for hostage with current pos = %1 and new pos = %2",getPos _assetSpawned, _newPos];
(group _assetSpawned) setCurrentWaypoint [group _assetSpawned, 0];
[group _assetSpawned,0] setWaypointPosition [_newPos,0];
[group _assetSpawned,0] setWaypointType "MOVE";
@ -642,13 +694,13 @@ if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then
if (_assetSpawned getVariable["assetType",0] isEqualTo 2) then
{
diag_log format["Processing Mission End for Arrest of Leader %1 with endAnimation %2",_assetSpawned,_assetSpawned getVariable["endAnimation",""]];
//diag_log format["Processing Mission End for Arrest of Leader %1 with endAnimation %2",_assetSpawned,_assetSpawned getVariable["endAnimation",""]];
[_assetSpawned,""] remoteExec["switchMove",-2];
_assetSpawned setVariable["GMSAnimations",_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]],true];
[_assetSpawned,selectRandom(_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]])] remoteExec["switchMove",-2];
};
diag_log format["_fnc_missionSpawner (579) Build 123: <calling blck_fnc_endMission> _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
//diag_log format["_fnc_missionSpawner (579) Build 123: <calling blck_fnc_endMission> _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 0] call blck_fnc_endMission;

View File

@ -0,0 +1,660 @@
/*
Dynamic Mission Spawner (over-ground missions)
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 delayTime 1
private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_assetKilledMsg","_enemyLeaderConfig",
"_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","_marker"];
params["_coords","_markerClass","_aiDifficultyLevel"];
////////
// 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["OrangeMarker","orange",blck_TMin_Orange,blck_TMax_Orange];
//_markerClass = _mission select 0;
// _aiDifficultyLevel = _mission select 1;
[_markerClass, "active",_coords] call blck_fnc_updateMissionQue;
blck_ActiveMissionCoords pushback _coords;
blck_missionsRunning = blck_missionsRunning + 1;
diag_log format["[blckeagls] missionSpawner (17):: 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 "_timeOut") then {_timeOut = -1;};
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 = blck_Pistols};
if (isNil "_vests") then {_vests = blck_vests};
if (isNil "_backpacks") then {_backpacks = blck_backpacks};
//diag_log format["_fnc_missionSpawner: -> blck_backpacks = %1", blck_backpacks];
//diag_log format["_fnc_missionSpawner: -> _backpacks = %1",_backpacks];
if (isNil "_uniforms") then {_uniforms = blck_SkinList};
if (isNil "_headGear") then {_headgear = blck_headgear};
if (isNil "_chanceHeliPatrol") then
{
switch (toLower(_aiDifficultyLevel)) do
{
case "blue": {_chanceHeliPatrol = blck_chanceHeliPatrolBlue};
case "red": {_chanceHeliPatrol = blck_chanceHeliPatrolRed};
case "green": {_chanceHeliPatrol = blck_chanceHeliPatrolGreen};
case "orange": {_chanceHeliPatrol = blck_chanceHeliPatrolOrange};
default {_chanceHeliPatrol = 0};
};
};
if (isNil "_noChoppers") then
{
switch (toLower(_aiDifficultyLevel)) do
{
case "blue": {_noChoppers = blck_noPatrolHelisBlue};
case "red": {_noChoppers = blck_noPatrolHelisRed};
case "green": {_noChoppers = blck_noPatrolHelisGreen};
case "orange": {_noChoppers = blck_noPatrolHelisOrange};
default {_noChoppers = 0};
};
};
if (isNil "_chancePara") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_chancePara = blck_chanceParaBlue};
case "red": {_chancePara = blck_chanceParaRed};
case "green": {_chancePara = blck_chanceParaGreen};
case "orange": {_chancePara = blck_chanceParaOrange};
default {_chancePara = 0};
};
};
if (isNil "_missionHelis") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_missionHelis = blck_patrolHelisBlue};
case "red": {_missionHelis = blck_patrolHelisRed};
case "green": {_missionHelis = blck_patrolHelisGreen};
case "orange": {_missionHelis = blck_patrolHelisOrange};
default {_missionHelis = blck_patrolHelisBlue};
};
};
if (isNil "_noPara") then
{
switch (toLower (_aiDifficultyLevel)) do
{
case "blue": {_noPara = blck_noParaBlue};
case "red": {_noPara = blck_noParaRed};
case "green": {_noPara = blck_noParaGreen};
case "orange": {_noPara = blck_noParaOrange};
default {_noPara = 0};
};
};
if (isNil "_chanceLoot") then {_chanceLoot = 1.0}; //0.5};
if (isNil "_paraTriggerDistance") then {_paraTriggerDistance = 400;};
if (isNil "_paraLoot") then {_paraLoot = blck_BoxLoot_Red};
if (isNil "_paraLootCounts") then {_paraLootCounts = blck_lootCountsRed};
_objects = [];
_mines = [];
_crates = [];
_aiGroup = [];
_missionAIVehicles = [];
_blck_AllMissionAI = [];
_AI_Vehicles = [];
_blck_localMissionMarker = [_markerClass,_coords,"","",_markerColor,_markerType];
#define delayTime 1
//_groupPatrolRadius = 50;
#ifdef blck_debugMode
diag_log "_missionSpawner: All variables initialized";
#endif
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?
[["start",_startMsg,_markerMissionName]] call blck_fnc_messageplayers;
_marker = [_blck_localMissionMarker] call blck_fnc_spawnMarker;
#ifdef blck_debugMode
if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (145) message players and spawn a mission marker";};
if (blck_debugLevel > 0) then {diag_log format["missionSpawner:: (146) _marker = %1",_marker];};
if (blck_debugLevel > 0) then {diag_log "missionSpawner:: (147) 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
////////
_missionStartTime = diag_tickTime;
_playerInRange = false;
_missionTimedOut = false;
_wait = true;
#ifdef blck_debugMode
if (blck_debugLevel > 0) then {
diag_log "missionSpawner:: (90) starting mission trigger loop"};
diag_log format["missionSpawner (163) blck_MissionTimeout = %1", blck_MissionTimeout];
#endif
while {_wait} do
{
#ifdef blck_debugMode
//diag_log "missionSpawner:: top of mission trigger loop";
if (blck_debugLevel > 2) exitWith {_playerInRange = true;diag_log "_fnc_missionSpawner (168): player trigger loop triggered by scripting";};
#endif
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;
#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,blck_MissionTimeout] call blck_fnc_timedOut];
};
#endif
};
if (_missionTimedOut) exitWith
{
diag_log format["_fnc_missionSpawner (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
////////
#ifdef blck_debugMode
if (blck_debugLevel > 0) then
{
diag_log format["[blckeagls] missionSpawner:: (200) -- >> Mission tripped: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
};
#endif
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;
_temp = [];
if (_missionLandscapeMode isEqualTo "random") then
{
_temp = [_coords,_missionLandscape, 3, 15, 2] call blck_fnc_spawnRandomLandscape;
} else {
params["_center","_objects"];
_temp = [_coords, _missionLandscape] call blck_fnc_spawnCompositionObjects;
};
if (typeName _temp isEqualTo "ARRAY") then
{
_objects append _temp;
};
#ifdef blck_debugMode
if (blck_debugLevel > 0) then
{
diag_log format["[blckeagls] missionSpawner:: (237) Landscape spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
};
#endif
uiSleep delayTime;;
_temp = [_coords,_missionLootVehicles] call blck_fnc_spawnMissionLootVehicles;
//uisleep 1;
_crates append _temp;
uiSleep delayTime;
_abort = false;
_temp = [[],[],false];
// params["_coords",_minNoAI,_maxNoAI,_missionGroups,_aiDifficultyLevel,_uniforms,_headGear,_vests",_backpacks,_weapons,sideArms,_isScubaGroup];
#ifdef blck_debugMode
private _params = [_coords,_minNoAI,_maxNoAI,_missionGroups,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms];
{
diag_log format["_fnc_missionSpawner: _param %1 label %2 = %3",_forEachIndex, _x, _params select _forEachIndex];
}forEach ["_coords","_minNoAI","_maxNoAI","_missionGroups","_aiDifficultyLevel","_uniforms","_headgear","_vests","_backpacks","_weaponList","_sideArms"];
#endif
_temp = [_coords, _minNoAI,_maxNoAI,_missionGroups,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnMissionAI;
#ifdef blck_debugMode
if (blck_debugLevel > 2) then {
diag_log format["missionSpawner :: (264) 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 :: (269) blck_fnc_spawnMissionAI returned a value of _abort = %1",_abort]; uiSleep 1;
};
#endif
if (_abort) exitWith
{
if (blck_debugLevel > 1) then {
diag_log "missionSpawner:: (277) grpNull returned, mission termination criteria met, calling blck_fnc_endMission"
};
[_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 1] call blck_fnc_endMission;
};
if !(_abort) then
{
_blck_AllMissionAI append (_temp select 0);
};
#ifdef blck_debugMode
if (blck_debugLevel > 0) then
{
diag_log format["[blckeagls] missionSpawner:: (288) AI Patrols Spawned: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
};
#endif
_assetSpawned = objNull;
if !(_hostageConfig isEqualTo []) then
{
_assetSpawned = [_coords,_hostageConfig] call blck_fnc_spawnHostage;
//diag_log format["_fnc_missionSpawner: _assetSpawned = %1",_assetSpawned];
_blck_AllMissionAI pushBack _assetSpawned;
};
if !(_enemyLeaderConfig isEqualTo []) then
{
_assetSpawned = [_coords,_enemyLeaderConfig] call blck_fnc_spawnLeader;
//diag_log format["_fnc_missionSpawner: _assetSpawned = %1",_assetSpawned];
_blck_AllMissionAI pushBack _assetSpawned;
};
#ifdef blck_debugMode
if (blck_debugLevel >= 1) then {
diag_log format["_fnc_missionSpawner: _assetSpawned = %1",_assetSpawned];
};
#endif
uiSleep delayTime;
_temp = [[],[],false];
_abort = false;
_vehToSpawn = [_noVehiclePatrols] call blck_fnc_getNumberFromRange;
if (blck_useVehiclePatrols && ((_vehToSpawn > 0) || count _missionPatrolVehicles > 0)) then
{
#define useRelativePos true
//params[_coords,_noVehiclePatrols,_aiDifficultyLevel,_missionPatrolVehicles,_useRelativePos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms, _isScubaGroup];
//_temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_missionPatrolVehicles] call blck_fnc_spawnMissionVehiclePatrols;
_temp = [_coords,_vehToSpawn,_aiDifficultyLevel,_missionPatrolVehicles,useRelativePos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnMissionVehiclePatrols;
if (typeName _temp isEqualTo "ARRAY") then
{
_abort = _temp select 2;
};
if !(_abort) then
{
_patrolVehicles = _temp select 0;
_blck_AllMissionAI append (_temp select 1);
};
};
if (_abort) exitWith
{
[_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 1] call blck_fnc_endMission;
};
uiSleep delayTime;
_temp = [[],[],false];
_abort = false;
// Deal with helicopter patrols
_temp = [];
#ifdef blck_debugMode
if (blck_debugLevel > 1) then
{
diag_log format["[blckeagls] missionSpawner:: (351) calling in heli patrol: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
};
#endif
_noChoppers = [_noChoppers] call blck_fnc_getNumberFromRange;
//_noPara = [_noPara] call blck_fnc_getNumberFromRange;
#ifdef blck_debugMode
if (blck_debugLevel > 1) then {diag_log format["_missionSpawner(322):: _noChoppers = %1 && _chancePara = %2",_noChoppers,_chancePara]};
#endif
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,_uniforms,_headGear,_vests,_backpacks,"none",_weaponList, _sideArms] call blck_fnc_spawnMissionHeli;
if (typeName _temp isEqualTo "ARRAY") then
{
_abort = _temp select 2;
blck_monitoredVehicles pushBack (_temp select 0);
_blck_AllMissionAI append (_temp select 1);
};
if (_abort) then
{
_objects pushback (_temp select 0);
[_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 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:: (389) 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["_fnc_missionSpawner: -> _noEmplacedToSpawn = %1 | blck_useStatic = %2",_noEmplacedToSpawn,blck_useStatic];
if (blck_useStatic && (_noEmplacedToSpawn > 0)) then
{
// _params = ["_coords","_missionEmplacedWeapons","_useRelativePos","_noEmplacedWeapons","_aiDifficultyLevel","_uniforms","_headGear","_vests","_backpacks","_weaponList","_sideArms"];
// _temp = [_missionEmplacedWeapons,_noEmplacedToSpawn,_aiDifficultyLevel,_coords,_uniforms,_headGear] call blck_fnc_spawnEmplacedWeaponArray;
_temp = [_coords,_missionEmplacedWeapons,useRelativePos,_noEmplacedToSpawn,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call blck_fnc_spawnEmplacedWeaponArray;
if (typeName _temp isEqualTo "ARRAY") then
{
_abort = _temp select 2;
};
if !(_abort) then
{
_objects append (_temp select 0);
_blck_AllMissionAI append (_temp select 1);
};
};
if (_abort) exitWith
{
[_mines,_objects,_crates, _blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 1] call blck_fnc_endMission;
};
uiSleep delayTime;
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 (_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
{
_blck_AllMissionAI append (units _paratroops);
};
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
{
_objects append _extraCrates;
};
};
};
// Define Triggers for mission end
private["_missionComplete","_endIfPlayerNear","_endIfAIKilled","_secureAsset","_crateStolen","_locations"];
_missionComplete = -1;
_startTime = diag_tickTime;
switch (_endCondition) do
{
case "playerNear": {_secureAsset = false; _endIfPlayerNear = true;_endIfAIKilled = false;};
case "allUnitsKilled": {_secureAsset = false; _endIfPlayerNear = false;_endIfAIKilled = true;};
case "allKilledOrPlayerNear": {_secureAsset = false; _endIfPlayerNear = true;_endIfAIKilled = true;};
case "assetSecured": {_secureAsset = true; _endIfPlayerNear = false; _endIfAIKilled = false;};
};
//diag_log format["_fnc_missionSpawner: _secureAsset = %1",_secureAsset];
if (blck_showCountAliveAI) then
{
if !(_marker isEqualTo "") then
{
[_marker,_markerMissionName,_blck_AllMissionAI] call blck_fnc_updateMarkerAliveCount;
blck_missionMarkers pushBack [_marker,_markerMissionName,_blck_AllMissionAI];
};
};
_crateStolen = false;
_locations = [_coords];
private _spawnPara = if (random(1) < _chancePara) then {true} else {false};
{
_locations pushback (getPos _x);
_x setVariable["crateSpawnPos", (getPos _x)];
} forEach _crates;
private["_thresholdPercentageKilled","_result","_minPercentageKilled"];
_thresholdPercentageKilled = (1-blck_killPercentage);
while {_missionComplete isEqualTo -1} do
{
#ifdef blck_debugMode
if (blck_debugLevel > 2) exitWith {uiSleep blck_triggerLoopCompleteTime;diag_log "_missionSpawner (492) scripted Mission End blck_debugLevel = 3";};
#endif
if (_endIfPlayerNear) then
{
if ([_locations,20,true] call blck_fnc_playerInRangeArray) then {_missionComplete = 1};
};
if (_endIfAIKilled) then
{
_result = [_blck_AllMissionAI,1] call blck_fnc_countAliveAI;
// _result is an array of [no alive, total spawned];
//private _noneAlive = if (_result select 0 isEqualTo 0) then {true} else {false};
//private _aiCountBelowThreshold = if ( (_result select 0)/(_result select 1) < _thresholdPercentageKilled) then {true} else {false};
//diag_log format["_fnc_missionSpawner: _noneAlive = %1 | _result = %2 | PercentageKilled = %3",_noneAlive,_result,(_result select 0)/(_result select 1)];
if ((_result select 0) < 1 || ((_result select 0)/(_result select 1)) < _thresholdPercentageKilled ) then {_missionComplete = 1};
};
if (_spawnCratesTiming isEqualTo "atMissionSpawn") then
{
{
if ({[_x] call blck_fnc_crateMoved} count _crates > 0) exitWith
{
_missionComplete = 1;
_crateStolen = true;
};
}forEach _crates;
};
if (_secureAsset) then
{
if !(alive _assetSpawned) then
{
_missionComplete = 1
} else {
//if (_assetSpawned getVariable["blck_AIState",0] > 0 && (({alive _x} count _blck_AllMissionAI) isEqualTo 1)) then {_missionComplete = 1};
_result = [_blck_AllMissionAI, 1] call blck_fnc_countAliveAI;
// _result is an array of [no alive, total spawned];
//private _noneAlive = if (_result select 0 isEqualTo 0) then {true} else {false};
//private _aiCountBelowThreshold = if ((_result select 0)/(_result select 1) < _thresholdPercentageKilled) then {true} else {false};
//diag_log format["_fnc_missionSpawner: _noneAlive = %1 | _result = %2 | PercentageKilled = %3",_noneAlive,_result,(_result select 0)/(_result select 1)];
if (((_result select 0)/(_result select 1)) < 0.18) then
{
if (_assetSpawned getVariable["blck_unguarded",0] isEqualTo 0) then {_assetSpawned setVariable["blck_unguarded",1,true]};
if ((_assetSpawned getVariable["blck_AIState",0] > 0)) then {
_missionComplete = 1:
_assetSpawned allowdamage false;
};
};
};
};
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 //
{
private _paratroops = [_coords,_noPara,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] 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;
};
};
};
};
};
uiSleep 1;
};
if (_crateStolen) exitWith
{
diag_log format["missionSpawner:: (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,_markerClass, 2] call blck_fnc_endMission;
};
if ((_secureAsset) && !(alive _assetSpawned)) exitWith
{
[_mines,_objects,_crates, _blck_AllMissionAI,_assetKilledMsg,_blck_localMissionMarker,_coords,_markerClass, 2] 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;
};
#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 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName]};
#endif
};
if (_spawnCratesTiming isEqualTo "atMissionSpawnGround" && _loadCratesTiming isEqualTo "atMissionCompletion") then
{
{
[_x] call blck_fnc_loadMissionCrate;
} forEach _crates;
};
#ifdef blck_debugMode
if (blck_debugLevel > 0) then
{
diag_log format["[blckeagls] missionSpawner:: (586) Mission completion criteria fulfilled: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
diag_log format["missionSpawner :: (587) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled];
diag_log format["[blckeagls] missionSpawner:: (588) calling endMission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
};
#endif
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;
};
//diag_log format["_fnc_missionSpawner (557) Build 123: _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
if (_assetSpawned getVariable["assetType",0] isEqualTo 1) then
{
//diag_log "Processing Mission End for Hostage Rescue";
_assetSpawned setCaptive false;
_assetSpawned setVariable["GMSAnimations",[""],true];
[_assetSpawned,""] remoteExec["switchMove",-2];;
uiSleep 0.1;
_assetSpawned enableAI "ALL";
private _newPos = (getPos _assetSpawned) getPos [1000, random(360)];
//diag_log format["processing domove for hostage with current pos = %1 and new pos = %2",getPos _assetSpawned, _newPos];
(group _assetSpawned) setCurrentWaypoint [group _assetSpawned, 0];
[group _assetSpawned,0] setWaypointPosition [_newPos,0];
[group _assetSpawned,0] setWaypointType "MOVE";
};
if (_assetSpawned getVariable["assetType",0] isEqualTo 2) then
{
//diag_log format["Processing Mission End for Arrest of Leader %1 with endAnimation %2",_assetSpawned,_assetSpawned getVariable["endAnimation",""]];
[_assetSpawned,""] remoteExec["switchMove",-2];
_assetSpawned setVariable["GMSAnimations",_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]],true];
[_assetSpawned,selectRandom(_assetSpawned getVariable["endAnimation",["AidlPercMstpSnonWnonDnon_AI"]])] remoteExec["switchMove",-2];
};
//diag_log format["_fnc_missionSpawner (579) Build 123: <calling blck_fnc_endMission> _secureAsset = %1 | {alive _assetSpawned} = %2 | assetType = %3",_secureAsset,alive _assetSpawned, _assetSpawned getVariable["assetType",-1]];
_result = [_mines,_objects,_crates,_blck_AllMissionAI,_endMsg,_blck_localMissionMarker,_coords,_markerClass, 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 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
blck_missionsRun = blck_missionsRun + 1;
diag_log format["_fnc_missionSpawner (644): Total Dyanamic Land and UMS Run = %1", blck_missionsRun];

View File

@ -20,5 +20,5 @@ _crate setVariable["chute",_chute];
_chute setPos [getPos _chute select 0, getPos _chute select 1, _dropHeight];
_crate setPos (getPos _chute);
_crate attachTo [_chute, [0,0,0]];
if (_crateVisualMarker) then {[_crate] spawn blck_fnc_crateMapMarker};
if (_crateVisualMarker) then {[_crate] spawn blck_fnc_crateMarker};

View File

@ -1,47 +0,0 @@
/*
spawn a crate at a specific location
returns the object (crate) that was created.
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last updated 12-5-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 ["_crate"];
params["_coords",["_crateType","Box_NATO_Wps_F"]];
_crate = createVehicle [_crateType,_coords,[], 0, "CAN_COLLIDE"];
_crate setVariable ["LAST_CHECK", 100000];
_crate allowDamage false;
_crate enableRopeAttach false;
[_crate] call blck_fnc_emptyObject;
_crate setPosATL _coords;
_crate setVectorUp [0,0,0];
if ((_coords select 2) < 0 || surfaceIsWater (_coords)) then
{
private["_lantern","_bbr","_p1","_p2","_maxHeight"];
//_lantern = createVehicle ["PortableHelipadLight_01_red_F", [0,0,0],[],0,"CAN_COLLIDE"];// Land_Camping_Light_F
//_lantern enableSimulationGlobal true;
//_lantern switchLight "on";
_light = "#lightpoint" createVehicle (getPos _crate);
_light setLightDayLight true;
_light setLightBrightness 1.0;
_light setLightAmbient [0.0, 1.0, 0.0];
_light setLightColor [0.0, 1.0, 0.0];
_bbr = boundingBoxReal _crate;
_p1 = _bbr select 0;
_p2 = _bbr select 1;
_maxHeight = abs ((_p2 select 2) - (_p1 select 2));
//diag_log format["_fnc_spawnCrate: _bbr = %1 | _maxHeight = %2",_bbr,_maxHeight];
_light attachTo [_crate, [0,0,(_maxHeight + 0.5)]];
};
_crate;

View File

@ -21,9 +21,11 @@
params["_pos","_numAI","_skillAI",["_uniforms",blck_SkinList],["_headGear",blck_headgearList],["_vests",blck_vests],["_backpacks",blck_backpacks],["_weapons",[]],["_sideArms",blck_Pistols],["_isScuba",false]];
private["_arc","_dir","_spawnPos","_chute","_unit","_return","_paraGroup"];
private _params = ["_pos","_numAI","_skillAI"];
#ifdef blck_debugMode
{
diag_log format["_fnc_spawnParaUnits: %1 = %2",_x, _this select _forEachIndex];
}forEach _params;
#endif
_paraGroup = call blck_fnc_create_AI_Group;
//diag_log format["_fnc_spawnParaUnits: _paraGroup = %1",_paraGroup];
// [_pos,_minDist,_maxDist,_groupSpawned,"random","SAD"] spawn blck_fnc_setupWaypoints;

View File

@ -77,7 +77,7 @@ blck_fnc_paraDropObject = compileFinal preprocessFileLineNumbers "\q\addons\cust
blck_fnc_loadMissionCrate = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_loadMissionCrate.sqf";
blck_fnc_crateMoved = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMoved.sqf";
blck_fnc_crateMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMarker.sqf";
blck_fnc_crateMapMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMapMarker.sqf";
//blck_fnc_crateMapMarker = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_crateMapMarker.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]

View File

@ -53,7 +53,7 @@
***********************************************************/
////////
// Headless Client Configurations
blck_useHC = false; // Experimental (death messages and rewards not yet working).
blck_useHC = true; // Experimental (death messages and rewards not yet working).
///////////////////////////////
// Kill message configurations

View File

@ -216,6 +216,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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"
@ -252,7 +256,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
#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 = [
@ -385,6 +393,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"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
@ -484,12 +497,22 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"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;
blck_SkinList_orange = blck_SkinList;
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"
];
blck_vests_blue = blck_vests;
blck_vests_red = blck_vests;
blck_vests_green = blck_vests;
blck_vests_orange = blck_vests;
//CraftingFood
blck_Meats=[
"SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH"

View File

@ -239,6 +239,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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"
@ -273,9 +277,13 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
];
#ifdef useAPEX
blck_backpacks = blck_baseBackpacks + blck_ApexBackpacks;
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 = [
@ -408,6 +416,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"H_HelmetCrew_O_ghex_F"
];
blck_headgearList = blck_headgear + blck_helmets;
blck_headgear_blue = blck_headgearList;
blck_headgear_red = blck_headgearList;
blck_headgear_green = blck_headgearList;
blck_headgear_orange = blck_headgearList;
//This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI.
blck_SkinList = [
//https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment
@ -499,6 +512,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"U_B_CTRG_Soldier_urb_2_F",
"U_B_CTRG_Soldier_urb_3_F"
];
blck_SkinList_blue = blck_SkinList;
blck_SkinList_red = blck_SkinList;
blck_SkinList_green = blck_SkinList;
blck_SkinList_orange = blck_SkinList;
blck_vests = [
"V_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",
@ -506,6 +523,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
// 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=[
"SnakeCarcass_EPOCH","RabbitCarcass_EPOCH","ChickenCarcass_EPOCH","GoatCarcass_EPOCH","SheepCarcass_EPOCH"

View File

@ -276,6 +276,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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"
@ -312,6 +316,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
];
blck_backpacks = blck_ApexBackpacks + blck_backpacks;
#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.
@ -454,6 +462,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"H_HelmetCrew_O_ghex_F"
];
blck_headgearList = blck_headgear + blck_helmets;
blck_headgear_blue = blck_headgearList;
blck_headgear_red = blck_headgearList;
blck_headgear_green = blck_headgearList;
blck_headgear_orange = blck_headgearList;
//This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI.
blck_SkinList = [
//https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment
@ -547,6 +560,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"U_B_CTRG_Soldier_urb_2_F",
"U_B_CTRG_Soldier_urb_3_F"
];
blck_SkinList_blue = blck_SkinList;
blck_SkinList_red = blck_SkinList;
blck_SkinList_green = blck_SkinList;
blck_SkinList_orange = blck_SkinList;
blck_vests = [
"V_Press_F",
@ -607,7 +624,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
#endif
"V_PlateCarrier2_rgr_noflag_F"
];
blck_vests_blue = blck_vests;
blck_vests_red = blck_vests;
blck_vests_green = blck_vests;
blck_vests_orange = blck_vests;
//CraftingFood
blck_Meats=[

View File

@ -286,6 +286,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
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"
@ -324,6 +328,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
];
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.
@ -466,6 +474,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"H_HelmetCrew_O_ghex_F"
];
blck_headgearList = blck_headgear + blck_helmets;
blck_headgear_blue = blck_headgearList;
blck_headgear_red = blck_headgearList;
blck_headgear_green = blck_headgearList;
blck_headgear_orange = blck_headgearList;
//This defines the skin list, some skins are disabled by default to permit players to have high visibility uniforms distinct from those of the AI.
blck_SkinList = [
//https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Equipment
@ -559,7 +572,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
"U_B_CTRG_Soldier_urb_2_F",
"U_B_CTRG_Soldier_urb_3_F"
];
blck_SkinList_blue = blck_SkinList;
blck_SkinList_red = blck_SkinList;
blck_SkinList_green = blck_SkinList;
blck_SkinList_orange = blck_SkinList;
blck_vests = [
"V_Press_F",
"V_Rangemaster_belt",
@ -619,7 +636,11 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR
#endif
"V_PlateCarrier2_rgr_noflag_F"
];
blck_vests_blue = blck_vests;
blck_vests_red = blck_vests;
blck_vests_green = blck_vests;
blck_vests_orange = blck_vests;
//CraftingFood
blck_Meats=[

View File

@ -48,7 +48,7 @@
***********************************************************/
////////
// Headless Client Configurations
blck_useHC = false; //
blck_useHC = true; //
///////////////////////////////
// Kill message configurations

View File

@ -3,6 +3,7 @@
for ghostridergaming
By Ghostrider [GRG]
Copyright 2016
Last Modified 3-14-17
--------------------------
License
@ -16,10 +17,6 @@
diag_log "[blckeagls] Loading Configuration Overides";
/*
See the examples below as a guide for adding configs that are unique for each of several servers.
*/
/*
private["_startTime"];
_startTime = diag_tickTime;
_world = toLower format ["%1", worldName];
@ -29,6 +26,7 @@ switch (_world) do {
case "napf":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;};
case "namalsk":{_nightAccel = 12; _dayAccel = 2;_duskAccel = 6;};
case "tanoa":{_nightAccel = 12; _dayAccel = 3.2;_duskAccel = 6;};
case "namalsk":{_nightAccel = 12; _dayAccel = 2; _duskAccel = 6;};
};
switch (toLower (worldName)) do
@ -82,9 +80,9 @@ switch (toLower (worldName)) do
blck_maxCrashSites = 1; // recommended settings: 3 for Altis, 2 for Tanoa, 1 for smaller maps. Set to -1 to disable
blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
blck_timeAccelerationDay = ((_serverUpTime + 2)/_daylight); // Daytime time accelearation
blck_timeAccelerationDusk = 4; // Dawn/dusk time accelearation
blck_timeAccelerationNight = (3/_nightTime); // Nighttim time acceleration
blck_timeAccelerationDay = 2; // Daytime time accelearation
blck_timeAccelerationDusk = 6; // Dawn/dusk time accelearation
blck_timeAccelerationNight = (12); // Nighttim time acceleration
};
case "esseker":
{
@ -131,13 +129,99 @@ switch (toLower (worldName)) do
blck_maxCrashSites = 3;
};
};
*/
if (blck_debugON || (blck_debugLevel > 0)) then // These variables are found in \custom_server\compiles\blck_variables.sqf
{
// Used primarily for debugging.
diag_log "[blckeagls] Debug seting is ON, Custom configurations used";
//blck_useTimeAcceleration = false; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
//blck_timeAccelerationDay = 1; // Daytime time accelearation
//blck_timeAccelerationDusk = 18; // Dawn/dusk time accelearation
//blck_timeAccelerationNight = 24; // Nighttim time acceleration
blck_useHC = true;
blck_maxSpawnedMissions = 15;
blck_mainThreadUpdateInterval = 10;
blck_enableOrangeMissions = 1;
blck_enableGreenMissions = 1;
blck_enableRedMissions = 1;
blck_enableBlueMissions = 1;
blck_numberUnderwaterDynamicMissions = -1;
blck_enableHunterMissions = 1;
blck_enableScoutsMissions = 1;
blck_maxCrashSites = 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_vehicleDeleteTimer = 20;
//blck_MissionTimeout = 30;
blck_noPatrolHelisOrange = 1;
blck_chanceHeliPatrolOrange = 1;
blck_chanceParaOrange = 1;
blck_chanceHeliPatrolBlue = -1;
blck_noPatrolHelisBlue = -1;
blck_chanceParaBlue = -1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3]
blck_noParaBlue = 3; // [1-N]
blck_paraTriggerDistanceBlue = 400;
//blck_chanceHeliPatrolBlue = 1;
blck_SpawnEmplaced_Orange = 1; // Number of static weapons at Orange Missions
blck_SpawnEmplaced_Green = 1; // Number of static weapons at Green Missions
blck_SpawnEmplaced_Blue = -1; // Number of static weapons at Blue Missions
blck_SpawnEmplaced_Red = 1;
blck_SpawnVeh_Orange = 1; // Number of vehicles at Orange Missions
blck_SpawnVeh_Green = 1; // Number of vehicles at Green Missions
blck_SpawnVeh_Blue = -4; // Number of vehicles at Blue Missions
blck_SpawnVeh_Red = 1;
blck_TMin_Blue = 7;
blck_TMin_Red = 10;
blck_TMin_Green = 13;
blck_TMin_Orange = 16;
blck_TMin_Hunter = 20;
blck_TMin_Scouts = 20;
blck_TMin_Crashes = 5;
blck_TMin_UMS = 20;
//Maximum Spawn time between missions in seconds
blck_TMax_Blue = 12;
blck_TMax_Red = 15;
blck_TMax_Green = 17;
blck_TMax_Orange = 21;
blck_TMax_Hunter = 22;
blck_TMax_Scouts = 22;
blck_TMax_Crashes = 15;
blck_TMax_UMS = 25;
//blck_MinAI_Orange = 1;
//blck_MaxAI_Orange = 2;
//blck_AIGrps_Orange = 1;
blck_MinAI_Blue = 1;
blck_MaxAI_Blue = 2;
blck_AIGrps_Blue = 1;
blck_AIPatrolVehicles = ["Exile_Car_MB4WDOpen"];
/*
blck_SkillsBlue = [
["aimingAccuracy",0.01],
["aimingShake",0.01],
["aimingSpeed",0.01],
["endurance",0.01],
["spotDistance",0.01],
["spotTime",0.01],
["courage",0.01],
["reloadSpeed",0.80],
["commanding",0.8],
["general",1.00]
];
*/
};
/*
You can define configs for additional mods or loadouts here
*/
/*
blck_CUPWeapons = [
"CUP_lmg_L7A2",
"CUP_lmg_L110A1",
@ -1266,4 +1350,3 @@ blck_NIA_WeaponsSniper = [
"hlc_rifle_psg1",
"hlc_rifle_psg1A1"
];
*/

File diff suppressed because it is too large Load Diff

View File

@ -14,7 +14,6 @@
#define useAPEX
//#define useDynamicSimulation
//#define blck_debugMode
//#define blck_triggerLoopCompleteTime 40*60
//#define blck_milServer

View File

@ -119,8 +119,8 @@ _maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chanceReinforcements = blck_chanceParaBlue;
_noPara = blck_noParaBlue;
_chanceHeliPatrol = blck_chanceHeliPatrolBlue;

View File

@ -116,8 +116,8 @@ _maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_noPara = blck_noParaBlue;
//_chanceHeliPatrol = blck_chanceHeliPatrolBlue;

View File

@ -54,28 +54,28 @@ _maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ["blue"] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisBlue;
_missionHelis = blck_patrolHelisBlue;
//_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
//_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
//_vests = blck_vests;
//_backpacks = blck_backpacks;
//_weaponList = ["blue"] call blck_fnc_selectAILoadout;
//_sideArms = blck_Pistols;
//_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults
//_noChoppers = blck_noPatrolHelisBlue;
//_missionHelis = blck_patrolHelisBlue;
_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 0.0;
_paraLoot = blck_BoxLoot_Blue;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
//_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.0;
//_paraLoot = blck_BoxLoot_Blue;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -84,7 +84,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
//_timeOut = -1;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -79,28 +79,28 @@ _maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ["blue"] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisBlue;
_missionHelis = blck_patrolHelisBlue;
//_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
//_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
//_vests = blck_vests;
//_backpacks = blck_backpacks;
//_weaponList = ["blue"] call blck_fnc_selectAILoadout;
//_sideArms = blck_Pistols;
//_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults
//_noChoppers = blck_noPatrolHelisBlue;
//_missionHelis = blck_patrolHelisBlue;
_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 0.0;
_paraLoot = blck_BoxLoot_Blue;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
//_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.0;
//_paraLoot = blck_BoxLoot_Blue;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -109,7 +109,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
//_timeOut = -1;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -44,28 +44,28 @@ _maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ["blue"] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisBlue;
_missionHelis = blck_patrolHelisBlue;
//_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
//_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
//_vests = blck_vests;
//_backpacks = blck_backpacks;
//_weaponList = ["blue"] call blck_fnc_selectAILoadout;
//_sideArms = blck_Pistols;
//_chanceHeliPatrol = blck_chanceHeliPatrolBlue; // Setting this in the mission file overrides the defaults
//_noChoppers = blck_noPatrolHelisBlue;
//_missionHelis = blck_patrolHelisBlue;
_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 0.0;
_paraLoot = blck_BoxLoot_Blue;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
//_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.0;
//_paraLoot = blck_BoxLoot_Blue;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -74,7 +74,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
//_timeOut = -1;

View File

@ -14,15 +14,16 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
_pathBlue = "Blue";
//_missionListBlue = [/*"default",*/"default2"/*,"medicalCamp","redCamp","resupplyCamp"*/];
_missionListBlue = ["default"/*,"default2"/*,"medicalCamp","redCamp","resupplyCamp"*/];
_missionListBlue = ["resupplyCamp"];
//_missionListBlue = ["captive1"/*,"default2"/*,"medicalCamp","redCamp","resupplyCamp"*/];
_pathRed = "Red";
_missionListRed = [/*"default","default2","medicalCamp",*/"redCamp"];
_missionListRed = ["resupplyCamp"];
//_missionListRed = [/*"default","default2","medicalCamp",*/"redCamp"/*,"resupplyCamp"*/];
_pathGreen = "Green";
_missionListGreen = [/*"default","default2",/*"redCamp",*//*"resupplyCamp",*/"medicalCamp"];
_missionListGreen = ["resupplyCamp"];
//_missionListGreen = [/*"default","default2",/*"redCamp",*//*"resupplyCamp",*/"medicalCamp"];
_pathOrange = "Orange";
_missionListOrange = [/*"default","default2","medicalCamp","redCamp",*/"resupplyCamp"];
_missionListOrange = ["resupplyCamp"];
//_missionListOrange = [/*"default","default2","medicalCamp","redCamp",*/"resupplyCamp"];

View File

@ -35,8 +35,8 @@ _maxNoAI = blck_MaxAI_Green;
_noAIGroups = blck_AIGrps_Green;
_noVehiclePatrols = blck_SpawnVeh_Green;
_noEmplacedWeapons = blck_SpawnEmplaced_Green;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chanceLoot = 0.6;
private _lootIndex = selectRandom[1,2,3,4];
private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot];

View File

@ -54,9 +54,9 @@ _maxNoAI = blck_MaxAI_Green;
_noAIGroups = blck_AIGrps_Green;
_noVehiclePatrols = blck_SpawnVeh_Green;
_noEmplacedWeapons = blck_SpawnEmplaced_Green;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_chanceLoot = 1; //0.6;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chanceLoot = 0.6;
private _lootIndex = selectRandom[1,2,3,4];
private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot];
private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]];

View File

@ -78,12 +78,17 @@ _maxNoAI = blck_MaxAI_Green;
_noAIGroups = blck_AIGrps_Green;
_noVehiclePatrols = blck_SpawnVeh_Green;
_noEmplacedWeapons = blck_SpawnEmplaced_Green;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_chanceLoot = 1; //0.6;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chancePara = 0.75; // Setting this in the mission file overrides the defaults
_noPara = 5; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot.
// To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 0.7;
private _lootIndex = selectRandom[1,2,3,4];
private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot];
private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]];
private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]];
_paraLoot = _paralootChoices select _lootIndex;
_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission.
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"

View File

@ -44,9 +44,9 @@ _maxNoAI = blck_MaxAI_Green;
_noAIGroups = blck_AIGrps_Green;
_noVehiclePatrols = blck_SpawnVeh_Green;
_noEmplacedWeapons = blck_SpawnEmplaced_Green;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_chanceLoot = 1; //0.6;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chanceLoot = 0.6;
private _lootIndex = selectRandom[1,2,3,4];
private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot];
private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]];

View File

@ -35,17 +35,20 @@ _maxNoAI = blck_MaxAI_Orange;
_noAIGroups = blck_AIGrps_Orange;
_noVehiclePatrols = blck_SpawnVeh_Orange;
_noEmplacedWeapons = blck_SpawnEmplaced_Orange;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chancePara = 0.5; // Setting this in the mission file overrides the defaults
_chancePara = 0.75; // Setting this in the mission file overrides the defaults
_noPara = 5; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 0.5;
_paraLoot = blck_BoxLoot_Orange;
_paraLootCounts = blck_lootCountsOrange; // Throw in something more exotic than found at a normal blue mission.
_chanceLoot = 0.7;
private _lootIndex = selectRandom[1,2,3,4];
private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot];
private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]];
_paraLoot = _paralootChoices select _lootIndex;
_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission.
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_timeOut = -1;

View File

@ -54,8 +54,8 @@ _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;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chancePara = 0.75; // Setting this in the mission file overrides the defaults
_noPara = 5; // Setting this in the mission file overrides the defaults

View File

@ -78,15 +78,15 @@ _maxNoAI = blck_MaxAI_Orange;
_noAIGroups = blck_AIGrps_Orange;
_noVehiclePatrols = blck_SpawnVeh_Orange;
_noEmplacedWeapons = blck_SpawnEmplaced_Orange;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chancePara = 0.75; // Setting this in the mission file overrides the defaults
_noPara = 5; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "orange"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 1; //0.7;
_chanceLoot = 0.7;
private _lootIndex = selectRandom[1,2,3,4];
private _paralootChoices = [blck_contructionLoot,blck_contructionLoot,blck_highPoweredLoot,blck_supportLoot];
private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0],[0,0,0,0,15,0]];

View File

@ -45,8 +45,8 @@ _maxNoAI = blck_MaxAI_Orange;
_noAIGroups = blck_AIGrps_Orange;
_noVehiclePatrols = blck_SpawnVeh_Orange;
_noEmplacedWeapons = blck_SpawnEmplaced_Orange;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
_chancePara = 0.75; // Setting this in the mission file overrides the defaults
_noPara = 5; // Setting this in the mission file overrides the defaults
@ -60,6 +60,6 @@ private _paralootCountsChoices = [[0,0,0,10,10,0],[0,0,0,10,10,0],[10,10,0,0,0,0
_paraLoot = _paralootChoices select _lootIndex;
_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission.
_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_timeOut = -1;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -120,11 +120,11 @@ _maxNoAI = blck_MaxAI_Red;
_noAIGroups = blck_AIGrps_Red;
_noVehiclePatrols = blck_SpawnVeh_Red;
_noEmplacedWeapons = blck_SpawnEmplaced_Red;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_chanceReinforcements = blck_chanceParaRed;
_noPara = blck_noParaRed;
_chanceHeliPatrol = blck_chanceHeliPatrolRed;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
//_chanceReinforcements = blck_chanceParaRed;
//_noPara = blck_noParaRed;
//_chanceHeliPatrol = blck_chanceHeliPatrolRed;
_spawnCratesTiming = "atMissionEndAir";
_endCondition = "assetSecured"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear", "assetSecured"
//_timeOut = -1;

View File

@ -36,29 +36,29 @@ _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; // Setting this in the mission file overrides the defaults
_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ["blue"] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
//_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
//_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
//_vests = blck_vests;
//_backpacks = blck_backpacks;
//_weaponList = ["blue"] call blck_fnc_selectAILoadout;
//_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisRed;
_missionHelis = blck_patrolHelisRed;
//_chancePara = 0.0; // Setting this in the mission file overrides the defaults
_noPara = 3; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_noPara = 3; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.999999990;
_paraLoot = blck_BoxLoot_Red;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_paraLoot = blck_BoxLoot_Red;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -67,7 +67,7 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"

View File

@ -117,10 +117,10 @@ _maxNoAI = blck_MaxAI_Red;
_noAIGroups = blck_AIGrps_Red;
_noVehiclePatrols = blck_SpawnVeh_Red;
_noEmplacedWeapons = blck_SpawnEmplaced_Red;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_noPara = blck_noParaRed;
_chanceHeliPatrol = blck_chanceHeliPatrolRed;
//_uniforms = blck_SkinList;
//_headgear = blck_headgear;
//_noPara = blck_noParaRed;
//_chanceHeliPatrol = blck_chanceHeliPatrolRed;
_spawnCratesTiming = "atMissionEndAir";
_endCondition = "assetSecured"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear", "assetSecured"
//_timeOut = -1;

View File

@ -52,30 +52,30 @@ _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; // Setting this in the mission file overrides the defaults
_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ["blue"] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisRed;
_missionHelis = blck_patrolHelisRed;
//_useMines = blck_useMines;
//_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
//_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
//_vests = blck_vests;
//_backpacks = blck_backpacks;
//_weaponList = ["blue"] call blck_fnc_selectAILoadout;
//_sideArms = blck_Pistols;
//_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
//_noChoppers = blck_noPatrolHelisRed;
//_missionHelis = blck_patrolHelisRed;
//_chancePara = 0.0; // Setting this in the mission file overrides the defaults
_noPara = 3; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_noPara = 3; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.999999990;
_paraLoot = blck_BoxLoot_Red;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_paraLoot = blck_BoxLoot_Red;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -84,10 +84,10 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_timeOut = -1;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -81,23 +81,23 @@ _noEmplacedWeapons = blck_SpawnEmplaced_Red;
// Change _useMines to true/false below to enable mission-specific settings.
_useMines = blck_useMines;
_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisRed;
_missionHelis = blck_patrolHelisRed;
//_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
//_noChoppers = blck_noPatrolHelisRed;
//_missionHelis = blck_patrolHelisRed;
//_chancePara = 0.0; // Setting this in the mission file overrides the defaults
_noPara = 3; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_noPara = 3; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.999999990;
_paraLoot = blck_BoxLoot_Red;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_paraLoot = blck_BoxLoot_Red;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -106,9 +106,9 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_timeOut = -1;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -43,30 +43,30 @@ _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; // Setting this in the mission file overrides the defaults
_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ["blue"] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
_noChoppers = blck_noPatrolHelisRed;
_missionHelis = blck_patrolHelisRed;
//_useMines = blck_useMines;
//_uniforms = blck_SkinList; // Setting this in the mission file overrides the defaults
//_headgear = blck_headgear; // Setting this in the mission file overrides the defaults
//_vests = blck_vests;
//_backpacks = blck_backpacks;
//_weaponList = ["blue"] call blck_fnc_selectAILoadout;
//_sideArms = blck_Pistols;
//_chanceHeliPatrol = blck_chanceHeliPatrolRed; // Setting this in the mission file overrides the defaults
//_noChoppers = blck_noPatrolHelisRed;
//_missionHelis = blck_patrolHelisRed;
//_chancePara = 0.0; // Setting this in the mission file overrides the defaults
_noPara = 3; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_noPara = 3; // Setting this in the mission file overrides the defaults
//_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
//_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
//_chanceLoot = 0.999999990;
_paraLoot = blck_BoxLoot_Red;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
//_paraLoot = blck_BoxLoot_Red;
//_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
//_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
//_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
@ -75,9 +75,9 @@ _loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionComple
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults
_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_endCondition = "playerNear"; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
//_timeOut = -1;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -37,6 +37,6 @@ blck_fnc_sm_spawnObjects = compileFinal preprocessFileLineNumbers "\q\addons\cu
//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 <Loaded>";
//diag_log "[blckeagls] GMS_sm_init_functions.sqf <Loaded>";
blck_sm_functionsLoaded = true;

View File

@ -16,7 +16,7 @@ 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","staticMissionExample2_Epoch.sqf"],
//["Exile","Altis","staticMissionExample2_Exile.sqf"]
["Exile","Altis","staticMissionExample2_Exile.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists.sqf <Loaded>";
//diag_log "[blckeagls] GMS_StaticMissions_Lists.sqf <Loaded>";

View File

@ -1,25 +0,0 @@
/*
by Ghostrider [GRG]
for ghostridergaming
12/5/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 ["_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","staticMissionExample2_Epoch.sqf"],
//["Exile","Altis","staticMissionExample2_Exile.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists_Epoch.sqf <Loaded>";
_staticMissions

View File

@ -1,23 +0,0 @@
/*
by Ghostrider [GRG]
for ghostridergaming
12/5/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 ["_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)];
//["Exile","Altis","staticMissionExample2.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists_Exile.sqf <Loaded>";
_staticMissions

View File

@ -10,7 +10,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
diag_log "[blckeagls] GMS_StaticMissions_init.sqf <Initializing Static Mission System>";
//diag_log "[blckeagls] GMS_StaticMissions_init.sqf <Initializing Static Mission System>";
//static mission descriptor for code: [position,level, numAI or [min,maxAI],patrolRadius, respawn, group[groupNull],spawnedAt[0],respawn[0]]
#include "\q\addons\custom_server\Configs\blck_defines.hpp";

View File

@ -1,25 +0,0 @@
/*
by Ghostrider [GRG]
for ghostridergaming
12/5/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 ["_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","staticMissionExample2_Epoch.sqf"],
["Exile","Altis","staticMissionExample2_Exile.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists_Epoch.sqf <Loaded>";
_staticMissions

View File

@ -1,23 +0,0 @@
/*
by Ghostrider [GRG]
for ghostridergaming
12/5/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 ["_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)];
["Exile","Altis","staticMissionExample2.sqf"]
];
diag_log "[blckeagls] GMS_StaticMissions_Lists_Exile.sqf <Loaded>";
_staticMissions

View File

@ -20,4 +20,4 @@ _staticMissions = [
//["Exile","Altis","staticMissionExample2_Exile.sqf"]
];
diag_log "[blckeagls] GMS_UMS_StaticMissions_Lists.sqf <Loaded>";
//diag_log "[blckeagls] GMS_UMS_StaticMissions_Lists.sqf <Loaded>";

View File

@ -11,7 +11,7 @@
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
//if (!isServer) exitWith{};
diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Initializing Static Missions>";
//diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Initializing Static Missions>";
//static mission descriptor for code: [position,level, numAI or [min,maxAI],patrolRadius, respawn, group[groupNull],spawnedAt[0],respawn[0]]
#include "\q\addons\custom_server\Configs\blck_defines.hpp";
@ -22,11 +22,11 @@ uiSleep 3;
private["_mod","_map","_missionMod","_missionMap","_missionLocation","_missionDataFile"];
//diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Getting Mod Type>";
_mod = toLower(call blck_fnc_getModType);
diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <mod type = %1>",_mod];
diag_log format["[blckeagls] GMS__UMS_StaticMissions_init <_staticMissions> = %1",_staticMissions];
diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Getting map name>";
//diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <mod type = %1>",_mod];
//diag_log format["[blckeagls] GMS__UMS_StaticMissions_init <_staticMissions> = %1",_staticMissions];
//diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Getting map name>";
_map = toLower worldName;
diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <map name = %1>",_map];
//diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <map name = %1>",_map];
{
diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <Evaluating Mission = %1>",_x];
diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <worldName = %1 | _mod = %2>",_map,_mod];
@ -46,5 +46,5 @@ diag_log format["[blckeagls] GMS__UMS_StaticMissions_init.sqf <map name = %1>",_
uiSleep 1;
}forEach _staticMissions;
diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Static Missions Loaded>";
//diag_log "[blckeagls] GMS__UMS_StaticMissions_init.sqf <Static Missions Loaded>";

View File

@ -10,4 +10,4 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
blck_dynamicUMS_MissionList = ["default.sqf"];
diag_log "[blckeagls] Dynamic UMS Mission List <Loaded>";
//diag_log "[blckeagls] Dynamic UMS Mission List <Loaded>";

View File

@ -10,7 +10,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
diag_log "Loading Static Loot Container Spawning System for Epoch";
//diag_log "Loading Static Loot Container Spawning System for Epoch";
_lootBoxes =
[
/*[

View File

@ -101,7 +101,7 @@ _fn_setupCrates = {
#endif
_crate
};
diag_log "[blckeagls] SLS System: Functions Initialized!";
//diag_log "[blckeagls] SLS System: Functions Initialized!";
private["_cratePosnList","_no","_ar","_x","_cratePos","_lootType","_randomPos","_useSmoke"];
{

View File

@ -11,7 +11,7 @@
http://creativecommons.org/licenses/by-nc-sa/4.0/
*/
#ifdef blck_debugMode
diag_log "[blckeagls] SLS System: Initializing Static Loot Crate System!";
//diag_log "[blckeagls] SLS System: Initializing Static Loot Crate System!";
#endif
#include "\q\addons\custom_server\Configs\blck_defines.hpp";

View File

@ -1,6 +1,6 @@
private ["_version","_versionDate"];
blck_version = "6.82 Build 133";
blck_version = "6.82 Build 134";
_blck_version = blck_version;
_blck_versionDate = "6-2-18 9:00 AM";
_blck_versionDate = "6-3-18 4:00 PM";
blck_pvs_version = _blck_version;
publicVariable blck_pvs_version;

View File

@ -8,8 +8,14 @@ Ideas or code from that by Vampire and KiloSwiss have been used for certain func
Significant Changes:
=====================
Version 1.82 Build 133
Version 1.82 Build 134
Added: configs for blue, red, green and orange pistol, vest, backpack and uniforms
Change:
Commented out all configs in missions for uniforms, headgear, backpacks and uniforms.
Commented out most configs for helis, paratroops and supplemental loot dropped by paratroops.
Removed some logging that is not required.
Version 1.82 Build 132
Added: blck_killPercentage = 0.9; // The mission will complete if this fraction of the total AI spawned has been killed.
// This facilitates mission completion when one or two AI are spawned into objects.