Bug Fixes, setting for deleting loot crate and one for preserving static weapons.
This commit is contained in:
parent
90c9ffa809
commit
b9d019e78a
@ -0,0 +1,74 @@
|
||||
/*
|
||||
Call as : [] call blck_fnc_mainThread;
|
||||
|
||||
Run a loop that checks data arrays regarding:
|
||||
- whether it is time to delete the mission objects at a specific location
|
||||
- whether it is time to delete live AI associated with a specific mission
|
||||
By Ghostrider-DbD-
|
||||
Last modified 1-22-17
|
||||
*/
|
||||
private ["_timer10Min","_timer1sec","_timer5sec","_timer5min","_modType","_coords"];
|
||||
_timer1sec = diag_tickTime;
|
||||
_timer5sec = diag_tickTime;
|
||||
_timer20sec = diag_tickTime;
|
||||
//_timer1min = diag_tickTime;
|
||||
_timer5min = diag_tickTime;
|
||||
//_timer10Min = diag_tickTime;
|
||||
_modType = [] call blck_fnc_getModType;
|
||||
|
||||
|
||||
while {true} do
|
||||
{
|
||||
uiSleep 1; // defined in custom_server\compiles\blck_variables.sqf
|
||||
if ((diag_tickTime - _timer1sec) > 3) then
|
||||
{
|
||||
[] call blck_fnc_vehicleMonitor;
|
||||
_timer1sec = diag_tickTime;
|
||||
};
|
||||
if ((diag_tickTime - _timer5sec) > 15) then
|
||||
{
|
||||
[] call blck_fnc_cleanupAliveAI;
|
||||
[] call blck_fnc_cleanupObjects;
|
||||
[] call blck_fnc_cleanupDeadAI;
|
||||
if (_modType isEqualTo "Epoch") then {
|
||||
[] call blck_fnc_cleanEmptyGroups;
|
||||
}; // Exile cleans up empty groups automatically so this should not be needed with that mod.
|
||||
|
||||
diag_log format["_fnc_mainThread:: (37) blck_pendingMissions = %1", blck_pendingMissions];
|
||||
{
|
||||
if (blck_debugLevel > 2) then {diag_log format["_fnc_mainThread:: -- >> _x = %1 and _x select 6 = %2",_x, _x select 6];};
|
||||
if (_x select 6 > 0) then // The mission is not running, check the time left till it is spawned
|
||||
{
|
||||
if (diag_tickTime > (_x select 6)) then // time to spawn the mission
|
||||
{
|
||||
private _coords = [] call blck_fnc_FindSafePosn;
|
||||
_coords pushback 0;
|
||||
private["_missionName","_missionPath"];
|
||||
_missionName = selectRandom (_x select 0);
|
||||
_missionPath = _x select 1;
|
||||
[_coords,_x] execVM format["\q\addons\custom_server\Missions\%1\%2.sqf",_missionPath,_missionName];
|
||||
};
|
||||
};
|
||||
}forEach blck_pendingMissions;
|
||||
_timer5sec = diag_tickTime;
|
||||
|
||||
};
|
||||
|
||||
if ((diag_tickTime - _timer5min) > 300) then {
|
||||
if (blck_timeAcceleration) then
|
||||
{
|
||||
//if (blck_debugON) then {diag_log "[blckeagls] calling time acceleration module";};
|
||||
[] call blck_fnc_timeAcceleration;
|
||||
};
|
||||
if (blck_useHC) then {[] call blck_fnc_monitorHC;}; // Not working
|
||||
_timer5min = diag_tickTime;
|
||||
};
|
||||
|
||||
/*
|
||||
if ((diag_tickTime - _timer10Min) > 600) then
|
||||
{
|
||||
// Reserved for future use
|
||||
_timer10Min = diag_tickTime;
|
||||
};
|
||||
*/
|
||||
};
|
@ -5,99 +5,38 @@
|
||||
- whether it is time to delete the mission objects at a specific location
|
||||
- whether it is time to delete live AI associated with a specific mission
|
||||
By Ghostrider-DbD-
|
||||
Last modified 1-22-17
|
||||
Last modified 1-24-17
|
||||
*/
|
||||
private ["_timer10Min","_timer1min","_timer5min","_modType","_coords"];
|
||||
diag_log format["starting _fnc_mainThread with time = %1",diag_tickTime];
|
||||
private["_modType","_timer1sec","_timer20sec","_timer5min"];
|
||||
_timer1sec = diag_tickTime;
|
||||
_timer5sec = diag_tickTime;
|
||||
_timer20sec = diag_tickTime;
|
||||
//_timer1min = diag_tickTime;
|
||||
_timer5min = diag_tickTime;
|
||||
//_timer10Min = diag_tickTime;
|
||||
_modType = [] call blck_fnc_getModType;
|
||||
_ai = [];
|
||||
_obj = [];
|
||||
|
||||
while {true} do
|
||||
{
|
||||
uiSleep 1; // defined in custom_server\compiles\blck_variables.sqf
|
||||
if ((diag_tickTime - _timer1sec) > 1) then
|
||||
uiSleep 1;
|
||||
diag_log format["mainThread:: -- > time = %1",diag_tickTime];
|
||||
if (diag_tickTime - _timer1sec > 1000) then
|
||||
{
|
||||
[] call blck_fnc_vehicleMonitor;
|
||||
_timer1sec = diag_tickTime;
|
||||
_timer1sec - diag_tickTime;
|
||||
};
|
||||
if ((diag_tickTime - _timer5sec) > 5) then
|
||||
if (diag_tickTime - _timer20sec > 20) then
|
||||
{
|
||||
//diag_log format["_fnc_mainThread:: (30) diag_tickTime = %1", diag_tickTime];
|
||||
//diag_log format["_fnc_mainThread:: (31) blck_liveMissionAI = %1", blck_liveMissionAI];
|
||||
_ai = +blck_liveMissionAI;
|
||||
[] call blck_fnc_cleanupAliveAI;
|
||||
[] call blck_fnc_cleanupObjects;
|
||||
[] call blck_fnc_cleanupDeadAI;
|
||||
[] call blck_fnc_spawnPendingMissions;
|
||||
if (_modType isEqualTo "Epoch") then
|
||||
{
|
||||
//diag_log format["_fnc_mainThread:: (34) evaluating liveAIArray %1 with diag_tickTime %2", _x,diag_tickTime];
|
||||
if (diag_tickTime > (_x select 1) ) then {
|
||||
//diag_log format["_fnc_mainTread:: cleaning up AI group %1",_x];
|
||||
[_x select 0] call blck_fnc_cleanupAliveAI;
|
||||
blck_liveMissionAI set[ _forEachIndex, -1];
|
||||
blck_liveMissionAI = blck_liveMissionAI - [-1]; // Remove that list of live AI from the list.
|
||||
//diag_log format["_fnc_mainTread:: blck_liveMissionAI updated from %1",_ai];
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fnc_mainTread:: blck_liveMissionAI updated to %1",blck_liveMissionAI];};
|
||||
};
|
||||
}forEach _ai;
|
||||
//diag_log format["_fnc_mainThread:: (44) blck_oldMissionObjects = %1", blck_oldMissionObjects];
|
||||
_obj = +blck_oldMissionObjects;
|
||||
|
||||
{
|
||||
//diag_log format["mainThread::-->> evaluating missionObjects = %1 diag_tickTime %2",_x,diag_tickTime];
|
||||
if (diag_tickTime > (_x select 1) ) then {
|
||||
//diag_log format["_fnc_mainTread:: cleaning up mission objects %1",_x];
|
||||
[_x select 0] call blck_fnc_cleanupObjects;
|
||||
blck_oldMissionObjects set[_forEachIndex, -1];
|
||||
blck_oldMissionObjects = blck_oldMissionObjects - [-1];
|
||||
//diag_log format["_fnc_mainTread:: blck_oldMissionObjects updated from %1",_obj];
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fnc_mainTread:: blck_oldMissionObjects updated to %1",blck_oldMissionObjects];};
|
||||
};
|
||||
}forEach _obj;
|
||||
//diag_log format["_fnc_mainThread:: (59) blck_fnc_cleanupDeadAI = %1", blck_deadAI];
|
||||
[] call blck_fnc_cleanupDeadAI;
|
||||
|
||||
if (_modType isEqualTo "Epoch") then {
|
||||
[] call blck_fnc_cleanEmptyGroups;
|
||||
}; // Exile cleans up empty groups automatically so this should not be needed with that mod.
|
||||
|
||||
//diag_log format["_fnc_mainThread:: (66) blck_pendingMissions = %1", blck_pendingMissions];
|
||||
{
|
||||
if (blck_debugLevel > 2) then {diag_log format["_fnc_mainThread:: -- >> _x = %1 and _x select 6 = %2",_x, _x select 6];};
|
||||
if (_x select 6 > 0) then // The mission is not running, check the time left till it is spawned
|
||||
{
|
||||
if (diag_tickTime > (_x select 6)) then // time to spawn the mission
|
||||
{
|
||||
private _coords = [] call blck_fnc_FindSafePosn;
|
||||
_coords pushback 0;
|
||||
private["_missionName","_missionPath"];
|
||||
_missionName = selectRandom (_x select 0);
|
||||
_missionPath = _x select 1;
|
||||
[_coords,_x] execVM format["\q\addons\custom_server\Missions\%1\%2.sqf",_missionPath,_missionName];
|
||||
};
|
||||
};
|
||||
}forEach blck_pendingMissions;
|
||||
_timer5sec = diag_tickTime;
|
||||
|
||||
}; // Exile cleans up empty groups automatically so this should not be needed with that mod.
|
||||
_timer20sec = diag_tickTime;
|
||||
};
|
||||
|
||||
if ((diag_tickTime - _timer5min) > 300) then {
|
||||
if (blck_timeAcceleration) then
|
||||
{
|
||||
//if (blck_debugON) then {diag_log "[blckeagls] calling time acceleration module";};
|
||||
[] call blck_fnc_timeAcceleration;
|
||||
};
|
||||
if (blck_useHC) then {[] call blck_fnc_monitorHC;}; // Not working
|
||||
_timer5min = diag_tickTime;
|
||||
};
|
||||
|
||||
/*
|
||||
if ((diag_tickTime - _timer10Min) > 600) then
|
||||
if (diag_tickTime - _timer5min > 300) then
|
||||
{
|
||||
// Reserved for future use
|
||||
_timer10Min = diag_tickTime;
|
||||
[] call blck_fnc_timeAcceleration;
|
||||
};
|
||||
*/
|
||||
|
||||
};
|
||||
|
@ -6,25 +6,49 @@
|
||||
for DBD Clan
|
||||
By Ghostrider-DBD-
|
||||
Copyright 2016
|
||||
Last Modified 1-22-17
|
||||
Last Modified 1-24-17
|
||||
*/
|
||||
|
||||
params["_objects"];
|
||||
{
|
||||
if ((typeOf _x) isKindOf "LandVehicle") then
|
||||
_fn_deleteObjects = {
|
||||
params["_objects"];
|
||||
if (blck_debugLevel > 0) then {diag_log format["_fn_deleteObjects:: -> _objects = %1",_objects];};
|
||||
{
|
||||
if !(_x getVariable["releasedToPlayers",false]) then
|
||||
if ((typeOf _x) isKindOf "LandVehicle") then
|
||||
{
|
||||
private _crew = crew _x;
|
||||
if !(_x getVariable["releasedToPlayers",false]) then
|
||||
{
|
||||
[_x] call blck_fnc_deleteAI;
|
||||
}forEach _crew;
|
||||
private _crew = crew _x;
|
||||
{
|
||||
[_x] call blck_fnc_deleteAI;
|
||||
}forEach _crew;
|
||||
};
|
||||
_x setVariable["blck_DeleteAt",0]; // Schedule it to be deleted by fnc_vehicleMonitor immediately
|
||||
} else {
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fnc_cleanUpObjects: -> deleting object %1",_x];};
|
||||
deleteVehicle _x;
|
||||
};
|
||||
_x setVariable["blck_DeleteAt",0]; // Schedule it to be deleted by fnc_vehicleMonitor immediately
|
||||
};
|
||||
} forEach _objects;
|
||||
} forEach _objects;
|
||||
};
|
||||
|
||||
|
||||
diag_log format["_fnc_cleanUpObjects called at %1",diag_tickTime];
|
||||
private["_oldObjs"];
|
||||
for "_i" from 1 to (count blck_oldMissionObjects) do
|
||||
{
|
||||
if (_i <= count blck_oldMissionObjects) then
|
||||
{
|
||||
_oldObjs = blck_oldMissionObjects select (_i - 1);
|
||||
diag_log format["_fnc_cleanUpObjects ::-->> evaluating missionObjects = %1 with delete time of %3 and diag_tickTime %2",_oldObjs,diag_tickTime, _oldObjs select 1];
|
||||
if (diag_tickTime > (_oldObjs select 1) ) then {
|
||||
diag_log format["_fn_deleteObjects:: (50) cleaning up mission objects %1",_oldObjs];
|
||||
[_oldObjs select 0] call _fn_deleteObjects;
|
||||
uiSleep 0.1;
|
||||
blck_oldMissionObjects set[(_i - 1), -1];
|
||||
blck_oldMissionObjects = blck_oldMissionObjects - [-1];
|
||||
//diag_log format["_fn_deleteObjects:: blck_oldMissionObjects updated from %1",_obj];
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fn_deleteObjects:: (48) blck_oldMissionObjects updated to %1",blck_oldMissionObjects];};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
@ -5,7 +5,7 @@
|
||||
Updates the mission que.
|
||||
Updates mission markers.
|
||||
By Ghostrider-DbD-
|
||||
1/22/17
|
||||
1/24/17
|
||||
*/
|
||||
|
||||
if (blck_useSignalEnd) then
|
||||
@ -22,10 +22,10 @@
|
||||
[_mines] spawn blck_fnc_clearMines;
|
||||
//diag_log format["_fnc_endMission: (23) _objects = %1",_objects];
|
||||
uisleep 0.1;
|
||||
[_objects, blck_cleanupCompositionTimer] spawn blck_fnc_addObjToQue;
|
||||
[_objects, (blck_cleanupCompositionTimer)] spawn blck_fnc_addObjToQue;
|
||||
//diag_log format["_fnc_endMission:: (26) _blck_AllMissionAI = %1",_blck_AllMissionAI];
|
||||
uisleep 0.1;
|
||||
[_blck_AllMissionAI,blck_AliveAICleanUpTimer] spawn blck_fnc_addLiveAItoQue;
|
||||
[_blck_AllMissionAI, (blck_AliveAICleanUpTimer)] spawn blck_fnc_addLiveAItoQue;
|
||||
[["end",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers;
|
||||
[_blck_localMissionMarker select 1, _markerClass] execVM "debug\missionCompleteMarker.sqf";
|
||||
[_blck_localMissionMarker select 0] execVM "debug\deleteMarker.sqf";
|
||||
|
@ -3,7 +3,7 @@
|
||||
for DBD Clan
|
||||
By Ghostrider-DBD-
|
||||
Copyright 2016
|
||||
Last modified 1/22/17
|
||||
Last modified 1/24/17
|
||||
*/
|
||||
|
||||
private ["_crates","_aiGroup","_objects","_groupPatrolRadius","_missionLandscape","_mines","_blck_AllMissionAI","_blck_localMissionMarker","_AI_Vehicles","_timeOut","_aiDifficultyLevel"];
|
||||
@ -149,8 +149,11 @@ else
|
||||
_crates = [_coords,[[selectRandom blck_crateTypes,[0,0,0],_crateLoot,_lootCounts]]] call blck_fnc_spawnMissionCrates;
|
||||
|
||||
};
|
||||
// un-comment this if you want crates cleaned up when the rest of the mission objects are removed.
|
||||
//_objects append _crates;
|
||||
|
||||
if (blck_cleanUpLootChests) then
|
||||
{
|
||||
_objects append _crates;
|
||||
};
|
||||
|
||||
if (blck_debugLevel > 0) then
|
||||
{
|
||||
@ -237,27 +240,21 @@ if (blck_useStatic && (_noEmplacedWeapons > 0)) then
|
||||
_blck_AllMissionAI append (_temp select 1);
|
||||
};
|
||||
|
||||
if ((random(1) < _chanceReinforcements)) then
|
||||
/*
|
||||
if (blck_enableReinforcements && (random(1) < _chanceReinforcements)) then
|
||||
{
|
||||
_weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout;
|
||||
private["_grpReinforcements"];
|
||||
_grpReinforcements = grpNull;
|
||||
|
||||
//diag_log format["[blckeagls] missionSpawner:: calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
|
||||
[] spawn {
|
||||
//[_coords,_noPara,_aiDifficultyLevel,_chanceLoot,_reinforcementLootCounts,_weaponList,_uniforms,_headgear,_chanceHeliPatrol] call blck_fnc_Reinforcements;
|
||||
//waitUntil {_grpReinforcements != grpNull};
|
||||
//diag_log format["[blckeagls] missionSpawner::reinforcement spawner started: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
|
||||
};
|
||||
if !(_grpReinforcements isEqualTo grpNull) then
|
||||
if (blck_debugLevel > 0) then
|
||||
{
|
||||
_blck_AllMissionAI = _blck_AllMissionAI + (units _grpReinforcements);
|
||||
//diag_log format["missionSpawner:: _grpReinforcements = %1",_grpReinforcements];
|
||||
diag_log format["[blckeagls] missionSpawner:: calling in reinforcements: Current mission: _cords %1 : _markerClass %2 : _aiDifficultyLevel %3 _markerMissionName %4",_coords,_markerClass,_aiDifficultyLevel,_markerMissionName];
|
||||
// ["_pos","_numAI","_skillAI","_chanceLoot","_lootCounts","_weapons","_uniforms","_headgear","_patrol"];
|
||||
[_coords,_noPara,_aiDifficultyLevel,_chanceLoot,_reinforcementLootCounts,_weaponList,_uniforms,_headgear,_chanceHeliPatrol] spawn blck_fnc_callInReinforcements;
|
||||
};
|
||||
};
|
||||
*/
|
||||
|
||||
// Trigger for mission end
|
||||
//diag_log format["[blckeagls] mission Spawner _endCondition = %1",_endCondition];
|
||||
diag_log format["[blckeagls] mission Spawner _endCondition = %1",_endCondition];
|
||||
private["_missionComplete","_endIfPlayerNear","_endIfAIKilled"];
|
||||
_missionComplete = -1;
|
||||
_startTime = diag_tickTime;
|
||||
@ -268,14 +265,14 @@ switch (_endCondition) do
|
||||
case "allUnitsKilled": {_endIfPlayerNear = false;_endIfAIKilled = true;};
|
||||
case "allKilledOrPlayerNear": {_endIfPlayerNear = true;_endIfAIKilled = true;};
|
||||
};
|
||||
//diag_log format["missionSpawner :: (269) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled];
|
||||
diag_log format["missionSpawner :: (269) _endIfPlayerNear = %1 _endIfAIKilled= %2",_endIfPlayerNear,_endIfAIKilled];
|
||||
private["_locations"];
|
||||
_locations = [_coords] + _crates;
|
||||
|
||||
//diag_log format["missionSpawner:: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled];
|
||||
diag_log format["missionSpawner:: Waiting for player to satisfy mission end criteria of _endIfPlayerNear %1 with _endIfAIKilled %2",_endIfPlayerNear,_endIfAIKilled];
|
||||
while {_missionComplete isEqualTo -1} do
|
||||
{
|
||||
if (blck_debugLevel isEqualTo 3) exitWith {uiSleep 120};
|
||||
if (blck_debugLevel isEqualTo 3) exitWith {uiSleep 300};
|
||||
if ((_endIfPlayerNear) && [_coords,20] call blck_fnc_playerInRange) exitWith {};
|
||||
if ((_endIfAIKilled) && ({alive _x} count _blck_AllMissionAI) < 1 ) exitWith {};
|
||||
//diag_log format["missionSpawner:: (283) missionCompleteLoop - > players near = %1 and ai alive = %2",[_coords,20] call blck_fnc_playerInRange, {alive _x} count _blck_AllMissionAI];
|
||||
|
@ -0,0 +1,24 @@
|
||||
/*
|
||||
for DBD Clan
|
||||
By Ghostrider-DBD-
|
||||
Copyright 2016
|
||||
Last modified 1/24/17
|
||||
checks the status of each entry in
|
||||
*/
|
||||
|
||||
diag_log format["_fnc_spawnPendingMissions:: blck_pendingMissions = %1", blck_pendingMissions];
|
||||
private["_coords","_missionName","_missionPath"];
|
||||
{
|
||||
if (blck_debugLevel > 2) then {diag_log format["_fnc_spawnPendingMissions:: -- >> _x = %1 and _x select 6 = %2",_x, _x select 6];};
|
||||
if (_x select 6 > 0) then // The mission is not running, check the time left till it is spawned
|
||||
{
|
||||
if (diag_tickTime > (_x select 6)) then // time to spawn the mission
|
||||
{
|
||||
_coords = [] call blck_fnc_FindSafePosn;
|
||||
_coords pushback 0;
|
||||
_missionName = selectRandom (_x select 0);
|
||||
_missionPath = _x select 1;
|
||||
[_coords,_x] execVM format["\q\addons\custom_server\Missions\%1\%2.sqf",_missionPath,_missionName];
|
||||
};
|
||||
};
|
||||
}forEach blck_pendingMissions;
|
@ -14,31 +14,32 @@
|
||||
_headgear,
|
||||
_patrol
|
||||
] call blck_spawnReinforcements
|
||||
1/23/17
|
||||
|
||||
Last Modified 1/23/17
|
||||
*/
|
||||
|
||||
params["_pos","_numAI","_skillAI","_chanceLoot","_lootCounts","_weapons","_uniforms","_headgear","_patrol"];
|
||||
|
||||
diag_log format["reinforcements:: Called with parameters _pos %1 _numAI %2 _skillAI %3 _chanceLoot %4",_pos,_numAI,_skillAI,_chanceLoot];
|
||||
diag_log format["_fnc_callInReinforcements:: Called with parameters _pos %1 _numAI %2 _skillAI %3 _chanceLoot %4",_pos,_numAI,_skillAI,_chanceLoot];
|
||||
|
||||
private["_chopperType","_chopperTypeArmed","_spawnPos","_spawnVector","_spawnDistance"];
|
||||
|
||||
|
||||
// spawn an unarmed heli
|
||||
|
||||
_chopperType = selectRandom["B_Heli_Transport_03_unarmed_EPOCH","O_Heli_Light_02_unarmed_EPOCH","I_Heli_Transport_02_EPOCH"];
|
||||
_chopperType = selectRandom blck_AIHelis; // ["B_Heli_Transport_03_unarmed_EPOCH","O_Heli_Light_02_unarmed_EPOCH","I_Heli_Transport_02_EPOCH"];
|
||||
|
||||
diag_log format["reinforcements:: _chopperType seleted = %1",_chopperType];
|
||||
diag_log format["_fnc_callInReinforcements:: _chopperType selected = %1",_chopperType];
|
||||
|
||||
_spawnVector = round(random(360));
|
||||
_spawnDistance = 10; //00; // + floor(random(1500)); // We need the heli to be on-site quickly to minimize the chance that a small mission has been completed before the paratroops are deployed and added to the list of live AI for the mission
|
||||
_spawnDistance = 20; //00; // + floor(random(1500)); // We need the heli to be on-site quickly to minimize the chance that a small mission has been completed before the paratroops are deployed and added to the list of live AI for the mission
|
||||
_dropLoot = (random(1) < _chanceLoot);
|
||||
|
||||
// Use the new functionality of getPos
|
||||
// https://community.bistudio.com/wiki/getPos
|
||||
_spawnPos = _pos getPos [_spawnDistance,_spawnVector];
|
||||
_spawnPos = _pos; // getPos [_spawnDistance,_spawnVector];
|
||||
|
||||
diag_log format["reinforcements:: vector was %1 with distance %2 yielding a spawn position of %3 at distance from _pos of %4",_spawnVector,_spawnDistance,_spawnPos, (_pos distance2d _spawnPos)];
|
||||
diag_log format["_fnc_callInReinforcements:: vector was %1 with distance %2 yielding a spawn position of %3 at distance from _pos of %4",_spawnVector,_spawnDistance,_spawnPos, (_pos distance2d _spawnPos)];
|
||||
|
||||
private["_supplyHeli"];
|
||||
//create helicopter and spawn it
|
||||
@ -47,12 +48,13 @@ _supplyHeli setDir (_spawnVector -180);
|
||||
_supplyHeli setFuel 1;
|
||||
_supplyHeli engineOn true;
|
||||
_supplyHeli flyInHeight 250;
|
||||
_supplyHeli setVehicleLock "LOCKED";
|
||||
_supplyHeli setVehicleLock "LOCKEDPLAYER";
|
||||
_supplyHeli addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}];
|
||||
|
||||
[_supplyHeli] call blck_fnc_emptyObject;
|
||||
_supplyHeli addEventHandler ["GetIn",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}];
|
||||
|
||||
[_supplyHeli] call blck_fnc_protectVehicle;
|
||||
//[_supplyHeli] call blck_fnc_emptyObject;
|
||||
//[_supplyHeli] call EPOCH_server_setVToken;;
|
||||
|
||||
private["_grpPilot","_unitPilot"];
|
||||
// add pilot to helicopter //add pilot (single group) to supply helicopter
|
||||
@ -80,24 +82,49 @@ _unitPilot moveInDriver _supplyHeli;
|
||||
_grpPilot selectLeader _unitPilot;
|
||||
_grpPilot setVariable["paraGroup",_paraGroup];
|
||||
|
||||
_statementSendHeliHome = "(group this) spawn blck_fnc_sendHeliHome; diag_log 'sending heli home';";
|
||||
_statementDropParatroops = "(group this) spawn blck_fnc_spawnParaUnits; diag_log 'spawning para units';";
|
||||
_statementDropLootCrate = "(group this) spawn blck_fnc_spawnParaCrate; diag_log 'spawning para crate';";
|
||||
|
||||
//set waypoint for helicopter
|
||||
private["_wpDestination"];
|
||||
[_grpPilot, 0] setWPPos _pos;
|
||||
[_grpPilot, 0] setWaypointType "MOVE";
|
||||
[_grpPilot, 0] setWaypointSpeed "FULL";
|
||||
[_grpPilot, 0] setWaypointBehaviour "CARELESS";
|
||||
[_grpPilot, 0] setWaypointCompletionRadius 30;
|
||||
[_grpPilot, 0] setWaypointStatements ["true","(this) spawn blck_fnc_dropReinforcements;"];
|
||||
[_grpPilot, 0] setWaypointCompletionRadius 100;
|
||||
//[_grpPilot, 0] setWaypointStatements ["true",_statementDropParatroops];
|
||||
[_grpPilot,0] setWaypointTimeout [0.5,0.5,0.5];
|
||||
_grpPilot setCurrentWaypoint [_grpPilot,0];
|
||||
|
||||
_waypoint = _grpPilot addWaypoint [_pos,0];
|
||||
_waypoint setWaypointType "MOVE";
|
||||
_waypoint setWaypointTimeout [3,6,9];
|
||||
_waypoint setWaypointCompletionRadius 150;
|
||||
//_waypoint setWaypointStatements ["true",_statementDropLootCrate];
|
||||
_waypoint setWaypointCombatMode _combatMode;
|
||||
_waypoint setWaypointBehaviour _behavior;
|
||||
_waypoint setWaypointSpeed "LIMITED";
|
||||
|
||||
_waypoint = _grpPilot addWaypoint [_pos,0];
|
||||
_waypoint setWaypointType "MOVE";
|
||||
_waypoint setWaypointTimeout [3,6,9];
|
||||
_waypoint setWaypointCompletionRadius 150;
|
||||
//_waypoint setWaypointStatements ["true",_statementSendHeliHome];
|
||||
_waypoint setWaypointCombatMode _combatMode;
|
||||
_waypoint setWaypointBehaviour _behavior;
|
||||
_waypoint setWaypointSpeed "LIMITED";
|
||||
|
||||
//Announce reinforcements are inbound to nearby players
|
||||
private["_message"];
|
||||
_message = "A Helicopter Carrying Reinforcements was Spotted Near You!";
|
||||
[["reinforcements",_message,_pos]] call blck_fnc_messageplayers;
|
||||
|
||||
diag_log "reinforcements:: helispawned and inbound, message sent";
|
||||
|
||||
diag_log "_fnc_callInReinforcements:: helispawned and inbound, message sent";
|
||||
_grpPilot spawn blck_fnc_spawnParaUnits;
|
||||
_grpPilot spawn blck_fnc_spawnParaCrate;
|
||||
uisleep 10;
|
||||
_grpPilot spawn blck_fnc_sendHeliHome;
|
||||
_supplyHeli setVariable["blck_DeleteAt", (diag_tickTime + 300)];
|
||||
blck_missionVehicles pushback _supplyHeli;
|
||||
|
||||
|
@ -6,8 +6,8 @@
|
||||
1/23/17
|
||||
*/
|
||||
|
||||
_grpPilot = _this;
|
||||
|
||||
_pilot = this;
|
||||
_grpPilot = group _pilot;
|
||||
_params = _grpPilot getVariable["params"];
|
||||
_params params["_supplyHeli","_numAI","_skillAI","_dropLoot","_lootCounts","_weapons","_uniforms","_headgear","_patrol"];
|
||||
|
||||
@ -15,14 +15,16 @@ diag_log format["_fnc_dropReinforcements:: Called with parameters _supplyHeli %1
|
||||
|
||||
diag_log "_fnc_dropReinforcements:: heli on station, calling blck_fnc_spawnParaUnits";
|
||||
|
||||
// params["_supplyHeli","_missionPos","_numAI","_skillAI","_weapons","_uniforms","_headGear"];
|
||||
[_supplyHeli,_numAI,_skillAI,_weapons,_uniforms,_headgear] spawn blck_fnc_spawnParaUnits;
|
||||
|
||||
if (_dropLoot) then
|
||||
{
|
||||
diag_log "_fnc_dropReinforcements:: heli on station, calling blck_fnc_spawnParaLoot";
|
||||
// params["_supplyHeli","_lootCounts"];
|
||||
[_supplyHeli,_lootCounts] spawn blck_fnc_spawnParaLoot;
|
||||
};
|
||||
|
||||
uiSleep 10;
|
||||
|
||||
[_supplyHeli] spawn blck_fnc_sendHeliHome;
|
||||
[_supplyHeli,_grpPilot] spawn blck_fnc_sendHeliHome;
|
@ -2,14 +2,14 @@
|
||||
Author: Ghostrider-DbD-
|
||||
Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP
|
||||
License: Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
called once all tasks required at the mission are complete.
|
||||
Last Modified 1/23/17
|
||||
*/
|
||||
|
||||
_grpPilot = _this select 0;
|
||||
_heli = _this select 1;
|
||||
|
||||
params["_grpPilot"];
|
||||
private["_heli","_pilot"];
|
||||
_pilot = (units _grpPilot) select 0;
|
||||
_heli = vehicle _pilot;
|
||||
diag_log "reinforcements deployed:: send heli back to spawn";
|
||||
|
||||
[[_heli], 300 /* 5 min*/] spawn blck_fnc_addObjToQue;
|
||||
// select a random location abotu 2K from the mission
|
||||
_spawnVector = round(random(360));
|
||||
_spawnDistance = 2000;
|
||||
@ -32,35 +32,5 @@ _grpPilot = group this;
|
||||
|
||||
|
||||
diag_log "reinforcements:: sending Heli Home";
|
||||
// End of sending heli home
|
||||
////////////////////////
|
||||
|
||||
_fn_cleanupHeli = {
|
||||
|
||||
params["_supplyHeli","_homePos","_grpPilot"];
|
||||
// run some tests to be sure everything went OK
|
||||
|
||||
_heliHome = false;
|
||||
_startTime = diag_tickTime;
|
||||
|
||||
while { !(_heliHome) } do
|
||||
{
|
||||
_heliHome = (_supplyHeli distance _pos) < 300;
|
||||
if ( !_heliHome && ((diag_tickTime - _startTime) > 300) ) then
|
||||
{
|
||||
_heliHome = true;
|
||||
deleteVehicle _supplyHeli;
|
||||
{
|
||||
deleteVehicle _x;
|
||||
}forEach units _grpPilot;
|
||||
deleteGroup _grpPilot;
|
||||
};
|
||||
|
||||
uiSleep 2;
|
||||
};
|
||||
};
|
||||
|
||||
[_supplyHeli,_spawnPos,_grpPilot] spawn _fn_cleanupHeli;
|
||||
|
||||
diag_log "reinforcements:: script done";
|
||||
|
||||
|
@ -10,7 +10,6 @@
|
||||
] call blck_spawnHeliParaCrate
|
||||
*/
|
||||
|
||||
|
||||
params["_supplyHeli","_lootCounts"];
|
||||
|
||||
private ["_chute","_crate"];
|
||||
@ -26,12 +25,7 @@ _offset = _supplyHeli getPos [10, _dir];
|
||||
|
||||
//open parachute and attach to crate
|
||||
_chute = createVehicle ["I_Parachute_02_F", [100, 100, 100], [], 0, "FLY"];
|
||||
private["_modType"];
|
||||
_modType = call blck_fnc_getModType;
|
||||
if (_modType isEqualTo "Epoch") then
|
||||
{
|
||||
[_chute] call blck_fnc_protectVehicle;
|
||||
};
|
||||
[_chute] call blck_fnc_protectVehicle;
|
||||
_chute setPos [_offset select 0, _offset select 1, 100 ]; //(_offset select 2) - 10];
|
||||
|
||||
diag_log format["_fnc_spawnParaCrate:: chute spawned yielding object %1 at postion %2", _chute, getPos _chute];
|
||||
@ -86,3 +80,4 @@ _fn_monitorCrate = {
|
||||
};
|
||||
|
||||
[_crate,_chute] call _fn_monitorCrate;
|
||||
[[_crate], 1200 /* 20 min*/] spawn blck_fnc_addObjToQue;
|
@ -19,11 +19,12 @@ _paraGroup setVariable ["blck_group",true,true];
|
||||
|
||||
diag_log format["_fnc_spawnParaUnits:: paratrooper group created; spawning %1 units",_numAI];
|
||||
|
||||
//https://forums.bistudio.com/topic/127341-how-to-get-cargo-capacity-and-costweight-of-stuff-into-sqf/
|
||||
//_veh = TypeOf (_supplyHeli); //for example
|
||||
//_maxpeople = getNumber (configFile >> "CfgVehicles" >> _veh >> "transportSoldier");
|
||||
//if ( (_maxpeople - 1) < _numAI) then {_numAI = _maxpeople - 1;}; // calculate the max troops carried by the chopper minus 1 for the pilot who is already on board and adjust the number of AI to spawn as needed.
|
||||
_launcherType = "none";
|
||||
//https://forums.bistudio.com/topic/127341-how-to-get-cargo-capacity-and-costweight-of-stuff-into-sqf/
|
||||
//_veh = TypeOf (_supplyHeli); //for example
|
||||
//_maxpeople = getNumber (configFile >> "CfgVehicles" >> _veh >> "transportSoldier");
|
||||
//if ( (_maxpeople - 1) < _numAI) then {_numAI = _maxpeople - 1;}; // calculate the max troops carried by the chopper minus 1 for the pilot who is already on board and adjust the number of AI to spawn as needed.
|
||||
|
||||
_launcherType = "none";
|
||||
_sniperExists = false;
|
||||
|
||||
/*
|
||||
@ -65,12 +66,15 @@ for "_i" from 1 to _numAI do
|
||||
{
|
||||
_offset = _supplyHeli getPos [10, _dir];
|
||||
_chute = createVehicle ["Steerable_Parachute_F", [100, 100, 200], [], 0, "FLY"];
|
||||
[_chute] call blck_fnc_protectVehicle;
|
||||
/*
|
||||
private["_modType"];
|
||||
_modType = call blck_fnc_getModType;
|
||||
if (_modType isEqualTo "Epoch") then
|
||||
{
|
||||
[_chute] call blck_fnc_protectVehicle;
|
||||
[_chute] call EPOCH_server_setVToken;;
|
||||
};
|
||||
*/
|
||||
_unit = [[_offset select 0, _offset select 1, 180],_weapons,_paraGroup,_skillAI,_launcherType,_uniforms,_headGear] call blck_fnc_spawnAI;
|
||||
_unit setDir (getDir _supplyHeli) - 90;
|
||||
_chute setPos [_offset select 0, _offset select 1, 250]; //(_offset select 2) - 10];
|
||||
|
@ -18,7 +18,7 @@ _arr = date call BIS_fnc_sunriseSunsetTime;
|
||||
_sunrise = _arr select 0;
|
||||
_sunset = _arr select 1;
|
||||
_time = dayTime;
|
||||
//diag_log format["_fnc_Time:: -- > _sunrise = %1 | _sunset = %2 | _time = %3",_sunrise,_sunset,_time];
|
||||
diag_log format["_fnc_Time:: -- > _sunrise = %1 | _sunset = %2 | _time = %3",_sunrise,_sunset,_time];
|
||||
|
||||
// Night
|
||||
if (_time > (_sunset + 0.5) || _time < (_sunrise - 0.5)) exitWith {setTimeMultiplier blck_timeAccelerationNight; diag_log format["NIGHT TIMGE ADJUSTMENT:: time accel updated to %1; time of day = %2",timeMultiplier,dayTime];};
|
||||
|
@ -2,13 +2,37 @@
|
||||
Delete alive AI.
|
||||
Now called from the main thread which tracks the time elapsed so that we no longer spawn a wait timer for each completed mission.
|
||||
by Ghostrider
|
||||
Last updated 1/22/17
|
||||
Last updated 1/24/17
|
||||
*/
|
||||
|
||||
params["_aiList"];
|
||||
_fn_deleteAIfromList = {
|
||||
params["_aiList"];
|
||||
if (blck_debugLevel > 0) then {diag_log format["_fn_deleteAIfromList:: _aiList = %1",_aiList];};
|
||||
{
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fn_deleteAIfromList:: -> deleteing AI Unit %1",_x];};
|
||||
[_x] call blck_fnc_deleteAI;
|
||||
}forEach _aiList;
|
||||
};
|
||||
|
||||
diag_log format["_fnc_cleanupAliveAI called at %1",diag_tickTime];
|
||||
for "_i" from 1 to (count blck_liveMissionAI) do
|
||||
{
|
||||
//if (blck_debugLevel > 2) then {diag_log format["_fnc_cleanupAliveAI:: -> deleteing AI Unit %1",_x];};
|
||||
[_x] call blck_fnc_deleteAI;
|
||||
}forEach _aiList;
|
||||
if ((_i) <= count blck_liveMissionAI) then
|
||||
{
|
||||
_units = blck_liveMissionAI select (_i - 1);
|
||||
diag_log format["_fnc_cleanupAliveAI:: (34) evaluating with delete time = %2 and diag_tickTime %1", diag_tickTime, _units select 1];
|
||||
if (diag_tickTime > (_units select 1) ) then
|
||||
{
|
||||
diag_log format["_fnc_cleanupAliveAI:: cleaning up AI group %1",_units];
|
||||
{
|
||||
diag_log format["_fnc_cleanupAliveAI:: deleting unit %1",_x];
|
||||
[_x] call blck_fnc_deleteAI;
|
||||
}forEach (_units select 0);
|
||||
uiSleep 0.1;
|
||||
blck_liveMissionAI set[(_i - 1), -1];
|
||||
blck_liveMissionAI = blck_liveMissionAI - [-1]; // Remove that list of live AI from the list.
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fnc_mainTread:: blck_liveMissionAI updated to %1",blck_liveMissionAI];};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
|
@ -1,9 +1,10 @@
|
||||
/*
|
||||
Delete Dead AI and nearby weapons after an appropriate period.
|
||||
by Ghostrider
|
||||
Last updated 1/13/17
|
||||
Last updated 1/24/17
|
||||
*/
|
||||
|
||||
diag_log format["fnc_cleanupDeadAI called at time %1",diag_tickTime];
|
||||
private["_aiList","_ai"];
|
||||
_aiList = +blck_deadAI;
|
||||
{
|
||||
|
@ -6,7 +6,7 @@ params["_Vehicle"];
|
||||
private["_modType"];
|
||||
_modType = call blck_fnc_getModType;
|
||||
switch (_ModType) do {
|
||||
case "_modType":
|
||||
case "Epoch":
|
||||
{
|
||||
diag_log format["GMS_fnc_protectVehicle:: Tokens set for vehicle %1",_Vehicle];
|
||||
//_Vehicle call EPOCH_server_vehicleInit;
|
||||
|
@ -10,7 +10,23 @@
|
||||
|
||||
private ["_veh","_vehList"];
|
||||
_vehList = blck_missionVehicles;
|
||||
if (blck_debugLevel > 1) then {diag_log format["_fnc_vehicleMonitor:: function called with blck_missionVehicles = %1",_vehList];};
|
||||
|
||||
_fn_releaseVehicle = {
|
||||
params["_v"];
|
||||
//diag_log format["vehicleMonitor.sqf: make vehicle available to players; stripping eventHandlers from _v %1",_v];
|
||||
blck_missionVehicles = blck_missionVehicles - [_v];
|
||||
_v removealleventhandlers "GetIn";
|
||||
_v removealleventhandlers "GetOut";
|
||||
_v setVehicleLock "UNLOCKED" ;
|
||||
_v setVariable["releasedToPlayers",true];
|
||||
[_v] call blck_fnc_emptyObject;
|
||||
if (blck_debugLevel > 2) then
|
||||
{
|
||||
diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_v];
|
||||
};
|
||||
};
|
||||
|
||||
if (blck_debugLevel > 0) then {diag_log format["_fnc_vehicleMonitor:: function called at %1",diag_tickTime];};
|
||||
{
|
||||
_veh = _x;
|
||||
if (_veh getVariable["blck_DeleteAt",0] > 0) then
|
||||
@ -23,15 +39,20 @@ if (blck_debugLevel > 1) then {diag_log format["_fnc_vehicleMonitor:: function c
|
||||
};
|
||||
if ({alive _x} count crew _veh < 1) then
|
||||
{
|
||||
if (_veh getVariable["DBD_vehType","none"] isEqualTo "emplaced") then
|
||||
if (_veh getVariable["DBD_vehType","none"] isEqualTo "emplaced") then // Deal with a static weapon
|
||||
{
|
||||
if (blck_debugLevel > 2) then
|
||||
if (blck_killEmptyStaticWeapons) then
|
||||
{
|
||||
diag_log format["_fnc_vehicleMonitor:: case of destroyed where vehicle = %1",_veh];
|
||||
if (blck_debugLevel > 2) then
|
||||
{
|
||||
diag_log format["_fnc_vehicleMonitor:: case of destroyed where vehicle = %1",_veh];
|
||||
};
|
||||
_veh setDamage 1;
|
||||
_veh setVariable["blck_DeleteAt",diag_tickTime + 60];
|
||||
} else {
|
||||
[_veh] call _fn_releaseVehicle;
|
||||
};
|
||||
_veh setDamage 1;
|
||||
_veh setVariable["blck_DeleteAt",diag_tickTime + 60];
|
||||
}else {
|
||||
}else { // Deal with vehicles
|
||||
if (blck_killEmptyAIVehicles) then
|
||||
{
|
||||
if (blck_debugLevel > 2) then
|
||||
@ -44,20 +65,10 @@ if (blck_debugLevel > 1) then {diag_log format["_fnc_vehicleMonitor:: function c
|
||||
} forEach ["HitLFWheel","HitLF2Wheel","HitRFWheel","HitRF2Wheel","HitEngine","HitLBWheel","HitLMWheel","HitRBWheel","HitRMWheel","HitTurret","HitGun","HitTurret","HitGun","HitTurret","HitGun","HitTurret","HitGun"];
|
||||
_veh setVariable["blck_DeleteAt",diag_tickTime + 60];
|
||||
} else {
|
||||
//diag_log format["vehicleMonitor.sqf: make vehicle available to players; stripping eventHandlers from_veh %1",_veh];
|
||||
blck_missionVehicles = blck_missionVehicles - [_veh];
|
||||
_veh removealleventhandlers "GetIn";
|
||||
_veh removealleventhandlers "GetOut";
|
||||
_veh setVehicleLock "UNLOCKED" ;
|
||||
_veh setVariable["releasedToPlayers",true];
|
||||
[_veh] call blck_fnc_emptyObject;
|
||||
if (blck_debugLevel > 2) then
|
||||
{
|
||||
diag_log format["_fnc_vehicleMonitor:: case of patrol vehicle released to players where vehicle = %1",_veh];
|
||||
};
|
||||
[_veh] call _fn_releaseVehicle;
|
||||
};
|
||||
};
|
||||
} else {
|
||||
} else { // Add magazine to vehicle if possible
|
||||
private ["_crew","_mag","_allMags","_cnt"];
|
||||
//_veh setVehicleAmmo 1;
|
||||
//_veh setFuel 1;
|
||||
|
@ -19,7 +19,7 @@ blck_fnc_getModType = compileFinal preprocessFileLineNumbers "\q\addons\custom_
|
||||
blck_fnc_groupsOnAISide = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_GroupsOnAISide.sqf"; // Returns the number of groups on the side used by AI
|
||||
blck_fnc_emptyObject = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_emptyObject.sqf";
|
||||
blck_fnc_playerInRange = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_playerInRange.sqf";
|
||||
|
||||
blck_fnc_mainThread = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_mainThread.sqf"; //
|
||||
// Player-related functions
|
||||
blck_fnc_rewardKiller = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Units\GMS_fnc_rewardKiller.sqf";
|
||||
blck_fnc_MessagePlayers = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_AIM.sqf"; // Send messages to players regarding Missions
|
||||
@ -28,6 +28,7 @@ blck_fnc_MessagePlayers = compileFinal preprocessFileLineNumbers "\q\addons\cus
|
||||
blck_fnc_selectAILoadout = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_selectAILoadout.sqf";
|
||||
blck_fnc_addMissionToQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addMissionToQue.sqf"; //
|
||||
blck_fnc_updateMissionQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_updateMissionQue.sqf"; //
|
||||
blck_fnc_spawnPendingMissions = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_spawnPendingMissions.sqf"; //
|
||||
blck_fnc_addLiveAItoQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addLiveAItoQue.sqf";
|
||||
blck_fnc_addObjToQue = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_addObjToQue.sqf"; //
|
||||
blck_fnc_missionTimer = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionTimer.sqf";
|
||||
@ -50,6 +51,8 @@ blck_fnc_clearMines = compileFinal preprocessFileLineNumbers "\q\addons\custom_s
|
||||
blck_fnc_signalEnd = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_signalEnd.sqf"; // deploy smoke grenades at loot crates at the end of the mission.
|
||||
blck_fnc_endMission = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Missions\GMS_fnc_endMission.sqf";
|
||||
|
||||
// #define Reinforcements 1
|
||||
#ifdef Reinforcements
|
||||
// Reinforcement-related functions
|
||||
blck_fnc_callInReinforcements = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_callInReinforcements.sqf";
|
||||
blck_fnc_spawnParaUnits = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_spawnParaUnits.sqf";
|
||||
@ -58,6 +61,7 @@ blck_fnc_spawnParaCrate = compileFinal preprocessFileLineNumbers "\q\addons\cus
|
||||
blck_fnc_sendHeliHome = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_sendHeliHome.sqf";
|
||||
//blck_fnc_spawnHeliPatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_spawnParaUnits.sqf";
|
||||
//blck_fnc_spawnHeliPatrol = compileFinal preprocessFileLineNumbers "\q\addons\custom_server\Compiles\Reinforcements\GMS_fnc_spawnParaUnits.sqf";
|
||||
#endif
|
||||
|
||||
// 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]
|
||||
|
@ -1,6 +1,4 @@
|
||||
/*
|
||||
AI Mission Compiled by blckeagls @ Zombieville.net
|
||||
Further modified by Ghostrider -
|
||||
This file contains most constants that define mission parameters, AI behavior and loot for mission system.
|
||||
Last modified 8/1/15
|
||||
*/
|
||||
@ -23,7 +21,6 @@ Last modified 8/1/15
|
||||
blck_timeAccelerationDusk = 3; // Dawn/dusk time accelearation
|
||||
blck_timeAccelerationNight = 6; // Nighttim time acceleration
|
||||
|
||||
//blck_configsLoaded = false;
|
||||
/**************************************************************
|
||||
|
||||
BLACKLIST LOCATIONS
|
||||
@ -57,7 +54,8 @@ Last modified 8/1/15
|
||||
blck_useHC = false; // Not Yet Working
|
||||
|
||||
// Kill message configurations
|
||||
blck_useKillMessages = false; // when true a message will be broadcast to all players each time an AI is killed.
|
||||
// These determine whether and when messages are sent to players regarding AI Kills or illegal kills that might damage a vehicle.
|
||||
blck_useKillMessages = false; // when true a message will be broadcast to all players each time an AI is killed; may impact server performance.
|
||||
blck_useKillScoreMessage = true; // when true a tile is displayed to the killer with the kill score information
|
||||
blck_useIEDMessages = true;
|
||||
|
||||
@ -74,7 +72,7 @@ Last modified 8/1/15
|
||||
// Options to spawn a smoking wreck near the mission. When the first parameter is true, a wreck or junk pile will be spawned.
|
||||
// It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission.
|
||||
blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether.
|
||||
blck_useSignalEnd = true; // When true a smoke grenade will appear at the loot crate for 2 min after mission completion.
|
||||
blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion.
|
||||
|
||||
// PLAYER PENALTIES
|
||||
blck_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given blck_RunGearDamage of damage.
|
||||
@ -88,39 +86,51 @@ Last modified 8/1/15
|
||||
blck_forbidenVehicleGuns = ["LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC",/*"HMG_M2",*/"HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01"]; // Add any vehicles for which you wish to forbid vehicle kills, o
|
||||
|
||||
// GLOBAL MISSION PARAMETERS
|
||||
blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player and AI unit killed are shown.
|
||||
blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Note that this is a default and that mission-specific settings can be defined for each mission using the template
|
||||
blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown.
|
||||
blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Turn this off if you have vehicle patrols.
|
||||
blck_cleanupCompositionTimer = 1200; // Mission objects will be deleted after the mission is completed after a deley set by this timer.
|
||||
blck_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects.
|
||||
blck_MissionTimout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting.
|
||||
|
||||
// AI VEHICLE PATROL PARAMETERS
|
||||
// Settings for Mission Vehicles.
|
||||
blck_useVehiclePatrols = true; // When true vehicles will be spawned at missions and will patrol the mission area.
|
||||
blck_killEmptyAIVehicles = false; // when true, the AI vehicle will be extensively damaged once all AI have gotten out.
|
||||
blck_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases
|
||||
blck_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases
|
||||
|
||||
// Updated for v6.51
|
||||
//Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission.
|
||||
// AI STATIC WEAPON PARAMETERS
|
||||
blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles
|
||||
blck_killEmptyStaticWeapons = true; // When true, static weapons will have damage set to 1 when the AI manning them is killed.
|
||||
blck_staticWeapons = ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher]
|
||||
|
||||
// AI paratrooper reinforcement paramters
|
||||
blck_enableReinforcements = false; // When true, reinforcements will be spawned at missions based on a probability defined in each mission template.
|
||||
|
||||
// Armed Helis
|
||||
blck_AIHelis = ["B_Heli_Light_01_armed_F","B_Heli_Transport_01_camo_F","B_Heli_Transport_03_F"]; // The helis used to bring in and drop reinforcements.
|
||||
|
||||
// Unarmed Helis provided for reference.
|
||||
// ["B_Heli_Transport_03_unarmed_EPOCH","O_Heli_Light_02_unarmed_EPOCH","I_Heli_Transport_02_EPOCH"];
|
||||
|
||||
// Mission - specific settings
|
||||
//Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not thoroughly tested.
|
||||
blck_enableOrangeMissions = 1;
|
||||
blck_enableGreenMissions = 1;
|
||||
blck_enableRedMissions = 1;
|
||||
blck_enableBlueMissions = 1;
|
||||
|
||||
// AI VEHICLE PATROL PARAMETERS
|
||||
|
||||
//Defines how many AI Vehicles to spawn. Set this to -1 to disable spawning of static weapons or vehicles. To discourage players runniing with with vehicles, spawn more B_GMG_01_high
|
||||
blck_SpawnVeh_Orange = 3; // Number of static weapons at Orange Missions
|
||||
blck_SpawnVeh_Green = 2; // Number of static weapons at Green Missions
|
||||
blck_SpawnVeh_Blue = -1; // Number of static weapons at Blue Missions
|
||||
blck_SpawnVeh_Red = 1; // Number of static weapons at Red Missions
|
||||
|
||||
// AI STATIC WEAPON PARAMETERS
|
||||
blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles
|
||||
blck_staticWeapons = ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher]
|
||||
|
||||
// Defines how many static weapons to spawn. Set this to -1 to disable spawning
|
||||
blck_SpawnEmplaced_Orange = 3; // Number of static weapons at Orange Missions
|
||||
blck_SpawnEmplaced_Green = 2; // Number of static weapons at Green Missions
|
||||
blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions
|
||||
blck_SpawnEmplaced_Red = 1; // Number of static weapons at Red Missions
|
||||
|
||||
// AI paratrooper reinforcement paramters
|
||||
blck_AIHelis = ["B_Heli_Light_01_armed_F","B_Heli_Transport_01_camo_F","B_Heli_Transport_03_F"];
|
||||
|
||||
// MISSION TIMERS
|
||||
// Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out
|
||||
blck_TMin_Orange = 250;
|
||||
@ -134,7 +144,6 @@ Last modified 8/1/15
|
||||
blck_TMax_Blue = 200;
|
||||
blck_TMax_Red = 250;
|
||||
|
||||
blck_MissionTimout = 60*60; // 40 min
|
||||
|
||||
/****************************************************************
|
||||
|
||||
@ -159,15 +168,15 @@ Last modified 8/1/15
|
||||
blck_bodyCleanUpTimer = 1200; // time in seconds after which dead AI bodies are deleted
|
||||
// Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable
|
||||
// values are ordered as follows [blue, red, green, orange];
|
||||
blck_AliveAICleanUpTimer = 900; // Time after mission completion at which any remaining live AI are deleted.
|
||||
blck_cleanupCompositionTimer = 1200;
|
||||
blck_AliveAICleanUpTimer = 1200; // Time after mission completion at which any remaining live AI are deleted.
|
||||
|
||||
blck_AIAlertDistance = [250,325,450,500];
|
||||
//blck_AIAlertDistance = [150,225,400,500];
|
||||
// How precisely player locations will be revealed to AI after an AI kill
|
||||
// values are ordered as follows [blue, red, green, orange];
|
||||
blck_AIIntelligence = [0.5, 1, 2, 4];
|
||||
|
||||
blck_baseSkill = 1.0;
|
||||
blck_baseSkill = 1.0; // The overal skill of the AI - range 0.1 to 1.0.
|
||||
|
||||
/***************************************************************
|
||||
|
||||
@ -182,7 +191,6 @@ Last modified 8/1/15
|
||||
blck_SkillsOrange = [
|
||||
["aimingAccuracy",0.4],["aimingShake",0.7],["aimingSpeed",0.7],["endurance",1.00],["spotDistance",1.0],["spotTime",1.0],["courage",1.00],["reloadSpeed",1.00],["commanding",1.00],["general",1.00]
|
||||
];
|
||||
blck_reinforceOrange = [0.3, 5, 0.2];
|
||||
|
||||
// Green Missions
|
||||
blck_MinAI_Green = 16;
|
||||
@ -191,7 +199,6 @@ Last modified 8/1/15
|
||||
blck_SkillsGreen = [
|
||||
["aimingAccuracy",0.3],["aimingShake",0.65],["aimingSpeed",0.65],["endurance",0.9],["spotDistance",0.9],["spotTime",0.9],["courage",0.9],["reloadSpeed",0.9],["commanding",0.9],["general",0.75]
|
||||
];
|
||||
blck_reinforceGreen = [0.25, 4, 0.2];
|
||||
|
||||
// Red Missions
|
||||
blck_MinAI_Red = 12;
|
||||
@ -200,7 +207,6 @@ Last modified 8/1/15
|
||||
blck_SkillsRed = [
|
||||
["aimingAccuracy",0.2],["aimingShake",0.6],["aimingSpeed",0.6],["endurance",0.80],["spotDistance",0.7],["spotTime",0.8],["courage",0.80],["reloadSpeed",0.70],["commanding",0.8],["general",0.70]
|
||||
];
|
||||
blck_reinforceRed = [0.2, 3, 0.2];
|
||||
|
||||
// Blue Missions
|
||||
blck_MinAI_Blue = 8;
|
||||
@ -209,7 +215,6 @@ Last modified 8/1/15
|
||||
blck_SkillsBlue = [
|
||||
["aimingAccuracy",0.1],["aimingShake",0.5],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60]
|
||||
];
|
||||
blck_reinforceBlue = [0.1, 2, 0.2];
|
||||
|
||||
// Add some money to AI; only works with Exile for now.
|
||||
blck_maxMoneyOrange = 25;
|
||||
@ -217,7 +222,6 @@ Last modified 8/1/15
|
||||
blck_maxMoneyRed = 15;
|
||||
blck_maxMoneyBlue = 10;
|
||||
|
||||
// AI Settings for scouts, Hunters and crashes are definded in thos missions.
|
||||
/*********************************************************************************
|
||||
|
||||
AI WEAPONS, UNIFORMS, VESTS AND GEAR
|
||||
|
@ -1,12 +1,10 @@
|
||||
/*
|
||||
AI Mission Compiled by blckeagls @ Zombieville.net
|
||||
Further modified by Ghostrider -
|
||||
This file contains most constants that define mission parameters, AI behavior and loot for mission system.
|
||||
Last modified 8/1/15
|
||||
*/
|
||||
|
||||
blck_configsLoaded = false;
|
||||
|
||||
|
||||
if (blck_debugON) then {diag_log "[blckeagls] Loading blck_configs_epoch.sqf";};
|
||||
|
||||
/*
|
||||
Configuration for Addons that support the overall Mission system.
|
||||
These are a module to spawn map addons generated with the Eden Editor
|
||||
@ -21,7 +19,7 @@ Last modified 8/1/15
|
||||
blck_timeAcceleration = true; // When true, time acceleration will be periodically updated based on amount of daylight at that time according to the values below.
|
||||
blck_timeAccelerationDay = 1; // Daytime time accelearation
|
||||
blck_timeAccelerationDusk = 3; // Dawn/dusk time accelearation
|
||||
blck_timeAccelerationNight = 6; // Nighttim time acceleration
|
||||
blck_timeAccelerationNight = 6; // Nighttim time acceleration
|
||||
|
||||
/**************************************************************
|
||||
|
||||
@ -29,9 +27,8 @@ Last modified 8/1/15
|
||||
|
||||
**************************************************************/
|
||||
// if true then missions will not spawn within 1000 m of spawn points for Altis, Bornholm, Cherno, Esseker or stratis.
|
||||
blck_blacklistSpawns = true; // do not spawn a mission within 1000 m of a spawn zone.
|
||||
blck_blacklistTraderCities = true; // do not spawn a mission within 1000 m of a trader.
|
||||
blcklistConcreteMixerZones = true; // do not spawn a mission within 1000 m of a concrete mixer zone.
|
||||
blck_blacklistTraderCities = true; // Set this = true if you would like the mission system to automatically search for the locations of the Epoch trader cities. Note that these are pre-defined in GMS_fnc_findWorld for the most common maps.
|
||||
// list of locations that are protected against mission spawns
|
||||
|
||||
switch (toLower(worldName)) do
|
||||
{
|
||||
@ -55,10 +52,12 @@ Last modified 8/1/15
|
||||
////////
|
||||
// Headless Client Configurations
|
||||
blck_useHC = false; // Not Yet Working
|
||||
|
||||
|
||||
// Kill message configurations
|
||||
blck_useKillMessages = false; // when true a message will be broadcast to all players each time an AI is killed.
|
||||
// These determine whether and when messages are sent to players regarding AI Kills or illegal kills that might damage a vehicle.
|
||||
blck_useKillMessages = false; // when true a message will be broadcast to all players each time an AI is killed; may impact server performance.
|
||||
blck_useKillScoreMessage = true; // when true a tile is displayed to the killer with the kill score information
|
||||
blck_useIEDMessages = true;
|
||||
|
||||
// MISSION MARKER CONFIGURATION
|
||||
// blck_labelMapMarkers: Determines if when the mission composition provides text labels, map markers with have a text label indicating the mission type
|
||||
@ -66,17 +65,14 @@ Last modified 8/1/15
|
||||
// When set to true,"dot", ext will be to the right of a black dot at the center the mission marker.
|
||||
blck_labelMapMarkers = [true,"center"];
|
||||
blck_preciseMapMarkers = true; // Map markers are/are not centered at the loot crate
|
||||
|
||||
|
||||
//Minimum distance between missions
|
||||
blck_MinDistanceFromMission = 2000;
|
||||
|
||||
|
||||
// Options to spawn a smoking wreck near the mission. When the first parameter is true, a wreck or junk pile will be spawned.
|
||||
// It's position can be either "center" or "random". smoking wreck will be spawned at a random location between 15 and 50 m from the mission.
|
||||
blck_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether.
|
||||
blck_useSignalEnd = true; // When true a smoke grenade will appear at the loot crate for 2 min after mission completion.
|
||||
|
||||
// Loot Crates
|
||||
//blck_missionCrateTypes = ["Box_NATO_Wps_F","Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_IND_AmmoVeh_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F"];
|
||||
blck_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion.
|
||||
|
||||
// PLAYER PENALTIES
|
||||
blck_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given blck_RunGearDamage of damage.
|
||||
@ -84,39 +80,54 @@ Last modified 8/1/15
|
||||
blck_VK_Gear = true; // When set to true, AI that have been killed by a player in a vehicle in the list of forbidden vehicles or using a forbiden gun will be stripped of gear and the vehicle will be given blck_RunGearDamage of damage
|
||||
blck_VK_RunoverDamage = true; // when the AI was run over blck_RunGearDamage of damage will be applied to the killer's vehicle.
|
||||
blck_VK_GunnerDamage = true; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, blck_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun.
|
||||
blck_forbidenVehicles = ["B_MRAP_01_hmg_F","O_MRAP_02_hmg_F","Exile_Car_BRDM2_HQ","Exile_Car_HMMWV_M134_Green","Exile_Car_HMMWV_M134_Desert","Exile_Car_HMMWV_M2_Green","Exile_Car_HMMWV_M2_Desert","Exile_Car_ProwlerLight","Exile_Car_BTR40_MG_Green","Exile_Car_BTR40_MG_Camo"]; // Add any vehicles for which you wish to forbid vehicle kills
|
||||
blck_forbidenVehicles = ["B_MRAP_01_hmg_F","O_MRAP_02_hmg_F"]; // Add any vehicles for which you wish to forbid vehicle kills
|
||||
// For a listing of the guns mounted on various land vehicles see the following link: https://community.bistudio.com/wiki/Arma_3_CfgWeapons_Vehicle_Weapons
|
||||
blck_forbidenVehicleGuns = ["LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC","HMG_M2","HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","DShKM","DSHKM","HMG_127_LSV_01"]; // Add any vehicles for which you wish to forbid vehicle kills, o
|
||||
// HMG_M2 is mounted on the armed offroad that is spawned by Epoch
|
||||
blck_forbidenVehicleGuns = ["LMG_RCWS","LMG_M200","HMG_127","HMG_127_APC",/*"HMG_M2",*/"HMG_NSVT","GMG_40mm","GMG_UGV_40mm","autocannon_40mm_CTWS","autocannon_30mm_CTWS","autocannon_35mm","LMG_coax","autocannon_30mm","HMG_127_LSV_01"]; // Add any vehicles for which you wish to forbid vehicle kills, o
|
||||
|
||||
// GLOBAL MISSION PARAMETERS
|
||||
blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player and AI unit killed are shown.
|
||||
blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Note that this is a default and that mission-specific settings can be defined for each mission using the template
|
||||
blck_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown.
|
||||
blck_useMines = false; // when true mines are spawned around the mission area. these are cleaned up when a player reaches the crate. Turn this off if you have vehicle patrols.
|
||||
blck_cleanupCompositionTimer = 1200; // Mission objects will be deleted after the mission is completed after a deley set by this timer.
|
||||
blck_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects.
|
||||
blck_MissionTimout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting.
|
||||
|
||||
// AI VEHICLE PATROL PARAMETERS
|
||||
// Settings for Mission Vehicles.
|
||||
blck_useVehiclePatrols = true; // When true vehicles will be spawned at missions and will patrol the mission area.
|
||||
blck_killEmptyAIVehicles = false; // when true, the AI vehicle will be extensively damaged once all AI have gotten out.
|
||||
blck_AIPatrolVehicles = ["Exile_Car_Offroad_Armed_Guerilla01","Exile_Car_Offroad_Armed_Guerilla02","Exile_Car_HMMWV_M2_Green","Exile_Car_HMMWV_M2_Desert","Exile_Car_BTR40_MG_Green","Exile_Car_BTR40_MG_Camo"]; // Type of vehicle spawned to defend AI bases
|
||||
blck_AIPatrolVehicles = ["B_G_Offroad_01_armed_EPOCH","B_LSV_01_armed_F"]; // Type of vehicle spawned to defend AI bases
|
||||
|
||||
//Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission.
|
||||
// AI STATIC WEAPON PARAMETERS
|
||||
blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles
|
||||
blck_killEmptyStaticWeapons = true; // When true, static weapons will have damage set to 1 when the AI manning them is killed.
|
||||
blck_staticWeapons = ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher]
|
||||
|
||||
// AI paratrooper reinforcement paramters
|
||||
// Armed Helis
|
||||
blck_AIHelis = ["B_Heli_Light_01_armed_F","B_Heli_Transport_01_camo_F","B_Heli_Transport_03_F"];
|
||||
|
||||
// Unarmed Helis provided for reference.
|
||||
// ["B_Heli_Transport_03_unarmed_EPOCH","O_Heli_Light_02_unarmed_EPOCH","I_Heli_Transport_02_EPOCH"];
|
||||
|
||||
// Mission - specific settings
|
||||
//Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not thoroughly tested.
|
||||
blck_enableOrangeMissions = 1;
|
||||
blck_enableGreenMissions = 1;
|
||||
blck_enableRedMissions = 1;
|
||||
blck_enableBlueMissions = 1;
|
||||
|
||||
// AI VEHICLE PATROL PARAMETERS
|
||||
//Defines how many AI Vehicles to spawn. Set this to -1 to disable spawning of static weapons or vehicles. To discourage players runniing with with vehicles, spawn more B_GMG_01_high
|
||||
blck_SpawnVeh_Orange = 4; // Number of static weapons at Orange Missions
|
||||
blck_SpawnVeh_Green = 3; // Number of static weapons at Green Missions
|
||||
blck_SpawnVeh_Orange = 3; // Number of static weapons at Orange Missions
|
||||
blck_SpawnVeh_Green = 2; // Number of static weapons at Green Missions
|
||||
blck_SpawnVeh_Blue = -1; // Number of static weapons at Blue Missions
|
||||
blck_SpawnVeh_Red = 1; // Number of static weapons at Red Missions
|
||||
|
||||
// AI STATIC WEAPON PARAMETERS
|
||||
blck_useStatic = true; // When true, AI will man static weapons spawned 20-30 meters from the mission center. These are very effective against most vehicles
|
||||
blck_staticWeapons = ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; // [0.50 cal, grenade launcher, AT Launcher]
|
||||
|
||||
// Defines how many static weapons to spawn. Set this to -1 to disable spawning
|
||||
blck_SpawnEmplaced_Orange = 3; // Number of static weapons at Orange Missions
|
||||
blck_SpawnEmplaced_Green = 3; // Number of static weapons at Green Missions
|
||||
blck_SpawnEmplaced_Green = 2; // Number of static weapons at Green Missions
|
||||
blck_SpawnEmplaced_Blue = 1; // Number of static weapons at Blue Missions
|
||||
blck_SpawnEmplaced_Red = 2; // Number of static weapons at Red Missions
|
||||
blck_SpawnEmplaced_Red = 1; // Number of static weapons at Red Missions
|
||||
|
||||
// MISSION TIMERS
|
||||
// Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out
|
||||
@ -131,7 +142,6 @@ Last modified 8/1/15
|
||||
blck_TMax_Blue = 200;
|
||||
blck_TMax_Red = 250;
|
||||
|
||||
blck_MissionTimout = 60*60; // 40 min
|
||||
|
||||
/****************************************************************
|
||||
|
||||
@ -141,8 +151,7 @@ Last modified 8/1/15
|
||||
|
||||
blck_combatMode = "RED"; // Change this to "YELLOW" if the AI wander too far from missions for your tastes.
|
||||
blck_groupFormation = "WEDGE"; // Possibilities include "WEDGE","VEE","FILE","DIAMOND"
|
||||
blck_AI_Side = EAST;
|
||||
blck_ModType = "Exile";
|
||||
blck_AI_Side = RESISTANCE;
|
||||
|
||||
blck_chanceBackpack = 0.3; // Chance AI will be spawned with a backpack
|
||||
blck_useNVG = true; // When true, AI will be spawned with NVG if is dark
|
||||
@ -158,15 +167,15 @@ Last modified 8/1/15
|
||||
// Each time an AI is killed, the location of the killer will be revealed to all AI within this range of the killed AI, set to -1 to disable
|
||||
// values are ordered as follows [blue, red, green, orange];
|
||||
blck_AliveAICleanUpTimer = 900; // Time after mission completion at which any remaining live AI are deleted.
|
||||
blck_cleanupCompositionTimer = 1200;
|
||||
blck_AIAlertDistance = [150,225,250,300];
|
||||
|
||||
blck_AIAlertDistance = [250,325,450,500];
|
||||
//blck_AIAlertDistance = [150,225,400,500];
|
||||
// How precisely player locations will be revealed to AI after an AI kill
|
||||
// values are ordered as follows [blue, red, green, orange];
|
||||
blck_AIIntelligence = [0.5, 1, 2, 4];
|
||||
|
||||
blck_baseSkill = 1.0;
|
||||
|
||||
blck_baseSkill = 1.0; // The overal skill of the AI - range 0.1 to 1.0.
|
||||
|
||||
/***************************************************************
|
||||
|
||||
MISSION TYPE SPECIFIC AI SETTINGS
|
||||
@ -207,8 +216,7 @@ Last modified 8/1/15
|
||||
blck_SkillsBlue = [
|
||||
["aimingAccuracy",0.1],["aimingShake",0.5],["aimingSpeed",0.5],["endurance",0.50],["spotDistance",0.6],["spotTime",0.6],["courage",0.60],["reloadSpeed",0.60],["commanding",0.7],["general",0.60]
|
||||
];
|
||||
blck_reinforceBlue = [0.1, 2, 0.2];
|
||||
|
||||
|
||||
// Add some money to AI; only works with Exile for now.
|
||||
blck_maxMoneyOrange = 25;
|
||||
blck_maxMoneyGreen = 20;
|
||||
|
@ -24,7 +24,6 @@ if (blck_debugON) then
|
||||
// Used primarily for debugging.
|
||||
diag_log "[blckeagls] Debug seting is ON, Custom configurations used";
|
||||
|
||||
//blck_mainThreadUpdateInterval = 10;
|
||||
blck_enableOrangeMissions = 1;
|
||||
blck_enableGreenMissions = 1;
|
||||
blck_enableRedMissions = 1;
|
||||
|
@ -4,6 +4,11 @@ Loosely based on the AI mission system by blckeagls ver 2.0.2
|
||||
Contributions by Narines: bug fixes, testing, infinite ammo fix.
|
||||
Ideas or code from that by Vampire and KiloSwiss have been used for certain functions.
|
||||
|
||||
1/24/17 Version 6.55 Build 34
|
||||
Added a new configuration blck_killEmptyStaticWeapons which determines if static weapons shoudl be disabled after the AI is killed.
|
||||
Added a configuration blck_cleanUpLootChests that determines if loot crates are deleted when other mission objects are deleted.
|
||||
Fixed an issue that prevented proper deletion of mission objects and live AI.
|
||||
|
||||
1/23/17 Version 6.54 Build 33
|
||||
Fixed typos in GMS_fnc_vehicleMonitor.sqf
|
||||
Removed a few files that are not used or needed.
|
||||
|
@ -113,13 +113,9 @@ if (blck_enableBlueMissions > 0) then
|
||||
[_missionListBlue,_pathBlue,"BlueMarker","blue",blck_TMin_Blue,blck_TMax_Blue,blck_enableBlueMissions] call blck_fnc_addMissionToQue;
|
||||
};
|
||||
|
||||
//diag_log "[blckeagls] >>--- Completed initialization";
|
||||
|
||||
//blck_Initialized = true;
|
||||
|
||||
// start the main thread for the mission system which monitors missions running and stuff to be cleaned up
|
||||
call compile preprocessfilelinenumbers "\q\addons\custom_server\Compiles\Functions\GMS_fnc_mainThread.sqf";
|
||||
//call compile preprocessfilelinenumbers "\q\addons\custom_server\Compiles\Vehicles\GMS_fnc_vehicleMonitorLoop.sqf";
|
||||
|
||||
// start a little loop that sends clients the current serverFPS
|
||||
//[] execVM "\q\addons\custom_server\Compiles\Functions\broadcastServerFPS.sqf";
|
||||
diag_log "[blckeagls] >>--- Completed initialization";
|
||||
|
||||
blck_Initialized = true;
|
||||
publicVariable "blck_Initialized";
|
||||
[] spawn blck_fnc_mainThread;
|
||||
|
@ -1,3 +1,3 @@
|
||||
private ["_version","_versionDate"];
|
||||
_blck_version = "6.54 Build 34";
|
||||
_blck_versionDate = "1-23-17 8:00 PM";
|
||||
_blck_version = "6.55 Build 36";
|
||||
_blck_versionDate = "1-24-17 11:50 PM";
|
||||
|
Loading…
Reference in New Issue
Block a user