From 0a31929d8b61e7af50c8e45e76d0bad66f8ef6b4 Mon Sep 17 00:00:00 2001 From: "Ghostrider [GRG]" Date: Tue, 7 Nov 2023 20:32:03 -0500 Subject: [PATCH] Build 279 Added missing variables for GMS_config.sqf. Moved symulation management to GMSCore. --- .../GMS/Compiles/Functions/fn_mainThread.sqf | 4 +- .../Groups/unused_fn_simulationMonitor.sqf | 58 +++ .../Missions/fn_initializeMission.sqf | 4 +- .../Missions/fn_monitorSpawnedMissions.sqf | 9 +- .../Missions/fn_spawnRandomLandscape.sqf | 2 +- @GMS/addons/GMS/Compiles/init/GMS_defines.hpp | 4 +- @GMS/addons/GMS/Compiles/init/fn_init.sqf | 376 ++++++++-------- @GMS/addons/GMS/Configs/GMS_configs.sqf | 29 +- @GMS/addons/GMS/Missions/GMS_missionLists.sqf | 6 +- .../GMS/Missions/Orange/researchComplex.sqf | 404 ++++++++++++++++++ .../GMS/Missions/Orange/survivalSupplies.sqf | 165 +++++++ .../GMS/Missions/Statics/saltflatsone.sqf | 151 ++++--- @GMS/addons/GMS/config.cpp | 9 +- 13 files changed, 936 insertions(+), 285 deletions(-) create mode 100644 @GMS/addons/GMS/Compiles/Groups/unused_fn_simulationMonitor.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/researchComplex.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/survivalSupplies.sqf diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf index f87d89a..c1e0d8b 100644 --- a/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf +++ b/@GMS/addons/GMS/Compiles/Functions/fn_mainThread.sqf @@ -36,7 +36,9 @@ while {true} do if (diag_tickTime > _timer5sec) then { _timer5sec = diag_tickTime + 5; - [] call GMS_fnc_simulationMonitor; + + // Moved simulation monitoring to GMSCore since both GMS and GMSAI require it. + //[] call GMS_fnc_simulationMonitor; [] spawn GMS_fnc_monitorSpawnedMissions; [] call GMS_fnc_scanForPlayersNearVehicles; [] call GMS_fnc_vehicleMonitor; diff --git a/@GMS/addons/GMS/Compiles/Groups/unused_fn_simulationMonitor.sqf b/@GMS/addons/GMS/Compiles/Groups/unused_fn_simulationMonitor.sqf new file mode 100644 index 0000000..2c75ecd --- /dev/null +++ b/@GMS/addons/GMS/Compiles/Groups/unused_fn_simulationMonitor.sqf @@ -0,0 +1,58 @@ +/* + GMS_fnc_simulationMonitor + + Managages simulation using blckeagls logic + By Ghostrider-GRG- + + -------------------------- + License + -------------------------- + All the code and information provided here is provided under an Attribution Non-Commercial ShareAlike 4.0 Commons License. + + http://creativecommons.org/licenses/by-nc-sa/4.0/ +*/ +#include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" +// TODO: Move Simulation Management to GMSCore +if (GMS_simulationManager isEqualTo GMS_simulationManagementOff) exitWith {}; + +if (GMS_simulationManager isEqualTo GMS_useDynamicSimulationManagement) exitWith +{ + // wake groups up if needed. + { + private _group = _x; + private _nearplayer = [getPosATL (leader _group),GMS_simulationEnabledDistance] call GMSCore_fnc_nearestPlayers; + if !(_nearPlayer isEqualTo []) then + { + _group reveal [(_nearplayer select 0),(_group knowsAbout (_nearPlayer select 0)) + 0.001]; // Force simulation on + }; + } forEach GMS_monitoredMissionAIGroups; +}; + +if (GMS_simulationManager isEqualTo GMS_useGMS_SimulationManager) then +{ + { + private _group = _x; + private _nearplayer = [getPosATL (leader _group),GMS_simulationEnabledDistance] call GMSCore_fnc_nearestPlayers; + if !(_nearplayer isEqualTo []) then + { + if !(simulationEnabled (leader _group)) then + { + { + _x enableSimulationGlobal true; + _x reveal [(_nearplayer select 0),(_group knowsAbout (_nearPlayer select 0)) + 0.001]; // Force simulation on + }forEach units _group; + + // GMSCore sets enableDynamicSimulation = false and enableSimulationGlobal = true for vehicles. + //(objectParent (leader _group)) enableSimulationGlobal true; // enable simulation for the groups vehicle if there is one + }; + }else{ + if (simulationEnabled (leader _group)) then + { + {_x enableSimulationGlobal false} forEach units _group; + (objectParent (leader _group)) enableSimulationGlobal true; // enable simulation for the groups vehicle if there is one + }; + }; + } forEach GMS_monitoredMissionAIGroups; +}; + + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf index 192787d..5691468 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf @@ -79,7 +79,8 @@ _markerConfigs params [ ]; try { - if (GMS_debugLevel > 0) then {[format["_initializeMission (82): _timesSpawned %1 | _maxMissionRespawns %2",_timesSpawned,_maxMissionRespawns]] call GMS_fnc_log}; + [format["_initializeMission(248): Initializeing mission %1",_missionFile]] call GMS_fnc_log; + //if (GMS_debugLevel > 0) then {[format["_initializeMission (82): _timesSpawned %1 | _maxMissionRespawns %2 | _missionFile %3",_timesSpawned,_maxMissionRespawns,_missionFile]] call GMS_fnc_log}; if (_timesSpawned >= _maxMissionRespawns && !(_maxMissionRespawns == -1)) throw -2; // If the mission is a static mission and it has been spawned but not cleared then pass back a code indicating that @@ -237,6 +238,7 @@ try { // Repair any damage done by prior activities. {_x setDamage 0} forEach ( nearestObjects [_coords, ["Building"], 500]); + throw 1; // Normal script termination } diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf index 5df3785..cc1c7a7 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf @@ -327,10 +327,11 @@ for "_i" from 1 to (count _missionsList) do */ _missionConfigs set[isSpawned,false]; _missionConfigs set[spawnedAt,-1]; - [format["_monitorSpawnedMissions (325): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; - [format["_monitorSpawnedMissions (326): _isSpawned %1 | _spawnedAt %2",_isSpawned,_spawnedAt]] call GMS_fnc_log; - [format["_monitorSpawnedMissions (327): #isSpawned %1 | #spawnAt %2",isSpawned,spawnedAt]] call GMS_fnc_log; - [format["_monitorSpawneMissions (328): _missionConfigs select %1 = %2 | _missionConfigs select %3 = %4",spawnedAt,_missionConfigs select spawnedAt, isSpawned, _missionConfigs select isSpawned]] call GMS_fnc_log; + //[format["_monitorSpawnedMissions (325): _markerMissionName %1: end of case 1 for mission completion",_markerMissionName]] call GMS_fnc_log; + //[format["_monitorSpawnedMissions (326): _isSpawned %1 | _spawnedAt %2",_isSpawned,_spawnedAt]] call GMS_fnc_log; + //[format["_monitorSpawnedMissions (327): #isSpawned %1 | #spawnAt %2",isSpawned,spawnedAt]] call GMS_fnc_log; + //[format["_monitorSpawneMissions (328): _missionConfigs select %1 = %2 | _missionConfigs select %3 = %4",spawnedAt,_missionConfigs select spawnedAt, isSpawned, _missionConfigs select isSpawned]] call GMS_fnc_log; + [format["_monitorSpawnedMissions(334): _missionFile %1 reached normal mission completion",_missionFile]] call GMS_fnc_log; }; case 2: { // Abort, crate moved. diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf index 9d96271..bb2f3b5 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnRandomLandscape.sqf @@ -38,7 +38,7 @@ private _hiddenObjs = []; _obj allowDamage true; _obj enableSimulation false; _obj enableSimulationGlobal false; - _obj enableDynamicSimulation false; + _obj enableDynamicSimulation true; _obj setDir (_obj getRelDir _coords); _newObjs pushback _obj; sleep 0.1; diff --git a/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp b/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp index 09656a7..c0198f7 100644 --- a/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp +++ b/@GMS/addons/GMS/Compiles/init/GMS_defines.hpp @@ -67,9 +67,9 @@ #define GMS_vehiclePlayerDetectionOdds 0.6 #define GMS_playerDetectionRangeSubs 100 #define GMS_playerDetectionRangeSurfaceVehicle 150 -#define GMS_simulationEnabledDistance 2500 +#define GMS_simulationEnabledDistance 3000 #define GMS_simulationManagementOff 0 -#define GMS_useBlckeaglsSimulationManager 1 +#define GMS_useGMS_SimulationManager 1 #define GMS_useDynamicSimulationManagement 2 #define GMS_simulationManagementOff 0 #define GMS_useBlckeaglsSimulationManagement 1 diff --git a/@GMS/addons/GMS/Compiles/init/fn_init.sqf b/@GMS/addons/GMS/Compiles/init/fn_init.sqf index 08d7f7a..bbe3d00 100644 --- a/@GMS/addons/GMS/Compiles/init/fn_init.sqf +++ b/@GMS/addons/GMS/Compiles/init/fn_init.sqf @@ -22,220 +22,192 @@ if (hasInterface) exitWith { "[GMS] Mission system may only be run on a dedicate server or headless client"; }; -waitUntil {!isNil "GMSCore_Initialized"}; -diag_log format["[GMS] Loading GMS at %1",diag_tickTime]; -diag_log format["[GMS] GMSCore_modtype = %1 | GMSCore_side %2 | GMSCore_unitType %3",GMSCore_modtype,GMSCore_side,GMSCore_unitType]; -// This block waits for the mod to start but is disabled for now -if ((toLowerANSI GMSCore_modtype) isEqualto "epoch") then { - //diag_log "[GMS] Waiting until EpochMod is ready..."; - //waitUntil {!isnil "EPOCH_SERVER_READY"}; - //diag_log "[GMS] EpochMod is ready...loading GMS"; -}; -if ((toLowerANSI GMSCore_modtype) isEqualTo "exile") then -{ - diag_log "[GMS] Waiting until ExileMod is ready ..."; - waitUntil {!isNil "PublicServerIsLoaded"}; - diag_log "[GMS] Exilemod is ready...loading GMS"; -}; +[] spawn { + waitUntil {!isNil "GMSCore_Initialized"}; + diag_log format["[GMS] Loading GMS at %1",diag_tickTime]; + diag_log format["[GMS] GMSCore_modtype = %1 | GMSCore_side %2 | GMSCore_unitType %3",GMSCore_modtype,GMSCore_side,GMSCore_unitType]; -// Just some housekeeping for ghost. -private _loadingStartTime = diag_tickTime; + // Just some housekeeping for ghost. + private _loadingStartTime = diag_tickTime; -// compile functions -[] call compileFinal preprocessFileLineNumbers "\x\addons\GMS\Compiles\GMS_functions.sqf"; -diag_log format["[GMS] Loaded Functions at %1",diag_tickTime]; -// Load Configs -[] call compile preprocessfilelinenumbers "\x\addons\GMS\Configs\GMS_configs.sqf"; + // compile functions + [] call compileFinal preprocessFileLineNumbers "\x\addons\GMS\Compiles\GMS_functions.sqf"; + diag_log format["[GMS] Loaded Functions at %1",diag_tickTime]; + + // Load Configs + [] call compile preprocessfilelinenumbers "\x\addons\GMS\Configs\GMS_configs.sqf"; -diag_log format["[GMS] Loaded Configs at %1",diag_tickTime]; + diag_log format["[GMS] Loaded Configs at %1",diag_tickTime]; -waitUntil{(!isNil "GMS_simulationManager") && {(!isNil "GMS_debugLevel") && {!(isNil "GMS_configs_loaded")}}}; + // Make sure all key variables are defined before proceding with loading with GMS + waitUntil{!(isNil "GMS_configs_loaded")}; -{ - private _var = missionNameSpace getVariable[_x,[]]; - [format["validating classnames and pricing for %1 | count = %2 | _x = %3",_x,count _var, _var]] call GMS_fnc_log; - _var = [_var,true] call GMSCore_fnc_checkClassnamesArray; - _var = [_var,true] call GMSCore_fnc_checkClassNamePrices; - //[format["GMS_init_server: Updated %1 | count = %2 | _x = %3",_x,count _var, _var]] call GMS_fnc_log; -} forEach [ - "GMS_patrolHelisBlue", - "GMS_patrolHelisRed", - "GMS_patrolHelisGreen", - "GMS_patrolHelisOrange", - "GMS_AIPatrolVehiclesBlue", - "GMS_AIPatrolVehiclesRed", - "GMS_AIPatrolVehiclesGreen", - "GMS_AIPatrolVehiclesOrange", - "GMS_tools", - "GMS_buildingMaterials", - "GMS_NVG", - "GMS_specialItems", - "GMS_ConsumableItems", - "GMS_vests_blue", - "GMS_vests_red", - "GMS_vests_green", - "GMS_vests_orange", - "GMS_SkinList_blue", - "GMS_SkinList_red", - "GMS_SkinList_green", - "GMS_SkinList_orange", - "GMS_headgear_blue", - "GMS_headgear_red", - "GMS_headgear_green", - "GMS_headgear_orange", - "GMS_backpacks_blue", - "GMS_backpacks_red", - "GMS_backpacks_green", - "GMS_WeaponList_Blue", - "GMS_WeaponList_Red", - "GMS_WeaponList_Green", - "GMS_WeaponList_Orange" -]; + // Load any user-defined specifications or overrides + // HINT: Use these for map-specific settings + #include "\x\addons\GMS\Configs\GMS_custom_config.sqf"; -if ((toLowerANSI GMSCore_modtype) isEqualTo "default") then -{ - ["[GMS] Configuring Mission System for Default Settings..."] call GMS_fnc_log; -}; + if (GMS_debugLevel > 0) then {[format["DEBUG ON: Custom Configurations Loaded at %1",diag_tickTime]] call GMS_fnc_log}; + if (GMS_debugLevel > 0) then {[format["GMS_debugLevel = %1",GMS_debugLevel]] call GMS_fnc_log}; + // Load vaariables used to store information for the mission system. + [] call compileFinal preprocessFileLineNumbers "\x\addons\GMS\Compiles\GMS_variables.sqf"; + if (GMS_debugLevel > 0) then {[format["DEBUG ON: Variables loaded at %1",diag_tickTime]] call GMS_fnc_log}; -// Load any user-defined specifications or overrides -// HINT: Use these for map-specific settings -#include "\x\addons\GMS\Configs\GMS_custom_config.sqf"; + // find and set Mapcenter and size + call compileFinal preprocessFileLineNumbers "\x\addons\GMS\Compiles\init\GMS_fnc_findWorld.sqf"; + if (GMS_debugLevel > 0) then {["DEBUG ON: Map-specific information defined"] call GMS_fnc_log}; -if (GMS_debugLevel > 0) then {[format["DEBUG ON: Custom Configurations Loaded at %1",diag_tickTime]] call GMS_fnc_log}; -if (GMS_debugLevel > 0) then {[format["GMS_debugLevel = %1",GMS_debugLevel]] call GMS_fnc_log}; + // set up the lists of available missions for each mission category + #include "\x\addons\GMS\Missions\GMS_missionLists.sqf"; + if (GMS_debugLevel > 0) then {["DEBUG ON: Mission Lists Loaded Successfully"] call GMS_fnc_log}; + // TODO: merge in underwater / sea missions at some point -// Load vaariables used to store information for the mission system. -[] call compileFinal preprocessFileLineNumbers "\x\addons\GMS\Compiles\GMS_variables.sqf"; -if (GMS_debugLevel > 0) then {[format["DEBUG ON: Variables loaded at %1",diag_tickTime]] call GMS_fnc_log}; - -// configure dynamic simulation management is this is being used. -if (GMS_simulationManager == 2) then -{ - "Group" setDynamicSimulationDistance 1800; - enableDynamicSimulationSystem true; -}; - -// find and set Mapcenter and size -call compileFinal preprocessFileLineNumbers "\x\addons\GMS\Compiles\init\GMS_fnc_findWorld.sqf"; -if (GMS_debugLevel > 0) then {["DEBUG ON: Map-specific information defined"] call GMS_fnc_log}; - -// set up the lists of available missions for each mission category -#include "\x\addons\GMS\Missions\GMS_missionLists.sqf"; -if (GMS_debugLevel > 0) then {["DEBUG ON: Mission Lists Loaded Successfully"] call GMS_fnc_log}; -// TODO: merge in underwater / sea missions at some point - -switch (GMS_simulationManager) do -{ - case 2: {["dynamic simulation manager enabled"] call GMS_fnc_log}; - case 1: {["GMS simulation manager enabled"] call GMS_fnc_log}; - case 0: {["GMS simulation management disabled"] call GMS_fnc_log}; -}; - -if (GMS_blacklistTraderCities) then -{ - [] spawn compile preprocessfilelinenumbers "\x\addons\GMS\Compiles\Init\GMS_fnc_getTraderCites.sqf"; -}; - - -_fn_setupLocationType = { - params[ "_locationType"]; - private _locations = nearestLocations [getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition"), [_locationType], worldSize]; - _locations -}; - -if (isNil "GMS_crateMoveAllowed") then {GMS_crateMoveAllowed = true}; - -private _villages = ["NameVillage"] call _fn_setupLocationType; -private _cites = ["NameCity"] call _fn_setupLocationType; -private _capitals = ["NameCityCapital"] call _fn_setupLocationType; -private _marine = ["NameMarine"] call _fn_setupLocationType; -private _other = ["NameLocal"] call _fn_setupLocationType; -private _airport = ["Airport"] call _fn_setupLocationType; - -GMS_townLocations = _villages + _cites + _capitals + _marine + _other + _airport; - -//Start the mission timers -if (GMS_enableOrangeMissions > 0) then -{ - [_missionListOrange,_pathOrange,"OrangeMarker","orange",GMS_TMin_Orange,GMS_TMax_Orange,GMS_enableOrangeMissions] call GMS_fnc_addMissionToQue; -}; -if (GMS_enableGreenMissions > 0) then -{ - [_missionListGreen,_pathGreen,"GreenMarker","green",GMS_TMin_Green,GMS_TMax_Green,GMS_enableGreenMissions] call GMS_fnc_addMissionToQue; -}; -if (GMS_enableRedMissions > 0) then -{ - [_missionListRed,_pathRed,"RedMarker","red",GMS_TMin_Red,GMS_TMax_Red,GMS_enableRedMissions] call GMS_fnc_addMissionToQue; -}; -if (GMS_enableBlueMissions > 0) then -{ - [_missionListBlue,_pathBlue,"BlueMarker","blue",GMS_TMin_Blue,GMS_TMax_Blue,GMS_enableBlueMissions] call GMS_fnc_addMissionToQue; -}; -if (GMS_numberUnderwaterDynamicMissions > 0) then -{ - if !(GMS_maxSeaSearchDistance == 0) then { - [_missionListUMS,_pathUMS,"UMSMarker","Red",GMS_TMin_UMS,GMS_TMax_UMS,GMS_numberUnderwaterDynamicMissions] call GMS_fnc_addMissionToQue; - }; -}; - -if (GMS_enableScoutsMissions > 0) then -{ - [_missionListScouts,_pathScouts,"ScoutsMarker","red",GMS_TMin_Scouts,GMS_TMax_Scouts,GMS_enableScoutsMissions] call GMS_fnc_addMissionToQue; -}; - -if (GMS_enableHunterMissions > 0) then -{ - [_missionListHunters,_pathHunters,"HunterMarker","green",GMS_TMin_Hunter,GMS_TMax_Hunter,GMS_enableHunterMissions] call GMS_fnc_addMissionToQue; -}; - -// Running new version of Crash sites. -if (GMS_maxCrashSites > 0) then -{ - [] execVM "\x\addons\GMS\Missions\HeliCrashs\Crashes2.sqf"; -}; - -if (GMS_enableStaticMissions > 0 && !(_missionLIstStatics isEqualTo [])) then // GMS_enableStaticMissions should be an integer between 1 and N -{ - diag_log format["fn_init: _pathStatics = %1",_pathStatics]; - private _staticsToSpawn = []; - private _isStatic = true; - private _numberStatics = count _missionListStatics; + if (GMS_blacklistTraderCities) then { - [format["_init (206): _missionListStatics %1 = %2",_forEachIndex, _x]] call GMS_fnc_log; - } forEach _missionListStatics; - while {(count _staticsToSpawn) < (count _missionListStatics) && ((count _staticsToSpawn) < (GMS_enableStaticMissions))} do - { - private _mission = selectRandom _missionListStatics; - _staticsToSpawn pushBackUnique _mission; - [format["GMS_fnc_init (209): _mission = %1 | count _staticsToSpawn = %2",_mission, count _staticsToSpawn]] call GMS_fnc_log; + [] spawn compile preprocessfilelinenumbers "\x\addons\GMS\Compiles\Init\GMS_fnc_getTraderCites.sqf"; }; - /* - params[ - ["_missionList",[]], - ["_path",""], - ["_marker",""], - ["_difficulty","Red"], - ["_tMin",60], - ["_tMax",120], - ["_noMissions",1], - ["_isStatic",false]]; - */ - diag_log format["_init: count _staticsToSpawn = %1 | GMS_enableStaticMissions = %2:",count _staticsToSpawn,GMS_enableStaticMissions]; - [_staticsToSpawn,_pathStatics,"StaticsMarker","orange",GMS_TMin_Statics,GMS_TMax_Statics,GMS_enableStaticMissions,_isStatic] call GMS_fnc_addMissionToQue; + + + _fn_setupLocationType = { + params[ "_locationType"]; + private _locations = nearestLocations [getArray (configFile >> "CfgWorlds" >> worldName >> "centerPosition"), [_locationType], worldSize]; + _locations + }; + + if (isNil "GMS_crateMoveAllowed") then {GMS_crateMoveAllowed = true}; + + private _villages = ["NameVillage"] call _fn_setupLocationType; + private _cites = ["NameCity"] call _fn_setupLocationType; + private _capitals = ["NameCityCapital"] call _fn_setupLocationType; + private _marine = ["NameMarine"] call _fn_setupLocationType; + private _other = ["NameLocal"] call _fn_setupLocationType; + private _airport = ["Airport"] call _fn_setupLocationType; + + GMS_townLocations = _villages + _cites + _capitals + _marine + _other + _airport; + + //Start the mission timers + if (GMS_enableOrangeMissions > 0) then + { + [_missionListOrange,_pathOrange,"OrangeMarker","orange",GMS_TMin_Orange,GMS_TMax_Orange,GMS_enableOrangeMissions] call GMS_fnc_addMissionToQue; + }; + if (GMS_enableGreenMissions > 0) then + { + [_missionListGreen,_pathGreen,"GreenMarker","green",GMS_TMin_Green,GMS_TMax_Green,GMS_enableGreenMissions] call GMS_fnc_addMissionToQue; + }; + if (GMS_enableRedMissions > 0) then + { + [_missionListRed,_pathRed,"RedMarker","red",GMS_TMin_Red,GMS_TMax_Red,GMS_enableRedMissions] call GMS_fnc_addMissionToQue; + }; + if (GMS_enableBlueMissions > 0) then + { + [_missionListBlue,_pathBlue,"BlueMarker","blue",GMS_TMin_Blue,GMS_TMax_Blue,GMS_enableBlueMissions] call GMS_fnc_addMissionToQue; + }; + if (GMS_numberUnderwaterDynamicMissions > 0) then + { + if !(GMS_maxSeaSearchDistance == 0) then { + [_missionListUMS,_pathUMS,"UMSMarker","Red",GMS_TMin_UMS,GMS_TMax_UMS,GMS_numberUnderwaterDynamicMissions] call GMS_fnc_addMissionToQue; + }; + }; + + if (GMS_enableScoutsMissions > 0) then + { + [_missionListScouts,_pathScouts,"ScoutsMarker","red",GMS_TMin_Scouts,GMS_TMax_Scouts,GMS_enableScoutsMissions] call GMS_fnc_addMissionToQue; + }; + + if (GMS_enableHunterMissions > 0) then + { + [_missionListHunters,_pathHunters,"HunterMarker","green",GMS_TMin_Hunter,GMS_TMax_Hunter,GMS_enableHunterMissions] call GMS_fnc_addMissionToQue; + }; + + // Running new version of Crash sites. + if (GMS_maxCrashSites > 0) then + { + [] execVM "\x\addons\GMS\Missions\HeliCrashs\Crashes2.sqf"; + }; + + if (GMS_enableStaticMissions > 0 && !(_missionLIstStatics isEqualTo [])) then // GMS_enableStaticMissions should be an integer between 1 and N + { + diag_log format["fn_init: _pathStatics = %1",_pathStatics]; + private _staticsToSpawn = []; + private _isStatic = true; + private _numberStatics = count _missionListStatics; + { + [format["_init (206): _missionListStatics %1 = %2",_forEachIndex, _x]] call GMS_fnc_log; + } forEach _missionListStatics; + while {(count _staticsToSpawn) < (count _missionListStatics) && ((count _staticsToSpawn) < (GMS_enableStaticMissions))} do + { + private _mission = selectRandom _missionListStatics; + _staticsToSpawn pushBackUnique _mission; + [format["GMS_fnc_init (209): _mission = %1 | count _staticsToSpawn = %2",_mission, count _staticsToSpawn]] call GMS_fnc_log; + }; + /* + params[ + ["_missionList",[]], + ["_path",""], + ["_marker",""], + ["_difficulty","Red"], + ["_tMin",60], + ["_tMax",120], + ["_noMissions",1], + ["_isStatic",false]]; + */ + diag_log format["_init: count _staticsToSpawn = %1 | GMS_enableStaticMissions = %2:",count _staticsToSpawn,GMS_enableStaticMissions]; + [_staticsToSpawn,_pathStatics,"StaticsMarker","orange",GMS_TMin_Statics,GMS_TMax_Statics,GMS_enableStaticMissions,_isStatic] call GMS_fnc_addMissionToQue; + }; + + // Flag any class names with issues (invald classname or classname without pricing) + { + private _var = missionNameSpace getVariable[_x,[]]; + [format["validating classnames and pricing for %1 | count = %2 | _x = %3",_x,count _var, _var]] call GMS_fnc_log; + _var = [_var,true] call GMSCore_fnc_checkClassnamesArray; + _var = [_var,true] call GMSCore_fnc_checkClassNamePrices; + //[format["GMS_init_server: Updated %1 | count = %2 | _x = %3",_x,count _var, _var]] call GMS_fnc_log; + } forEach [ + "GMS_patrolHelisBlue", + "GMS_patrolHelisRed", + "GMS_patrolHelisGreen", + "GMS_patrolHelisOrange", + "GMS_AIPatrolVehiclesBlue", + "GMS_AIPatrolVehiclesRed", + "GMS_AIPatrolVehiclesGreen", + "GMS_AIPatrolVehiclesOrange", + "GMS_tools", + "GMS_buildingMaterials", + "GMS_NVG", + "GMS_specialItems", + "GMS_ConsumableItems", + "GMS_vests_blue", + "GMS_vests_red", + "GMS_vests_green", + "GMS_vests_orange", + "GMS_SkinList_blue", + "GMS_SkinList_red", + "GMS_SkinList_green", + "GMS_SkinList_orange", + "GMS_headgear_blue", + "GMS_headgear_red", + "GMS_headgear_green", + "GMS_headgear_orange", + "GMS_backpacks_blue", + "GMS_backpacks_red", + "GMS_backpacks_green", + "GMS_WeaponList_Blue", + "GMS_WeaponList_Red", + "GMS_WeaponList_Green", + "GMS_WeaponList_Orange" + ]; + + // start the main thread for the mission system which monitors missions running and stuff to be cleaned up + [] spawn GMS_fnc_mainThread; + private _version = getText(configFile >> "GMSBuild" >> "Version"); + private _build = getText(configFile >> "GMSBuild" >> "Build"); + private _date = getText(configFile >> "GMSBuild" >> "Date"); + [format["Version %1 Build %2 Date %4 Loaded in %3 seconds", + _version, + _build, + diag_tickTime - _loadingStartTime, + _date] + ] call GMS_fnc_log; }; -// start the main thread for the mission system which monitors missions running and stuff to be cleaned up -[] spawn GMS_fnc_mainThread; -private _version = getText(configFile >> "GMSBuild" >> "Version"); -private _build = getText(configFile >> "GMSBuild" >> "Build"); -private _date = getText(configFile >> "GMSBuild" >> "Date"); -[format["Version %1 Build %2 Date %4 Loaded in %3 seconds", - _version, - _build, - diag_tickTime - _loadingStartTime, - _date] -] call GMS_fnc_log; - - diff --git a/@GMS/addons/GMS/Configs/GMS_configs.sqf b/@GMS/addons/GMS/Configs/GMS_configs.sqf index 279e4c4..c2fde87 100644 --- a/@GMS/addons/GMS/Configs/GMS_configs.sqf +++ b/@GMS/addons/GMS/Configs/GMS_configs.sqf @@ -26,12 +26,15 @@ ************************************** */ - GMS_simulationManager = GMS_useBlckeaglsSimulationManager; + /* Simulation management is handled by GMSCore now */ + //GMS_simulationManager = GMS_useGMS_SimulationManager; + + GMS_hideRocksAndPlants = true; // When true, any rocks, trees or bushes under enterable buildings will be 'hidden' /* GMS_simulationManagementOff - no simulation management occurs - GMS_useBlckeaglsSimulationManager - simulation is enabled/disabled by periodic checks for nearby players; a 'wake' function is included when a units simulation is turned on + GMS_useGMS_SimulationManager - simulation is enabled/disabled by periodic checks for nearby players; a 'wake' function is included when a units simulation is turned on GMS_useDynamicSimulationManagement 2 - arma dynamic simulation is used */ @@ -87,8 +90,6 @@ GMS_killMessageTypesKiller = [ ]; 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). -GMS_rewards = [[0,0],[0,0],[0,0],[0,0]]; - switch (GMSCore_modType) do { case "Epoch": { @@ -100,6 +101,7 @@ switch (GMSCore_modType) do 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]; // Amount of tabs added to each mission crate GMS_crateMoneyBlue = [100,250]; @@ -119,6 +121,7 @@ switch (GMSCore_modType) do 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]; // Amount of tabs added to each mission crate GMS_crateMoneyBlue = [3000,5000]; @@ -137,6 +140,11 @@ switch (GMSCore_modType) do case "default": { GMS_rewardsNotifications = ["dynamicText"]; GMS_killstreakTimeout = 300; // 5 min + 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]; }; }; /////////////////////////////// @@ -147,7 +155,8 @@ switch (GMSCore_modType) do GMS_labelMapMarkers = [true,"center"]; GMS_preciseMapMarkers = true; // Map markers are/are not centered at the loot crate GMS_showCountAliveAI = true; - + GMS_defaultMarkerColor = "ColorYellow"; + // radius within whih missions are triggered. The trigger causes the crate and AI to spawn. GMS_TriggerDistance = 2000; @@ -348,13 +357,10 @@ switch (GMSCore_modType) do GMS_enableRedMissions = 2; GMS_enableBlueMissions = 2; GMS_numberUnderwaterDynamicMissions = 0; // Values from -1 (no UMS) to N (N Underwater missions will be spawned; static UMS units and subs will be spawned. - GMS_enableStaticMissions = -1; - - #ifdef GRGserver + GMS_enableStaticMissions = 1; GMS_enableHunterMissions = 1; GMS_enableScoutsMissions = 2; GMS_maxcrashsites = -1; - #endif //////////////////// // MISSION TIMERS @@ -367,12 +373,9 @@ switch (GMSCore_modType) do GMS_TMin_Red = 110; //4; GMS_TMin_UMS = 105; //5; GMS_TMin_Statics = 60 * 35; // minimum time for RESPAWN of static missions - - #ifdef GRGserver GMS_TMin_Hunter = 100; //6; GMS_TMin_Scouts = 95; //7; GMS_TMin_Crashes = 90; //8; - #endif //Maximum Spawn time between missions in seconds GMS_TMax_Orange =200; //9; @@ -383,11 +386,9 @@ switch (GMSCore_modType) do GMS_TMax_Statics = GMS_TMin_Statics + 60; // Maximum time for RESAPWN of static missions // Be sure the minimum is > than the time at which objects from the previous instance of a static mission are deleted // That is set in GMS_cleanupCompositionTimer - #ifdef GRGserver GMS_TMax_Hunter = 140; //14; GMS_TMax_Scouts = 130; //15; GMS_TMax_Crashes = 100; //16; - #endif // /////////////////////////////// diff --git a/@GMS/addons/GMS/Missions/GMS_missionLists.sqf b/@GMS/addons/GMS/Missions/GMS_missionLists.sqf index 5a51177..b8db1c8 100644 --- a/@GMS/addons/GMS/Missions/GMS_missionLists.sqf +++ b/@GMS/addons/GMS/Missions/GMS_missionLists.sqf @@ -41,6 +41,7 @@ private _missionListGreen = [/*"default","default2",/*"medicalCamp","redCamp","r private _pathOrange = "Orange"; private _missionListOrange = [/*"default","default2","medicalCamp","redCamp","resupplyCamp","officeComplex",*/ + /* "CommandersComplex", // *** "generalsCamp", "colonel2", @@ -48,6 +49,9 @@ private _missionListOrange = [/*"default","default2","medicalCamp","redCamp","re "operationTakeover", "dashq", "tko_camp" + */ + //"researchComplex" + "survivalSupplies" ]; private _pathStatics = "Statics"; @@ -56,7 +60,7 @@ private _missionListStatics = [ /// Do NOT include the extension here. /// You will need to add the mission files to the statics folder. //"spatzle", - //"saltflatsone" + "saltflatsone" ]; private _pathUMS = "UMS\dynamicMissions"; diff --git a/@GMS/addons/GMS/Missions/Orange/researchComplex.sqf b/@GMS/addons/GMS/Missions/Orange/researchComplex.sqf new file mode 100644 index 0000000..3bc01bc --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/researchComplex.sqf @@ -0,0 +1,404 @@ + + +/* + Dynamic Mission Generated + Using 3DEN Plugin for GMS by Ghostrider + GMS 3DEN Plugin Version 1.61 : Build 28 : Build Date 11/02/23 + By Ghostrider-GRG- +*/ + +/* + Do not touch the code below +*/ +#include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" +#include "\x\addons\GMS\Missions\GMS_privateVars.sqf" +_defaultMissionLocations = []; + +/* + Edit these to suite you specific mission +*/ +_difficulty = "Orange"; +/* Specify the chance this mission is spawned [0 .. 1.0] */ +_chanceMissionSpawned = 1; +/* Set number of times a mission respawns or use -1 for inifinite respawns */ +_maxMissionRespawns = -1; +/* Add your Start, End and Timeout Messages Here */ +_startMsg = "The enemy has built a research complex - capture it and learn their technology"; +_endMsg = "Patriouts Captured the Enemy Tech"; +_timeoutMsg = "The Research Complex was packed by the enemy"; +_showMarker = true; +_markerType = ["ELLIPSE",[150,150],"GRID"]; +_markerColor = "ColorYellow"; + + +_markerMissionName = "Complex"; +/* + Use the parameters below to customize your mission - see the template or GMS_configs.sqf for details about each them +*/ +/* + The following variables MUST be defined in each mission even if you just set them to 0 +*/ +_minNoAI = 2; +_maxNoAI = 6; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +/* + It is recommended to used specific settings for the variables below. Defaults were set based on difficulty or standard settings. + Or just set numerical values to 0 to disable a feature +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolOrange; +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; +_chancePara = GMS_chanceParaOrange; +_noPara = GMS_noParaOrange; +_paraTriggerDistance = 400; +_paraSkill = 0.7; +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_Orange; +_paraLootCounts = GMS_lootCountsOrange; +_missionLandscapeMode = "precise"; +_useMines = GMS_useMines; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionSpawn"; +_endCondition = allKilledOrPlayerNear; +_submarinePatrols = 0; +_scubaPatrols = 0; + +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +/* + Do not touch the code below except to comment out rows containing objects you do not wish to have spawned +*/ + +/* + Depricated Variable Included for Backwards Compatibility with Existing Missions +*/ +_garrisonedBuilding_ATLsystem = [ + +]; +/* + Depricated Variable Included for Backwards Compatibility with Existing Missions +*/ +_garrisonedBuildings_BuildingPosnSystem = [ + +]; +_missionLandscape = [ + ["Land_TentHangar_V1_F",[0,0,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Dome_Big_F",[1.43164,84.5488,7.15256e-006],[[0,1,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[0.140625,16.123,0],[[-0.0145872,-0.999894,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[0.322266,33.9277,0],[[-0.0145872,-0.999894,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[0.537109,51.4199,7.62939e-006],[[-0.0145872,-0.999894,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[8.79297,-2.13672,7.62939e-006],[[0,1,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[9.22266,32.2344,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-8.89453,15.5371,0],[[0,1,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[8.47266,11.5488,7.62939e-006],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[7.82031,42.2148,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-6.82031,42.4648,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[7.85156,24.7324,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-7.45508,24.8496,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-7.73047,6.9375,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[7.83984,6.74414,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-7.80273,-9.37695,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[7.9375,-9.375,0],[[0,1,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-9.06055,-2.33789,0],[[0,1,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-8.71875,33,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-6.39844,52.0938,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[8.14063,52.0879,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[1.01953,49.5938,7.62939e-006],[[0,1,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[86.0469,84.8047,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[69.9219,84.8652,0],[[0.999953,-0.00966479,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[52.1172,84.959,0],[[0.999953,-0.00966479,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[34.623,85.0879,0],[[0.999953,-0.00966479,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[88.1387,93.6094,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[53.7656,93.8691,7.62939e-006],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[70.5527,75.834,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[74.4551,93.2188,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[43.793,92.418,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[43.6152,77.7754,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[61.2734,92.5332,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[61.2324,77.2266,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[79.1465,77.0391,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[79.2637,92.6113,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[95.4609,77.0488,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[95.3809,92.7891,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[88.4277,75.7559,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[53.0898,75.9238,7.62939e-006],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[33.9844,78.1504,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[33.918,92.6895,0],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[36.4473,85.582,7.62939e-006],[[-0.999988,-0.00492284,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[60.5098,24.6855,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[49.209,36.1855,0],[[0.696717,-0.717346,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[36.748,48.9043,0],[[0.696717,-0.717346,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[24.5313,61.4238,0],[[0.696717,-0.717346,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[68.2383,29.3926,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[44.2383,54,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[43.2344,29.3828,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[58.3359,38.8418,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[36.1895,60.0645,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[25.6602,49.8887,7.62939e-006],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[48.5742,47.7246,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[37.668,36.9844,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[50.1387,24.125,7.62939e-006],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[61.2852,34.998,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[61.623,12.5371,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[72.752,23.668,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[55.7559,16.625,7.62939e-006],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[31.0098,41.8555,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[19.1504,56.9961,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[29.4355,67.2734,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[26.1621,60.4746,0],[[-0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[1.08594,167.873,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[0.945313,151.75,0],[[0.0145872,0.999894,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[0.761719,133.943,0],[[0.0145872,0.999894,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[0.548828,116.453,0],[[0.0145872,0.999894,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-7.70703,170.008,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-8.13672,135.637,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[9.98047,152.336,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-7.38672,156.324,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-6.73438,125.658,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[7.90625,125.408,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-6.76563,143.141,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[8.54102,143.021,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[8.81641,160.936,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-6.75391,161.129,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[8.88867,177.248,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-6.85156,177.246,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[10.1465,170.209,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[9.80469,134.873,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[7.48438,115.777,7.62939e-006],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-7.05469,115.785,7.62939e-006],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[0.0664063,118.279,0],[[-3.25841e-007,-1,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[61.584,144.074,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[50.084,132.773,0],[[0.717346,0.696717,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[37.3652,120.313,0],[[0.717346,0.696717,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[24.8457,108.096,0],[[0.717346,0.696717,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[56.877,151.803,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[32.2695,127.803,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[56.8867,126.799,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[47.4277,141.9,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[26.2031,119.754,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[36.3789,109.225,7.62939e-006],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[38.543,132.139,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[49.2852,121.232,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[62.1445,133.703,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[51.2715,144.85,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[73.7324,145.188,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[62.6016,156.316,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[69.6445,139.32,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[44.4141,114.574,7.62939e-006],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[29.2734,102.715,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[18.9961,113,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[25.7949,109.729,0],[[-0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-84.5488,85.6602,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-68.4258,85.5195,0],[[-0.999894,0.0145874,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-50.6211,85.3379,0],[[-0.999894,0.0145874,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-33.1289,85.123,0],[[-0.999894,0.0145874,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-86.6855,76.8672,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-52.3145,76.4375,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-69.0117,94.5547,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-73,77.1875,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-42.334,77.8398,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-42.084,92.4805,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-59.8164,77.8086,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-59.6992,93.1152,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-77.6113,93.3906,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-77.8047,77.8203,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-93.9258,93.4629,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-93.9238,77.7227,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-86.8867,94.7207,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-51.5488,94.3789,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-32.4551,92.0586,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-32.4609,77.5195,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[-34.9551,84.6406,0],[[1,-1.62921e-007,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-59.4121,25.4629,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-47.9121,36.7637,0],[[-0.717346,-0.696717,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-35.1934,49.2246,0],[[-0.717346,-0.696717,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-22.6738,61.4414,0],[[-0.717346,-0.696717,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-54.7051,17.7344,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-30.0977,41.7344,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-54.7148,42.7383,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-45.2559,27.6367,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-24.0332,49.7832,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-34.209,60.3125,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-36.373,37.3984,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-47.1133,48.3047,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-59.9727,35.834,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-49.0996,24.6875,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-71.5605,24.3496,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-60.4297,13.2207,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-67.4727,30.2168,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-42.2422,54.9629,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-27.1016,66.8223,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-16.8242,56.5371,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[-23.623,59.8105,0],[[0.707107,0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-59.8086,145.133,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-48.5078,133.633,0],[[-0.696717,0.717346,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-36.0469,120.914,0],[[-0.696717,0.717346,0],[0,0,1]],[true,true]], + ["Land_TentHangar_V1_F",[-23.8301,108.395,7.62939e-006],[[-0.696717,0.717346,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-67.5371,140.426,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-43.5371,115.818,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_PaperBox_closed_F",[-42.5332,140.436,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-57.6348,130.977,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-35.4883,109.752,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-24.959,119.928,7.62939e-006],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-47.873,122.092,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-36.9668,132.834,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-49.4375,145.693,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-60.584,134.82,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-60.9219,157.281,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Mil_ConcreteWall_F",[-72.0508,146.15,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-55.0547,153.193,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["CargoNet_01_box_F",[-30.3086,127.963,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-18.4492,112.822,7.62939e-006],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Small_F",[-28.7344,102.545,0],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_BarGate_01_open_F",[-25.4629,109.344,7.62939e-006],[[0.707107,-0.707107,0],[0,0,1]],[true,true]], + ["Land_Research_house_V1_F",[-14.6191,96.209,0],[[-0.811639,0.584159,0],[0,0,1]],[true,true]], + ["Land_Research_house_V1_F",[-17.6191,89.209,0],[[-0.987517,0.157514,0],[0,0,1]],[true,true]], + ["Land_Research_house_V1_F",[-8.61914,101.209,0],[[-0.48405,0.87504,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[16.7207,70.457,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[14.3438,72.2871,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[11.9668,74.1172,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[14.8887,68.0801,7.62939e-006],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[13.3047,69.3008,7.62939e-006],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[11.7207,70.5215,0],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[10.1367,71.7422,0],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[18.5508,72.832,7.62939e-006],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[16.9668,74.0527,0],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[15.3828,75.2734,0],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[13.7988,76.4941,0],[[0.610308,0.792164,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[79.4473,49.3945,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[30.5215,3.61523,7.62939e-006],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[-31.6211,3.17188,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[-81.8984,49.5801,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[-81.6191,118.209,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[-28.2129,166.77,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[42.1426,166.09,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Limestone_01_apart_F",[86.3809,116.209,0],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Research_house_V1_F",[-8.61914,69.209,0],[[-0.500001,-0.866025,0],[0,0,1]],[true,true]], + ["Land_Research_house_V1_F",[-17.6191,81.209,0],[[-0.971886,-0.235452,0],[0,0,1]],[true,true]], + ["Land_Research_house_V1_F",[-14.6191,74.209,0],[[-0.765269,-0.643711,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[20.3809,75.209,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[18.0059,77.0391,7.62939e-006],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[15.6289,78.8711,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[12.7207,65.457,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[10.3438,67.2871,0],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[7.9668,69.1172,7.62939e-006],[[0.78585,-0.618418,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[15.3965,99.4297,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[13.3809,97.209,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[11.3652,94.9883,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[17.6191,97.4121,0],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[16.2734,95.9316,0],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[14.9277,94.4512,7.62939e-006],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Missle_Trolley_02_F",[13.584,92.9707,7.62939e-006],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[13.1777,101.447,0],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[11.834,99.9668,0],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[10.4883,98.4863,7.62939e-006],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Bomb_Trolley_01_F",[9.14258,97.0059,0],[[-0.74024,0.672343,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[10.957,103.463,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[8.94141,101.244,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[6.92188,99.0215,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[20.0566,95.0391,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[18.041,92.8184,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Land_Pallets_stack_F",[16.0254,90.5957,0],[[0.679915,0.73329,0],[0,0,1]],[true,true]], + ["Flag_AAF_F",[1.52539,84.9141,0],[[0,1,0],[0,0,1]],[true,true]] +]; + +_simpleObjects = [ + +]; + +_missionLootVehicles = [ + +]; + +_missionPatrolVehicles = [ + ["I_G_Offroad_01_armed_F",[-92.6191,44.25,-0.0695648],0], + ["I_G_Offroad_01_armed_F",[99.3809,120.25,-0.0695648],0], + ["B_MRAP_01_hmg_F",[-44.4746,-64.0879,-9.53674e-007],0], + ["B_MRAP_01_hmg_F",[51.166,-37.9531,-9.53674e-007],0], + ["B_MRAP_01_hmg_F",[113.33,37.5078,-9.53674e-007],0], + ["B_MRAP_01_hmg_F",[106.877,155.121,-9.53674e-007],0], + ["B_MRAP_01_hmg_F",[12.3516,206.08,-9.53674e-007],0], + ["B_MRAP_01_hmg_F",[-73.5566,194.221,-9.53674e-007],0], + ["B_MRAP_01_hmg_F",[-112.656,99.1992,-9.53674e-007],0] +]; + +_missionUGVs = [ + +]; +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + +]; + +_missionUAVs = [ + +]; +_missionEmplacedWeapons = [ + ["I_HMG_01_high_F", [-6.44727,51.6113,0], [[-0.00664572,-0.999978,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [7.9375,51.6426,0], [[-0.0580576,-0.998313,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [34.4668,78.1035,0], [[0.999999,-0.00172297,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [34.3652,92.4883,0], [[0.998587,-0.0531425,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [19.457,56.6211,0], [[0.702392,-0.71179,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [29.6055,66.8145,0], [[0.664861,-0.746967,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [7.5332,116.262,0], [[0.00664575,0.999978,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-6.85156,116.229,0], [[0.0580577,0.998313,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [29.6484,103.021,0], [[0.71179,0.702392,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [19.4551,113.17,0], [[0.746967,0.664861,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-32.9375,92.1074,0], [[-0.999978,0.00664612,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-32.9063,77.7227,0], [[-0.998313,0.0580576,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-27.4766,66.5156,0], [[-0.71179,-0.702392,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-17.2832,56.3672,0], [[-0.746967,-0.664861,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-18.7559,113.197,0], [[-0.702392,0.71179,0],[0,0,1]], "Orange"], + ["I_HMG_01_high_F", [-28.9043,103.004,0], [[-0.664861,0.746967,0],[0,0,1]], "Orange"], + ["B_Mortar_01_F", [-20.7266,142.725,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_Mortar_01_F", [60.8867,107.719,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_Mortar_01_F", [20.9961,30.9063,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_Mortar_01_F", [-57.6504,60.9199,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AA_F", [27.4121,144.021,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AA_F", [63.7617,62.998,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AA_F", [-23.459,29.918,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AA_F", [-55.627,109.328,0], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AT_F", [-18.6582,0.21875,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AT_F", [-82.4805,106.301,4.76837e-007], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AT_F", [24.5254,159.914,0], [[0,1,0],[0,0,1]], "Orange"], + ["B_static_AT_F", [65.3027,43.4902,0], [[0,1,0],[0,0,1]], "Orange"] +]; + +_missionGroups = [ + [[0.580078,25.0957,0.00144649],2,6,"Orange"], + [[60.998,85.3125,0.00143886],2,6,"Orange"], + [[43.2109,42.8555,0.00143886],2,6,"Orange"], + [[0.505859,142.877,0.00143886],2,6,"Orange"], + [[43.4648,126.826,0.00143886],2,6,"Orange"], + [[-59.5039,85.1309,0.00143886],2,6,"Orange"], + [[-41.293,42.8125,0.00143886],2,6,"Orange"], + [[-42.5098,127.064,0.00143886],2,6,"Orange"], + [[-1.61914,84.2598,0.00144649],2,6,"Orange"] +]; + +_missionGarrisonedGroups = [ + +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + +]; + +/* + Do not touch the code below +*/ +#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Orange/survivalSupplies.sqf b/@GMS/addons/GMS/Missions/Orange/survivalSupplies.sqf new file mode 100644 index 0000000..3b31a82 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/survivalSupplies.sqf @@ -0,0 +1,165 @@ + + +/* + Dynamic Mission Generated + Using 3DEN Plugin for GMS by Ghostrider + GMS 3DEN Plugin Version 1.61 : Build 28 : Build Date 11/02/23 + By Ghostrider-GRG- +*/ + +/* + Do not touch the code below +*/ +#include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" +#include "\x\addons\GMS\Missions\GMS_privateVars.sqf" +_defaultMissionLocations = []; + +/* + Edit these to suite you specific mission +*/ +_difficulty = "Orange"; +/* Specify the chance this mission is spawned [0 .. 1.0] */ +_chanceMissionSpawned = 1; +/* Set number of times a mission respawns or use -1 for inifinite respawns */ +_maxMissionRespawns = -1; +/* Add your Start, End and Timeout Messages Here */ +_startMsg = "The enemy have constructed a supplies depot"; +_endMsg = "Patriots have captured the supply depot"; +_timeoutMsg = "The enemy have packed up the supply depot"; +_showmarker = true; +_markerType = ["ELLIPSE",[50,50],"Solid"]; +_markerColor = "ColorBlue"; + + +_markerMissionName = "Depot"; +/* + Use the parameters below to customize your mission - see the template or GMS_configs.sqf for details about each them +*/ +/* + The following variables MUST be defined in each mission even if you just set them to 0 +*/ +_minNoAI = 3; +_maxNoAI = 6; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +/* + It is recommended to used specific settings for the variables below. Defaults were set based on difficulty or standard settings. + Or just set numerical values to 0 to disable a feature +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolOrange; +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; +_chancePara = GMS_chanceParaOrange; +_noPara = GMS_noParaOrange; +_paraTriggerDistance = 400; +_paraSkill = 0.7; +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_Orange; +_paraLootCounts = GMS_lootCountsOrange; +_missionLandscapeMode = "precise"; +_useMines = GMS_useMines; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionSpawn"; +_endCondition = allUnitsKilled; +_submarinePatrols = 0; +_scubaPatrols = 0; + +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; +/* + Do not touch the code below except to comment out rows containing objects you do not wish to have spawned +*/ + +/* + Depricated Variable Included for Backwards Compatibility with Existing Missions +*/ +_garrisonedBuilding_ATLsystem = [ + +]; +/* + Depricated Variable Included for Backwards Compatibility with Existing Missions +*/ +_garrisonedBuildings_BuildingPosnSystem = [ + +]; +_missionLandscape = [ + ["Land_i_Barracks_V2_F",[-3.25244,19.0156,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Crane_F",[-7.6333,0.141602,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Timbers_F",[16.0205,7.64746,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Timbers_F",[13.6152,7.5874,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_WorkStand_F",[-4.3042,11.0698,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Pipes_large_F",[3.02051,8.88867,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Pipes_large_F",[3.17383,7.23828,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Wreck_Car2_F",[-5.9165,2.48438,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Wreck_Offroad_F",[8.83838,2.27832,-5],[[0.76899,-0.63926,0],[0,0,1]],[true,true]], + ["Land_Wreck_Truck_dropside_F",[-12.166,-6.19189,-5],[[0.763884,0.645353,0],[0,0,1]],[true,true]], + ["Campfire_burning_F",[-1.88623,-1.23926,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Land_Sink_F",[-13.9282,12.46,-4.99991],[[0,1,0],[0,0,1]],[true,true]], + ["Land_TentDome_F",[-1.76514,-4.91357,-5],[[0.99992,-0.012675,0],[0,0,1]],[true,true]], + ["Land_TentDome_F",[-6.19385,-3.10303,-5],[[-0.00483114,-0.999988,0],[0,0,1]],[true,true]], + ["Land_WoodPile_F",[0.769043,-1.44629,-5],[[0,1,0],[0,0,1]],[true,true]], + ["B_supplyCrate_F",[-2.84326,3.521,-5],[[0,1,0],[0,0,1]],[true,true]], + ["Box_NATO_Uniforms_F",[-0.958008,3.77051,-5],[[0,1,0],[0,0,1]],[true,true]] +]; + +_simpleObjects = [ + +]; + +_missionLootVehicles = [ + +]; + +_missionPatrolVehicles = [ + +]; + +_missionUGVs = [ + +]; +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + +]; + +_missionUAVs = [ + +]; +_missionEmplacedWeapons = [ + ["I_HMG_01_high_F", [-0.39209,11.2368,-5], [[0.0306669,-0.99953,0],[0,0,1]], "Orange"], + ["I_Mortar_01_F", [-6.04248,-8.0835,-5], [[0,1,0],[0,0,1]], "Orange"], + ["I_HMG_01_F", [5.39941,1.31885,-5], [[-0.381477,-0.924378,0],[0,0,1]], "Orange"] +]; + +_missionGroups = [ + [[-13.4565,8.18896,-4.99856],3,6,"Orange"], + [[-1.58887,1.14844,-4.99856],3,6,"Orange"], + [[0.597168,-5.36914,-4.99856],3,6,"Orange"], + [[3.07031,11.624,-4.99856],3,6,"Orange"] +]; + +_missionGarrisonedGroups = [ + +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + +]; + +/* + Do not touch the code below +*/ +#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/Missions/Statics/saltflatsone.sqf b/@GMS/addons/GMS/Missions/Statics/saltflatsone.sqf index 5d8a32c..9a57d86 100644 --- a/@GMS/addons/GMS/Missions/Statics/saltflatsone.sqf +++ b/@GMS/addons/GMS/Missions/Statics/saltflatsone.sqf @@ -1,36 +1,98 @@ /* - Dynamic Mission Generated + Static Mission Generated Using 3DEN Plugin for GMS by Ghostrider - GMS 3DEN Plugin Version 1.1 : Build 16 : Build Date 09/23/23 + GMS 3DEN Plugin Version 1.61 : Build 28 : Build Date 11/02/23 By Ghostrider-GRG- */ +/* + Do not touch the code below +*/ #include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" #include "\x\addons\GMS\Missions\GMS_privateVars.sqf" +_defaultMissionLocations = [[22815.9,17109.1,0.00296235]]; -_difficulty = "Blue"; +/* + Edit these to suite you specific mission +*/ +_difficulty = "Red"; +/* Specify the chance this mission is spawned [0 .. 1.0] */ _chanceMissionSpawned = 1; -_defaultMissionLocations = [[22815.9,17109.1,-2.7895e-005]]; -_maxMissionRespawns = 0; // Chage this to either zero for no respawns or a positive number if you want to limit the number of times a mission spawns at the same location +/* Set number of times a mission respawns or use -1 for inifinite respawns */ +_maxMissionRespawns = -1; +/* Add your Start, End and Timeout Messages Here */ +_startMsg = "The enemy has occupied a patriot dwelling - defeat them to capture their loot"; +_endMsg = "The Patriots recaptured the dwellings and loot"; +_timeoutMsg = "The enemy have moved out of the dwellings"; +_showmarker = true; +_markerType = ["mil_triangle",[1,1],"Solid"]; +_markerColor = "ColorRed"; -_markerType = ["ELLIPSE",[150,150],"FDiagonal"]; -_markerColor = "ColorWEST"; +_markerMissionName = "Dwelling"; +/* + Use the parameters below to customize your mission - see the template or GMS_configs.sqf for details about each them +*/ +/* + The following variables MUST be defined in each mission even if you just set them to 0 +*/ +_minNoAI = 3; +_maxNoAI = 6; +_noAIGroups = GMS_AIGrps_Red; +_noVehiclePatrols = GMS_SpawnVeh_Red; +_noEmplacedWeapons = GMS_SpawnEmplaced_Red; +/* + It is recommended to used specific settings for the variables below. Defaults were set based on difficulty or standard settings. + Or just set numerical values to 0 to disable a feature +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolRed; +_noChoppers = GMS_noPatrolHelisRed; +_missionHelis = GMS_patrolHelisRed; +_chancePara = GMS_chanceParaRed; +_noPara = GMS_noParaRed; +_paraTriggerDistance = 400; +_paraSkill = 0.7; +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_Red; +_paraLootCounts = GMS_lootCountsRed; +_missionLandscapeMode = "precise"; +_useMines = GMS_useMines; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionSpawn"; +_endCondition = allKilledOrPlayerNear; +_submarinePatrols = 0; +_scubaPatrols = 0; -_markerLabel = "CaptainRoberts"; -_markerMissionName = "CaptainRoberts"; -_startMsg = "Captain Roberts Spotted near the salt flats"; -_endMsg = "Captain Roberts was sent to Neptun's Locker"; +_crateLoot = GMS_BoxLoot_Red; +_lootCounts = GMS_lootCountsRed; +/* + Do not touch the code below except to comment out rows containing objects you do not wish to have spawned +*/ -_crateLoot = GMS_BoxLoot_Blue; -_lootCounts = GMS_lootCountsBlue; +/* + Depricated Variable Included for Backwards Compatibility with Existing Missions +*/ +_garrisonedBuilding_ATLsystem = [ +]; +/* + Depricated Variable Included for Backwards Compatibility with Existing Missions +*/ +_garrisonedBuildings_BuildingPosnSystem = [ + +]; _missionLandscape = [ - ["RoadCone_L_F",[-0.00390625,-0.0507813,0.00721931],0,[true,true]], - ["Land_MedicalTent_01_aaf_generic_closed_F",[31.8184,17.293,0.0235133],0,[true,true]], - ["Land_Research_HQ_F",[17.0625,-18.8281,-0.000879526],0,[true,true]], - ["Land_BagBunker_Large_F",[-29.0078,-17.4941,0.0101435],0,[true,true]] + ["RoadCone_L_F",[0,0,0.00394535],[[0,0.989604,0.143822],[-0.00933489,-0.143815,0.989561]],[true,true]], + ["Land_MedicalTent_01_aaf_generic_closed_F",[31.8223,17.3438,0.0205228],[[0,0.98302,0.183497],[0.0146639,-0.183477,0.982915]],[true,true]], + ["Land_Research_HQ_F",[17.3906,-17.5,-0.00296235],[[0,1,0],[0,0,1]],[true,true]], + ["Land_BagBunker_Large_F",[-29.0039,-17.4434,0.00715303],[[0,0.99985,-0.0173282],[-0.00133721,0.0173282,0.999849]],[true,true]], + ["Land_Pallet_MilBoxes_F",[30.7109,-1.49609,-0.00132132],[[0,0.999773,-0.0213272],[-0.00933489,0.0213263,0.999729]],[true,true]] ]; _simpleObjects = [ @@ -42,33 +104,38 @@ _missionLootVehicles = [ ]; _missionPatrolVehicles = [ - ["B_MRAP_01_F",[-4.84375,-26.1211,0.000152588],0] + ["B_MRAP_01_F",[-4.83984,-26.0703,-0.0028379],0] ]; +_missionUGVs = [ + +]; _submarinePatrolParameters = [ ]; _airPatrols = [ - //["B_Heli_Light_01_dynamicLoadout_F",[50.4258,2.28125,0.000233173],0] + ["B_Heli_Light_01_dynamicLoadout_F",[50.4297,2.33203,-0.00275731],0] ]; +_missionUAVs = [ + +]; _missionEmplacedWeapons = [ - ["B_HMG_01_high_F",[21.4336,-16.1445,3.11827],0], - ["B_HMG_01_high_F",[-30.9922,-18.9863,0.202087],0], - ["B_HMG_01_high_F",[-34.4316,32.7754,-0.00714135],141.66], - ["B_HMG_01_high_F",[-22.7617,40.4707,1.05355],166.401] + ["B_HMG_01_high_F", [21.4336,-16.1445,3.11827], [[0,1,0],[0,0,1]], "Red"], + ["B_HMG_01_high_F", [-30.9922,-18.9863,0.202087], [[0,0.99957,-0.0293202],[-0.00133721,0.0293201,0.999569]], "Red"], + ["B_HMG_01_high_F", [-34.4316,32.7754,-0.00714135], [[0.620293,-0.784296,0.0108125],[0.02133,0.0306463,0.999303]], "Red"], + ["B_HMG_01_high_F", [-22.7617,40.4707,1.05355], [[0.235116,-0.971958,0.00420783],[-0.00239208,0.00375054,0.99999]], "Red"] ]; - - _missionGroups = [ - // [[-33.5879,26.9922,0.00262976],3,6,"Blue"] + [[-26.6816,45.0723,1.06332],3,6,"Red"], + [[72.0215,103.072,-0.004668],3,6,"Red"], + [[5.58398,-4.625,-0.00425434],3,6,"Red"] ]; _missionGarrisonedGroups = [ - // [[-26.6816,45.0723,1.06332],0,"Blue",""], - //[[21.418,-13.9297,1.14033],266.755,"Blue",""] + ]; _scubaGroupParameters = [ @@ -80,32 +147,6 @@ _missionLootBoxes = [ ]; /* - Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them + Do not touch the code below */ -_chanceHeliPatrol = 0; -_noChoppers = 1; -_missionHelis = GMS_patrolHelisBlue; -_chancePara = GMS_chanceParaBlue; -_noPara = 0; -_paraTriggerDistance = 400; -_chanceLoot = 0.0; -_paraLoot = GMS_BoxLoot_Blue; -_paraLootCounts = GMS_lootCountsBlue; -_missionLandscapeMode = "precise"; -_uniforms = GMS_SkinList; -_headgear = GMS_headgear; -_vests = GMS_vests; -_backpacks = GMS_backpacks; -_sideArms = GMS_Pistols; -//_spawnCratesTiming = "atMissionEndGround"; -//_loadCratesTiming = "atMissionCompletion"; -//_endCondition = playerNear; -_minNoAI = 0; -_maxNoAI = 0; -_noAIGroups = 0; -_noVehiclePatrols = 1; -_noEmplacedWeapons = 1; -_submarinePatrols = 0; // Default number of submarine patrols at pirate missions -_scubaPatrols = 0; // Default number of scuba diver patrols at pirate missions - #include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/config.cpp b/@GMS/addons/GMS/config.cpp index 8062a91..e4432d5 100644 --- a/@GMS/addons/GMS/config.cpp +++ b/@GMS/addons/GMS/config.cpp @@ -12,9 +12,9 @@ */ class GMSBuild { - Version = "7.22"; - Build = "278"; - Date = "11-02-2023"; + Version = "7.23"; + Build = "279"; + Date = "11-06-2023"; }; class CfgPatches { @@ -60,7 +60,8 @@ class CfgFunctions { class groups { file = "\x\addons\GMS\Compiles\Groups"; class findNearestInfantryGroup {}; - class simulationMonitor {}; + // Moved all code dealing with simulation managment to GMSCore + //class simulationMonitor {}; class spawnGroup {}; }; class missions {