mirror of
https://github.com/Ghostrider-DbD-/GMS_RC.git
synced 2024-08-30 16:02:11 +00:00
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:
parent
281d9453fc
commit
d7bf03b38c
@ -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];
|
||||
|
@ -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.
|
||||
|
@ -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"];
|
||||
|
@ -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);
|
||||
|
@ -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;
|
||||
|
@ -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]
|
@ -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];
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
||||
|
||||
|
@ -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)];
|
||||
|
@ -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]
|
||||
],
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user