Merge pull request #38 from Ghostrider-DbD-/Version-6.54-Build-34
Version 6 54 build 34
This commit is contained in:
commit
889e8cb7f0
@ -29,7 +29,7 @@ while {true} do
|
||||
if ((diag_tickTime - _timer5sec) > 5) then
|
||||
{
|
||||
//diag_log format["_fnc_mainThread:: (30) diag_tickTime = %1", diag_tickTime];
|
||||
diag_log format["_fnc_mainThread:: (31) blck_liveMissionAI = %1", blck_liveMissionAI];
|
||||
//diag_log format["_fnc_mainThread:: (31) blck_liveMissionAI = %1", blck_liveMissionAI];
|
||||
_ai = +blck_liveMissionAI;
|
||||
{
|
||||
//diag_log format["_fnc_mainThread:: (34) evaluating liveAIArray %1 with diag_tickTime %2", _x,diag_tickTime];
|
||||
@ -42,7 +42,7 @@ while {true} do
|
||||
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];
|
||||
//diag_log format["_fnc_mainThread:: (44) blck_oldMissionObjects = %1", blck_oldMissionObjects];
|
||||
_obj = +blck_oldMissionObjects;
|
||||
|
||||
{
|
||||
@ -56,14 +56,14 @@ while {true} do
|
||||
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];
|
||||
//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];
|
||||
//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
|
||||
|
@ -10,7 +10,7 @@
|
||||
|
||||
if (blck_useSignalEnd) then
|
||||
{
|
||||
diag_log format["**** Minor\SM1.sqf:: _crate = %1",_crates select 0];
|
||||
//diag_log format["**** Minor\SM1.sqf:: _crate = %1",_crates select 0];
|
||||
[_crates select 0] spawn blck_fnc_signalEnd;
|
||||
|
||||
if (blck_debugLevel > 1) then
|
||||
@ -20,10 +20,10 @@
|
||||
};
|
||||
params["_mines","_objects","_blck_AllMissionAI","_endMsg","_blck_localMissionMarker","_coords","_mission"];
|
||||
[_mines] spawn blck_fnc_clearMines;
|
||||
diag_log format["_fnc_endMission: (23) _objects = %1",_objects];
|
||||
//diag_log format["_fnc_endMission: (23) _objects = %1",_objects];
|
||||
uisleep 0.1;
|
||||
[_objects, blck_cleanupCompositionTimer] spawn blck_fnc_addObjToQue;
|
||||
diag_log format["_fnc_endMission:: (26) _blck_AllMissionAI = %1",_blck_AllMissionAI];
|
||||
//diag_log format["_fnc_endMission:: (26) _blck_AllMissionAI = %1",_blck_AllMissionAI];
|
||||
uisleep 0.1;
|
||||
[_blck_AllMissionAI,blck_AliveAICleanUpTimer] spawn blck_fnc_addLiveAItoQue;
|
||||
[["end",_endMsg,_blck_localMissionMarker select 2]] call blck_fnc_messageplayers;
|
||||
@ -31,5 +31,5 @@
|
||||
[_blck_localMissionMarker select 0] execVM "debug\deleteMarker.sqf";
|
||||
blck_ActiveMissionCoords = blck_ActiveMissionCoords - [ _coords];
|
||||
blck_recentMissionCoords pushback [_coords,diag_tickTime];
|
||||
diag_log format["_fnc_endMission:: (34) _mission = %1",_mission];
|
||||
//diag_log format["_fnc_endMission:: (34) _mission = %1",_mission];
|
||||
[_mission,"inactive",[0,0,0]] call blck_fnc_updateMissionQue;
|
@ -17,7 +17,7 @@
|
||||
_unitsPerGroup = floor(_unitsToSpawn/_noAIGroups);
|
||||
_ResidualUnits = _unitsToSpawn - (_unitsPerGroup * _noAIGroups);
|
||||
_blck_AllMissionAI = [];
|
||||
diag_log format["_fnc_spawnMissionAI :: _unitsToSpawn %1 ; _unitsPerGroup %2 _ResidualUnits %3",_unitsToSpawn,_unitsPerGroup,_ResidualUnits];
|
||||
//diag_log format["_fnc_spawnMissionAI :: _unitsToSpawn %1 ; _unitsPerGroup %2 _ResidualUnits %3",_unitsToSpawn,_unitsPerGroup,_ResidualUnits];
|
||||
switch (_noAIGroups) do
|
||||
{
|
||||
case 1: { // spawn the group near the mission center
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
Author: Ghostrider-DbD-
|
||||
Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP
|
||||
Inspiration: WAI / A3EAI / VEMF / IgiLoad / SDROP
|
||||
License: Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
call with
|
||||
[
|
||||
@ -14,6 +14,7 @@
|
||||
_headgear,
|
||||
_patrol
|
||||
] call blck_spawnReinforcements
|
||||
1/23/17
|
||||
*/
|
||||
|
||||
params["_pos","_numAI","_skillAI","_chanceLoot","_lootCounts","_weapons","_uniforms","_headgear","_patrol"];
|
||||
@ -22,6 +23,7 @@ diag_log format["reinforcements:: Called with parameters _pos %1 _numAI %2 _skil
|
||||
|
||||
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"];
|
||||
@ -29,7 +31,7 @@ _chopperType = selectRandom["B_Heli_Transport_03_unarmed_EPOCH","O_Heli_Light_02
|
||||
diag_log format["reinforcements:: _chopperType seleted = %1",_chopperType];
|
||||
|
||||
_spawnVector = round(random(360));
|
||||
_spawnDistance = 1000; // + floor(random(1500)); // We need the heli to be on-site quickly to minimize the chance that a small mission has been completed before the paratroops are deployed and added to the list of live AI for the mission
|
||||
_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
|
||||
_dropLoot = (random(1) < _chanceLoot);
|
||||
|
||||
// Use the new functionality of getPos
|
||||
@ -48,12 +50,9 @@ _supplyHeli flyInHeight 250;
|
||||
_supplyHeli setVehicleLock "LOCKED";
|
||||
_supplyHeli addEventHandler ["GetOut",{(_this select 0) setFuel 0;(_this select 0) setDamage 1;}];
|
||||
|
||||
clearWeaponCargoGlobal _supplyHeli;
|
||||
clearMagazineCargoGlobal _supplyHeli;
|
||||
clearItemCargoGlobal _supplyHeli;
|
||||
clearBackpackCargoGlobal _supplyHeli;
|
||||
[_supplyHeli] call blck_fnc_emptyObject;
|
||||
|
||||
[_supplyHeli,blck_ModType] call blck_fnc_protectVehicle;
|
||||
[_supplyHeli] call blck_fnc_protectVehicle;
|
||||
|
||||
private["_grpPilot","_unitPilot"];
|
||||
// add pilot to helicopter //add pilot (single group) to supply helicopter
|
||||
@ -99,8 +98,7 @@ _message = "A Helicopter Carrying Reinforcements was Spotted Near You!";
|
||||
|
||||
diag_log "reinforcements:: helispawned and inbound, message sent";
|
||||
|
||||
// add a loop here that waits until the paragroup has been spawned so that we can return it.
|
||||
//waitUntil {!isNull (_supplyHeli getVariable["paraGroup",grpNull])};
|
||||
//_grp = _supplyHeli getVariable["paraGroup"];
|
||||
_supplyHeli setVariable["blck_DeleteAt", (diag_tickTime + 300)];
|
||||
blck_missionVehicles pushback _supplyHeli;
|
||||
|
||||
//_grp
|
||||
_supplyHeli
|
@ -3,6 +3,7 @@
|
||||
Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP
|
||||
License: Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
called upon completion of weapoint.
|
||||
1/23/17
|
||||
*/
|
||||
|
||||
_grpPilot = _this;
|
||||
@ -24,4 +25,4 @@ if (_dropLoot) then
|
||||
|
||||
uiSleep 10;
|
||||
|
||||
[_supplyHeli] call blck_fnc_sendHeliHome;
|
||||
[_supplyHeli] spawn blck_fnc_sendHeliHome;
|
@ -69,13 +69,9 @@ _fn_monitorCrate = {
|
||||
{
|
||||
uiSleep 1;
|
||||
diag_log format["_fnc_spawnParaCrate:: Crate Altitude: %1 Crate Velocity: %2 Crate Position: %3 Crate attachedTo %4", getPos _crate select 2, velocityModelSpace _crate select 2, getPosATL _crate, attachedTo _crate];
|
||||
if ( (((velocity _crate) select 2) < 0.1) || ((getPosATL _crate select 2) < 0.1) ) then
|
||||
if ( (((velocity _crate) select 2) < 0.1) || ((getPosATL _crate select 2) < 0.1) ) exitWith
|
||||
{
|
||||
uiSleep 10; // give some time for everything to settle
|
||||
_crateOnGround = true;
|
||||
_spawnCrate = false;
|
||||
|
||||
//delete the chute for clean-up purposes
|
||||
detach _crate;
|
||||
deleteVehicle _chute;
|
||||
if (surfaceIsWater (getPos _crate)) then
|
||||
@ -89,4 +85,4 @@ _fn_monitorCrate = {
|
||||
};
|
||||
};
|
||||
|
||||
[_crate,_chute] spawn _fn_monitorCrate;
|
||||
[_crate,_chute] call _fn_monitorCrate;
|
||||
|
@ -2,16 +2,7 @@
|
||||
Author: Ghostrider-DbD-
|
||||
Inspiration: blckeagls / A3EAI / VEMF / IgiLoad / SDROP
|
||||
License: Attribution-NonCommercial-ShareAlike 4.0 International
|
||||
call with
|
||||
[
|
||||
_pos, // the position which AI should patrol
|
||||
_dropPos, // heli from which they should para
|
||||
_numAI, // Number to spawn
|
||||
_skillAI, // Skill [blue, red, green, orange]
|
||||
_weapons, // array of weapons to select from
|
||||
_uniforms, // array of uniform choices
|
||||
_headgear // array of uniform choices
|
||||
] call blck_spawnHeliParaTroops
|
||||
1/23/17
|
||||
*/
|
||||
|
||||
params["_supplyHeli","_missionPos","_numAI","_skillAI","_weapons","_uniforms","_headGear"];
|
||||
@ -117,11 +108,7 @@ _fn_cleanupTroops = {
|
||||
if ( (getPosATL _x select 2) < 0.1) then {
|
||||
if (surfaceIsWater (position _x)) then {
|
||||
diag_log format["_fnc_spawnParaUnits:: unit %1 at %2 deleted",_x, getPos _x];
|
||||
private["_unit"];
|
||||
_unit = _x;
|
||||
{
|
||||
_unit removeAllEventHandlers _x;
|
||||
}forEach ["Killed","Fired","HandleDamage","HandleHeal","FiredNear"]
|
||||
[_x] call blck_fnc_deleteAI;
|
||||
};
|
||||
}
|
||||
else
|
||||
@ -129,8 +116,6 @@ _fn_cleanupTroops = {
|
||||
}forEach units _group;
|
||||
uiSleep 1;
|
||||
};
|
||||
|
||||
|
||||
};
|
||||
|
||||
diag_log "_fnc_spawnParaUnits:: waiting for paratroops to land";
|
||||
|
@ -15,9 +15,8 @@ _veh = createVehicle[_vehType, _pos, [], 0, "NONE"];
|
||||
_modType = call blck_fnc_getModType;
|
||||
if (_modType isEqualTo "Epoch") then
|
||||
{
|
||||
//_veh call EPOCH_server_vehicleInit;
|
||||
_veh call EPOCH_server_setVToken;
|
||||
diag_log format["_fnc_spawnVehicle:: (20) EPOCH_server_setVToken performed for vehicle %1",_veh];
|
||||
//diag_log format["_fnc_spawnVehicle:: (20) EPOCH_server_setVToken performed for vehicle %1",_veh];
|
||||
};
|
||||
// params["_veh",["_clearInventory",true]];
|
||||
[_veh,_clearInventory] call blck_fnc_configureMissionVehicle;
|
||||
|
@ -16,11 +16,11 @@ params["_center","_pos",["_vehType","I_G_Offroad_01_armed_F"],["_minDis",30],["_
|
||||
//_groupForVehiclePatrol = The group with which to man the vehicle
|
||||
|
||||
if (isNull _group) exitWith {diag_log "[blckeagls] ERROR CONDITION:-->> NULL-GROUP Provided to _fnc_spawnVehiclePatrol"; objNull;};
|
||||
diag_log format["_fnc_spawnVehiclePatrol::->> _group = %1",_group];
|
||||
//diag_log format["_fnc_spawnVehiclePatrol::->> _group = %1",_group];
|
||||
_safepos = [_pos,0,25,0,0,20,0] call BIS_fnc_findSafePos;
|
||||
_veh = [_vehType,_safepos] call blck_fnc_spawnVehicle;
|
||||
|
||||
diag_log format["spawnVehiclePatrol:: vehicle spawned is %1 of typeof %2",_veh, typeOf _veh];
|
||||
//diag_log format["spawnVehiclePatrol:: vehicle spawned is %1 of typeof %2",_veh, typeOf _veh];
|
||||
|
||||
private["_unitNumber"];
|
||||
_unitNumber = 0;
|
||||
|
@ -6,8 +6,8 @@
|
||||
Last modified 10/25/16
|
||||
*/
|
||||
//blck_variablesLoaded = false;
|
||||
blck_debugON = true;
|
||||
blck_debugLevel = 2; // Sets level of detail for debugging info - WIP.
|
||||
blck_debugON = false;
|
||||
blck_debugLevel = 0; // Sets level of detail for debugging info - WIP.
|
||||
blck_minFPS = 10;
|
||||
|
||||
////////////////////////////////////////////////
|
||||
|
@ -134,7 +134,7 @@ Last modified 8/1/15
|
||||
blck_TMax_Blue = 200;
|
||||
blck_TMax_Red = 250;
|
||||
|
||||
blck_MissionTimout = 40*60; // 40 min
|
||||
blck_MissionTimout = 60*60; // 40 min
|
||||
|
||||
/****************************************************************
|
||||
|
||||
|
@ -131,7 +131,7 @@ Last modified 8/1/15
|
||||
blck_TMax_Blue = 200;
|
||||
blck_TMax_Red = 250;
|
||||
|
||||
blck_MissionTimout = 40*60; // 40 min
|
||||
blck_MissionTimout = 60*60; // 40 min
|
||||
|
||||
/****************************************************************
|
||||
|
||||
|
@ -25,9 +25,9 @@ if (blck_debugON) then
|
||||
diag_log "[blckeagls] Debug seting is ON, Custom configurations used";
|
||||
|
||||
//blck_mainThreadUpdateInterval = 10;
|
||||
blck_enableOrangeMissions = -1;
|
||||
blck_enableGreenMissions = -1;
|
||||
blck_enableRedMissions = -1;
|
||||
blck_enableOrangeMissions = 1;
|
||||
blck_enableGreenMissions = 1;
|
||||
blck_enableRedMissions = 1;
|
||||
blck_enableBlueMissions = 1;
|
||||
|
||||
|
||||
@ -35,8 +35,8 @@ if (blck_debugON) then
|
||||
blck_AliveAICleanUpTimer = 10; // Time after mission completion at which any remaining live AI are deleted.
|
||||
blck_bodyCleanUpTimer = 10;
|
||||
|
||||
blck_SpawnEmplaced_Orange = 0; // Number of static weapons at Orange Missions
|
||||
blck_SpawnEmplaced_Green = 0; // Number of static weapons at Green Missions
|
||||
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 = 2;
|
||||
|
||||
@ -60,12 +60,12 @@ if (blck_debugON) then
|
||||
blck_TMax_Orange = 31;
|
||||
|
||||
//blck_reinforceBlue = [0.999, 2, 0.001];
|
||||
//blck_MissionTimout = 60; // 40 min
|
||||
//blck_MissionTimout = 10; // 40 min
|
||||
|
||||
blck_SkillsBlue = [
|
||||
["aimingAccuracy",0.1],
|
||||
["aimingAccuracy",0.01],
|
||||
["aimingShake",0.3],
|
||||
["aimingSpeed",0.5],
|
||||
["aimingSpeed",0.01],
|
||||
["endurance",0.5],
|
||||
["spotDistance",0.7],
|
||||
["spotTime",0.7],
|
||||
|
@ -36,7 +36,7 @@ if (_modType isEqualTo "Epoch") then
|
||||
waitUntil{blck_configsLoaded};
|
||||
blck_configsLoaded = nil;
|
||||
diag_log "[blckeagles] Running getTraderCitiesEpoch to get location of trader cities";
|
||||
execVM "\q\addons\custom_server\Compiles\Functions\getTraderCitesEpoch.sqf";;
|
||||
execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesEpoch.sqf";;
|
||||
};
|
||||
if (_modType isEqualTo "Exile") then
|
||||
{
|
||||
@ -45,7 +45,7 @@ if (_modType isEqualTo "Exile") then
|
||||
waitUntil {(isNil "blck_configsLoaded") isEqualTo false;};
|
||||
waitUntil{blck_configsLoaded};
|
||||
blck_configsLoaded = nil;
|
||||
if (blck_blacklistTraderCities || blck_blacklistSpawns || blcklistConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\getTraderCitesExile.sqf";};
|
||||
if (blck_blacklistTraderCities || blck_blacklistSpawns || blcklistConcreteMixerZones) then {execVM "\q\addons\custom_server\Compiles\Functions\GMS_fnc_getTraderCitesExile.sqf";};
|
||||
};
|
||||
|
||||
// spawn map addons to give the server time to position them before spawning in crates etc.
|
||||
|
@ -1,4 +1,3 @@
|
||||
private ["_version","_versionDate"];
|
||||
|
||||
_blck_version = "6.54 Build 33";
|
||||
_blck_versionDate = "1-23-17 8:00 AM";
|
||||
_blck_version = "6.54 Build 34";
|
||||
_blck_versionDate = "1-23-17 8:00 PM";
|
||||
|
@ -1,6 +1,9 @@
|
||||
Blckegls mission system Ver 6.54
|
||||
Build 33
|
||||
Included is an updated version of blckeagls mission system which I started in as an effort to fix bugs in and upgrade version 2.0.2 as updated by Narines. At this time the mission system is almost entirely comprised of new code and takes advantage of new functions introduced with Arma updates over the past 2 years wherever possible, particularly when performance testing has shown a benefit.
|
||||
|
||||
Build 34
|
||||
|
||||
Included is an updated version of blckeagls mission system. This began as an effort to fix bugs in and upgrade version 2.0.2 as updated by Narines and has now evolved to a complete reworking of almost all code.
|
||||
|
||||
|
||||
* Installation: Please refer to Installation.txt for a detailed description of installation and what you need to add to BE filters.
|
||||
infiSTAR Users: you may need to whitelist _MainMarker depending on your settings.
|
||||
|
@ -4,6 +4,10 @@ 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/23/17 Version 6.54 Build 34
|
||||
De-activated debug settings.
|
||||
Commented out some logging that was no longer required.
|
||||
|
||||
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.
|
||||
|
Loading…
Reference in New Issue
Block a user