From d7bf03b38cc8797c55d7c8fafaf531f8f74b0530 Mon Sep 17 00:00:00 2001 From: "Ghostrider [GRG]" Date: Thu, 12 Oct 2023 21:26:29 -0400 Subject: [PATCH] Build 268 Version 7.164 Debugged support for adding money to assets. Debugged quite a bit regarding spawning of mission assets. --- .../Functions/fn_createMissionMarkers.sqf | 4 +- .../Missions/fn_monitorSpawnedMissions.sqf | 21 +-- .../Missions/fn_spawnEmplacedWeaponArray.sqf | 19 ++- .../Compiles/Missions/fn_spawnMissionAI.sqf | 4 +- .../Missions/fn_spawnMissionAssets.sqf | 34 ++-- .../Missions/fn_spawnMissionHelis.sqf | 27 ++- .../fn_spawnMissionVehiclePatrols.sqf | 16 +- .../Compiles/Missions/fn_spawnScubaGroup.sqf | 2 +- @GMS/addons/GMS/Configs/GMS_configs.sqf | 155 +++++++++--------- @GMS/addons/GMS/Configs/GMS_configs_exile.sqf | 29 ++-- @GMS/addons/GMS/Configs/GMS_custom_config.sqf | 14 +- @GMS/addons/GMS/changeLog.txt | 7 + @GMS/addons/GMS/config.cpp | 6 +- 13 files changed, 192 insertions(+), 146 deletions(-) diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf index 45ef8e6..3c1c120 100644 --- a/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf +++ b/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf @@ -46,8 +46,8 @@ if (toUpper(_markerType) in ["ELLIPSE","RECTANGLE"]) then // not an Icon .... _m setMarkerBrush _markerBrush; _m setMarkerSize _markerSize; private _m2 = createMarker [GMS_missionMarkerRootName + _markerName + "label", _markerPos]; - _m2 setMarkerType "mil_dot"; - _m2 setMarkerColor "ColorBlack"; + _m2 setMarkerType "loc_destroy"; + _m2 setMarkerColor "ColorWhite"; _m2 setMarkerText _markerLabel; _markers = [_m,_m2]; //diag_log format["_fnc_createMarkers: case of ELLIPSE/RECTANGLE: _markers = %1",_markers]; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf index f883022..1a21ca3 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf @@ -253,28 +253,17 @@ for "_i" from 1 to (count _missionsList) do if (GMS_cleanUpLootChests) then { _objects append _crates; - }; - private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); - //[format["_monitorSpawnedMissions: (218) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; - { - [_x, _crateMoney] call GMSCore_fnc_setMoney; - } forEach _crates; + }; }; if (_loadCratesTiming isEqualTo "atMissionCompletion") then { - private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); - //[format["_monitorSpawnedMissions: (227) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + private _money = (missionNamespace getVariable[format["GMS_rewards%1",_skillLevel],GMS_rewardsOrange]) select 0; + diag_log format["_monitorSpawnedMissions(262): _money = %1",_money]; { [_x] call GMS_fnc_loadMissionCrate; - [_x, _crateMoney] call GMSCore_fnc_setMoney; - } forEach _crates; - //diag_log format["_monitorSpawnedMissions: (232): Loot and Money LOADED _loadCrates Timing = %1 | _crates = %2",_loadCratesTiming,_crates]; - { - [_x] call GMS_fnc_loadMissionCrate; - //[_x, missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; - } forEach _lootVehicles; - //diag_log format["_monitorSpawnedMissions: (237): Loot LOADED _loadCrates Timing = %1",_loadCratesTiming]; + [_x, _difficulty, _money] call GMSCore_fnc_setMoney; + } forEach _crates + _lootVehicles; }; _aiVehicles append _lootVehicles; // So these are deleted if no player enters the driver's seat. diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf index fbd946b..06bf610 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnEmplacedWeaponArray.sqf @@ -32,7 +32,24 @@ private _emplacedWepData = +_missionEmplacedWeapons; // So we dont overwrite t #define configureWaypoints false #define numberAI 1 #define areaDimensions [] // an empty array forces the spawnGroup function to skip setup of any waypoint - private _empGroup = [_pos,numberAI,_aiDifficultyLevel,areaDimensions,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnGroup; + /* + params[ + ["_pos",[-1,-1,1]], + ["_numbertospawn",0], + ["_skillLevel","red"], + ["_areaDimensions",[]], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]], + ["_scuba",false], + ["_timeOut",300], + ["_waypointclass","Soldier"] + ]; + */ + private _empGroup = [_pos,numberAI,_aiDifficultyLevel,areaDimensions,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,-1,"Turret"] call GMS_fnc_spawnGroup; _empGroup setcombatmode "RED"; _empGroup setBehaviour "COMBAT"; _empGroup setVariable ["soldierType","emplaced"]; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf index 12b9100..8c2addb 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAI.sqf @@ -36,7 +36,7 @@ if !(_missionGroups isEqualTo []) then //[format["GMS_fnc_spawnMissionAI: params returned _minAI %1 | _maxAI %2 _position %3 | _skillLevel %4",_minAI,_maxAI,_position,_skillLevel]] call GMS_fnc_log; _unitsToSpawn = round(_min + round(random(_max - _min))); private _groupPos = _coords vectorAdd _position; - private _newGroup = [_groupPos,_unitsToSpawn,_aiDifficultyLevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScubaGroup] call GMS_fnc_spawnGroup; + private _newGroup = [_groupPos,_unitsToSpawn,_aiDifficultyLevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScubaGroup,GMS_waypointTimeoutInfantry,"Soldier"] call GMS_fnc_spawnGroup; /* [ _group, @@ -76,7 +76,7 @@ if !(_missionGroups isEqualTo []) then private _area = [_coords,[200,200]]; private _groupPosns = [_coords,_noAIGroups,30,50] call GMS_fnc_findPositionsAlongARadius; { - _newGroup = [_x,_unitsPerGroup,_aiDifficultyLevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScubaGroup] call GMS_fnc_spawnGroup; + _newGroup = [_x,_unitsPerGroup,_aiDifficultyLevel,patrolAreadDimensions,_uniforms,_headGear,_vests,_backpacks,_weapons,_sideArms,_isScubaGroup,GMS_waypointTimeoutInfantry] call GMS_fnc_spawnGroup; _groups pushBack _newGroup; GMS_monitoredMissionAIGroups pushback _newGroup; _allAI append (units _newGroup); diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf index 4591c14..66489bb 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf @@ -133,6 +133,7 @@ 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; @@ -224,8 +225,10 @@ if !(_garrisonedBuildings_BuildingPosnSystem isEqualTo []) then */ private _userelativepos = true; //private _numberEmplacedWeaponsThisMission = [_noEmplacedWeapons] call GMSCore_fnc_getNumberFromRange; -if (GMS_useStatic && {!(_missionEmplacedWeapons isEqualTo [])} ) then + +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; @@ -236,13 +239,14 @@ if (GMS_useStatic && {!(_missionEmplacedWeapons isEqualTo [])} ) then } 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; + //_useRelativePos = false; _temp = [_coords,_emplacedWeaponsRandom,_userelativepos,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms] call GMS_fnc_spawnEmplacedWeaponArray; _temp params["_statics","_units"]; _objects append _statics; @@ -277,9 +281,12 @@ if !(_missionLootVehicles isEqualTo []) then ]; */ private _noPatrols = [_noVehiclePatrols] call GMSCore_fnc_getNumberFromRange; + if (GMS_useVehiclePatrols && {!(_missionPatrolVehicles isEqualTo [])}) then { - _temp = [_coords,_difficulty,_missionPatrolVehicles,_userelativepos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; + [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; @@ -288,15 +295,17 @@ if (GMS_useVehiclePatrols && {!(_missionPatrolVehicles isEqualTo [])}) then } else { if (GMS_useVehiclePatrols && {(_noPatrols > 0)}) then { - _useRelativePos = false; + private _spawnLocations = [_coords,_noVehiclePatrols,60,100] call GMS_fnc_findPositionsAlongARadius; + [format["_spawnMissionAssets (286): _noPatrols = %1 | _spawnLocations = %2",_noPatrols,_spawnLocations]] call GMS_fnc_log; 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]; - }forEach _spawnLocations; - _temp = [_coords,_difficulty,_vicsToSpawn,_userelativepos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; + _vicsToSpawn pushBack [_veh, _x vectorDiff _coords]; + }forEach _spawnLocations; + #define useRelativePos true + _temp = [_coords,_difficulty,_vicsToSpawn, _uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; _temp params["_vehs","_units"]; _aiVehicles append _vehs; _missionInfantry append _units; @@ -331,8 +340,10 @@ 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; @@ -345,12 +356,12 @@ 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:(339): _spawnLocations = %1",_spawnLocations]] call GMS_fnc_log; + [format["_spawnMissionAssets:(355): Spawning Helis at Random Locations _spawnLocations = %1",_spawnLocations]] call GMS_fnc_log; private _helisToSpawn = []; private _availableHelis = [_difficulty] call GMS_fnc_selectMissionHelis; { private _heli = selectRandom _availableHelis; - _helisToSpawn pushBack[_heli,_x,random(359)]; + _helisToSpawn pushBack[_heli, _x vectorDiff _coords, random(359)]; } forEach _spawnLocations; _temp = [_coords,_helisToSpawn,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList, _sideArms] call GMS_fnc_spawnMissionHelis; _temp params["_helisSpawned","_unitsSpawned"]; @@ -380,9 +391,10 @@ if (_spawnCratesTiming in ["atMissionSpawnGround","atMissionSpawnAir"]) then }; if (_loadCratesTiming isEqualTo "atMissionSpawn") then { - private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + private _crateMoney =(missionNamespace getVariable[format["GMS_crateMoney%1",_difficulty],GMS_rewardsOrange]); + diag_log format["_spawnMissionAssets(395): _crateMoney = %1",_crateMoney]; { - [_x,missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; + [_x,_difficulty,_crateMoney] call GMSCore_fnc_setMoney; } forEach _crates; }; uiSleep 1; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf index e096390..5ba90c9 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionHelis.sqf @@ -19,12 +19,28 @@ private _units = []; //diag_log format["_spawnMissionHelis (19): GMS_monitoringInitPass = %3 | count _missionHelis = %1 | _missionHelis = %2",count _missionHelis,_missionHelis, GMS_monitoringInitPass]; { _x params["_heli","_relPos","_direction"]; - //[format["_spawnMissionHelis: _heli = %1 | _relPos = %2 | _direction = %3 | isClass",_heli,_relPos,_direction, isClass(configFile >> "CfgVehicles" >> _heli)]] call GMS_fnc_log; + [format["_spawnMissionHelis: _heli = %1 | _relPos = %2 | _direction = %3 | isClass",_heli,_relPos,_direction, isClass(configFile >> "CfgVehicles" >> _heli)]] call GMS_fnc_log; if (isClass(configFile >> "CfgVehicles" >> _heli)) then { private _noCrew = [_heli,false] call BIS_fnc_crewCount; - private _spawnPos = _coords vectorDiff _relPos; + private _spawnPos = _coords vectorAdd _relPos; #define patrolArea [500,500] - private _crewGroup = [_spawnPos,_noCrew,_difficulty,patrolArea,_uniforms,_headGear,_vests,_backpacks,_weaponList, _sideArms] call GMS_fnc_spawnGroup; + /* parameters for call GMS_fnc_spawnGroup; + params[ + ["_pos",[-1,-1,1]], + ["_numbertospawn",0], + ["_skillLevel","red"], + ["_areaDimensions",[]], + ["_uniforms",[]], + ["_headGear",[]], + ["_vests",[]], + ["_backpacks",[]], + ["_weaponList",[]], + ["_sideArms",[]], + ["_scuba",false] + ]; + */ + #define isScuba false + private _crewGroup = [_spawnPos,_noCrew,_difficulty,patrolArea,_uniforms,_headGear,_vests,_backpacks,_weaponList, _sideArms,isScuba,GMS_waypointTimeoutAir,"Air"] call GMS_fnc_spawnGroup; _crewGroup setVariable["GMS_group",true]; _units append (units _crewGroup); //diag_log format["_spawnMissionHelis(27): _noCrew = %1 | _crewGroup = %2| _heil = %3 | _relPos = %4",_noCrew, _crewGroup, _heli, _relPos]; @@ -52,6 +68,7 @@ private _units = []; ]; */ private _aircraft = [_heli,_crewGroup,_spawnPos,_direction,heliHeight,heliDamage,heliRemoveFuel,_releaseToPlayers,GMS_vehicleDeleteTimer,vehHitCode,vehKilledCode] call GMSCore_fnc_spawnPatrolAircraft; + [_crewGroup] call GMSCore_fnc_updateWaypointConfigs; // apply any settings related to hunting or searching based on vehicle type private _movetoPos = [[[_spawnPos, patrolArea]],[]/* add condition that the spawn is not near a trader*/] call BIS_fnc_randomPos; (driver _aircraft) moveTo _movetoPos; (driver _aircraft) call GMSCore_fnc_nextWaypointAreaPatrol; @@ -67,12 +84,12 @@ private _units = []; ] call GMSCore_fnc_initializeWaypointsAreaPatrol; */ _helis pushBack _aircraft; - if (GMS_debugLevel > 0) then {[format["_spawnMissionHelis: _heli %1 spawned with crew _2",typeOf _aircraft,_crewGroup]] call GMS_fnc_log}; + if (GMS_debugLevel > 0) then {[format["_spawnMissionHelis: _heli %1 spawned with pilot %2 and crew %2",typeOf _aircraft, currentPilot _aircraft, _crewGroup]] call GMS_fnc_log}; } else { [format["GMS_fnc_spawnMissionHelis: Invalid classname %1 used in _airPatrols", _heli],"warning"] call GMS_fnc_log; }; } forEach _missionHelis; -//[format["GMS_fnc_spawnMissionHelis: count _units = %1", count _units]] call GMS_fnc_log; +[format["GMS_fnc_spawnMissionHelis: count _units = %1 | count _helis = %2", count _units, count _helis]] call GMS_fnc_log; GMS_spawnHelisPass = GMS_spawnHelisPass + 1; [_helis,_units] \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf index d93979a..7ff5342 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionVehiclePatrols.sqf @@ -17,7 +17,6 @@ params[ ["_coords",[]], ["_skillAI","Red"], ["_missionPatrolVehicles",[]], - ["_useRelativePos",true], ["_uniforms",[]], ["_headGear",[]], ["_vests",[]], @@ -40,9 +39,9 @@ private _patrolsThisMission = +_missionPatrolVehicles; { //diag_log format["_spawnMissionVehiclePatrols(41): _x = %1",_x]; _x params[["_vehName",""],["_pos",[]],["_dir",0]]; - //diag_log format["_spawnMissionVehiclePatrols(43): _vehName = %1 | _pos = %2 | _dir = %3 | isClass _vehName = %4",_vehName,_pos,_dir, isClass(configFile >> "CfgVehicles" >> _vehName)]; - if (_useRelativePos) then {_pos = _coords vectorAdd _pos}; // else {_pos = (_coords vectorAdd _pos) findEmptyPosition[0,50,_vehName]}; - //diag_log format["_spawnMissionVehiclePatrols(45): _pos updated to %1",_pos]; + diag_log format["_spawnMissionVehiclePatrols(43): _vehName = %1 | _pos = %2 | _dir = %3 | isClass _vehName = %4",_vehName,_pos,_dir, isClass(configFile >> "CfgVehicles" >> _vehName)]; + _pos = _coords vectorAdd _pos; // else {_pos = (_coords vectorAdd _pos) findEmptyPosition[0,50,_vehName]}; + diag_log format["_spawnMissionVehiclePatrols(45): _pos updated to %1",_pos]; if (isClass(configFile >> "CfgVehicles" >> _vehName)) then { if !(_pos isEqualTo []) then { @@ -50,8 +49,8 @@ private _patrolsThisMission = +_missionPatrolVehicles; private _maxCrewConfigs = [_vehName,true] call BIS_fnc_crewCount; private _maxCrewBlck = missionNamespace getVariable[format["GMS_vehCrew_%1",_skillAI],3]; private _crewCount = _maxCrewBlck min _maxCrewConfigs; - #define offMap [-1,-1,1] - private _vehGroup = [offMap,_crewCount,_skillAI,vehiclePatrolAreaDimensions,_uniforms, _headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaGroup] call GMS_fnc_spawnGroup; + //#define offMap [-1,-1,1] + private _vehGroup = [_pos,_crewCount,_skillAI,vehiclePatrolAreaDimensions,_uniforms, _headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaGroup,GMS_waypointTimeoutVehicle,"Vehicle"] call GMS_fnc_spawnGroup; _missionAI append (units _vehGroup); GMS_monitoredMissionAIGroups pushBack _vehGroup; @@ -99,6 +98,7 @@ private _patrolsThisMission = +_missionPatrolVehicles; _markerDelete ] call GMSCore_fnc_initializeWaypointsAreaPatrol; */ + [_vehGroup] call GMSCore_fnc_updateWaypointConfigs; // apply any settings related to hunting or searching based on vehicle type private _movetoPos = [[[_pos, vehiclePatrolAreaDimensions]],[]/* add condition that the spawn is not near a trader*/] call BIS_fnc_randomPos; (driver _vehicle) moveTo _movetoPos; (driver _vehicle) call GMSCore_fnc_nextWaypointAreaPatrol; @@ -114,7 +114,7 @@ private _patrolsThisMission = +_missionPatrolVehicles; ] call GMSCore_fnc_initializeWaypointsAreaPatrol; */ GMS_landVehiclePatrols pushBack _vehicle; - if (GMS_debugLevel > 0) then {[format["_spawnMissionVehiclePatrols: _vehName %1 spawned with crew %2",_vehName,_vehGroup]] call GMS_fnc_log}; + if (GMS_debugLevel > 0) then {[format["_spawnMissionVehiclePatrols: _vehName %1 spawned with driver %2 and crew %3",_vehName,driver _vehicle, _vehGroup]] call GMS_fnc_log}; }; } else { [format["GMS_fnc_spawnMissionVehiclePatrols: Invalid classname %1 used in __missionPatrolVehicles", _vehName],"warning"] call GMS_fnc_log; @@ -122,6 +122,6 @@ private _patrolsThisMission = +_missionPatrolVehicles; } forEach _patrolsThisMission; GMS_landVehiclePatrols append _vehicles; GMS_monitoredVehicles append _vehicles; -//[format["GMS_fnc_spawnMissionVehiclePatrols: count _missionAI = %1", count _missionAI]] call GMS_fnc_log; +[format["GMS_fnc_spawnMissionVehiclePatrols: count _missionAI = %1 | count _vehicles = %2", count _missionAI, count _vehicles]] call GMS_fnc_log; [_vehicles, _missionAI]; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf index 7c7402b..2bbbf85 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnScubaGroup.sqf @@ -17,7 +17,7 @@ params["_group","_pos",["_skillLevel","red"],["_numUnits",6],["_patrolRadius",15]]; // private _group = [_pos,_numberAI,_difficulty,configureWaypoints,GMS_UMS_uniforms,GMS_UMS_headgear,GMS_UMS_vests,[],GMS_UMS_weapons,_sideArms,true] call GMS_fnc_spawnGroup; -private _group = [_pos,_numUnits,_skillLevel, scubaPatrolAreaDimensions, GMS_UMS_uniforms, GMS_UMS_headgear, GMS_UMS_vests, [], GMS_UMS_weapons, [], isScubaGroup] call GMS_fnc_spawnGroup; +private _group = [_pos,_numUnits,_skillLevel, scubaPatrolAreaDimensions, GMS_UMS_uniforms, GMS_UMS_headgear, GMS_UMS_vests, [], GMS_UMS_weapons, [], isScubaGroup,GMS_waypointTimeoutInfantry] call GMS_fnc_spawnGroup; diff --git a/@GMS/addons/GMS/Configs/GMS_configs.sqf b/@GMS/addons/GMS/Configs/GMS_configs.sqf index f20ff95..7fcfb2c 100644 --- a/@GMS/addons/GMS/Configs/GMS_configs.sqf +++ b/@GMS/addons/GMS/Configs/GMS_configs.sqf @@ -82,8 +82,8 @@ GMS_killMessageTypesKiller = [ //"epochMsg", // Epoch only //"hint", //"cutText", - "dynamic", // A display with information about rewards formated in a list on the left side of the screen - "systemChat" + "dynamic" // A display with information about rewards formated in a list on the left side of the screen + //"systemChat" ]; GMS_useIEDMessages = true; // Displayes a message when a player vehicle detonates and IED (such as would happen if a player killed AI with a forbidden weapon). @@ -95,12 +95,13 @@ switch (GMSCore_modType) do // expressed as crypto min, crypto max GMS_rewardsNotifications = ["dynamicText"]; - // expressed as [][tabs min, tabs max],[respect min,respect max]] + // expressed as [][crypto min, tabs max],[respect min,respect max]] GMS_rewardsBlue = [[5,10],[8,12]]; GMS_rewardsRed = [[8,14],12,15]; GMS_rewardsGreen = [[10,18],[15,20]]; GMS_rewardsOrange = [[12,20],20,25]; GMS_rewards = [GMS_rewardsBlue,GMS_rewardsRed,GMS_rewardsGreen,GMS_rewardsOrange]; + GMS_distanceBonus = 3; // per 100 M, max = 5 * this value; GMS_killsBonus = 3; // from 2X up, max 6* this value GMS_killstreakTimeout = 300; // 5 min @@ -113,6 +114,7 @@ switch (GMSCore_modType) do GMS_rewardsGreen = [[10,18],[15,20]]; GMS_rewardsOrange = [[12,20],[20,25]]; GMS_rewards = [GMS_rewardsBlue,GMS_rewardsRed,GMS_rewardsGreen,GMS_rewardsOrange]; + GMS_rewardsNotifications = ["dynamicText"]; GMS_respectBonusForKillstreaks = 3; @@ -140,8 +142,8 @@ switch (GMSCore_modType) do //Minimum distance between missions GMS_MinDistanceFromMission = 1200; - GMS_minDistanceToBases = 250; - GMS_minDistanceToPlayer = 300; + GMS_minDistanceToBases = 150; + GMS_minDistanceToPlayer = 1800; GMS_minDistanceFromTowns = 200; GMS_minDistanceFromDMS = 800; // minimum distance for a GMS mission from any nearby DMS missions. set to -1 to disable this check. @@ -152,15 +154,9 @@ switch (GMSCore_modType) do // global loot crate options // Options to spawn a smoking wreck near the crate. 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. - GMS_SmokeAtMissions = [true,"random"]; // set to [false,"anything here"] to disable this function altogether. - - // When a column of smoke is used as a visual cue one of the following types of wrecks will be spawned. - GMS_wrecksAtMissions = ["Land_Wreck_Car2_F","Land_Wreck_Car3_F","Land_Wreck_Car_F","Land_Wreck_Offroad2_F","Land_Wreck_Offroad_F","Land_Tyres_F","Land_Pallets_F","Land_MetalBarrel_F"]; - - // Added 10/01/23 for those who want some control over the color. - GMS_smokeShellAtCrates = ["SmokeShellOrange","SmokeShellBlue","SmokeShellPurple","SmokeShellRed","SmokeShellGreen","SmokeShellYellow"]; + GMS_SmokeAtMissions = [false,"random"]; // set to [false,"anything here"] to disable this function altogether. GMS_useSignalEnd = true; // When true a smoke grenade/chemlight will appear at the loot crate for 2 min after mission completion. - GMS_missionEndCondition = playerNear; //allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear + GMS_missionEndCondition = allUnitsKilled; //allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear /////////////////////////////// // General Mission Completion and Loot Settings @@ -172,7 +168,7 @@ switch (GMSCore_modType) do GMS_spawnCratesTiming = "atMissionSpawnGround"; // Choices: "atMissionSpawnGround","atMissionSpawnAir","atMissionEndGround","atMissionEndAir". // Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute. // This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission. - GMS_loadCratesTiming = "atMissionCompletion"; //"atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; + GMS_loadCratesTiming = "atMissionSpawn"; //""atMissionSpawn"; // valid choices are "atMissionCompletion" and "atMissionSpawn"; // Pertains only to crates spawned at mission spawn. // This sets the default but can be overridden for specific missions by defining _loadCratesTiming @@ -187,10 +183,10 @@ switch (GMSCore_modType) do // PLAYER PENALTIES /////////////////////////////// - GMS_RunGear = true; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given GMS_RunGearDamage of damage. + GMS_RunGear = false; // When set to true, AI that have been run over will ve stripped of gear, and the vehicle will be given GMS_RunGearDamage of damage. GMS_RunGearDamage = 0.2; // Damage applied to player vehicle for each AI run over GMS_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 GMS_RunGearDamage of damage - GMS_VK_RunoverDamage = true; // when the AI was run over GMS_RunGearDamage of damage will be applied to the killer's vehicle. + GMS_VK_RunoverDamage = false; // when the AI was run over GMS_RunGearDamage of damage will be applied to the killer's vehicle. GMS_VK_GunnerDamage = false; // when the AI was killed by a gunner on a vehicle that is is in the list of forbidden vehicles, GMS_RunGearDamage of damage will be applied to the killer's vehicle each time an AI is killed with a vehicle's gun. /* these are weapons, magazines, sensors to be disabled when a vehicle is spawned */ @@ -227,7 +223,7 @@ switch (GMSCore_modType) do GMS_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. GMS_cleanupCompositionTimer = 60*30; // Mission objects will be deleted after the mission is completed after a deley set by this timer. GMS_cleanUpLootChests = false; // when true, loot crates will be deleted together with other mission objects. - GMS_MissionTimeout = 60*60; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting. + GMS_MissionTimeout = 90*90; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting. /////////////////////////////// // Paratroop Settings @@ -241,10 +237,10 @@ switch (GMSCore_modType) do GMS_chanceParaRed = 0; GMS_noParaRed = 3; - GMS_chanceParaGreen = 0; + GMS_chanceParaGreen = 0.5; GMS_noParaGreen = 4; - GMS_chanceParaOrange = 0; + GMS_chanceParaOrange = 0.95; GMS_noParaOrange = 4; // Supplemental Loot Parameters. @@ -259,8 +255,8 @@ switch (GMSCore_modType) do _GMS_armed_orcas = ["O_Heli_Light_02_F","O_Heli_Light_02_v2_F"]; _GMS_armed_ghosthawks = ["B_Heli_Transport_01_F","B_Heli_Transport_01_camo_F"]; _GMS_armed_hurons = ["B_Heli_Transport_03_F","B_Heli_Transport_03_black_F"]; - _GMS_armed_attackHelis = ["B_Heli_Attack_01_F"]; - _GMS_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","O_Heli_Attack_02_black_F"]; + _GMS_armed_attackHelis = ["CUP_B_UH1Y_GUNSHIP_USMC"]; + _GMS_armed_heavyAttackHelis = ["O_Heli_Attack_02_F","CUP_B_UH1Y_GUNSHIP_USMC"]; _GMS_fighters = [ "O_Plane_CAS_02_F", // /ti-199 Neophron (CAS) "I_Plane_Fighter_03_AA_F", // A-143 Buzzard (AA) @@ -278,19 +274,21 @@ switch (GMSCore_modType) do // Heli Patrol Settings /////////////////////////////// - GMS_chanceHeliPatrolBlue = 1.0; //[0 - 1] The chance a heli will be spawned - GMS_patrolHelisBlue = _GMS_littleBirds; // The default helis - GMS_noPatrolHelisBlue = 1; // The default number of helis + GMS_chanceHeliPatrolBlue = 0.1; //[0 - 1] Set to 0 to deactivate and 1 to always have a heli spawn over the mission center and patrol the mission area. + // The chance of paratroops dropping from the heli is defined by GMS_chancePara(Blue|Red|Green|Orange) above. + // Recommend setting the change = 1 if you wish to spawn multiple helis at a mission. + GMS_patrolHelisBlue = _GMS_littleBirds; + GMS_noPatrolHelisBlue = 1; - GMS_chanceHeliPatrolRed = 1.0; // 0.4; + GMS_chanceHeliPatrolRed = 0.1; // 0.4; GMS_patrolHelisRed = _GMS_littleBirds; GMS_noPatrolHelisRed = 1; - GMS_chanceHeliPatrolGreen = 0.85; + GMS_chanceHeliPatrolGreen = 0.55; GMS_patrolHelisGreen = _GMS_armed_hellcats + _cup_Helis_missiles; // _GMS_armed_orcas + _GMS_armed_ghosthawks; //_GMS_littleBirds; GMS_noPatrolHelisGreen = 1; - GMS_chanceHeliPatrolOrange = 0.95; + GMS_chanceHeliPatrolOrange = 0.90; GMS_patrolHelisOrange = _GMS_armed_heavyAttackHelis + _GMS_armed_attackHelis; //_GMS_littleBirds; GMS_noPatrolHelisOrange = 1; @@ -322,22 +320,19 @@ switch (GMSCore_modType) do //////////////////// // Maximum number of missions shown on the map at any one time. - GMS_maxSpawnedMissions = 15; + GMS_maxSpawnedMissions = 11; //Set to -1 to disable. Values of 2 or more force the mission spawner to spawn copies of that mission - this feature is not recommended because you may run out of available groups. GMS_enableOrangeMissions = 1; GMS_enableGreenMissions = 2; GMS_enableRedMissions = 2; GMS_enableBlueMissions = 1; - GMS_numberUnderwaterDynamicMissions = -1; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. - - // sets the maximum number of static missions to spawn - set to -1 to disable spawning them. - GMS_enableStaticMissions = 3; + GMS_numberUnderwaterDynamicMissions = 0; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. #ifdef GRGserver GMS_enableHunterMissions = 1; - GMS_enableScoutsMissions =2; - GMS_maxcrashsites = 3; // TODO: Set to 2-3 + GMS_enableScoutsMissions = 2; + GMS_maxcrashsites = 2; #endif //////////////////// @@ -345,33 +340,29 @@ switch (GMSCore_modType) do //////////////////// // Reduce to 1 sec for immediate spawns, or longer if you wish to space the missions out - GMS_TMin_Orange = 480; - GMS_TMin_Green = 420; - GMS_TMin_Blue = 300; - GMS_TMin_Red = 360; - GMS_TMin_UMS = 300; - GMS_TMin_Statics = 60 * 35; // minimum time for RESPAWN of static missions - + GMS_TMin_Orange = 180; //1; + GMS_TMin_Green = 150; //2; + GMS_TMin_Blue = 120; //3; + GMS_TMin_Red = 110; //4; + GMS_TMin_UMS = 105; //5; + #ifdef GRGserver - GMS_TMin_Hunter = 340; - GMS_TMin_Scouts = 300; - GMS_TMin_Crashes = 300; + GMS_TMin_Hunter = 100; //6; + GMS_TMin_Scouts = 95; //7; + GMS_TMin_Crashes = 90; //8; #endif //Maximum Spawn time between missions in seconds - GMS_TMax_Orange = 560; - GMS_TMax_Green = 500; - GMS_TMax_Blue = 360; - GMS_TMax_Red = 420; - GMS_TMax_UMS = 400; - 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 + GMS_TMax_Orange =200; //9; + GMS_TMax_Green = 180; //10; + GMS_TMax_Blue = 160; //11; + GMS_TMax_Red = 150; //12; + GMS_TMax_UMS = 13; #ifdef GRGserver - GMS_TMax_Hunter = 400; - GMS_TMax_Scouts = 360; - GMS_TMax_Crashes = 360; + GMS_TMax_Hunter = 140; //14; + GMS_TMax_Scouts = 130; //15; + GMS_TMax_Crashes = 100; //16; #endif // @@ -543,9 +534,13 @@ switch (GMSCore_modType) do GMS_launcherTypes = ["launch_RPG32_F"]; //["CUP_launch_RPG7V"]; // GMS_launchersPerGroup = 1; // Defines the number of AI per group spawned with a launcher GMS_launcherCleanup = false;// When true, launchers and launcher ammo are removed from dead AI. - GMS_minimumPatrolRadius = 22; // AI will patrol within a circle with radius of approximately min-max meters. note that because of the way waypoints are completed they may more more or less than this distance. - GMS_maximumPatrolRadius = 45; + GMS_minimumPatrolRadius = 36; // AI will patrol within a circle with radius of approximately min-max meters. note that because of the way waypoints are completed they may more more or less than this distance. + GMS_maximumPatrolRadius = 66; + GMS_waypointTimeoutInfantry = 300; + GMS_waypointTimeoutVehicle = 300; + GMS_waypointTimeoutAir = 300; + //This defines how long after an AI dies that it's body disappears. GMS_bodyCleanUpTimer = 60*45; // 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 @@ -554,10 +549,10 @@ switch (GMSCore_modType) do // How precisely player locations will be revealed to AI after an AI kill // values are ordered as follows [blue, red, green, orange]; - GMS_AIAlertDistance = [250,450,700,900]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. + GMS_AIAlertDistance = [250,450,1000,1300]; // Radius within which AI will be notified of enemy activity. Depricated as a group-sed system is used now. The group is informed of the enemy location when a group member is hit or killed. // How precisely player locations will be revealed to AI after an AI kill // values are ordered as follows [blue, red, green, orange]; - GMS_AIIntelligence = [0.3, 0.5, 0.7, 0.9]; + GMS_AIIntelligence = [0.37, 0.57, 0.77, 0.97]; GMS_baseSkill = 1.0; // The overal skill of the AI - range 0.1 to 1.0. @@ -568,15 +563,15 @@ switch (GMSCore_modType) do **************************************************************/ //This defines the skill, minimum/Maximum number of AI and how many AI groups are spawned for each mission type // Orange Missions - GMS_MinAI_Orange = 20; - GMS_MaxAI_Orange = 25; + GMS_MinAI_Orange = 18; + GMS_MaxAI_Orange = 23; GMS_AIGrps_Orange = 5; GMS_SkillsOrange = [ [0.20], // aiming accuracy - [0.65,0.75], // aiming speed + [0.75,0.85], // aiming speed [0.25], // aiming shake 1.0, // spot distance - 0.7, // spot time + 0.89, // spot time 1.00, // courage 1.00, // reload speed 1.00, // commanding @@ -584,24 +579,24 @@ switch (GMSCore_modType) do ]; // Green Missions - GMS_MinAI_Green = 16; - GMS_MaxAI_Green = 21; + GMS_MinAI_Green = 14; + GMS_MaxAI_Green = 19; GMS_AIGrps_Green = 4; GMS_SkillsGreen = [ [0.18], // aiming accuracy - [0.55,0.7], // aiming speed + [0.65,0.75], // aiming speed [0.18], // aiming shake - 0.9, // spot distance - 0.65, // spot time + 0.92, // spot distance + 0.82, // spot time 0.9, // courage 0.9, // reload speed 0.9, // comanding - 0.75 // general + 0.85 // general ]; // Red Missions - GMS_MinAI_Red = 12; - GMS_MaxAI_Red = 15; + GMS_MinAI_Red = 10; + GMS_MaxAI_Red = 13; GMS_AIGrps_Red = 3; GMS_SkillsRed = [ [0.14], // aiming accuracy @@ -616,8 +611,8 @@ switch (GMSCore_modType) do ]; // Blue Missions - GMS_MinAI_Blue = 8; - GMS_MaxAI_Blue = 12; + GMS_MinAI_Blue = 6; + GMS_MaxAI_Blue = 10; GMS_AIGrps_Blue = 2; GMS_SkillsBlue = [ [0.08], // aiming accuracy @@ -632,14 +627,14 @@ switch (GMSCore_modType) do ]; // Add some money to AI; - GMS_maxMoneyOrange = 25; - GMS_maxMoneyGreen = 20; - GMS_maxMoneyRed = 15; - GMS_maxMoneyBlue = 10; + GMS_maxMoneyOrange = 35; + GMS_maxMoneyGreen = 30; + GMS_maxMoneyRed = 25; + GMS_maxMoneyBlue = 20; // Define the chance of attachments and gear GMS_chancePrimary = 1.0; - GMS_chanceOpticsPrimary = 0.4; + GMS_chanceOpticsPrimary = 0.5; GMS_chanceMuzzlePrimary = 0.3; GMS_chancePointerPrimary = 0.25; GMS_chanceUnderbarrelPrimary = 0.25; @@ -650,8 +645,8 @@ switch (GMSCore_modType) do GMS_chanceThowable = 0.5; GMS_chanceHeadgear = 0.75; GMS_chanceUniform = 1.0; - GMS_chanceBackpack = 0.2; // Chance AI will be spawned with a backpack - GMS_chanceVest = 0.1; + GMS_chanceBackpack = 0.6; // Chance AI will be spawned with a backpack + GMS_chanceVest = 0.6; GMS_chanceBinoc = 0.75; private _configToLoad = format["\GMS\Configs\GMS_configs_%1.sqf",tolower(GMSCore_modtype)]; diff --git a/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf b/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf index 9b5c9de..349cc1f 100644 --- a/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf +++ b/@GMS/addons/GMS/Configs/GMS_configs_exile.sqf @@ -24,7 +24,16 @@ switch (toLower(worldName)) do GMS_locationBlackList append [ //Add location as [[xpos,ypos,0],minimumDistance], // Note that there should not be a comma after the last item in this table - [[10800,10641,0],1000] // isthmus - missions that spawn here often are glitched. + [[10800,10641,0],1000], // isthmus - missions that spawn here often are glitched. + [[14599.966,16797.193,0],3000], // TERMINAL + [[24127.771,16169.194,0],1800], // HOLY DIVER + [[12823.13,16681.56],1200], // MIL HILL + [[8713.47,23018.19],3200], // NW MILI + [[10969.26,8490.82],2400], // STRONGHOLD + [[20788.121,7233.124],1800], // WAR ENSEMBLE + [[23300,18800,0],950], // FLATS SPREAD + [[16696.7,13598,0],2000], // CHELO + [[20917.549,19239.043,0],1600] // CLIT ]; }; case "tanoa": { @@ -41,10 +50,10 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR GMS_blacklistSpawns = true; GMS_listConcreteMixerZones = true; - GMS_crateMoneyBlue = [100,250]; - GMS_crateMoneyRed = [175, 300]; - GMS_crateMoneyGreen = [300, 500]; - GMS_crateMoneyOrange = [500, 750]; + GMS_crateMoneyBlue = [1400,2150]; + GMS_crateMoneyRed = [3175, 5300]; + GMS_crateMoneyGreen = [16300, 21500]; + GMS_crateMoneyOrange = [23500, 24750]; GMS_crateTypes = ["Box_FIA_Ammo_F","Box_FIA_Support_F","Box_FIA_Wps_F","I_SupplyCrate_F","Box_NATO_AmmoVeh_F","Box_East_AmmoVeh_F","IG_supplyCrate_F","Box_NATO_Wps_F","I_CargoNet_01_ammo_F","O_CargoNet_01_ammo_F","B_CargoNet_01_ammo_F"]; // Default crate type. @@ -54,7 +63,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR //"nameNoGoodOpen", "Exile_Car_BTR40_MG_Green", "Exile_Car_HMMWV_M134_Green", - //"Exile_Car_HMMWV_M2_Green", // Not a valid class + "Exile_Car_HMMWV_M2_Green", "B_LSV_01_armed_F", "Exile_Car_Offroad_Armed_Guerilla01", "B_G_Offroad_01_armed_F", @@ -742,7 +751,7 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR private _foodDrink = GMS_meats + GMS_drink + GMS_food; private _buildingStuff = [ - ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_DuctTape",1,8],["Exile_Item_FuelCanisterEmpty",1,2], ["Exile_Item_JunkMetal",4,10],["Exile_Item_LightBulb",1,10],["Exile_Item_MetalBoard",4,10],["Exile_Item_MetalPole",4,10],["Exile_Item_CamoTentKit",1,3],["Exile_Item_MetalScrews",3,10], ["Exile_Item_Sand",4,10],["Exile_Item_Cement",4,10],["Exile_Item_WaterCanisterDirtyWater",1,3],["Exile_Item_FuelCanisterFull",1,3] ]; @@ -753,8 +762,8 @@ AI WEAPONS, UNIFORMS, VESTS AND GEAR ]; private _launchers = []; -GMS_buildingMaterials = ["Exile_Item_ExtensionCord","Exile_Item_JunkMetal","Exile_Item_LightBulb","Exile_Item_MetalBoard", - "Exile_Item_MetalPole","Exile_Item_MetalScrews","Exile_Item_Cement","Exile_Item_Sand","Exile_Item_MetalWire","Exile_Item_ExtensionCord","Exile_Item_JunkMetal"]; +GMS_buildingMaterials = ["Exile_Item_DuctTape","Exile_Item_JunkMetal","Exile_Item_LightBulb","Exile_Item_MetalBoard", + "Exile_Item_MetalPole","Exile_Item_MetalScrews","Exile_Item_Cement","Exile_Item_Sand","Exile_Item_MetalWire","Exile_Item_DuctTape","Exile_Item_JunkMetal"]; GMS_tools = ["Exile_Item_Matches","Exile_Item_CookingPot","Exile_Melee_Axe","Exile_Melee_SledgeHammmer","Exile_Item_Handsaw","Exile_Item_Pliers","Exile_Item_CanOpener","Exile_Item_Shovel"]; GMS_loot = GMS_buildingMaterials + GMS_tools; GMS_medicalItems = ["Exile_Item_InstaDoc","Exile_Item_Bandage","Exile_Item_Vishpirin"]; @@ -841,7 +850,7 @@ GMS_contructionLootExile = [ [// Materials and supplies // - ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_ExtensionCord",1,8],["Exile_Item_FuelCanisterEmpty",1,2], + ["Exile_Item_Matches",1,2],["Exile_Item_CookingPot",1,2],["Exile_Item_Rope",1,2],["Exile_Item_DuctTape",1,8],["Exile_Item_DuctTape",1,8],["Exile_Item_FuelCanisterEmpty",1,2], ["Exile_Item_JunkMetal",4,10],["Exile_Item_LightBulb",1,10],["Exile_Item_MetalBoard",4,10],["Exile_Item_MetalPole",4,10],["Exile_Item_CamoTentKit",1,3],["Exile_Item_MetalScrews",3,10], ["Exile_Item_Sand",4,10],["Exile_Item_Cement",4,10],["Exile_Item_WaterCanisterDirtyWater",1,3],["Exile_Item_FuelCanisterFull",1,3] ], diff --git a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf index 6c768de..ebfd99f 100644 --- a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf +++ b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf @@ -147,23 +147,23 @@ if (GMS_debugLevel > 0) then { //GMS_mainThreadUpdateInterval = 10; GMS_launchersPerGroup = 1; - GMS_enableOrangeMissions = 1; - GMS_enableGreenMissions = 1; // 10-02-2023 Tested with mission list= "FieldCamp", "FieldHQ", "factory", "fortification", "Camp_Moreell", "lager" - GMS_enableRedMissions = 1; // 10-2-2023 Tested with mission list= "fuelDepot", "junkyardWilly", "TraderBoss", "carThieves", "Ammunition_depot", "IDAP", "Outpost", "Service_Point" + 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_numberUnderwaterDynamicMissions = 0; GMS_enableHunterMissions = 0; - GMS_enableScoutsMissions = 0; + GMS_enableScoutsMissions = 1; GMS_enableStaticMissions = 0; - GMS_maxCrashSites = 0; + GMS_maxCrashSites = 1; GMS_noPatrolHelisBlue = 1; GMS_noPatrolHelisRed = 1; GMS_noPatrolHelisGreen = 1; GMS_noPatrolHelisOrange = 1; - GMS_chanceParaBlue = 1; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3] - GMS_noParaBlue = 3; // [1-N] + GMS_chanceParaBlue = 0; // [0 - 1] set to 0 to deactivate and 1 to always have paratroops spawn over the center of the mission. This value can be a range as well [0.1,0.3] + GMS_noParaBlue = 0; // [1-N] GMS_SpawnVeh_Orange = 2; // Number of static weapons at Orange Missions GMS_SpawnVeh_Green = 2; // Number of static weapons at Green Missions diff --git a/@GMS/addons/GMS/changeLog.txt b/@GMS/addons/GMS/changeLog.txt index c0ee0ce..dd2d790 100644 --- a/@GMS/addons/GMS/changeLog.txt +++ b/@GMS/addons/GMS/changeLog.txt @@ -33,6 +33,13 @@ The static loot system and dynamic loot system are gone. THese outlived thier us I have kept the change log as a bit of history for those interested in development of this mission system. Significant Changes: +Build 268 Version 7.164 +Fixed issues with adding tabs or crypto to objects including AI. +REQUIRES GMSCore + version = 1.057; + build = 39; + buildDate = "10-12-23"; + Build 267 - Version 7.162 REQUIRES GMSCore diff --git a/@GMS/addons/GMS/config.cpp b/@GMS/addons/GMS/config.cpp index a55a04b..bf13cf4 100644 --- a/@GMS/addons/GMS/config.cpp +++ b/@GMS/addons/GMS/config.cpp @@ -12,9 +12,9 @@ */ class GMSBuild { - Version = "7.162"; - Build = "267"; - Date = "10-1-2023"; + Version = "7.164"; + Build = "269"; + Date = "10-12-2023"; }; class CfgPatches {