Build 268 Version 7.164

Debugged support for adding money to assets.
Debugged quite a bit regarding spawning of mission assets.
This commit is contained in:
Ghostrider [GRG] 2023-10-12 21:26:29 -04:00
parent 281d9453fc
commit d7bf03b38c
13 changed files with 192 additions and 146 deletions

View File

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

View File

@ -254,27 +254,16 @@ for "_i" from 1 to (count _missionsList) do
{
_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.

View File

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

View File

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

View File

@ -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];
_vicsToSpawn pushBack [_veh, _x vectorDiff _coords];
}forEach _spawnLocations;
_temp = [_coords,_difficulty,_vicsToSpawn,_userelativepos,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols;
#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;

View File

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

View File

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

View File

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

View File

@ -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,8 +534,12 @@ 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
@ -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)];

View File

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

View File

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

View File

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

View File

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