Merge pull request #38 from Ghostrider-DbD-/Version-6.54-Build-34

Version 6 54 build 34
This commit is contained in:
Ghostrider-DbD- 2017-01-23 21:09:25 -05:00 committed by GitHub
commit 889e8cb7f0
17 changed files with 52 additions and 67 deletions

View File

@ -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

View File

@ -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;

View File

@ -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

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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";

View File

@ -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;

View File

@ -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;

View File

@ -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;
////////////////////////////////////////////////

View File

@ -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
/****************************************************************

View File

@ -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
/****************************************************************

View File

@ -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],

View File

@ -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.

View File

@ -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";

View File

@ -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.

View File

@ -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.