From de9852e16c354c639119a719bfc9de474d5bbc8d Mon Sep 17 00:00:00 2001 From: "Ghostrider [GRG]" Date: Sat, 14 Oct 2023 12:50:53 -0400 Subject: [PATCH] Adding back lost settings; debugging spawns / respawns of static missions there is a lot of logging - ignore that for now. --- .../Compiles/Missions/fn_addMIssionToQue.sqf | 16 +++--- .../GMS/Compiles/Missions/fn_endMission.sqf | 20 ++++---- .../Missions/fn_initializeMission.sqf | 2 +- .../Missions/fn_monitorSpawnedMissions.sqf | 32 ++++++------ .../Missions/fn_spawnEmplacedWeaponArray.sqf | 2 +- .../Missions/fn_spawnMissionAssets.sqf | 50 +++---------------- .../Compiles/Missions/fn_spawnNewMissions.sqf | 16 +++--- @GMS/addons/GMS/Configs/GMS_configs.sqf | 10 ++-- @GMS/addons/GMS/Configs/GMS_custom_config.sqf | 20 ++++---- @GMS/addons/GMS/config.cpp | 6 +-- 10 files changed, 75 insertions(+), 99 deletions(-) diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf index c206a95..ff19a04 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_addMIssionToQue.sqf @@ -11,9 +11,9 @@ params[["_missionList",[]],["_path",""],["_marker",""],["_difficulty","Red"],["_tMin",60],["_tMax",120],["_noMissions",1],["_isStatic",false]]; //diag_log format["_addMissionToQue: _this = %1",_this]; -//{ -// diag_log format["_addMissionToQue: _this %1 = %2",_forEachIndex, _this select _forEachIndex]; -//} forEach _this; +{ + diag_log format["_addMissionToQue: _this %1 = %2",_forEachIndex, _this select _forEachIndex]; +} forEach _this; private "_waitTime"; if (_isStatic) then { @@ -22,13 +22,13 @@ if (_isStatic) then { _waitTime = diag_tickTime + (_tMin) + random((_tMax) - (_tMin)); }; -//diag_log format["_addMissionToQue: _waitTime = %1",_waitTime]; +diag_log format["_addMissionToQue: _waitTime = %1",_waitTime]; private _missionsData = []; // Parameters definine each of the missions for this difficulty are stored as arrays here. { private _missionFile = format["\GMS\Missions\%1\%2.sqf",_path,_x]; - //diag_log format["_addMissionToQue: _missionFile = %1",_missionFile]; + diag_log format["_addMissionToQue: _missionFile = %1",_missionFile]; private _missionCode = compileFinal preprocessFileLinenumbers _missionFile;//return all of the values that define how the mission is spawned as an array of values if !(isNil "_missionCode") then { @@ -36,10 +36,10 @@ private _missionsData = []; // Parameters definine each of the missions for this if !(isNil "_data") then { _missionsData pushBack _data; - //diag_log format["_addMissionToQue: _data = %1",_data]; + diag_log format["_addMissionToQue: _data = %1",_data]; }; } else { - //diag_log format["bad path\mission combination %1",_missionFile]; + diag_log format["bad path\mission combination %1",_missionFile]; }; } forEach _missionList; @@ -56,7 +56,7 @@ private _missions = [ _missionsData, // Array of data about individual missions that could be spawned. The data table for each mission is defined in _missionSpawner _isStatic ]; -//diag_log format["_addMissionToQue (55): _missions = %1",_missions]; +diag_log format["_addMissionToQue (55): _missions = %1",_missions]; GMS_missionData pushBack _missions; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf index e3f9c4b..eed3f82 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_endMission.sqf @@ -25,7 +25,8 @@ params[ ["_markerData",[]], ["_missionLootConfigs",[]], ["_isScuba",false], - ["_endCode",-1] + ["_endCode",-1], + ["_isStatic",false] ]; //[format["_endMission: _endCode %1 | _markerData %2 | _endMsg %3",_endCode, _markerData, _endMsg]] call GMS_fnc_log; _missionData params [ @@ -95,20 +96,21 @@ switch (_endCode) do [_coords, _markerName] spawn GMS_fnc_missionCompleteMarker; { - private ["_v","_posnVeh"]; - _posnVeh = GMS_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count GMS_monitoredVehicles -1) - if (_posnVeh >= 0) then - { - (GMS_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; - } else { + //private ["_v","_posnVeh"]; + //_posnVeh = GMS_monitoredVehicles find _x; // returns -1 if the vehicle is not in the array else returns 0-(count GMS_monitoredVehicles -1) + //if (_posnVeh >= 0) then + //{ + // (GMS_monitoredVehicles select _posnVeh) setVariable ["missionCompleted", diag_tickTime]; + //} else { _x setVariable ["missionCompleted", diag_tickTime]; - GMS_monitoredVehicles pushback _x; - }; + GMS_monitoredVehicles pushBackUnique _x; + //}; } forEach _aiVehicles; [_mines, 0] call GMSCore_fnc_deleteObjectsMethod; [_objects, (diag_tickTime + GMS_cleanupCompositionTimer)] call GMSCore_fnc_addToDeletionCue; GMS_hiddenTerrainObjects pushBack[_hiddenObjects,(diag_tickTime + GMS_cleanupCompositionTimer)]; [_missionAI, (diag_tickTime + GMS_AliveAICleanUpTimer)] call GMSCore_fnc_addToDeletionCue; + if (_isStatic) then {[_crates, diag_tickTime + GMS_cleanupCompositionTimer] call GMSCore_fnc_addToDeletionCue}; [format["Mission Completed | _coords %1 : _markerClass %2 : _markerMissionName %3",_coords,_markerName,_markerName]] call GMS_fnc_log; }; case 2: { // Aborted for moving a crate diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf index 064600e..76591c7 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf @@ -201,6 +201,6 @@ private _missionData = [ ]; #define spawnPara -1 GMS_initializedMissionsList pushBack [_key, missionTimeoutAt, triggered, _missionData, _missionConfigs, spawnPara,_isStatic]; -//[format["_initializeMission (163): count GMS_initializedMissionsList = %1",count GMS_initializedMissionsList]] call GMS_fnc_log; +[format["_initializeMission (163): count GMS_initializedMissionsList = %1",count GMS_initializedMissionsList]] call GMS_fnc_log; _initialized = 1; _initialized \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf index df52ed7..ba7e3bf 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf @@ -299,7 +299,7 @@ for "_i" from 1 to (count _missionsList) do ["_endCode",-1] */ //[format["_monitorSpawnedMissions: Catch case 1 - normal mission waypointCompletionRadius - at %1",diag_tickTime]] call GMS_fnc_log; - [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 1] call GMS_fnc_endMission; + [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 1, _isStatic] call GMS_fnc_endMission; // _missionConfigs is configured as: /* @@ -320,8 +320,12 @@ for "_i" from 1 to (count _missionsList) do _spawnedAt // index 13 ]; */ - //_missionConfigs set[isSpawned,false]; - //[format["_monitorSpawnedMissions (265): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; + _missionConfigs set[isSpawned,false]; + _missionConfigs set[spawnedAt,-1]; + [format["_monitorSpawnedMissions (325): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; + [format["_monitorSpawnedMissions (326): _isSpawned %1 | _spawnedAt %2",_isSpawned,_spawnedAt]] call GMS_fnc_log; + [format["_monitorSpawnedMissions (327): #isSpawned %1 | #spawnAt %2",isSpawned,spawnedAt]] call GMS_fnc_log; + [format["_monitorSpawneMissions (328): _missionConfigs select %1 = %2 | _missionConfigs select %3 = %4",spawnedAt,_missionConfigs select spawnedAt, isSpawned, _missionConfigs select isSpawned]] call GMS_fnc_log; }; case 2: { // Abort, crate moved. @@ -339,8 +343,8 @@ for "_i" from 1 to (count _missionsList) do ]; */ [format["_monitorSpawnedMissions: Catch case 2 - crate moved - at %1",diag_tickTime]] call GMS_fnc_log; - [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs, _isscubamission, 2] call GMS_fnc_endMission; - //_missionConfigs set [isSpawned,false]; + [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs, _isscubamission, 2, _isStatic] call GMS_fnc_endMission; + _missionConfigs set [isSpawned,false]; }; case 3: { // Abort, key asset killed @@ -354,13 +358,13 @@ for "_i" from 1 to (count _missionsList) do ["_endCode",-1] */ [format["_monitorSpawnedMissions: Catch case 3 - key asset killed - at %1",diag_tickTime]] call GMS_fnc_log; - [_key, _missionData, _assetKilledMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 3] call GMS_fnc_endMission; - //_missionConfigs set [isSpawned,false]; + [_key, _missionData, _assetKilledMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 3, _isStatic] call GMS_fnc_endMission; + _missionConfigs set [isSpawned,false]; }; case 4: { // Used for testing purposes only - //[format["Programed mission abort, debug level >= 4"]] call GMS_fnc_log; + [format["Programed mission abort, debug level >= 4"]] call GMS_fnc_log; /* ["_key",-1], ["_missionData",[]], @@ -371,8 +375,8 @@ for "_i" from 1 to (count _missionsList) do ["_endCode",-1] */ //diag_log format["_monitorSpawnedMissions: (286): _crates = %1 | _mines = %2",_crates,_mines]; - [_key, _missionData, "DEBUG SETTING >= 4", _markerConfigs, _missionLootConfigs, _isscubamission, 4] call GMS_fnc_endMission; - //_missionConfigs set [isSpawned,false]; + [_key, _missionData, "DEBUG SETTING >= 4", _markerConfigs, _missionLootConfigs, _isscubamission, 4, _isStatic] call GMS_fnc_endMission; + _missionConfigs set [isSpawned,false]; }; case 5: { // SIMULATED Normal Mission End @@ -440,9 +444,9 @@ for "_i" from 1 to (count _missionsList) do }; //diag_log format["_monitorSpawnedMissions: (360):_crates = %1",_crates]; - [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 5] call GMS_fnc_endMission; - //_missionConfigs set [isSpawned,false]; - //[format["_monitorSpawnedMissions (363): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; + [_key, _missionData, _endMsg, _markerConfigs, _missionLootConfigs,_isscubamission, 5, _isStatic] call GMS_fnc_endMission; + _missionConfigs set [isSpawned,false]; + [format["_monitorSpawnedMissions (363): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; }; case 6: { // Mission not fully spawned yet for some reason. This should never happen but this case is included for completeness. @@ -451,7 +455,7 @@ for "_i" from 1 to (count _missionsList) do }; case 7: { // The mission only just spawned - lets give it 60 sec to settle. - //[format["_monitorSpawnedMissions: Catch case 7 - wating for mission to settle - at %1",diag_tickTime]] call GMS_fnc_log; + [format["_monitorSpawnedMissions: Catch case 7 - wating for mission to settle - at %1",diag_tickTime]] call GMS_fnc_log; _missionsList pushBack _el; }; }; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf index 06bf610..a9d766d 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf @@ -86,7 +86,7 @@ private _emplacedWepData = +_missionEmplacedWeapons; // So we dont overwrite t [_wep,_empGroup] call GMSCore_fnc_loadVehicleCrew; //diag_log format["_spawnEmplacedWeaponArray(91): _wep = %1 | getPos _wep = %2 | _static = %3",_wep, getPosATL _wep, _static]; //_gunner setVariable["GRG_vehType","emplaced"]; - _emplacedAI append _units; + _emplacedAI append (units _empGroup); } else { [format["GMS_fnc_spawnEmplacedWeaponArray: Invalid classname %1 used in _missionEmplacedWeapons", _static],"warning"] call GMS_fnc_log; }; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf index 66489bb..d4b79b7 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf @@ -133,32 +133,20 @@ uiSleep delayTime; _temp = [_coords,_simpleObjects,true] call GMS_fnc_spawnSimpleObjects; _objects append _temp; -[format["_spawnMissionAssets (136): _noAIGroups = %1 | _missionGroups = %2",_noAIGroups,_missionGroups]] call GMS_fnc_Log; if (!(_missionGroups isEqualTo []) || _noAIGroups > 0) then // The idea is that defining groups in _missionGroups overrides the _noAIGroups setting { _ai = [_coords, _minNoAI,_maxNoAI,_noAIGroups,_missionGroups,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaMission] call GMS_fnc_spawnMissionAI; - //[format["_spawnMissionAssets (_ai): count _ai = %1",count _ai]] call GMS_fnc_log; _missionInfantry append _ai; - _unitsAdded = count _ai; uiSleep delayTime; }; -//[format["_spawnMissionAssets (after spawning _missionGroups): _countUnits = %1 before / _unitsAdded = %2 | count _missionInfantry = %3",_countUnits,_unitsAdded,count _missionInfantry]] call GMS_fnc_log; + _countUnits = count _missionInfantry; if (!(_scubaGroupParameters isEqualTo []) || {_scubaPatrols > 0}) then { _ai = [_coords, _minNoAI,_maxNoAI,_scubaPatrols,_scubaGroupParameters,_difficulty,GMS_UMS_uniforms,GMS_UMS_headgear,GMS_UMS_vests,_backpacks,GMS_UMS_weapons,_sideArms,true] call GMS_fnc_spawnMissionAI; _missionInfantry append _ai; - _unitsAdded = count _ai; uiSleep delayTime; }; -//[format["_spawnMissionAssets (after spawning _scubaGroupParameters): _countUnits before = %1 | _unitsAdded = %2 | count _missionInfantry = %3",_countUnits,_unitsAdded,count _missionInfantry]] call GMS_fnc_log; -_countUnits = count _missionInfantry; - -/* - No longer supported ***************************** - */ -//if !(_missionGarrisonedGroups isEqualTo []) then {[_coords, _missionGarrisonedGroups,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnGarrisonedUnits}; - // TODO: 05/08/22 -> redo code to handle this if !(_hostageConfig isEqualTo []) then @@ -182,7 +170,7 @@ if !(_enemyLeaderConfig isEqualTo []) then uiSleep delayTime; }; -// TODO: 05/08/22 -> redo code to handle this + /* No longer needed as of Build 270 Kept for backwards compatibility with existing missions. @@ -198,8 +186,7 @@ if !(_garrisonedBuilding_ATLsystem isEqualTo []) then // Note that there is no uiSleep delayTime; //diag_log format["_fnc_spawnMissionAssets (after GMS_fnc_garrisonBuilding_ATLsystem): _unitsAdded = %1",_unitsAdded]; }; -//[format["_spawnMissionAssets (after spawning _garrisonedBuilding_ATLsystem): _countUnits before = %1 | _unitsAdded = %2 | count _missionInfantry = %3",_countUnits,count _missionInfantry]] call GMS_fnc_log; -_countUnits = count _missionInfantry; + /* if !(_garrisonedBuildings_BuildingPosnSystem isEqualTo []) then { @@ -228,36 +215,27 @@ private _userelativepos = true; if (GMS_useStatic && !(_missionEmplacedWeapons isEqualTo [])) then { - [format["_spawnMissionAssets (231): GMS_useStatic = %1 | _missionEmplacedWeapons = %2",GMS_useStatic,_missionEmplacedWeapons]] call GMS_fnc_log; _temp = [_coords,_missionEmplacedWeapons,_userelativepos,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnEmplacedWeaponArray; _temp params["_statics","_units"]; _objects append _statics; _missionInfantry append _units; - _unitsAdded = count _units; - //[format["_monitorInitializedMissions (288): spawned emplaced weapons for _iconMarker %1 at %2 | with count _missionInfantry = %3 | with _statics = %4",_iconMarker,diag_tickTime,count _missionInfantry, _statics]]; uisleep delayTime; } else { if (([_noEmplacedWeapons] call GMSCore_fnc_getNumberFromRange) > 0) then { private _wepPositions = [_coords,_noEmplacedWeapons,35,50] call GMS_fnc_findPositionsAlongARadius; - [format["_spawnMissionAssests (242): _noEmplacedWeapons = %1 | _wepPositions = %2",_noEmplacedWeapons, _wepPositions]] call GMS_fnc_log; private _emplacedWeaponsRandom = []; { _static = selectRandom GMS_staticWeapons; - //diag_log format["_spawnMissionAssets: _wepPositions %1 = %2",_foreachIndex, _x]; _emplacedWeaponsRandom pushBack [_static,_x,0]; } forEach _wepPositions; - //_useRelativePos = false; _temp = [_coords,_emplacedWeaponsRandom,_userelativepos,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnEmplacedWeaponArray; _temp params["_statics","_units"]; _objects append _statics; - _missionInfantry append _units; - _unitsAdded = count _units; - //[format["_monitorInitializedMissions (233788): spawned emplaced weapons for _iconMarker %1 at %2 | with count _missionInfantry = %3 | with _statics = %4",_iconMarker,diag_tickTime,count _missionInfantry, _statics]]; + _missionInfantry append _units; uisleep delayTime; }; }; -//[format["_spawnMissionAssets (after spawning _missionEmplacedWeapons): _countUnits before = %1 | _unitsAdded = %2 | count _missionInfantry = %2",_countUnits,_unitsAdded,count _missionInfantry]] call GMS_fnc_log; -_countUnits = count _missionInfantry; + if !(_missionLootVehicles isEqualTo []) then { _lootVehicles = [_coords,_missionLootVehicles,_spawnCratesTiming] call GMS_fnc_spawnMissionLootVehicles; @@ -284,24 +262,18 @@ private _noPatrols = [_noVehiclePatrols] call GMSCore_fnc_getNumberFromRange; if (GMS_useVehiclePatrols && {!(_missionPatrolVehicles isEqualTo [])}) then { - [format["_spawnMissionAssets (286): _noPatrols = %1 | _missionPatrolVehicles = %2",_noPatrols,_missionPatrolVehicles]] call GMS_fnc_log; - _temp = [_coords,_difficulty,_missionPatrolVehicles,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; _temp params["_vehs","_units"]; _aiVehicles append _vehs; _missionInfantry append _units; - _unitsAdded = count _units; uiSleep delayTime; } else { if (GMS_useVehiclePatrols && {(_noPatrols > 0)}) then { - - private _spawnLocations = [_coords,_noVehiclePatrols,60,100] call GMS_fnc_findPositionsAlongARadius; - [format["_spawnMissionAssets (286): _noPatrols = %1 | _spawnLocations = %2",_noPatrols,_spawnLocations]] call GMS_fnc_log; + private _spawnLocations = [_coords,_noVehiclePatrols,60,100] call GMS_fnc_findPositionsAlongARadius; private _vicsToSpawn = []; { private _veh = [_difficulty] call GMS_fnc_selectPatrolVehicle; - //[format["GMS_fnc_spawnMissionVehiclePatrols: _veh %1 = %2",_forEachIndex,_veh]] call GMS_fnc_log; _vicsToSpawn pushBack [_veh, _x vectorDiff _coords]; }forEach _spawnLocations; #define useRelativePos true @@ -309,12 +281,10 @@ if (GMS_useVehiclePatrols && {!(_missionPatrolVehicles isEqualTo [])}) then _temp params["_vehs","_units"]; _aiVehicles append _vehs; _missionInfantry append _units; - _unitsAdded = count _units; uiSleep delayTime; }; }; -//[format["_spawnMissionAssets (after spawning _missionPatrolVehicles): _countUnits before = %1 | _unitsAdded = %2 | count _missionInfantry = %3",_countUnits,_unitsAdded,count _missionInfantry]] call GMS_fnc_log; -_countUnits = count _missionInfantry; + if (GMS_useVehiclePatrols && {((_submarinePatrols > 0) || {!(_submarinePatrolParameters isEqualTo [])} )} ) then { _temp = [_coords,_noPatrols,_difficulty,_submarinePatrolParameters,_userelativepos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaMission,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; @@ -340,10 +310,8 @@ if (GMS_useVehiclePatrols && {((_submarinePatrols > 0) || {!(_submarinePatrolPar ]; */ private _noChoppers = [_noChoppers] call GMSCore_fnc_getNumberFromRange; -[format["_spawnMissionAssets (340) _noChoppers = %1 | _airPatrols = %2",_noChoppers,_airPatrols]] call GMS_fnc_log; if !(_airPatrols isEqualTo [] && {random(1) < _chanceHeliPatrol}) then // Spawn any choppers defined in the array { - [format["_spawnMissionAssets (343) Spawning Helis according to mission specifications: %1",_airPatrols]] call GMS_fnc_log; _temp = [_coords, _airPatrols,_difficulty,_uniforms,_headgear,_vests,_backpacks,_weaponList,_sidearms] call GMS_fnc_spawnMissionHelis; _temp params["_helisSpawned","_unitsSpawned"]; GMS_monitoredVehicles append _helisSpawned; @@ -356,7 +324,6 @@ if !(_airPatrols isEqualTo [] && {random(1) < _chanceHeliPatrol}) then // Spawn { // GMS_fnc_findPositionsAlongARadius: params["_center","_num","_minDistance","_maxDistance"]; private _spawnLocations = [_coords,_noChoppers,100,120] call GMS_fnc_findPositionsAlongARadius; - [format["_spawnMissionAssets:(355): Spawning Helis at Random Locations _spawnLocations = %1",_spawnLocations]] call GMS_fnc_log; private _helisToSpawn = []; private _availableHelis = [_difficulty] call GMS_fnc_selectMissionHelis; { @@ -369,11 +336,10 @@ if !(_airPatrols isEqualTo [] && {random(1) < _chanceHeliPatrol}) then // Spawn GMS_aircraftPatrols append _helisSpawned; // Used to find nearest heli ... _aiVehicles append _helisSpawned; _missionInfantry append _unitsSpawned; - _unitsAdded = count _unitsSpawned; uisleep delayTime; }; }; -//[format["_spawnMissionAssets (after spawning _airPatrols): _countUnits before = %1 | _unitsAdded,count _missionInfantry = %3",_countUnits,_unitsAdded,count _missionInfantry]] call GMS_fnc_log; + if (_spawnCratesTiming in ["atMissionSpawnGround","atMissionSpawnAir"]) then { if (_missionLootBoxes isEqualTo []) then diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf index 994e0dd..2c42017 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnNewMissions.sqf @@ -38,11 +38,11 @@ if (GMS_missionsRunning >= GMS_maxSpawnedMissions) exitWith */ _missionDescriptors params["_key","_difficulty","_maxMissions","_activeMissions","_tMin","_tMax","_waitTime","_missionsData","_isStatic"]; - //{/ - //diag_log format["_spawnNewMission: _this %1 = %2",_forEachIndex, _x]; - //} forEach _missionDescriptors; + { + diag_log format["_spawnNewMission: _this %1 = %2",_forEachIndex, _x]; + } forEach _missionDescriptors; - //diag_log format["_spawnNewMission: _missionsData = %1",_missionsData]; + diag_log format["_spawnNewMission: _missionsData = %1",_missionsData]; if (_missionsData isEqualTo []) exitWith {-1}; if (_activeMissions < _maxMissions && {diag_tickTime > _waitTime && {GMS_missionsRunning < GMS_maxSpawnedMissions}}) then @@ -68,9 +68,9 @@ if (GMS_missionsRunning >= GMS_maxSpawnedMissions) exitWith _spawnedAt // index 14 ]; */ - //{ - // diag_log format["_spawnNewMission:_missionSelected: _this %1 = %2",_forEachIndex,_x]; - //} forEach _missionSelected; + { + diag_log format["_spawnNewMission:_missionSelected: _this %1 = %2",_forEachIndex,_x]; + } forEach _missionSelected; /* params[ // for GMS_fnc_initialiZeMission are @@ -80,7 +80,7 @@ if (GMS_missionsRunning >= GMS_maxSpawnedMissions) exitWith "_isStatic" ]; */ - //diag_log format["_spawnNewMissions: _missionSelected = %1",_missionSelected]; + diag_log format["_spawnNewMissions: _missionSelected = %1",_missionSelected]; private _missionInitialized = [_key,_missionSelected,GMS_dynamicMissionsSpawned,_isStatic] call GMS_fnc_initializeMission; if (_missionInitialized == 1) then { // This is a dynamic mission s see if we can spawn another instance of this categore (blue, red, green, orange) diff --git a/@GMS/addons/GMS/Configs/GMS_configs.sqf b/@GMS/addons/GMS/Configs/GMS_configs.sqf index 03a04ed..b0edffb 100644 --- a/@GMS/addons/GMS/Configs/GMS_configs.sqf +++ b/@GMS/addons/GMS/Configs/GMS_configs.sqf @@ -17,7 +17,7 @@ changing any of these variables may break the mission system */ GMS_locationBlackList = []; // Do not touch ... - GMS_debugLevel = 1; // should be set to 0 ... + GMS_debugLevel = 3; // should be set to 0 ... [format["Loading configurations for Non-militarized servers"]] call GMS_fnc_log; /* @@ -332,6 +332,7 @@ switch (GMSCore_modType) do GMS_enableBlueMissions = 1; GMS_numberUnderwaterDynamicMissions = 0; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. GMS_enableStaticMissions = 3; + #ifdef GRGserver GMS_enableHunterMissions = 1; GMS_enableScoutsMissions = 2; @@ -348,7 +349,8 @@ switch (GMSCore_modType) do GMS_TMin_Blue = 120; //3; GMS_TMin_Red = 110; //4; GMS_TMin_UMS = 105; //5; - + GMS_TMin_Statics = 60 * 35; // minimum time for RESPAWN of static missions + #ifdef GRGserver GMS_TMin_Hunter = 100; //6; GMS_TMin_Scouts = 95; //7; @@ -361,7 +363,9 @@ switch (GMSCore_modType) do GMS_TMax_Blue = 160; //11; GMS_TMax_Red = 150; //12; GMS_TMax_UMS = 13; - + GMS_TMax_Statics = GMS_TMin_Statics + 60; // Maximum time for RESAPWN of static missions + // Be sure the minimum is > than the time at which objects from the previous instance of a static mission are deleted + // That is set in GMS_cleanupCompositionTimer #ifdef GRGserver GMS_TMax_Hunter = 140; //14; GMS_TMax_Scouts = 130; //15; diff --git a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf index ebfd99f..25d9716 100644 --- a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf +++ b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf @@ -138,11 +138,11 @@ if (GMS_debugLevel > 0) then { //GMS_minDistanceToPlayer = 1000; //GMS_minDistanceFromTowns = 100; //GMS_preciseMapMarkers = true; - //GMS_MissionTimeout = 300; - //GMS_cleanupCompositionTimer = 30; - //GMS_AliveAICleanUpTimer = 30; - //GMS_bodyCleanUpTimer = 30; - //GMS_vehicleDeleteTimer = 30; + //GMS_MissionTimeout = 60; + GMS_cleanupCompositionTimer = 30; + GMS_AliveAICleanUpTimer = 30; + GMS_bodyCleanUpTimer = 30; + GMS_vehicleDeleteTimer = 30; //GMS_maxSpawnedMissions = 15; //GMS_mainThreadUpdateInterval = 10; GMS_launchersPerGroup = 1; @@ -150,14 +150,14 @@ if (GMS_debugLevel > 0) then { GMS_enableOrangeMissions = 0; GMS_enableGreenMissions = 0; // 10-02-2023 Tested with mission list= "FieldCamp", "FieldHQ", "factory", "fortification", "Camp_Moreell", "lager" GMS_enableRedMissions = 0; // 10-2-2023 Tested with mission list= "fuelDepot", "junkyardWilly", "TraderBoss", "carThieves", "Ammunition_depot", "IDAP", "Outpost", "Service_Point" - GMS_enableBlueMissions = 1; // 10-2-2023 Tested with mission list= "sniperBase", "survivalSupplies", "Service_point", and "default" + GMS_enableBlueMissions = 0; // 10-2-2023 Tested with mission list= "sniperBase", "survivalSupplies", "Service_point", and "default" GMS_numberUnderwaterDynamicMissions = 0; GMS_enableHunterMissions = 0; GMS_enableScoutsMissions = 1; - GMS_enableStaticMissions = 0; + GMS_enableStaticMissions = 1; GMS_maxCrashSites = 1; - GMS_noPatrolHelisBlue = 1; + GMS_noPatrolHelisBlue = 0; GMS_noPatrolHelisRed = 1; GMS_noPatrolHelisGreen = 1; GMS_noPatrolHelisOrange = 1; @@ -168,7 +168,7 @@ if (GMS_debugLevel > 0) then { GMS_SpawnVeh_Orange = 2; // Number of static weapons at Orange Missions GMS_SpawnVeh_Green = 2; // Number of static weapons at Green Missions GMS_SpawnVeh_Blue = 1; // Number of static weapons at Blue Missions - GMS_SpawnVeh_Red = 1; // Number of static weapons at Red Missions + GMS_SpawnVeh_Red = 0; // Number of static weapons at Red Missions GMS_SpawnEmplaced_Orange = 2; // Number of static weapons at Orange Missions GMS_SpawnEmplaced_Green = 2; // Number of static weapons at Green Missions @@ -199,7 +199,7 @@ if (GMS_debugLevel > 0) then { GMS_TMin_Scouts = 45; GMS_TMin_Crashes = 5; GMS_TMin_UMS = 20; - GMS_TMin_Statics = 60; // minimum time for RESPAWN of static missions + GMS_TMin_Statics = 120; // minimum time for RESPAWN of static missions //Maximum Spawn time between missions in seconds GMS_TMax_Blue = 12; GMS_TMax_Red = 15; diff --git a/@GMS/addons/GMS/config.cpp b/@GMS/addons/GMS/config.cpp index bf13cf4..8615d28 100644 --- a/@GMS/addons/GMS/config.cpp +++ b/@GMS/addons/GMS/config.cpp @@ -12,9 +12,9 @@ */ class GMSBuild { - Version = "7.164"; - Build = "269"; - Date = "10-12-2023"; + Version = "7.165"; + Build = "270"; + Date = "10-14-2023"; }; class CfgPatches {