From b07532a0a29aa833e21303cb7af883d0113205bb Mon Sep 17 00:00:00 2001 From: "Ghostrider [GRG]" Date: Thu, 2 Nov 2023 23:47:31 -0400 Subject: [PATCH] Build 277 --- ...n_countAliveAI.sqf => fn_countAliveAI.sqf} | 0 .../Functions/fn_createMissionMarkers.sqf | 17 -- .../Functions/unused_fn_addItemToCrate.sqf | 21 -- .../Functions/unused_fn_cleanEmptyGroups.sqf | 22 -- .../unused_fn_loadLootItemsFromArray.sqf | 45 --- .../Functions/unused_fn_nearestPlayers.sqf | 31 --- .../Functions/unused_fn_playerInRange.sqf | 35 --- .../unused_fn_playerInRangeArray.sqf | 21 -- .../Compiles/Functions/unused_fn_setDirUp.sqf | 13 - .../Functions/unused_fn_spawnMarker.sqf | 84 ------ @GMS/addons/GMS/Compiles/GMS_functions.sqf | 2 +- .../Missions/GMS_fnc_missionSpawner.sqf | 7 +- .../Missions/fn_initializeMission.sqf | 2 +- .../fn_monitorInitializedMissions.sqf | 8 +- .../Missions/fn_monitorSpawnedMissions.sqf | 15 +- .../Compiles/Missions/fn_paraDropObject.sqf | 2 +- .../Missions/fn_spawnMissionAssets.sqf | 31 ++- .../Missions/fn_spawnMissionCrates.sqf | 11 +- .../Missions/fn_spawnMissionLootVehicles.sqf | 62 +++-- ...fnc_spawnGarrisonInsideBuilding_relPos.sqf | 90 ------ .../Compiles/Missions/unused_fn_signalEnd.sqf | 18 -- .../unused_GMS_fnc_handlePlayerUpdates.sqf | 106 ------- .../unused_GMS_fnc_processIlleagalAIKills.sqf | 44 --- ...unused_GMS_fnc_configureMissionVehicle.sqf | 37 --- .../unused_GMS_fnc_handleVehicleGetOut.sqf | 20 -- .../Compiles/init/unused_testCrateLoading.sqf | 18 -- @GMS/addons/GMS/Configs/GMS_configs.sqf | 12 +- @GMS/addons/GMS/Configs/GMS_custom_config.sqf | 2 +- .../addons/GMS/Missions/Blue/inhaftierung.sqf | 180 ++++++++++++ @GMS/addons/GMS/Missions/GMS_missionLists.sqf | 95 ++----- @GMS/addons/GMS/Missions/Green/template.sqf | 104 ------- @GMS/addons/GMS/Missions/Orange/airfield1.sqf | 262 ------------------ @GMS/addons/GMS/Missions/Orange/kore.sqf | 112 ++++++++ @GMS/addons/GMS/Missions/Red/garrison.sqf | 114 -------- @GMS/addons/GMS/Missions/Red/inhaftierung.sqf | 180 ++++++++++++ @GMS/addons/GMS/Missions/Red/testMission.sqf | 140 ++++++++++ @GMS/addons/GMS/changeLog.txt | 11 +- @GMS/addons/GMS/config.cpp | 24 +- @GMS_3EDEN/addons/3DEN_plugin.pbo | Bin 280814 -> 280822 bytes 39 files changed, 747 insertions(+), 1251 deletions(-) rename @GMS/addons/GMS/Compiles/Functions/{unused_fn_countAliveAI.sqf => fn_countAliveAI.sqf} (100%) delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_addItemToCrate.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_cleanEmptyGroups.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_loadLootItemsFromArray.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_nearestPlayers.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRange.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRangeArray.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_setDirUp.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Functions/unused_fn_spawnMarker.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Missions/unused_GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Missions/unused_fn_signalEnd.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_handlePlayerUpdates.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_processIlleagalAIKills.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_configureMissionVehicle.sqf delete mode 100644 @GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_handleVehicleGetOut.sqf delete mode 100644 @GMS/addons/GMS/Compiles/init/unused_testCrateLoading.sqf create mode 100644 @GMS/addons/GMS/Missions/Blue/inhaftierung.sqf delete mode 100644 @GMS/addons/GMS/Missions/Green/template.sqf delete mode 100644 @GMS/addons/GMS/Missions/Orange/airfield1.sqf create mode 100644 @GMS/addons/GMS/Missions/Orange/kore.sqf delete mode 100644 @GMS/addons/GMS/Missions/Red/garrison.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/inhaftierung.sqf create mode 100644 @GMS/addons/GMS/Missions/Red/testMission.sqf diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_countAliveAI.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_countAliveAI.sqf similarity index 100% rename from @GMS/addons/GMS/Compiles/Functions/unused_fn_countAliveAI.sqf rename to @GMS/addons/GMS/Compiles/Functions/fn_countAliveAI.sqf diff --git a/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf b/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf index 8ffd042..7519075 100644 --- a/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf +++ b/@GMS/addons/GMS/Compiles/Functions/fn_createMissionMarkers.sqf @@ -23,23 +23,6 @@ private "_markers"; ["_missionFile","NoFilenameProvided"] ]; -if (GMS_debugLevel > 3) then -{ - private _pList =[ - "_markerName", // the name used when creating the marker. Must be unique. - "_markerPos", - "_markerLabel", - "_markerColor", - "_markerType", // Use either the name of the icon or "ELLIPSE" or "RECTANGLE" where non-icon markers are used - "_markerSize", - "_markerBrush" - ]; - for "_i" from 0 to ((count _this) - 1) do - { - diag_log format["_fnc_createMarker: _missionFile %1 | parameter %2 = %3",_missionFile,_pList select _i,_this select _i]; - }; -}; - private _markerError = false; if !(toLowerANSI (_markerType) in ["ellipse","rectangle"] || {isClass(configFile >> "CfgMarkers" >> _markerType)} ) then { diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_addItemToCrate.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_addItemToCrate.sqf deleted file mode 100644 index 40b2c38..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_addItemToCrate.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - [_item,_crate] call GMS_addItemToCrate; - where - _crate is a container such as ammo box or vehicle - _item is a string or array. - If _item is a string then add 1 of that item to the container. - If _item is an array with 2 elements ["itemName",3] then assume that the first element is a string and is the name of the item, and the second is the number to add. - if _item is an array with 3 elements ["itemName",2,6] assume that the first element is the item name (string), the second the min # to add and the third the max # to add. - - - By Ghostrider [GRG] - Copyright 2016 - -------------------------- - 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" -_this call GMSCore_fnc_addItem; diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_cleanEmptyGroups.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_cleanEmptyGroups.sqf deleted file mode 100644 index f1bf4aa..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_cleanEmptyGroups.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - call as [] call GMS_fnc_cleanEmptyGroups; - Deletes any empty groups and thereby prevents errors resulting from createGroup returning nullGroup. - - By Ghostrider [GRG] - Copyright 2016 - -------------------------- - 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" - -private _grp = allGroups; -for "_i" from 1 to (count _grp) do -{ - private _g = _grp deleteAt 0; - if ((count units _g) isEqualTo 0) then {deleteGroup _g}; -}; - diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_loadLootItemsFromArray.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_loadLootItemsFromArray.sqf deleted file mode 100644 index 332c1a4..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_loadLootItemsFromArray.sqf +++ /dev/null @@ -1,45 +0,0 @@ -/* - GMS_fnc_loadLootItemsFromArray - - - call as: - - [_item,_crate] call GMS_fnc_loadLootFromItemsArray; - - where - _crate is a container such as ammo box or vehicle - _loadout is an array containing either 2 or 3 elements. The first array is always an array of items to add. Items can be formated as ["item1","item1"], as [["item1",3],["item2",2]] or as [["item1",2,4],["item2",3,5]]. - See GMSCore_fnc_addItemToCrate for information about the acceptable formates for the items "item1" ... "itemN". - - The second and optional third element in the array specify the number of times the script will randomly select an item from the array of items and load it into the crate. - For example: - case 1: [["item1",...,"itemN"],6]; The script will randomly select from the array of item names 6 times and call the loot loader each time. - case 2: [["item1",...,"itemN"],6, 9]; As above except that an item will be selected a minimum of 6 and maximum of 9 times. - - - By Ghostrider [GRG] - Copyright 2016 - -------------------------- - 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" - - - params["_loadout","_crate",["_addAmmo",0]]; - if ((_loadout select 0) isEqualTo []) exitWith {}; - { - private["_tries","_q","_item"]; - _tries = 0; - _q = _x select 1; // this can be a number or array. - _tries = [_q] call GMSCore_fnc_getNumberFromRange; - for "_i" from 1 to _tries do - { - _item = selectRandom (_x select 0); - [_item,_crate,_addAmmo] call GMSCore_fnc_addItem; - }; - }forEach _loadout; diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_nearestPlayers.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_nearestPlayers.sqf deleted file mode 100644 index 90c11bb..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_nearestPlayers.sqf +++ /dev/null @@ -1,31 +0,0 @@ - -/* - GMS_fnc_nearestPlayers - for ghostridergaming - By Ghostrider [GRG] - Copyright 2016 - - -------------------------- - 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" - -params[["_coords",[]],"_range"]; -/* -{ - diag_log format["_fnc_nearestPlayers: %1 = %2",_x, _this select _forEachIndex]; -}forEach ["_coords", "_range"]; -*/ -if (_coords isEqualTo []) then -{ - _coords = [0,0,0]; - //diag_log format["[GMS] No value passed to GMS_fnc_nearestPlayers for _coords - default of [0,0,0] used"]; -}; - -private _players = allPlayers select {(_x distance _coords) < _range}; -//diag_log format["_fnc_nearestPlayers: _coords %1 | _range %2 | _return = %3",_coords,_range,_players]; -_players diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRange.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRange.sqf deleted file mode 100644 index a8634c1..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRange.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/////////////////////////////////////////////////////// -/// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects -/* - GMS_fnc_playerInRange - - By Ghostrider [GRG] - Copyright 2016 - -------------------------- - 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" -params[["_coords",[0,0,0]],["_range",0],["_onFootOnly",true],["_onGroundOnly",true]]; -private "_players"; -if (_onGroundOnly) then { - _players = allPlayers select {(((getPosATL _x) select 2) < 1)}; -} else { - _players = allPlayers; -}; -if (_onFootOnly) then -{ - // 9/27/23 Be sure any players detected are on the ground. - private _players = _players select{((vehicle _x) isEqualTo _x) && ((_x distance _coords) < _range)}; -} else { - _players = _players select {(_x distance _coords) < _range}; -}; - -private _result = if (_players isEqualTo []) then {false} else {true}; -diag_log format["_playerInRange: _onGroundOnly = %3 |_result = %1 | _players = %2",_result,_players,_onGroundOnly]; -_result - \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRangeArray.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRangeArray.sqf deleted file mode 100644 index bbb8205..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_playerInRangeArray.sqf +++ /dev/null @@ -1,21 +0,0 @@ -////////////////////////////////////////////////////// -// Test whether one object (e.g., a player) is within a certain range of any of an array of other objects -/* - GMS_fnc_playerInRangeArray - - By Ghostrider [GRG] - Copyright 2016 - -------------------------- - 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" - -params["_locations","_dist",["_onFootOnly",true],["_onGroundOnly",true]]; -private _nearLocations = _locations select {[_x,_dist,_onFootOnly,_onGroundOnly] call GMS_fnc_playerInRange}; -private _return = if (_nearLocations isEqualTo []) then {false} else {true}; -_return - diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_setDirUp.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_setDirUp.sqf deleted file mode 100644 index 3910555..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_setDirUp.sqf +++ /dev/null @@ -1,13 +0,0 @@ -/* - GMS_fnc_setDirUp - - 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" -_this call GMSCore_fnc_setDirUp; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/Functions/unused_fn_spawnMarker.sqf b/@GMS/addons/GMS/Compiles/Functions/unused_fn_spawnMarker.sqf deleted file mode 100644 index 6c0dd32..0000000 --- a/@GMS/addons/GMS/Compiles/Functions/unused_fn_spawnMarker.sqf +++ /dev/null @@ -1,84 +0,0 @@ -/* - GMS_fnc_spawnMarker - - Note: kept for backwards compatability with older parts of GMS like the static and dynamic loot spawns and spawns of map addons. - - By Ghostrider [GRG] - Copyright 2016 - -------------------------- - 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" - -private["_GMS_fn_configureRoundMarker"]; -_GMS_fn_configureRoundMarker = { - params["_name","_pos","_color","_text","_size","_labelType","_mShape","_mBrush"]; - - if ((_pos distance [0,0,0]) < 10) exitWith {}; - private _marker = createMarker [_name, _pos]; - _marker setMarkerColor _color; - _marker setMarkerShape "ELLIPSE"; - _marker setMarkerBrush "Grid"; - _marker setMarkerSize _size; // - if (count toArray(_text) > 0) then - { - switch (_labelType) do { - case "arrow": - { - _name = _name + "label"; - private _textPos = [(_pos select 0) + (count toArray (_text) * 12), (_pos select 1) - (_size select 0), 0]; - private _arrowMarker = createMarker [_name, _textPos]; - _arrowMarker setMarkerShape "Icon"; - _arrowMarker setMarkerType "HD_Arrow"; - _arrowMarker setMarkerColor "ColorBlack"; - _arrowMarker setMarkerText _text; - //_marker setMarkerDir 37; - }; - case "center": - { - _name = "label" + _name; - private _labelMarker = createMarker [_name, _pos]; - _labelMarker setMarkerShape "Icon"; - _labelMarker setMarkerType "mil_dot"; - _labelMarker setMarkerColor "ColorBlack"; - _labelMarker setMarkerText _text; - }; - }; - }; - if (isNil "_labelMarker") then {_labelMarker = ""}; - _marker -}; - -_GMS_fn_configureIconMarker = { - - params["_name","_pos",["_color","ColorBlack"],["_text",""],["_icon","mil_triangle"]]; - //_name = "label" + _name; - private _marker = createMarker [_name, _pos]; - _marker setMarkerShape "Icon"; - _marker setMarkerType _icon; - _marker setMarkerColor _color; - _marker setMarkerText _text; - _marker -}; - -params["_mArray","_mBrush"]; - -private["_marker"]; -_mArray params["_missionMarkerName","_markerPos","_markerLabel","_markerLabelType","_markerColor","_markerTypeInfo"]; -_missionMarkerName = GMS_missionMarkerRootName + _missionMarkerName; -_markerTypeInfo params[["_mShape","mil_dot"],["_mSize",[0,0]],["_mBrush","GRID"]]; - -if (toUpper(_mShape) in ["ELLIPSE","RECTANGLE"]) then // not an Icon .... -{ - if (isNil "_mBrush") then {_mBrush = "GRID"}; - _marker = [_missionMarkerName,_markerPos,_markerColor,_markerLabel, _mSize,_markerLabelType,_mShape,_mBrush] call _GMS_fn_configureRoundMarker; -} else { - _marker = [_missionMarkerName,_markerPos, _markerColor,_markerLabel,_mShape] call _GMS_fn_configureIconMarker; -}; -if (isNil "_marker") then {_marker = ""}; - -_marker diff --git a/@GMS/addons/GMS/Compiles/GMS_functions.sqf b/@GMS/addons/GMS/Compiles/GMS_functions.sqf index 2e55d8f..3b5f6a1 100644 --- a/@GMS/addons/GMS/Compiles/GMS_functions.sqf +++ b/@GMS/addons/GMS/Compiles/GMS_functions.sqf @@ -14,7 +14,7 @@ private _functions = [ // General functions - ["GMS_fnc_FindSafePosn","\x\addons\GMS\Compiles\Functions\GMS_fnc_findSafePosn_4.sqf"], + //["GMS_fnc_FindSafePosn","\x\addons\GMS\Compiles\Functions\GMS_fnc_findSafePosn_4.sqf"], // Player-related functions //["GMS_fnc_handlePlayerUpdates","\x\addons\GMS\Compiles\Units\GMS_fnc_handlePlayerUpdates.sqf"], diff --git a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf index c608de1..46d414d 100644 --- a/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/GMS_fnc_missionSpawner.sqf @@ -28,7 +28,8 @@ private ["_abort","_crates","_aiGroup","_objects","_groupPatrolRadius","_mission // New private Variables from 10-15-23 "_timeoutMsg", "_missionLandscapeMode", - "_showMarker" + "_showMarker", + "_cleanuplootcontainers" ]; params["_markerName",["_aiDifficultyLevel","Red"]]; @@ -95,6 +96,7 @@ if (isNil "_missionemplacedweapons") then {_missionemplacedweapons = []}; if !(isNil "_difficulty") then {_aiDifficultyLevel = _difficulty}; if (isNil "_timeoutMsg") then {_timeoutMsg = ""}; if (isNil "_showMarker") then {_showMarker = true}; +if (isNil "_cleanupLootContainers") then {_cleanupLootContainers = GMS_cleanUpLootChests}; _markerType params["_markerShape",["_markersize",[250,250]],["_markerBrush","GRID"]]; private _paraSkill = _aiDifficultyLevel; @@ -142,7 +144,8 @@ private _missionLootConfigs = [ _crateLoot, _lootCounts, _missionLootBoxes, - _missionLootVehicles + _missionLootVehicles, + _cleanupLootContainers ]; private _aiConfigs = [ diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf index 15006e2..32227ce 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_initializeMission.sqf @@ -233,7 +233,7 @@ try { ]; #define spawnPara -1 - GMS_initializedMissionsList pushBack [_key, missionTimeoutAt, triggered, _missionData, _missionConfigs, spawnPara,_isStatic,_missionFile]; + GMS_initializedMissionsList pushBack [_key, missionTimeoutAt, triggered, _missionData, _missionConfigs, _isStatic,_missionFile]; // Repair any damage done by prior activities. {_x setDamage 0} forEach ( nearestObjects [_coords, ["Building"], 500]); diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf index 3a5fe95..8fbb88c 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorInitializedMissions.sqf @@ -25,7 +25,7 @@ for "_i" from 1 to (count _missionsList) do // Select a mission category (blue, red, green , etd) /* - GMS_initializedMissionsList pushBack [_key, missionTimeoutAt, triggered, _missionData, _missionConfigs, spawnPara,_isStatic]; + GMS_initializedMissionsList pushBack [_key, missionTimeoutAt, triggered, _missionData, _missionConfigs, _isStatic]; */ private _el = _missionsList deleteAt 0; _el params [ @@ -33,8 +33,7 @@ for "_i" from 1 to (count _missionsList) do "_missionTimeoutAt", // 1 // server time at which the mission times out. "_triggered", // 2 // integer - specifies if mission was triggered by a player or scripting such as debug setting "_missionData", // 4 // variable containing information specific to this instance of the mission such as location and objects - "_missionConfigs", // 5 // Variables regarding the configuration of the dynamic mission - "_spawnPara", // + "_missionConfigs", // 5 // Variables regarding the configuration of the mission "_isStatic", // 7 // A flag as to whether the mission is a static or dynamically spawned mission. "_missionFile" ]; @@ -146,7 +145,7 @@ for "_i" from 1 to (count _missionsList) do // Handle mission waiting to be triggerd and player is within the range to trigger case 0: { - [_missionData,_missionConfigs,_spawnPara,_missionFile] call GMS_fnc_spawnMissionAssets; + [_missionData,_missionConfigs,_missionFile] call GMS_fnc_spawnMissionAssets; // _el is structured as: /* @@ -156,7 +155,6 @@ for "_i" from 1 to (count _missionsList) do "_triggered", // 2 // integer - specifies if mission was triggered by a player or scripting such as debug setting "_missionData", // 4 // variable containing information specific to this instance of the mission such as location and objects "_missionConfigs", // 5 // Variables regarding the configuration of the dynamic mission - "_spawnPara", // "_isStatic" // 7 // A flag as to whether the mission is a static or dynamically spawned mission. ]; */ diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf index 61d57f9..008c7e4 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_monitorSpawnedMissions.sqf @@ -30,7 +30,6 @@ for "_i" from 1 to (count _missionsList) do "_triggered", // 2 // integer - specifies if mission was triggered by a player or scripting such as debug setting "_missionData", // 4 // variable containing information specific to this instance of the mission such as location and objects "_missionConfigs", // 5 // Variables regarding the configuration of the dynamic mission - "_spawnPara", "_isStatic", "_missionFile" ]; @@ -111,11 +110,10 @@ for "_i" from 1 to (count _missionsList) do private _minNoAliveForCompletion = (count _missionInfantry) - (round(GMS_killPercentage * (count _missionInfantry))); private _aiKilled = if (({alive _x} count _missionInfantry) <= _minNoAliveForCompletion) then {true} else {false}; // mission complete - //GMS_aiKilled = _aiKilled; - //if (GMS_debugLevel > 0) then {[format["_monitorSpawnedMissions(112): _playerIsNear = %1 | _aiKilled = %2",_playerIsNear,_aiKilled]] call GMS_fnc_log}; if (_endIfPlayerNear && {_playerIsNear}) then {throw 1}; // mission complete if (_endIfAIKilled && {_aiKilled}) then {throw 1}; - if (_spawnPara isEqualType -1) then + + if (_spawnPara isEqualType 0) then { #define chancePara 0; private _chancePara = _paraConfigs select chancePara; @@ -148,11 +146,12 @@ for "_i" from 1 to (count _missionsList) do ]; //params["_pos","_numAI","_skilllevel",["_uniforms",[]],["_headGear",[]],["_vests",[]],["_backpacks",[]],["_weapons",[]],["_sideArms",[]],["_isScuba",false]]; private _paraGroup = [_coords,_noPara,_difficulty,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,_isScubaMission] call GMS_fnc_spawnParaUnits; - //[format["_monitorSpawneMissions: _noPara = %1 | _chancePara = %2 | _paraGroup = %3",_noPara,_chancePara,_paraGroup]] call GMS_fnc_log; + + [format["_monitorSpawneMissions(151): _noPara = %1 | _chancePara = %2 | _paraGroup = %3",_noPara,_chancePara,_paraGroup]] call GMS_fnc_log; if !(isNull _paraGroup) then { _missionInfantry append (units _paraGroup); - if (random(1) < _chanceLoot) then + if (random(1) < _chanceLoot || GMS_debugLevel >=3) then { private _extraCrates = [_coords,[[selectRandom GMS_crateTypes,[0,0,0],_paraLoot,_paraLootCounts]], "atMissionSpawn","atMissionSpawnAir", "start", _difficulty] call GMS_fnc_spawnMissionCrates; if (GMS_debugLevel > 0) then {[format["_monitorSpawnedMissions (158): _extracrates %1 dropped for _missionFile %2",_extraCrates,_missionFile]] call GMS_fnc_log}; @@ -161,8 +160,8 @@ for "_i" from 1 to (count _missionsList) do _objects append _extraCrates; }; }; - _missionData = [_coords,_mines,_objects,_hiddenObjects,_crates,_missionInfantry,_assetSpawned,_aiVehicles,_lootVehicles,_markers]; - _el set[missionData, _missionData]; + //_missionData = [_coords,_mines,_objects,_hiddenObjects,_crates,_missionInfantry,_assetSpawned,_aiVehicles,_lootVehicles,_markers]; + //_el set[missionData, _missionData]; //diag_log format["_monitorSpawnedMissions (134): para spawned at %1",diag_tickTime]; }; }; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf index 3b23fa3..d5d5837 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_paraDropObject.sqf @@ -13,7 +13,7 @@ #include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" -params["_pos","_crate",["_crateVisualMarker",true],["_dropHeight", 150]]; +params["_pos","_crate",["_crateVisualMarker",true],["_dropHeight", 50]]; private _chute = createVehicle ["I_Parachute_02_F", _pos, [], 0, "FLY"]; [_chute] call GMS_fnc_protectVehicle; _crate setVariable["chute",_chute]; diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf index bde0c2c..3a8a6bf 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionAssets.sqf @@ -6,7 +6,6 @@ params[ "_missionData", // Defined below "_missionConfigs", // Defined below - "_spawnPara", "_missionFile" ]; @@ -55,7 +54,8 @@ _missionLootConfigs params [ "_crateLoot", "_lootCounts", "_missionLootBoxes", - "_missionLootVehicles" + "_missionLootVehicles", + "_cleanupLootContainers" ]; _aiConfigs params [ "_uniforms", @@ -237,10 +237,10 @@ if (GMS_useStatic && !(_missionEmplacedWeapons isEqualTo [])) then uisleep delayTime; }; }; - +diag_log format["_spawnMissionAssets(241): _missionLootVehicles = %1",_missionLootVehicles]; if !(_missionLootVehicles isEqualTo []) then { - _lootVehicles = [_coords,_missionLootVehicles,_spawnCratesTiming] call GMS_fnc_spawnMissionLootVehicles; + _lootVehicles = [_coords,_missionLootVehicles,_spawnCratesTiming,_missionFile] call GMS_fnc_spawnMissionLootVehicles; uiSleep delayTime; }; @@ -260,7 +260,7 @@ if !(_missionLootVehicles isEqualTo []) then ["_crewCount",4] ]; */ - +diag_log format["_spawnMissionAssets (264): __missionPatrolVehicles = %1",_missionPatrolVehicles]; if (GMS_useVehiclePatrols && {!(_missionPatrolVehicles isEqualTo [])}) then { _temp = [_coords,_difficulty,_missionPatrolVehicles,_uniforms,_headGear,_vests,_backpacks,_weaponList,_sideArms,false,_vehicleCrewCount] call GMS_fnc_spawnMissionVehiclePatrols; @@ -356,14 +356,13 @@ if (_spawnCratesTiming in ["atMissionSpawnGround","atMissionSpawnAir"]) then _crates = [_coords,_missionLootBoxes,_loadCratesTiming, _spawnCratesTiming, "start", _difficulty, _missionFile] call GMS_fnc_spawnMissionCrates; }; - if (GMS_cleanUpLootChests) then + if (_cleanupLootContainers) then { _objects append _crates; }; if (_loadCratesTiming isEqualTo "atMissionSpawn") then { private _crateMoney =(missionNamespace getVariable[format["GMS_crateMoney%1",_difficulty],GMS_rewardsOrange]); - //diag_log format["_spawnMissionAssets(395): _crateMoney = %1",_crateMoney]; { [_x,_difficulty,_crateMoney] call GMSCore_fnc_setMoney; } forEach _crates; @@ -380,10 +379,22 @@ if (GMS_showCountAliveAI) then ]; }; -{ - _x setVariable["crateSpawnPos", (getPos _x)]; -}; +/* +_missionData params [ + "_coords", // index 0 + "_mines", // index 1 + "_objects", // index 2 + "_hiddenObjects", // index 3 + "_crates", // index 4 + "_missionInfantry", // index 5 + "_assetSpawned", // index 6 + "_aiVehicles", // index 7 + "_lootVehicles", // index 8 + "_markers" // index 9 +]; +*/ #define indexMines 1 #define indexCrates 4 _missionData set[indexMines, _mines]; _missionData set[indexCrates, _crates]; + diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf index 09e6671..eb6d93f 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionCrates.sqf @@ -15,11 +15,12 @@ _fnc_dropMissionCrates = { private ["_crates","_marker","_markers","_location","_airborneCrates","_curPosCrate"]; - _crates = _this select 0; + params["_crates","_missionFile"]; + _markers = []; { - [(getPos _x), _x, true, 50] call GMS_fnc_paraDropObject; + [(getPos _x), _x, true, 20] call GMS_fnc_paraDropObject; } forEach _crates; _airborneCrates = _crates; @@ -98,7 +99,11 @@ private _cratesSpawned = []; if (_spawnCrateTiming in ["atMissionEndAir","atMissionSpawnAir"]) then { - [_cratesSpawned] spawn _fnc_dropMissionCrates; + [_cratesSpawned,_missionFile] spawn _fnc_dropMissionCrates; +} else { + { + _x setVariable["crateSpawnPos", (getPos _x)]; + } forEach _crates; }; _cratesSpawned diff --git a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf index 9056826..bbd9da2 100644 --- a/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf +++ b/@GMS/addons/GMS/Compiles/Missions/fn_spawnMissionLootVehicles.sqf @@ -13,26 +13,54 @@ */ #include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" -params["_coords","_missionLootVehicles",["_loadCrateTiming","atMissionSpawn"],["_lock",0]]; +params["_coords","_missionLootVehicles",["_loadCrateTiming","atMissionSpawn"],["_lock",0],["_missionFile",""]]; if (count _coords isEqualTo 2) then {_coords pushBack 0}; private _vehs = []; { - _x params["_vehType","_vehOffset",["_dir",0],"_lootArray","_lootCounts"]; - _veh = [_vehType, _coords vectorAdd _vehOffset] call GMS_fnc_spawnVehicle; - [_veh, _dir] call GMSCore_fnc_setDirUp; - _veh lock _lock; - if (_loadCrateTiming isEqualTo "atMissionSpawnGround") then - { - [_veh,_lootArray,_lootCounts] call GMS_fnc_fillBoxes; - _veh setVariable["lootLoaded",true]; - private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); - [format["GMS_fnc_spawnMissionLootVehicles (29) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; - //[_veh,missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; - } else { - _veh setVariable["lootArray",_lootArray]; - _veh setVariable["lootCounts",_lootCounts]; - _veh setVariable["lootLoaded",false]; + _x params[["_vehType",""],["_vehOffset",[]],["_dir",0],["_lootArray",[]],["_lootCounts",[]]]; + try { + if !(isClass(configFile >> "CfgVehicles" >> _vehType)) throw -3; + if (_vehOffset isEqualTo []) throw -2; + if (_lootArray isEqualTo []) throw -1; + if (_lootCounts isEqualTo []) throw -4; + throw 1; + } + + catch { + switch(_exception) do + { + case -4: { + [format["_lootCounts not specified in %1 in %2",_x,_missionFile],'warning'] call GMS_fnc_log; + }; + case -3: { + [format["_lootArray not specified in %1 in %2",_x,_missionFile],'warning'] call GMS_fnc_log; + }; + case -2: { + [format["_vehOffset not specified in %1 in %2",_x,_missionFile],'warning'] call GMS_fnc_log; + }; + case -1: { + [format["_vehType %1 in %2 of %3 is not a valid class",_vehType,_x,_missionFile],'warning'] call GMS_fnc_log; + }; + case 1: { + _veh = [_vehType, _coords vectorAdd _vehOffset] call GMS_fnc_spawnVehicle; + [_veh, _dir] call GMSCore_fnc_setDirUp; + _veh lock _lock; + if (_loadCrateTiming isEqualTo "atMissionSpawnGround") then + { + [_veh,_lootArray,_lootCounts] call GMS_fnc_fillBoxes; + _veh setVariable["lootLoaded",true]; + private _crateMoney = missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty]); + [format["GMS_fnc_spawnMissionLootVehicles (29) _crateMoney = %1",_crateMoney]] call GMS_fnc_log; + //[_veh,missionNamespace getVariable (format["GMS_crateMoney%1",_difficulty])] call GMS_fnc_setMoney; + } else { + _veh setVariable["lootArray",_lootArray]; + _veh setVariable["lootCounts",_lootCounts]; + _veh setVariable["lootLoaded",false]; + }; + _vehs pushback _veh; + }; + }; }; - _vehs pushback _veh; + }forEach _missionLootVehicles; _vehs diff --git a/@GMS/addons/GMS/Compiles/Missions/unused_GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf b/@GMS/addons/GMS/Compiles/Missions/unused_GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf deleted file mode 100644 index 436e38e..0000000 --- a/@GMS/addons/GMS/Compiles/Missions/unused_GMS_fnc_spawnGarrisonInsideBuilding_relPos.sqf +++ /dev/null @@ -1,90 +0,0 @@ -/* - By Ghostrider-GRG- - Copyright 2016 - -------------------------- - 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" - -/* - _building, - _group, - _noStatics, - _typesStatics, - _noUnits, - _aiDifficultyLevel, - _uniforms, - _headGear, - _vests, - _backpacks, - "none", - _weaponList, - _sideArms -*/ -params[ - "_building", - "_group", - ["_noStatics",0], - ["_typesStatics",GMS_staticWeapons], - ["_noUnits",0], - ["_aiDifficultyLevel","Red"], - ["_uniforms",[]], - ["_headGear",[]], - ["_vests",[]], - ["_backpacks",[]], - ["_launcher","none"], - ["_weaponList",[]], - ["_sideArms",[]] -]; - -if (_weaponList isEqualTo []) then {_weaponList = [_aiDifficultyLevel] call GMS_fnc_selectAILoadout}; -if (_sideArms isEqualTo []) then {_sideArms = [_aiDifficultyLevel] call GMS_fnc_selectAISidearms}; -if (_uniforms isEqualTo []) then {_uniforms = [_aiDifficultyLevel] call GMS_fnc_selectAIUniforms}; -if (_headGear isEqualTo []) then {_headGear = [_aiDifficultyLevel] call GMS_fnc_selectAIHeadgear}; -if (_vests isEqualTo []) then {_vests = [_aiDifficultyLevel] call GMS_fnc_selectAIVests}; -if (_backpacks isEqualTo []) then {_backpacks = [_aiDifficultyLevel] call GMS_fnc_selectAIBackpacks}; - -private["_unit","_obj","_staticClassName","_usedBldPsn","_pos","_obj"]; -private _allBldPsn = ([_building] call BIS_fnc_buildingPositions) call BIS_fnc_arrayShuffle; -private _countBldPsn = count _allBldPsn; -private _statics = _noStatics min ceil(_countBldPsn/2); -private _units = _countBldPsn - _statics; -diag_log format["_fnc_spawnGarrisonInsideBuilding_relPos: _statics = %1 | _units = %2 | count _allBldPsn = %3 | _allBldPsn %4",_statics,_units,count _allBldPsn,_allBldPsn]; -private _staticsSpawned = []; -private _locsUsed = []; -uiSleep 1; -for "_i" from 1 to _statics do -{ - if (_allBldPsn isEqualTo []) exitWith {}; - _pos = _allBldPsn deleteAt 0; - diag_log format["_fnc_spawnGarrisonInsideBuilding_relPos: _pos = %1",_pos]; - _locsUsed pushBack _pos; - _staticClassName = selectRandom _typesStatics; - _obj = [_staticClassName, [0,0,0]] call GMS_fnc_spawnVehicle; - _obj setVariable["GRG_vehType","emplaced"]; - _staticsSpawned pushBack _obj; - _obj setPosATL _pos; // (_pos vectorAdd (getPosATL _building)); - _unit = [[0,0,0],_group,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_launcher,_weaponList,_sideArms,false,true] call GMS_fnc_spawnUnit; - _unit moveInGunner _obj; -}; -private _infantryPos = _allBldPsn; -for "_i" from 1 to _units do -{ - if (_allBldPsn isEqualTo []) exitWith {}; - _pos = _allBldPsn deleteAt 0; - _unit = [[0,0,0],_group,_aiDifficultyLevel,_uniforms,_headGear,_vests,_backpacks,_launcher,_weaponList,_sideArms,false,true] call GMS_fnc_spawnUnit; - _unit setPosATL _pos; - { - _wp = _group addWaypoint [_x, 0]; - _wp setWaypointType "MOVE"; - _wp setWaypointCompletionRadius 0; - _wp waypointAttachObject _building; - _wp setWaypointHousePosition _foreachindex; - _wp setWaypointTimeout [15, 20, 30]; - } forEach (_building buildingPos -1); -}; -_staticsSpawned diff --git a/@GMS/addons/GMS/Compiles/Missions/unused_fn_signalEnd.sqf b/@GMS/addons/GMS/Compiles/Missions/unused_fn_signalEnd.sqf deleted file mode 100644 index d118269..0000000 --- a/@GMS/addons/GMS/Compiles/Missions/unused_fn_signalEnd.sqf +++ /dev/null @@ -1,18 +0,0 @@ -////////////////////////////////////////////////////// -// Attach a marker of type _marker to an object _crate -// by Ghostrider [GRG] based on code from Wicked AI for Arma 2 Dayz Epoch -///////////////////////////////////////////////////// -/* - -------------------------- - 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" -//private ["_start","_maxHeight","_smokeShell","_light","_lightSource"]; -//params[["_crate",objNull],["_time",60]]; - -_this call GMSCore_fnc_visibleMarker; - diff --git a/@GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_handlePlayerUpdates.sqf b/@GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_handlePlayerUpdates.sqf deleted file mode 100644 index 3a64ebf..0000000 --- a/@GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_handlePlayerUpdates.sqf +++ /dev/null @@ -1,106 +0,0 @@ -/* - calculate a reward player for AI Kills in crypto. - Code fragment adapted from VEMF - call as [_unit,_killer] call GMS_fnc_handlePlayerUpdates; - -------------------------- - 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" - -_fn_doUpdates = { - params["_player","_unit"]; - private _lastkill = _player getVariable["GMS_lastkill",diag_tickTime]; - _player setVariable["GMS_lastkill",diag_tickTime]; - private _kills = (_player getVariable["GMS_kills",0]) + 1; - if ((diag_tickTime - _lastkill) < 240) then - { - _player setVariable["GMS_kills",_kills]; - } else { - _player setVariable["GMS_kills",0]; - }; - - if (toLower(GMSCore_modtype) isEqualTo "epoch") then - { - #define maxReward 2500 - private _distanceBonus = floor((_unit distance _player)/100); - private _killstreakBonus = 3 * (_player getVariable["GMS_kills",0]); - private _reward = 25 + _distanceBonus + _killstreakBonus; - [_player,_reward ] call GMSCore_fnc_giveTakeCrypto; - [_player, 5] call GMSCore_fnc_setKarma; - //if (isNil "GMS_fnc_killedMessages") then {diag_log format["blckeagls: GMS_fnc_killedMessages not defined"]}; - if (GMS_useKillScoreMessage) then - { - [["showScore",[_reward,"",_kills],""],[_player]] call GMS_fnc_messageplayers; - // params["_unit","_killer","_money","_respect","_killStreak"]; - //[_unit,_player,_reward,5] call GMS_fnc_killedMessages; - }; - - // SUggestion to update Epoch player stats from He-Man - [_killer, "AIKills", 1, true] call EPOCH_server_updatePlayerStats; - }; - if (toLower(GMSCore_modtype) isEqualTo "exile") then - { - private _distanceBonus = floor((_unit distance _player)/100); - private _killstreakBonus = 3 * (_player getVariable["GMS_kills",0]); - private _respectGained = 25 + _distanceBonus + _killstreakBonus; - private _score = _player getVariable ["ExileScore", 0]; - _score = _score + (_respectGained); - _player setVariable ["ExileScore", _score]; - format["setAccountScore:%1:%2", _score,getPlayerUID _player] call ExileServer_system_database_query_fireAndForget; - private _newKillerFrags = _player getVariable ["ExileKills", 0]; - _newKillerFrags = _newKillerFrags + 1; - _player setVariable ["ExileKills", _newKillerFrags]; - format["addAccountKill:%1", getPlayerUID _player] call ExileServer_system_database_query_fireAndForget; - _player call ExileServer_object_player_sendStatsUpdate; - if (GMS_useKillScoreMessage) then - { - [["showScore",[_respectGained,_distanceBonus,_kills]], [_player]] call GMS_fnc_messageplayers; - }; - }; - if (toLower(GMSCore_modtype) isEqualTo "default") then - { - private _newKillerFrags = _player getVariable ["ExileKills", 0]; - _newKillerFrags = _newKillerFrags + 1; - _player setVariable ["ExileKills", _newKillerFrags,true]; - if (GMS_useKillScoreMessage) then - { - [["showScore",[_respectGained,_distanceBonus,_kills]], [_player]] call GMS_fnc_messageplayers; - }; - }; - if (GMS_useKillMessages) then - { - private _weapon = currentWeapon _player; - _killstreakMsg = format[" %1X KILLSTREAK",_kills]; - private["_message"]; - if (GMS_useKilledAIName) then - { - _message = format["[blck] %2: killed by %1 from %3m",name _player,name _unit,round(_unit distance _player)]; - }else{ - _message = format["[blck] %1 killed with %2 from %3 meters",name _player,getText(configFile >> "CfgWeapons" >> _weapon >> "DisplayName"), round(_unit distance _player)]; - }; - _message =_message + _killstreakMsg; - [["aikilled",_message,"victory"],allPlayers] call GMS_fnc_messageplayers; - }; - -}; - -params["_unit","_killer"]; -private _killerType = _killer call BIS_fnc_objectType; // anObject call BIS_fnc_objectType - -if ((_killerType select 0 )isEqualTo "Vehicle") then -{ - { - _player = _killer; - if (getPlayerUID(_x) isEqualTo getPlayerUID(_killer)) exitWith { - [_x,_unit] call _fn_doUpdates; - }; - - }forEach (crew (vehicle _killer)); -} else { - [_killer,_unit] call _fn_doUpdates; -}; - diff --git a/@GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_processIlleagalAIKills.sqf b/@GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_processIlleagalAIKills.sqf deleted file mode 100644 index df4dd38..0000000 --- a/@GMS/addons/GMS/Compiles/Units/unused_GMS_fnc_processIlleagalAIKills.sqf +++ /dev/null @@ -1,44 +0,0 @@ -/* - by Ghostrider - - -------------------------- - 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" - -private["_missionType","_wasRunover","_launcher","_legal"]; -params["_unit","_killer"]; -_legal = true; -if (vehicle _killer == _killer) exitWith {true}; - -// Player not in vehicle, no further checks needed. -if (_killer == (driver (vehicle _killer))) then // If the killer is also the driver then the killer must have run the AI over -{ - if(GMS_RunGear && {!((vehicle _killer) isKindOf "Air")}) then // assume aircraft are too fragile to kill AI by moving close to ground - { - [_unit] call GMS_fnc_removeAllAIgear; - if (GMS_VK_RunoverDamage) then - {//apply vehicle damage - [vehicle _killer] call GMS_fnc_applyVehicleDamagePenalty; - [_killer] call GMS_fnc_msgIED; - }; - _legal = false; - }; -} else { - if ( GMS_VK_GunnerDamage ) then - { - if ((typeOf (vehicle _killer)) in GMS_forbidenVehicles || {(currentWeapon _killer) in GMS_forbidenVehicleGuns}) then - { - if (GMS_VK_Gear) then {[_unit] call GMS_fnc_removeAllAIgear;}; - [vehicle _killer] call GMS_fnc_applyVehicleDamagePenalty; - [_killer] call GMS_fnc_msgIED; - _legal = false; - }; - }; -}; - -_legal diff --git a/@GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_configureMissionVehicle.sqf b/@GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_configureMissionVehicle.sqf deleted file mode 100644 index 79ebc81..0000000 --- a/@GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_configureMissionVehicle.sqf +++ /dev/null @@ -1,37 +0,0 @@ - -/* - By Ghostrider [GRG] - - GMS_fnc_configureMissionVehicle - - Parameters: - _veh - The vehicle to handle - - Returns - -veh - -------------------------- - 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" - -params["_veh"]; - -if (GMSCore_modtype isEqualTo "Epoch") then -{ - // Adds compatability with Halv's black market traders - if (GMS_allowSalesAtBlackMktTraders) then {_veh setVariable["HSHALFPRICE",1,true]}; -}; -if (GMSCore_modtype isEqualTo "Exile") then -{ - // Adds compatability with claim vehicle scripts - if (GMS_allowClaimVehicle) then - { - _veh setVariable ["ExileIsPersistent", false]; - }; -}; - -_veh diff --git a/@GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_handleVehicleGetOut.sqf b/@GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_handleVehicleGetOut.sqf deleted file mode 100644 index c730a2c..0000000 --- a/@GMS/addons/GMS/Compiles/Vehicles/unused_GMS_fnc_handleVehicleGetOut.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* - By Ghostrider [GRG] - GMS_fnc_handleVehicleGetOut - Processes an event that fires when a unit gets out of a vehicle - - Parameters - _veh: the vehicle from which a unit ejected or got out. - - Returns - None - -------------------------- - 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" -#define veh _this select 0 -if ((isServer) || {local (veh)}) then {[veh] call GMS_fnc_checkForEmptyVehicle}; \ No newline at end of file diff --git a/@GMS/addons/GMS/Compiles/init/unused_testCrateLoading.sqf b/@GMS/addons/GMS/Compiles/init/unused_testCrateLoading.sqf deleted file mode 100644 index b4f5cde..0000000 --- a/@GMS/addons/GMS/Compiles/init/unused_testCrateLoading.sqf +++ /dev/null @@ -1,18 +0,0 @@ - -uiSleep 5; -diag_log format["<< ---- START TEST Crate Loading ---- >>"]; -_coords = [12000,12000,0]; -//_loot = GMS_supportLoot; //[causes problems] GMS_highPoweredLoot; // [causes problems] GMS_contructionLoot ; //GMS_BoxLoot_Orange; -_loot = GMS_BoxLoot_Orange; -_lootCounts = [100,100,100,100,100,100]; -_aiDifficultyLevel = "Orange"; -for "_i" from 1 to 100 do -{ - diag_log format["testCrateLoading: pass %1",_i]; - _crateType = selectRandom GMS_crateTypes; - _crate = [_coords,_crateType] call GMS_fnc_spawnCrate; - [_crate,_loot,_lootCounts] call GMS_fnc_fillBoxes; - //uiSleep 0.1; - diag_log format["testCrateLoading: crate inventory = %1",getItemCargo _crate]; -}; - diff --git a/@GMS/addons/GMS/Configs/GMS_configs.sqf b/@GMS/addons/GMS/Configs/GMS_configs.sqf index 8281e44..279e4c4 100644 --- a/@GMS/addons/GMS/Configs/GMS_configs.sqf +++ b/@GMS/addons/GMS/Configs/GMS_configs.sqf @@ -17,7 +17,7 @@ changing any of these variables may break the mission system */ GMS_locationBlackList = []; // Do not touch ... - GMS_debugLevel = 3; // should be set to 0 ... + GMS_debugLevel = 0; // should be set to 0 ... [format["Loading configurations for Non-militarized servers"]] call GMS_fnc_log; /* @@ -236,7 +236,13 @@ switch (GMSCore_modType) do GMS_useKilledAIName = true; // When false, the name of the killer (player), weapon and distance are displayed; otherwise the name of the player, distance and name of AI unit killed are shown. 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. + + // Specify a default value here. + // This value is overridden by _cleanupLootContainers in missions. + // Set _cleanupLootContainers = true in static missions that respawn. + // when true, loot crates will be deleted together with other mission objects. + GMS_cleanUpLootChests = false; + GMS_MissionTimeout = 75*75; // 60 min - missions will timeout and respawn in another location. This prevents missions in impossible locations from persisting. /////////////////////////////// @@ -681,7 +687,7 @@ switch (GMSCore_modType) do if (GMS_useConfigsGeneratedLoadouts) then { ["Dynamic Configs Enabled"] call GMS_fnc_log; - execVM "\GMS\Configs\GMS_dynamicConfigs.sqf"; + execVM "\x\addons\GMS\Configs\GMS_dynamicConfigs.sqf"; }; GMS_configsLoaded = true; //diag_log format["<--- GMS_configs loaded at %1 --->",diag_tickTime]; diff --git a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf index 9773e11..1067595 100644 --- a/@GMS/addons/GMS/Configs/GMS_custom_config.sqf +++ b/@GMS/addons/GMS/Configs/GMS_custom_config.sqf @@ -157,7 +157,7 @@ if (GMS_debugLevel > 0) then { GMS_enableStaticMissions = 5; GMS_maxCrashSites = 0; - GMS_noPatrolHelisBlue = 0; + GMS_noPatrolHelisBlue = 1; GMS_noPatrolHelisRed = 1; GMS_noPatrolHelisGreen = 1; GMS_noPatrolHelisOrange = 1; diff --git a/@GMS/addons/GMS/Missions/Blue/inhaftierung.sqf b/@GMS/addons/GMS/Missions/Blue/inhaftierung.sqf new file mode 100644 index 0000000..3371793 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Blue/inhaftierung.sqf @@ -0,0 +1,180 @@ +/* + Mission Template 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" +#include "\x\addons\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A local Mafia Don has been spotted! Capture him and earn a reward!"; +_endMsg = "The Maria Don was captured and the area is under survivor control!"; +_assetKilledMsg = "Enemy Leader Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "inhaftierung"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_buildings = [ + //"Land_Cargo_HQ_V4_F", + //"Land_Cargo_HQ_V1_F", + //"Land_Cargo_HQ_V2_F", + //"Land_Cargo_HQ_V3_F", + //"Land_Cargo_Tower_V1_F", + //"Land_Cargo_Tower_V2_F", + //"Land_Cargo_Tower_V3_F", + "Land_Cargo_Patrol_V3_F", + "Land_Cargo_House_V3_F" +]; +_enemyLeaderConfig = + ["I_G_resistanceLeader_F", // select 0 + [-7.83789,13.1465,-0.00143886], // select 1 + 126.345, // select 2 + [true,false], // select 3 + ["Acts_B_briefings"], // Use the animation viewer to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ + ["H_Beret_Colonel"], // array of headgear choices + ["U_OrestesBody"], // array of uniform choices + [selectRandom _buildings,[-3.79102,2.56055,0],0,[true,false]] + ]; +_enemyLeaderConfig set[ + 1, selectRandom [[-7.83789,13.1465,-0.00143886]] + ]; + // This allows us to place the antagonist to be arrested in one of several random locations. +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] + */ + + +_missionEmplacedWeapons = []; // +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +//_chancePara = GMS_chanceParaBlue; +//_noPara = GMS_noParaBlue; +//_chanceHeliPatrol = 0; +//_spawnCratesTiming = "atMissionEndAir"; +//_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured + +#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/GMS_missionLists.sqf b/@GMS/addons/GMS/Missions/GMS_missionLists.sqf index 5eb412d..5a51177 100644 --- a/@GMS/addons/GMS/Missions/GMS_missionLists.sqf +++ b/@GMS/addons/GMS/Missions/GMS_missionLists.sqf @@ -13,97 +13,41 @@ private["_pathBlue","_missionListBlue","_pathRed","_missionListRed","_pathGreen","_missionListGreen","_pathOrange","_missionListOrange"]; private _pathScouts = "Scouts"; -private _missionListScouts = ["Scouts"]; // OK Build 224 +private _missionListScouts = ["Scouts"]; private _pathHunters = "Hunters"; -private _missionListHunters = ["Hunters"]; // OK Build 224 +private _missionListHunters = ["Hunters"]; private _pathBlue = "Blue"; private _missionListBlue = [ - //"hostage1", // OK - //"captive1", // OK - "sniperBase", // Spawns OK - clears when all AI Dead but not when player is at mission crate. - "survivalSupplies", // Spawns OK Debug = 4 Build 246 - //"derbunker", // OK, an interesting mission, better as a red / green though - //"forgotten_HQ", // ok BUT TOO TOUGH FOR BLUE OR RED - //"garrison", // OK but do not use. - //"IDAP", // OK but too difficult for a blue mission - "Service_point", // OK build 224 // clears when all AI Dead but not when player at mission crate - //"Toxin", // OK but too difficult for a blue mission - // "penis", - "default" // Spawns OK Debug = 4 Build 246 - //"ForgottenHQ" + //"sniperBase", + "survivalSupplies", + "Service_point" ]; private _pathRed = "Red"; private _missionListRed = [ - //"default", // OK Build 224 - //"medicalCamp", - //"hostage1", - //"captive1", - "fuelDepot", // Spawns OK Debug = 4 Build 246 - "junkyardWilly", // Spawns OK Debug = 4 Build 246 - "TraderBoss", // OK build 224 - "carThieves", // Spawns OK Debug = 4 Build 246 - "Ammunition_depot", // Spawns OK Debug = 4 Build 246 - //"Camp_Moreell", - //"charlston", - //"dashq", - //"derbunker", // OK, better suited for green or orange mission - //"factory", // Does not clear - //"forgotten_HQ", - //"garrison", - "IDAP", // Spawns OK But not sure where the crate spawns. - //"lager", - //"Operations_Command", - //"Outpost", // Spawns OK Debug = 4 Build 246 - "Service_Point" //Spawns OK Debug = 4 Build 246 - //"tko_camp", - //"Toxin" // Spawns OK Debug = 4 Build 246 + "fuelDepot", + "junkyardWilly", + "TraderBoss", + "carThieves" ]; private _pathGreen = "Green"; private _missionListGreen = [/*"default","default2",/*"medicalCamp","redCamp","resupplyCamp","banditVillage",*/ - "FieldCamp", // Spawns OK Build 246 Debug == 4 - //"FieldHQ", // Spawns OK Build 246 Debug == 4 - //"weaponsResearch", // OK build 224 - "munitionsResearch", // Spawns OK Build 246 Debug == 4 - //"colonelsBase", // OK Build 224 - //"factory", // Spawns with some walls above ground level for unclear reasons. - "fortification", // Spawns OK Debug = 4 Build 246 - //"banditVillage", // OK but do not use. - //"Camp_Moreell", // Spawns OK Build 246 Debug == 4 - //"charlston", // Spawns OK but crate glitched under a building - //"derbunker", // OK - //"forgotten_HQ", // OK, but can't complete - //"lager" // Spawns OK but crate glitched under a building - //"Operations_Command", // OK bEST SUITED FOR GREEN/ORANGE // Nees R3F or crate spawned by parachute at mission start - "Outpost" // OK - //"tko_camp" // OK - //"factory" + "munitionsResearch", + "fortification" ]; private _pathOrange = "Orange"; private _missionListOrange = [/*"default","default2","medicalCamp","redCamp","resupplyCamp","officeComplex",*/ - //"clit", - //"kore", - "CommandersComplex", // Spawns OK Debug = 4 Build 246 *** - "generalsCamp", // Spawns OK Debug = 4 Build 246*** - //"airfield1" //MILITARY AIRFIELD v1 - "colonel2", // Spawns OK Debug = 4 Build 246 - //"stronghold", // Spawns OK Debug = 4 Build 246 but too big for the Exile.Altis server as of Build 253 - "operationShutdown", // Spawns OK Debug = 4 Build 246*** - "operationTakeover", // Spawns OK Debug = 4 Build 246*** - "dashq", // OK Build 252*** - "derbunker", // Spawns OK Build 252*** - //"Ammunition_depot" // OK Build 252; need to update vics, only 12 AI for some reason - //"Camp_Moreell" // OK Build 252 with crate drop from 50 meters - //"Operations_Command", // OK Build 252 - //"clit", - "tko_camp" // // OK Build 252*** - ///// UNUSED FOR ONE REASON OR ANOTHER - //"Outpost" // dOES NOT COMPLETE, ODD LOOT CHEST PLACEMENT - /*,"temple"*/ + "CommandersComplex", // *** + "generalsCamp", + "colonel2", + "operationShutdown", + "operationTakeover", + "dashq", + "tko_camp" ]; private _pathStatics = "Statics"; @@ -112,8 +56,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/Green/template.sqf b/@GMS/addons/GMS/Missions/Green/template.sqf deleted file mode 100644 index ba17f91..0000000 --- a/@GMS/addons/GMS/Missions/Green/template.sqf +++ /dev/null @@ -1,104 +0,0 @@ -/* - Mission Template by Ghostrider [GRG] - Mission Compositions by Bill prepared for ghostridergaming - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - 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" -#include "\x\addons\GMS\Missions\GMS_privateVars.sqf"; - -//diag_log "[GMS] Spawning Green Mission with template = default"; -_crateLoot = GMS_BoxLoot_Green; -_lootCounts = GMS_lootCountsGreen; -_startMsg = "An enemy research center was sighted in a nearby sector! Check the Green marker on your map for the location!"; -_endMsg = "The Sector at the Green Marker is under survivor control!"; -_markerLabel = ""; -_markerType = ["ellipse",[225,225],"GRID"]; -_markerColor = "ColorGreen"; -_markerMissionName = "Research Center"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" -_missionLandscape = [ - ["Flag_AltisColonial_F",[12.9492,-14.2676,0],0,[true,false]], - ["Land_Research_HQ_F",[-40.4258,-57.4492,-7.15256e-007],0,[true,false]], - ["Land_Research_HQ_F",[79.9063,68.1406,2.38419e-007],0,[true,false]], - ["Land_Research_house_V1_F",[-27.6895,70.9883,0],0,[true,false]], - ["Land_Research_house_V1_F",[-110.166,14.3926,0],0,[true,false]], - ["Land_Research_house_V1_F",[54.5078,-70.8457,0],0,[true,false]], - ["Land_Cargo_Patrol_V1_F",[111.865,11.9375,9.53674e-007],0,[true,false]], - ["Land_Cargo_HQ_V2_F",[-115.473,-44.5977,-4.76837e-007],0,[true,false]], - ["Land_SharpRock_apart",[-59.6836,-59.5996,-4.76837e-007],0,[true,false]], - ["Land_W_sharpRock_apart",[-81.6973,-42.4082,-4.76837e-007],0,[true,false]], - ["Land_SharpRock_apart",[-96.2168,-5.32031,4.76837e-007],0,[true,false]], - ["Land_Limestone_01_apart_F",[-79.2305,43.4219,0],0,[true,false]], - ["Land_Limestone_01_apart_F",[-50.2344,82.4746,0],0,[true,false]], - ["Land_BluntRock_apart",[3.88281,-71.5488,-2.38419e-007],0,[true,false]], - ["Land_Limestone_01_apart_F",[35.8926,-77.5918,0],0,[true,false]], - ["Land_Limestone_01_apart_F",[78.541,-52.3926,-4.76837e-007],0,[true,false]], - ["Land_Limestone_01_apart_F",[103.91,-6.88867,0],0,[true,false]], - ["Land_BluntRock_apart",[-11.5586,93.9688,-2.38419e-007],0,[true,false]], - ["Land_W_sharpStone_02",[54.7344,96.7012,0],0,[true,false]], - ["Land_BluntRock_apart",[77.4453,88.8301,-2.38419e-007],0,[true,false]], - ["Land_SharpRock_apart",[104.758,45.668,0],0,[true,false]], - ["Land_Limestone_01_02_F",[99.5117,23.752,-4.76837e-007],0,[true,false]], - ["Land_Limestone_01_02_F",[49.8477,50.0039,0],0,[true,false]], - ["Land_Limestone_01_02_F",[-8.14844,32.2227,4.76837e-007],0,[true,false]], - ["Land_Limestone_01_02_F",[-35.334,35.1465,-2.38419e-007],0,[true,false]], - ["Land_SharpStone_02",[-28.6523,1.33398,4.76837e-007],0,[true,false]], - ["Land_SharpStone_02",[-58.707,-7.46094,-4.76837e-007],0,[true,false]], - ["Land_Limestone_01_02_F",[64.5078,31.9707,0],0,[true,false]], - ["Land_Limestone_01_02_F",[33.7246,11.5469,0],0,[true,false]], - ["Land_SharpStone_02",[69.4277,-3.20313,0],0,[true,false]], - ["Land_SharpStone_02",[53.7227,-40.1777,-2.38419e-007],0,[true,false]], - ["Land_Limestone_01_02_F",[-6.26563,-46.0996,-4.76837e-007],0,[true,false]] -]; // list of objects to spawn as landscape -_missionLootBoxes = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionLootVehicles = []; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. -_missionEmplacedWeapons = - [ - ["B_HMG_01_high_F",[27.8945,100.275,0],0,[true,false]], - ["B_HMG_01_high_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], - ["B_G_Mortar_01_F",[76.0586,66.9414,-3.1265],0,[true,false]] - ]; // can be used to define the precise placement of static weapons [[1,2,3] /*loc 1*/, [2,3,4] /*loc 2*/]; if blank random locations will be used - -_missionGroups = - [ - //_x params["_position","_minAI","_maxAI","_skillLevel","_minPatrolRadius","_maxPatrolRadius"]; - //[[-52.6523,15.8281,-0.00143838],4,6,"Green",4,8], - //[[-48.6113,-38.877,-0.00143886],4,6,"Green",4,8], - //[[18.4492,-39.5684,-0.00143838],4,6,"Green",4,8], - //[[42.6504,31.6621,-0.00143886],4,6,"Green",4,8], - //[[7.51563,46.4531,-0.001438864],4,6,"Green",4,8], - [[-8.99219,-11.623,-0.00143838],4,6,"Green",4,8] - ]; // Can be used to define spawn positions of AI patrols - -_missionPatrolVehicles = [ - //[selectRandom GMS_AIPatrolVehiclesGreen,[27.8945,100.275,0],0,[true,false]], - //[selectRandom GMS_AIPatrolVehiclesGreen,[-84.7793,72.2617,9.53674e-007],0,[true,false]], - [selectRandom GMS_AIPatrolVehiclesGreen,[-87.8457,-109.947,7.15256e-007],0,[true,false]] -]; // can be used to define the spawn positions of vehicle patrols - -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = GMS_useMines; -_minNoAI = GMS_MinAI_Green; -_maxNoAI = GMS_MaxAI_Green; -_noAIGroups = GMS_AIGrps_Green; -_noVehiclePatrols = GMS_SpawnVeh_Green; -_noEmplacedWeapons = GMS_SpawnEmplaced_Green; -_uniforms = GMS_SkinList; -_headgear = GMS_headgear; -_chanceLoot = 0.6; -private _lootIndex = selectRandom[1,2,3,4]; -private _paralootChoices = [GMS_contructionLoot,GMS_contructionLoot,GMS_highPoweredLoot,GMS_supportLoot]; -private _paralootCountsChoices = [[0,0,0,8,8,0],[0,0,0,8,8,0],[8,8,0,0,0,0],[0,0,0,0,12,0]]; -_paraLoot = _paralootChoices select _lootIndex; -_paraLootCounts = _paralootCountsChoices select _lootIndex; // Throw in something more exotic than found at a normal blue mission. -//_endCondition = allKilledOrPlayerNear; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear -//_timeOut = -1; -#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Orange/airfield1.sqf b/@GMS/addons/GMS/Missions/Orange/airfield1.sqf deleted file mode 100644 index bad0826..0000000 --- a/@GMS/addons/GMS/Missions/Orange/airfield1.sqf +++ /dev/null @@ -1,262 +0,0 @@ -/* - Dynamic Mission Generated - Using 3DEN Plugin for GMS by Ghostrider - GMS 3DEN Plugin Version 1.02 : Build 15 : Build Date 09/22/23 - By Ghostrider-GRG- -*/ - -#include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" -#include "\x\addons\GMS\Missions\GMS_privateVars.sqf" - -_defaultMissionLocations = [[9217.65,21604.4,15.9466]]; -_maxMissionRespawns = -1; // 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 -_markerType = ["mil_warning",[1,1],"Solid"]; -_markerColor = "Default"; -_startMsg = "AIRFIELD TEST MISSION, PLEASE AVOID"; -_endMsg = "HOLY SHIT, DID THIS MISSION ACTUALLY CLEAR?"; -_markerMissionName = "AIRFIELD (BETA)"; -_crateLoot = GMS_BoxLoot_Orange; -_lootCounts = GMS_lootCountsOrange; - -_garrisonedBuilding_ATLsystem = [ -["Land_MilOffices_V1_F",[9195.41,21626,9.53674e-007],146.426,true,true,[["B_HMG_01_high_F",[-14.3076,-6.03516,-0.477989],0],["B_HMG_01_high_F",[10.6221,9.39844,-0.398628],0]],[]], -["Land_Cargo_Tower_V1_No1_F",[9257.06,21603.1,0],55.7402,true,true,[],[[[1.9707,4.1543,18.0282],0.361212]]], -["Land_Hangar_F",[9121.28,21553.4,0],53.6746,true,true,[["B_HMG_01_high_F",[-8.20508,-19.2891,-0.24754],0]],[]], -["Land_ControlTower_01_F",[9031.44,21431,0],91.4892,true,true,[["B_HMG_01_high_F",[2.10938,-0.507813,-6.22271],0]],[]], -["Land_Cargo_Patrol_V1_F",[9176.65,21543.5,0],0,true,true,[["B_HMG_01_high_F",[-0.417969,0.617188,-4.33346],0]],[]], -["Land_Cargo_Patrol_V1_F",[9118.59,21602,-9.53674e-007],57.1431,true,true,[["B_HMG_01_high_F",[1.08008,0.486328,-4.35415],0]],[]], -["Land_Cargo_Patrol_V1_F",[9118.32,21420.6,0],321.011,true,true,[["B_HMG_01_high_F",[-1.03516,0.75,-4.29249],0]],[]], -["Land_Cargo_Patrol_V1_F",[9022.51,21345.1,0],321.011,true,true,[["B_HMG_01_high_F",[-0.81543,0.513672,-4.32106],0]],[]] -]; - -_missionLandscape = [ - ["Land_HelipadCivil_F",[-35.4277,45.3242,-15.9466],0], - ["Land_Cargo_Tower_V1_No2_F",[-78.9141,32.9395,-15.9466],234.329], - ["Land_Cargo_Tower_V1_No3_F",[-242.806,-168.309,-15.9466],183.72], - ["Land_BarGate_F",[-3.44922,76.0781,-15.9466],56.2432], - ["Land_BarGate_F",[-9.46191,85.3574,-15.9466],237.836], - ["Land_Radar_F",[-50.6992,97.9297,-15.9466],304.919], - ["Land_HBarrierWall6_F",[67.543,-49.709,-15.971],142.078], - ["Land_HBarrierWall6_F",[74.375,-44.5352,-15.9522],142.083], - ["Land_HBarrierWall6_F",[53.9424,-60.2656,-15.9759],142.073], - ["Land_HBarrierWall6_F",[60.7754,-55.0938,-15.9698],142.083], - ["Land_HBarrierWall6_F",[67.3809,-141.922,-15.8495],142.444], - ["Land_HBarrierWall6_F",[74.252,-136.801,-15.8143],142.446], - ["Land_HBarrierWall6_F",[53.7031,-152.377,-15.8076],142.402], - ["Land_HBarrierWall6_F",[60.5742,-147.256,-15.83],142.43], - ["Land_HBarrierWall6_F",[40.3008,-70.7168,-15.9632],142.079], - ["Land_HBarrierWall6_F",[47.1338,-65.5449,-15.9586],142.084], - ["Land_HBarrierWall6_F",[26.7021,-81.2734,-15.9499],142.084], - ["Land_HBarrierWall6_F",[33.5352,-76.1016,-15.953],142.083], - ["Land_BarGate_F",[18.9326,-88.416,-15.9466],143.336], - ["Land_HBarrierWall6_F",[2.43262,-98.3633,-15.9466],142.084], - ["Land_HBarrierWall6_F",[9.26465,-93.1895,-15.946],142.086], - ["Land_HBarrierWall6_F",[-11.168,-108.92,-15.9449],142.085], - ["Land_HBarrierWall6_F",[-4.33496,-103.748,-15.9458],142.084], - ["Land_HBarrierWall6_F",[-24.8096,-119.371,-15.8988],142.084], - ["Land_HBarrierWall6_F",[-17.9766,-114.199,-15.9603],142.108], - ["Land_HBarrierWall6_F",[-38.4082,-129.928,-15.9258],142.072], - ["Land_HBarrierWall6_F",[-31.5752,-124.756,-15.9206],142.069], - ["Land_BarGate_F",[-46.3564,-137.58,-15.9466],330.089], - ["Land_HBarrierWall6_F",[-63.416,-147.289,-15.9555],142.09], - ["Land_HBarrierWall6_F",[-56.584,-142.115,-15.9339],142.08], - ["Land_HBarrierWall6_F",[-77.0166,-157.846,-15.8824],142.095], - ["Land_HBarrierWall6_F",[-70.1836,-152.674,-15.9299],142.067], - ["Land_HBarrierWall6_F",[-90.6582,-168.297,-15.9316],142.076], - ["Land_HBarrierWall6_F",[-83.8252,-163.125,-15.9278],142.084], - ["Land_HBarrierWall6_F",[-104.257,-178.854,-15.8952],142.087], - ["Land_HBarrierWall6_F",[-97.4238,-173.682,-15.8977],142.078], - ["Land_BarGate_F",[-111.57,-187.59,-15.9466],147.346], - ["Land_HBarrierWall6_F",[-130.445,-196.588,-15.9307],142.083], - ["Land_HBarrierWall6_F",[-123.613,-191.414,-15.9292],142.085], - ["Land_HBarrierWall6_F",[-144.046,-207.145,-15.9383],142.081], - ["Land_HBarrierWall6_F",[-137.213,-201.973,-15.9344],142.08], - ["Land_HBarrierWall6_F",[-157.688,-217.596,-15.9342],142.078], - ["Land_HBarrierWall6_F",[-150.854,-212.424,-15.9396],142.082], - ["Land_HBarrierWall6_F",[-171.286,-228.152,-15.9354],142.077], - ["Land_HBarrierWall6_F",[-164.453,-222.98,-15.8755],142.077], - ["Land_TentHangar_V1_F",[-214.581,-268.938,-15.9466],168.066], - ["Land_i_Barracks_V1_F",[-38.7393,-35.5625,-15.9466],145.047], - ["Land_LampAirport_F",[-171.29,-165.273,-15.9366],0], - ["Land_LampAirport_F",[-119.504,-125.146,-15.9366],0], - ["Land_LampAirport_F",[-68.2031,-86.6934,-15.9466],0], - ["Land_LampAirport_F",[-11.9023,-45.9238,-15.9466],0], - ["Land_ReservoirTank_Airport_F",[56.6035,98.8535,-15.9466],109.472], - ["Land_LightHouse_F",[391.881,1502.16,-17.3482],0], - ["Land_CncBarrier_F",[54.0166,-7.92383,-15.9462],145.272], - ["Land_CncBarrier_F",[51.585,-8.46094,-15.9462],189.278], - ["Land_CncBarrier_F",[49.541,-7.12305,-15.9461],237.292], - ["Land_CncBarrier_F",[67.4307,1.12305,-15.9462],145.118], - ["Land_CncBarrier_F",[68.7695,3.16406,-15.9461],102.779], - ["Land_CncBarrier_F",[68.2549,5.5918,-15.9459],54.7703], - ["RoadBarrier_F",[68.0361,-1.53906,-15.9464],148.436], - ["RoadBarrier_F",[56.8809,-9.01563,-15.9465],141.247], - ["Land_CncBarrier_F",[44.5996,-9.04883,-15.9466],140.643], - ["Land_CncBarrier_F",[15.7754,-32.2188,-15.9467],140.645], - ["Land_CncBarrier_F",[8.21289,-38.1367,-15.9466],140.648], - ["Land_CncBarrier_F",[-88.5771,-20.8711,-15.9466],58.007], - ["Land_CncBarrier_F",[-18.165,123.66,-15.9467],326.021], - ["Land_CncBarrier_F",[-15.7295,124.164,-15.9466],10.0225], - ["Land_CncBarrier_F",[-13.7031,122.799,-15.9465],58.0339], - ["Land_CncBarrier_F",[-31.7021,114.793,-15.9466],325.881], - ["Land_CncBarrier_F",[-33.0684,112.771,-15.9467],283.544], - ["Land_CncBarrier_F",[-32.5859,110.336,-15.9465],235.526], - ["RoadBarrier_F",[-30.7734,117.662,-15.9465],329.2], - ["RoadBarrier_F",[-21.2881,123.998,-15.9465],322.012], - ["Land_NetFence_03_m_9m_F",[10.3115,-32.1133,-15.9466],144.022], - ["Land_NetFence_03_m_9m_F",[17.6992,-26.709,-15.9466],144.022], - ["Land_NetFence_03_m_9m_F",[-4.51172,-42.918,-15.9466],144.022], - ["Land_NetFence_03_m_9m_F",[2.87598,-37.5137,-15.9466],144.022], - ["Land_NetFence_03_m_9m_F",[53.0117,17.168,-15.9466],236.995], - ["Land_NetFence_03_m_9m_F",[58.0254,9.50977,-15.9466],236.995], - ["Land_NetFence_03_m_9m_F",[42.9902,32.5313,-15.9466],236.995], - ["Land_NetFence_03_m_9m_F",[48.0039,24.873,-15.9466],236.995], - ["Land_NetFence_03_m_9m_F",[-38.0811,-67.4707,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-30.5996,-62.1973,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-53.0918,-78.0137,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-45.6104,-72.7402,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-86.2881,-102.797,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-78.8066,-97.5234,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-101.299,-113.34,-15.9466],145.026], - ["Land_NetFence_03_m_9m_F",[-93.8174,-108.066,-15.9466],145.026], - ["Land_BagBunker_Small_F",[15.7109,-20.8203,-15.9431],276.614], - ["Land_BagBunker_Small_F",[-28.3018,111.766,-15.9385],144.989], - ["Land_BagBunker_Small_F",[63.999,4.12305,-15.9254],325.782], - ["Land_HelipadSquare_F",[-56.3691,-10.6875,-15.9466],0], - ["Land_Cargo_Patrol_V1_F",[31.7275,-87.457,-15.9466],321.011], - ["Land_LampStreet_02_triple_F",[-36.1943,71.7148,-15.9466],0], - ["Land_LampStreet_02_triple_F",[-61.4805,-42.9961,-15.9389],0], - ["Land_LampStreet_02_triple_F",[-113.948,-82.7559,-15.9466],0], - ["Land_LampStreet_02_triple_F",[-182.649,-161.93,-15.9466],0], - ["Land_LampStreet_02_triple_F",[-247.627,-188.701,-15.9389],0], - ["Land_LampStreet_02_triple_F",[-48.5938,-158.41,-15.9466],0], - ["Land_LampStreet_02_triple_F",[65.4502,8.92969,-15.9466],0], - ["Land_LampStreet_02_triple_F",[42.5186,104.504,-15.9466],0], - ["Land_LampStreet_02_triple_F",[-28.2256,101.377,-15.9466],0], - ["Land_LampStreet_02_triple_F",[-102.318,20.6973,-15.9466],0], - ["Land_ConnectorTent_01_CSAT_greenhex_cross_F",[-22.041,-19.7246,-15.9462],0], - ["Land_PowerGenerator_F",[-20.168,-30.0977,-15.9466],0], - ["StorageBladder_01_fuel_forest_F",[-3.08887,-30.1914,-15.9466],0], - ["Land_Cargo40_red_F",[29.4561,86.627,-15.9464],0], - ["Land_Cargo40_red_F",[35.2715,79.2773,-15.9523],0], - ["Land_Cargo20_light_green_F",[-24.6709,-47.2246,-15.8013],108.162], - ["Land_ConnectorTent_01_NATO_cross_F",[7.37109,17.7012,-15.9447],0], - ["Land_Medevac_HQ_V1_F",[1.38086,-16.6777,-15.9466],0], - ["Land_BarGate_F",[28.2178,-21.8438,-15.9466],143.336], - ["Land_BarGate_F",[36.9307,-15.2461,-15.9466],323.05], - ["Land_BarGate_F",[-93.7383,-13.5098,-15.9466],56.2432], - ["Land_LampStreet_02_triple_F",[-198.423,-87.8945,-15.9389],0], - ["Land_Radar_01_kitchen_F",[54.458,42.8008,-15.9466],325.773], - ["Land_TTowerBig_2_F",[-76.4287,85.6797,-15.9466],0], - ["Land_HighVoltageTower_large_F",[-142.697,-0.542969,-15.9466],299.52], - ["Land_MedicalTent_01_white_generic_open_F",[73.9189,56.4648,-15.9464],0], - ["Land_MedicalTent_01_white_generic_open_F",[64.9502,74.7988,-15.9461],0], - ["Land_LampStreet_02_triple_F",[-233.382,-270.305,-15.9466],0], - ["Land_LampStreet_02_triple_F",[-128.998,-208.654,-15.9466],0], - ["Land_LampStreet_02_triple_F",[4.05469,25.5781,-15.9466],0], - ["Land_MedicalTent_01_white_generic_open_F",[19.6807,9.19336,-15.9454],0] -]; - -_simpleObjects = [ - -]; - -_missionLootVehicles = [ - -]; - -_missionPatrolVehicles = [ - -]; - -_submarinePatrolParameters = [ - -]; - -_airPatrols = [ - -]; - -_missionEmplacedWeapons = [ - ["B_HMG_01_high_F",[41.6621,-3.98828,1.87899],0], - ["B_HMG_01_high_F",[34.5332,-0.964844,1.94235],0], - ["B_HMG_01_high_F",[51.8623,-6.62695,-15.9464],0], - ["B_HMG_01_high_F",[-0.0888672,-15.5977,-12.7783],0], - ["B_HMG_01_high_F",[-239.226,-165.797,1.82505],0], - ["B_HMG_01_high_F",[-246.742,-170.133,2.01812],0], - ["B_HMG_01_high_F",[-74.6289,31.8516,1.91046],0], - ["B_HMG_01_high_F",[-81.7568,35.7188,2.01215],0], - ["B_HMG_01_high_F",[-15.9463,122.668,-15.9463],0], - ["B_HMG_01_high_F",[-52.332,64.6484,-15.9466],0], - ["B_HMG_01_high_F",[-85.0215,13.1699,-15.944],0], - ["B_HMG_01_high_F",[-46.6201,-31.8047,-15.936],0], - ["B_HMG_01_high_F",[-127.544,-119.559,-15.9448],0], - ["B_HMG_01_high_F",[-182.793,-168.289,-15.9454],0], - ["B_HMG_01_high_F",[85.2148,-44.4063,-15.9464],0], - ["B_HMG_01_high_F",[-3.4834,62.8535,-15.9457],0], - ["B_HMG_01_high_F",[32.1162,83.0059,-15.9456],0], - ["B_GMG_01_high_F",[74.3135,-41.4199,-15.9463],0], - ["B_GMG_01_high_F",[-103.939,-90.2402,-15.9449],0], - ["B_GMG_01_high_F",[-169.229,-232.922,-15.9424],0], - ["B_GMG_01_high_F",[-69.1426,-56.4395,-15.9374],0], - ["B_GMG_01_high_F",[-8.97754,53.5059,-15.9465],0], - ["B_GMG_01_high_F",[-85.0967,42.8828,-15.9466],0], - ["B_GMG_01_high_F",[-67.873,-166.027,-15.9458],0], - ["B_GMG_01_high_F",[-98.0527,8.63672,-15.9442],0], - ["B_GMG_01_high_F",[5.6875,-15.502,-12.8099],0], - ["B_GMG_01_high_F",[19.2002,19.9141,-15.9427],0], - ["B_GMG_01_high_F",[13.5283,-98.6074,-15.9421],0], - ["B_G_Mortar_01_F",[41.626,3.90039,2.15599],0], - ["B_G_Mortar_01_F",[-239.661,-173.162,1.76869],0], - ["B_G_Mortar_01_F",[52.5947,45.7852,-12.0937],0], - ["B_G_Mortar_01_F",[-81.1621,28.666,1.88787],0], - ["B_G_Mortar_01_F",[52.9961,86.4648,-15.9462],0], - ["B_static_AA_F",[-63.709,56.3359,-11.3802],0], - ["B_static_AA_F",[64.5615,62.1504,-15.9465],0], - ["B_T_Static_AA_F",[-31.9541,-56.2324,-15.9465],0], - ["B_T_Static_AA_F",[-129.015,-7.91016,-15.9322],0] -]; - -_missionGroups = [ - -]; - -_scubaGroupParameters = [ - -]; - -_missionLootBoxes = [ - ["I_CargoNet_01_ammo_F",[-67.7549,47.2188,-15.688],_crateLoot,_lootCounts,0], - ["I_CargoNet_01_ammo_F",[-64.6338,42.7539,-15.671],_crateLoot,_lootCounts,0] -]; - -/* - Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them -*/ -_chanceHeliPatrol = GMS_chanceHeliPatrolOrange; -_noChoppers = GMS_noPatrolHelisOrange; -_missionHelis = GMS_patrolHelisOrange; -_chancePara = GMS_chanceParaOrange; -_noPara = GMS_noParaOrange; -_paraTriggerDistance = 400; -_chanceLoot = 0.0; -_paraLoot = GMS_BoxLoot_Orange; -_paraLootCounts = GMS_lootCountsOrange; -_missionLandscapeMode = "precise"; -_uniforms = GMS_SkinList; -_headgear = GMS_headgear; -_vests = GMS_vests; -_backpacks = GMS_backpacks; -_sideArms = GMS_Pistols; -_spawnCratesTiming = "atMissionSpawnGround"; -_loadCratesTiming = "atMissionCompletion"; -_endCondition = allUnitsKilled; -_minNoAI = GMS_MinAI_Orange; -_maxNoAI = GMS_MaxAI_Orange; -_noAIGroups = GMS_AIGrps_Orange; -_noVehiclePatrols = GMS_SpawnVeh_Orange; -_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; -_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/Missions/Orange/kore.sqf b/@GMS/addons/GMS/Missions/Orange/kore.sqf new file mode 100644 index 0000000..103908f --- /dev/null +++ b/@GMS/addons/GMS/Missions/Orange/kore.sqf @@ -0,0 +1,112 @@ +/* + Dynamic Mission Generated + Using 3DEN Plugin for GMS by Ghostrider + GMS 3DEN Plugin Version 1.02 : Build 15 : Build Date 09/22/23 + By Ghostrider-GRG- +*/ + +#include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" +#include "\x\addons\GMS\Missions\GMS_privateVars.sqf" + +_defaultMissionLocations = [[6209.47,16240.4,43]]; +_maxMissionRespawns = -1; // 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 +_markerType = ["ELLIPSE",[500,500],"GRID"]; +_markerColor = "ColorOrange"; +_startMsg = "The factory at KORE has been taken over by vegan extremists!"; +_endMsg = "KORE has been purged of the vegans. Meat is murder, and murder tastes good! "; +_markerMissionName = "HardKORE"; +_crateLoot = GMS_BoxLoot_Orange; +_lootCounts = GMS_lootCountsOrange; + +_garrisonedBuilding_ATLsystem = [ + +]; + +_missionLandscape = [ + ["CUP_Mine",[-29.585,-47.8447,-43],180], + ["CUP_Mine",[98.6934,-44.418,-43],180], + ["CUP_Mine",[-23.2051,-33.4355,-43],180], + ["CUP_Mine",[-38.8677,67.835,-43],180], + ["CUP_Mine",[-161.637,-34.4082,-43],180], + ["CUP_Mine",[126.093,-14.7598,-43],180] +]; + +_simpleObjects = [ + +]; + +_missionLootVehicles = [ + +]; + +_missionPatrolVehicles = [ + ["B_APC_Wheeled_01_cannon_F",[34.3306,31.8359,-43],0], + ["I_MRAP_03_gmg_F",[-188.152,-43.3232,-42.9996],0] +]; + +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + +]; + +_missionEmplacedWeapons = [ + ["B_HMG_01_high_F",[178.972,-22.6367,-36.3701],0], + ["B_HMG_01_high_F",[154.664,-23.791,-36.2045],0], + ["B_HMG_01_high_F",[79.4756,-42.7334,-43],0], + ["B_HMG_01_high_F",[-117.813,-41.0293,-36.2259],0], + ["B_HMG_01_high_F",[-94.3589,-39.8701,-36.1218],0], + ["B_HMG_01_high_F",[-16.1646,-13.6289,-43],0], + ["B_HMG_01_high_F",[-88.7983,-10.3594,-43],0], + ["B_GMG_01_high_F",[78.6528,36.1807,-33.9581],0], + ["B_GMG_01_high_F",[63.771,-15.667,-43],0], + ["B_GMG_01_high_F",[-80.2832,44.7324,-24.4945],0], + ["B_GMG_01_high_F",[0.78418,47.7158,-33.9483],0], + ["B_GMG_01_high_F",[87.375,-22.0439,-43],0] +]; + +_missionGroups = [ + +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + ["I_CargoNet_01_ammo_F",[-49.105,-34.1846,-42.746],_crateLoot,_lootCounts,0], + ["I_CargoNet_01_ammo_F",[-64.1182,61.8008,-42.9995],_crateLoot,_lootCounts,0] +]; + +/* + Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolOrange; +_noChoppers = GMS_noPatrolHelisOrange; +_missionHelis = GMS_patrolHelisOrange; +_chancePara = GMS_chanceParaOrange; +_noPara = GMS_noParaOrange; +_paraTriggerDistance = 400; +_chanceLoot = 0.0; +_paraLoot = GMS_BoxLoot_Orange; +_paraLootCounts = GMS_lootCountsOrange; +_missionLandscapeMode = "precise"; +_uniforms = GMS_SkinList; +_headgear = GMS_headgear; +_vests = GMS_vests; +_backpacks = GMS_backpacks; +_sideArms = GMS_Pistols; +_spawnCratesTiming = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionCompletion"; +_endCondition = allUnitsKilled; +_minNoAI = GMS_MinAI_Orange; +_maxNoAI = GMS_MaxAI_Orange; +_noAIGroups = GMS_AIGrps_Orange; +_noVehiclePatrols = GMS_SpawnVeh_Orange; +_noEmplacedWeapons = GMS_SpawnEmplaced_Orange; +_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/Missions/Red/garrison.sqf b/@GMS/addons/GMS/Missions/Red/garrison.sqf deleted file mode 100644 index ebafed6..0000000 --- a/@GMS/addons/GMS/Missions/Red/garrison.sqf +++ /dev/null @@ -1,114 +0,0 @@ -/* - Mission Template by Ghostrider [GRG] - Mission Compositions by Bill prepared for ghostridergaming - Copyright 2016 - Last modified 3/20/17 - - -------------------------- - 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" -#include "\x\addons\GMS\Missions\GMS_privateVars.sqf"; - -//diag_log "[GMS] Spawning Green Mission with template = default"; -_crateLoot = GMS_BoxLoot_Green; -_lootCounts = GMS_lootCountsGreen; -_startMsg = "An enemy garrison!"; -_endMsg = "The garrison is under survivor control!"; -_markerLabel = ""; -_markerType = ["ELLIPSE",[300,300],"GRID"]; -_markerColor = "ColorBlue"; -_markerMissionName = "Garrison"; -_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" - - - - -_garrisonedBuildings_BuildingPosnSystem = [ - ["Land_Unfinished_Building_02_F",[-28.137,-48.6494,-0.00268841],0,true,true,0.67,3,[],4], - ["Land_i_Shop_02_V2_F",[22.688,35.2515,-0.00268841],0,true,true,0.67,3,[],4] -]; - -_garrisonedBuilding_ATLsystem = [ - ["Land_Unfinished_Building_02_F",[-28.3966,34.8145,-0.00268841],0,true,true,[["B_HMG_01_high_F",[-5.76953,1.16504,7.21168],360]],[]], - ["Land_Unfinished_Building_02_F",[20.1816,-44.2554,-0.00268841],0,true,true,[],[[[4.68567,3.59082,0.257384],0],[[-5.20032,5.66797,3.96986],0]]] -]; - -_missionLandscape = [ - ["Land_i_House_Big_02_V3_F",[-64.5577,-100.259,-0.00268841],0,true,true], - ["Land_u_House_Big_01_V1_F",[-65.2944,63.9878,-0.00268841],0,true,true], - //["Sign_Sphere100cm_F",[-25.4528,-44.6294,0.614402],0,true,true], - //["Sign_Arrow_Direction_Green_F",[24.8673,-40.6646,0.254696],0,true,true], - //["Sign_Arrow_Direction_Green_F",[14.9813,-38.5874,3.96717],0,true,true], - //["Sign_Arrow_F",[10.937,-14.8413,1.03384],0,true,true], - //["Sign_Sphere100cm_F",[18.4126,35.3154,0.499284],0,true,true], - ["Land_i_House_Big_02_V1_F",[53.7161,-101.875,-0.00268841],0,true,true], - ["Land_i_House_Big_02_V2_F",[52.6943,66.0278,-0.00268841],0,true,true], - //["Box_IND_AmmoOrd_F",[-25.7473,-46.3496,3.72631],359.995,true,true], - ["CargoNet_01_barrels_F",[-31.2815,14.4961,-0.00268984],359.995,true,true], - ["CargoNet_01_barrels_F",[-2.56213,-16.4194,-0.00268888],359.999,true,true], - ["CargoNet_01_barrels_F",[3.29309,-24.7749,-0.00268984],359.995,true,true], - ["CargoNet_01_barrels_F",[18.3497,-0.543945,-0.00268888],360,true,true] -]; - -_missionLootBoxes = [ - -]; - -_missionLootVehicles = [ - //["B_G_Van_01_transport_F",[10.937,-14.8413,1.03384],_crateLoot,_lootCounts,0] -]; - -_missionPatrolVehicles = [ - ["B_LSV_01_armed_F",[-1.72729,-70.439,-0.0251398],0.00168032], - ["B_LSV_01_armed_F",[-3.96387,50.4224,-0.0167227],0.000187991] - //["B_G_Van_01_transport_F",[11.2661,-13.9561,0.0110526],359.998] -]; - -_submarinePatrolParameters = [ -]; - -_airPatrols = [ - ["B_Heli_Light_01_dynamicLoadout_F",[-52.1934,-2.21631,0.00351906],0.0012961] -]; - -_missionEmplacedWeapons = [ - ["B_HMG_01_high_F",[-34.1661,35.9795,7.20899],360], - ["B_GMG_01_high_F",[43.4441,-24.4961,-0.0144982],360] -]; - -_missionGroups = [ - //[[-31.2625,5.21875,-0.00124931],3,6,"Red",30,45], - //[[-46.3765,18.731,-0.00124931],3,6,"Red",30,45], - //[[-21.8778,18.8506,-0.00124931],3,6,"Red",30,45], - //[[-3.32458,-42.5176,-0.00124931],3,6,"Red",30,45], - //[[-2.06714,36.3027,-0.00124931],3,6,"Red",30,45], - //[[29.3705,-18.0239,-0.00124931],3,6,"Red",30,45] -]; - -_scubaGroupParameters = [ -]; -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = GMS_useMines; -_minNoAI = GMS_MinAI_Green; -_maxNoAI = GMS_MaxAI_Green; -_noAIGroups = GMS_AIGrps_Green; -_noVehiclePatrols = GMS_SpawnVeh_Green; -_noEmplacedWeapons = GMS_SpawnEmplaced_Green; -_minNoAI = GMS_MinAI_Blue; // Setting this in the mission file overrides the defaults such as GMS_MinAI_Blue -_maxNoAI = GMS_MaxAI_Blue; // Setting this in the mission file overrides the defaults -_noAIGroups = GMS_AIGrps_Blue; // Setting this in the mission file overrides the defaults -_noVehiclePatrols = GMS_SpawnVeh_Blue; // Setting this in the mission file overrides the defaults -_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; // Setting this in the mission file overrides the defaults -// Change _useMines to true/false below to enable mission-specific settings. -_useMines = GMS_useMines; // Setting this in the mission file overrides the defaults -_uniforms = GMS_SkinList; // Setting this in the mission file overrides the defaults -_headgear = GMS_headgear; // Setting this in the mission file overrides the defaults -_vests = GMS_vests; -_backpacks = GMS_backpacks; - -#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/inhaftierung.sqf b/@GMS/addons/GMS/Missions/Red/inhaftierung.sqf new file mode 100644 index 0000000..f8b50fc --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/inhaftierung.sqf @@ -0,0 +1,180 @@ +/* + Mission Template 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" +#include "\x\addons\GMS\Missions\GMS_privateVars.sqf"; + +//diag_log "[GMS] Spawning Blue Mission with template = default2"; + +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; +_startMsg = "A local Mafia Don has been spotted! Capture him and earn a reward!"; +_endMsg = "The Maria Don was captured and the area is under survivor control!"; +_assetKilledMsg = "Enemy Leader Killed and Bandits Fled with All Loot: Mission Aborted"; +_markerLabel = ""; +_markerType = ["ELLIPSE",[300,300],"GRID"]; +_markerColor = "ColorBlue"; +_markerMissionName = "inhaftierung"; +_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise" +_missionLandscape = [ + //["babe_helper",[-3327.46,-2809.42,-0.00143909],0,true,true], + //["Sign_Arrow_Green_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + //["Sign_Arrow_Yellow_F",[-3324.96,-2809.92,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-2.76221,-30.3596,-0.00143909],0,true,true], + ["Land_HBarrier_1_F",[-9.74463,-27.0081,-0.00143909],180,true,true], + ["Land_BagFence_Long_F",[-9.74268,-29.0042,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-8.36182,-30.3743,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.361816,-1.01782,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-15.3853,-13.9866,-0.00143909],315,true,true], + ["Land_HBarrier_Big_F",[-3.61768,-5.26782,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[-5.46533,3.40405,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[-18.5767,-14.5354,-0.00143909],45,true,true], + ["Land_HBarrier_Big_F",[-12.4985,-20.3987,-0.00143909],45,true,true], + ["Land_HBarrier_1_F",[-22.9692,-2.77563,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-23.3423,0.478271,-0.00143909],15,true,true], + ["Land_BagFence_Long_F",[-24.5767,-9.90649,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-22.8071,-8.13794,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-18.7427,-12.3811,-0.00143909],315,true,true], + ["Land_BagFence_Long_F",[-23.2368,2.26245,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-21.8657,6.25952,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-22.3657,-13.8772,-0.00143909],135,true,true], + ["Land_BagFence_Long_F",[-9.74268,-25.1174,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-18.5649,-8.3147,-0.00143909],45,true,true], + ["Land_BagFence_Long_F",[-23.2368,4.88843,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[-25.2192,0.111084,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-25.2192,-2.76587,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[-26.5884,-1.39282,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-24.3989,-13.9709,-0.00143909],225,true,true], + ["Land_BagFence_Round_F",[-17.5747,-10.4006,-0.00143909],270,true,true], + ["Land_BagFence_Round_F",[-25.5493,-11.9026,-0.00143909],90,true,true], + ["Land_BagFence_Round_F",[-20.7212,-7.07642,-0.00143909],180,true,true], + ["Land_BagFence_End_F",[-9.7583,-23.3167,-0.00143909],270,true,true], + ["Land_Cargo_Patrol_V3_F",[-10.9263,-16.053,-0.00143862],45,true,true], + ["Land_Cargo_House_V3_F",[-3.09424,-20.7424,-0.00143909],180,true,true], + ["CamoNet_OPFOR_open_F",[-0.225098,8.17163,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[-1.85596,17.1208,-0.00143909],180,true,true], + ["Land_HBarrier_3_F",[-2.70752,19.4275,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[-19.6177,9.36694,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[-19.6646,17.5466,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[-4.93994,9.58374,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[-16.4673,27.1775,-0.00143909],285,true,true], + ["Land_HBarrier_1_F",[-2.68408,25.3513,-0.00143909],120,true,true], + ["Land_BagFence_Long_F",[-2.30908,23.7244,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7173,23.0505,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-19.7153,25.9265,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[-18.3462,27.4314,-0.00143909],0,true,true], + ["Land_Cargo_Patrol_V3_F",[-15.4087,10.7146,-0.00143862],90,true,true], + ["Land_HBarrier_5_F",[-15.7407,14.7517,-0.00143909],0,true,true], + ["Land_HBarrier_5_F",[-6.33838,7.41382,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[4.87646,-28.4124,-0.00143909],330,true,true], + ["Land_HBarrier_3_F",[10.5171,0.540771,-0.00143909],0,true,true], + ["Land_HBarrier_3_F",[11.3687,-7.17212,-0.00143909],270,true,true], + ["Land_HBarrier_Big_F",[23.0171,-13.6155,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[3.04834,3.62964,-0.00143909],1.36604e-005,true,true], + ["Land_HBarrier_Big_F",[11.8745,-23.9084,-0.00143909],330,true,true], + ["Land_HBarrier_Big_F",[7.90967,0.343506,-0.00143909],90,true,true], + ["Land_HBarrier_Big_F",[24.978,-5.36938,-0.00143909],285,true,true], + ["Land_HBarrier_Big_F",[11.2808,-4.62427,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.9077,2.68921,-0.00143909],270,true,true], + ["Land_HBarrier_1_F",[4.35498,-2.41431,-0.00143909],90,true,true], + ["Land_HBarrier_1_F",[21.0073,-21.7493,-0.00143909],30,true,true], + ["Land_BagFence_Long_F",[19.1304,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[16.5073,-21.6174,-0.00143909],0,true,true], + ["Land_BagFence_Long_F",[7.89795,6.07788,-0.00143909],270,true,true], + ["Land_Loudspeakers_F",[21.2026,-15.3088,-0.00143909],196,true,true], + ["Land_HBarrier_5_F",[17.7847,6.20483,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[11.3823,-11.5022,-0.00143909],270,true,true], + ["Land_HBarrier_5_F",[5.75146,-0.244385,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.49561,-9.99927,-0.00143909],90,true,true], + ["Land_Cargo_House_V3_F",[5.03076,-17.6174,-0.00143909],150,true,true], + ["CamoNet_OPFOR_open_F",[22.6538,9.88257,-0.00143909],270,true,true], + ["Land_HBarrier_3_F",[18.7593,9.75757,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[9.20264,21.2849,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[15.9546,18.7849,-0.00143909],225,true,true], + ["Land_HBarrier_Big_F",[22.4077,16.1892,-0.00143909],0,true,true], + ["Land_HBarrier_Big_F",[0.70459,21.283,-0.00143909],180,true,true], + ["Land_HBarrier_Big_F",[25.7827,11.0642,-0.00143909],90,true,true], + ["Land_BagFence_Long_F",[4.57764,19.0466,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[4.57764,16.1716,-0.00143909],270,true,true], + ["Land_BagFence_Long_F",[11.3843,19.2634,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[4.57764,14.4216,-0.00143909],90,true,true], + ["Land_BagFence_End_F",[7.68896,7.77515,-0.00143909],240,true,true], + ["Land_BagFence_End_F",[11.3843,17.5134,-0.00143909],90,true,true] + ]; // list of objects to spawn as landscape; // list of objects to spawn as landscape + +_buildings = [ + //"Land_Cargo_HQ_V4_F", + //"Land_Cargo_HQ_V1_F", + //"Land_Cargo_HQ_V2_F", + //"Land_Cargo_HQ_V3_F", + //"Land_Cargo_Tower_V1_F", + //"Land_Cargo_Tower_V2_F", + //"Land_Cargo_Tower_V3_F", + "Land_Cargo_Patrol_V3_F", + "Land_Cargo_House_V3_F" +]; +_enemyLeaderConfig = + ["I_G_resistanceLeader_F", // select 0 + [-7.83789,13.1465,-0.00143886], // select 1 + 126.345, // select 2 + [true,false], // select 3 + ["Acts_B_briefings"], // Use the animation viewer to see other choices: http://killzonekid.com/arma-3-animation-viewer-jumping-animation/ + ["H_Beret_Colonel"], // array of headgear choices + ["U_OrestesBody"], // array of uniform choices + [selectRandom _buildings,[-3.79102,2.56055,0],0,[true,false]] + ]; +_enemyLeaderConfig set[ + 1, selectRandom [[-7.83789,13.1465,-0.00143886]] + ]; + // This allows us to place the antagonist to be arrested in one of several random locations. +_missionLootBoxes = [ + //["Box_NATO_Wps_F",[3,-3,0],_crateLoot,[4,10,2,5,5,1]], // Standard loot crate with standard loadout + //["Land_PaperBox_C_EPOCH",[-4,-3,0],_crateLoot,[0,0,0,10,10,3]], // No Weapons, Magazines, or optics; 10 each construction supplies and food/drink items, 3 backpacks + //["Land_CargoBox_V1_F",[3,4,0],_crateLoot,[0,10,2,5,5,1]] + ]; // Parameters are "Box Item Code", array defining the loot to be spawned, and position. + + // GMS_lootCountsBlue= [4,12,3,6,6,1]; +_missionPatrolVehicles = [ + //["B_LSV_01_armed_F",[-41.377,-5.40894,-0.0238895],0.00171121], + ["B_LSV_01_armed_F",[39.5627,-5.26709,-0.0237107],0.00169144] + ]; // Parameters are "vehiclel type", offset relative to mission center, loot array, items to load from each category of the loot array. + // ["B_HMG_01_high_F"/*,"B_GMG_01_high_F","O_static_AT_F"*/]; + + /* + ["B_G_Soldier_AR_F",[-19.5156,25.2598,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[-27.7676,-24.5508,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[32.4883,-23.4609,-0.00143886],0,[true,false]], + ["B_G_Soldier_AR_F",[36.6914,12.1836,-0.00143886],0,[true,false]] + */ + + +_missionEmplacedWeapons = []; // +_missionPatrolVehicles = [ + //["B_MRAP_01_hmg_F",[27.8945,100.275,0],0,[true,false]], + //["B_MRAP_01_hmg_F",[-84.7793,72.2617,9.53674e-007],0,[true,false]], + //["B_MRAP_01_gmg_F",[-87.8457,-109.947,7.15256e-007],0,[true,false]] +]; +// Change _useMines to true/false below to enable mission-specific settings. +_useMines = GMS_useMines; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +//_uniforms = GMS_SkinList; +//_headgear = GMS_headgear; +_chancePara = GMS_chanceParaBlue; +_noPara = GMS_noParaBlue; +_chanceHeliPatrol = 0; +_spawnCratesTiming = "atMissionEndAir"; +_endCondition = assetSecured; // Options are allUnitsKilled, playerNear, allKilledOrPlayerNear, assetSecured +//_timeOut = -1; +#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; diff --git a/@GMS/addons/GMS/Missions/Red/testMission.sqf b/@GMS/addons/GMS/Missions/Red/testMission.sqf new file mode 100644 index 0000000..ae46400 --- /dev/null +++ b/@GMS/addons/GMS/Missions/Red/testMission.sqf @@ -0,0 +1,140 @@ + + +/* + Dynamic Mission Generated + Using 3DEN Plugin for blckeagls + dynamicMission.sqf generated:: blckeagls 3DEN Plugin Version 0 : Build 7 : Build Date 09/21/20 + By Ghostrider-GRG- +*/ + +#include "\x\addons\GMS\Compiles\Init\GMS_defines.hpp" +#include "\x\addons\GMS\Missions\GMS_privateVars.sqf"; + +_defaultMissionLocations = []; +_markerType = ["round",[50,50],"GRID"]; +_markerColor = "red"; +_startMsg = "TODO: Change approiately"; +_endMsg = "TODO: Change Appropriately"; +_markerMissionName = "TODO: Update appropriately"; +_crateLoot = GMS_BoxLoot_Blue; +_lootCounts = GMS_lootCountsBlue; + +_garrisonedBuildings_BuildingPosnSystem = [ + +]; + +_garrisonedBuilding_ATLsystem = [ + ["Land_Medevac_HQ_V1_F",[-12.832,-6.40967,0],179.487,false,true,[["O_static_AA_F",[3.1626,3.46338,3.12652],0],["O_static_AT_F",[-6.3916,-3.32617,3.12652],0]],[[[-0.849609,0.173828,3.12796],0]]] +]; + +_missionLandscape = [ + ["Land_DeconTent_01_yellow_F",[-14.6782,8.51831,0],125.109,false,false], + ["DeconShower_02_F",[8.0249,-14.4717,0],0,false,true], + ["HazmatBag_01_F",[-7.54785,8.11841,0],0,false,false], + ["Land_MultiScreenComputer_01_olive_F",[-10.5688,3.57373,0.886935],202.361,true,true], + ["Land_MultiScreenComputer_01_black_F",[-10.231,2.22559,0.886935],261.232,true,true], + ["Land_PortableLight_02_quad_black_F",[-6.97998,9.46533,0],343.406,false,true], + ["Land_Razorwire_F",[-0.925293,-14.6257,0],0,false,false], + ["Land_Razorwire_F",[-9.43408,-14.6787,0],0,false,false], + ["Land_Razorwire_F",[-17.8281,-14.6936,0],0,false,false], + ["Land_Razorwire_F",[14.2949,-11.6028,0],269.575,false,false], + ["Land_Razorwire_F",[14.2549,-3.34668,0],269.575,false,false], + ["Land_Razorwire_F",[14.1929,5.09033,0],269.575,false,false], + ["Land_Razorwire_F",[14.1377,13.4653,0],269.575,false,false], + ["Land_Razorwire_F",[-22.9863,-11.5537,0],269.575,false,false], + ["Land_Razorwire_F",[-23.0264,-3.29761,0],269.575,false,false], + ["Land_Razorwire_F",[-23.0884,5.13843,0],269.575,false,false], + ["Land_Razorwire_F",[-23.1431,13.5134,0],269.575,false,false], + ["Land_Razorwire_F",[-1.58301,16.9043,0],0,false,false], + ["Land_Razorwire_F",[-10.0933,16.8503,0],0,false,false], + ["Land_Razorwire_F",[-18.4863,16.8354,0],0,false,false], + ["DeconShower_02_F",[7.93799,16.9402,0],0,true,true], + ["Land_Cargo_House_V1_F",[1.0708,-19.4346,0],269.909,true,true], + ["Land_Cargo_House_V1_F",[0.973633,21.8057,0],269.909,true,true], + ["RoadCone_L_F",[0,0,0],0,true,true] +]; + +_simpleObjects = [ + ["DeconShower_01_F",[-4.47119,6.31543,0.00600004],31.5], + ["Land_SolarPanel_04_black_F",[-5.67969,-9.79028,0],250.507], + ["Land_SatelliteAntenna_01_F",[-6.91016,-1.52856,0],61.162], + ["Land_PortableWeatherStation_01_olive_F",[-19.8584,2.68286,0],0], + ["Land_Cargo20_EMP_F",[-4.875,13.9023,0],0.349], + ["Land_DeskChair_01_olive_F",[-9.58643,2.39331,0],0], + ["Land_PortableDesk_01_olive_F",[-10.4292,2.88818,0],257.75], + ["Land_PortableCabinet_01_medical_F",[-7.76074,-0.27417,0],175.846], + ["Land_Cargo20_EMP_F",[-8.625,-21.1777,0],203.819], + ["Land_DeskChair_01_olive_F",[-10.1123,4.42334,0],315.776] +]; + +_missionLootVehicles = [ + +]; + +_missionPatrolVehicles = [ + [selectRandom GMS_AIPatrolVehicles,[-7.33154,41.9883,-0.000406742],89.3026,75,75], + [selectRandom GMS_AIPatrolVehicles,[-3.20459,-46.0554,-0.000406742],270.637,75,75] +]; + +_submarinePatrolParameters = [ + +]; + +_airPatrols = [ + +]; + +_missionEmplacedWeapons = [ + ["O_GMG_01_high_F",[14.8335,-17.9829,0],0], + ["O_GMG_01_high_F",[14.249,20.4355,0],0] +]; + +_missionGroups = [ + [[10.0596,-6.36841,0.00143909],3,6,"Blue",30,45], + [[-13.6816,-6.23584,3.12796],3,6,"Blue",30,45], + [[-8.26025,5.02686,0.00143909],3,6,"Blue",30,45], + [[3.58105,5.66821,0.00143909],3,6,"Blue",30,45] +]; + +_scubaGroupParameters = [ + +]; + +_missionLootBoxes = [ + +]; + +/* + Use the parameters below to customize your mission - see the template or GMS_configs.sqf for details about each them +*/ +_chanceHeliPatrol = GMS_chanceHeliPatrolBlue; +_noChoppers = GMS_noPatrolHelisBlue; +_missionHelis = GMS_patrolHelisBlue; +//_chancePara = GMS_chanceParaBlue; +//_noPara = GMS_noParaBlue; +//_paraTriggerDistance = 400; +//_paraSkill = 'Blue'; +//_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 = "atMissionSpawnGround"; +_loadCratesTiming = "atMissionSpawn"; +_endCondition = allKilledOrPlayerNear; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; +_minNoAI = GMS_MinAI_Blue; +_maxNoAI = GMS_MaxAI_Blue; +_noAIGroups = GMS_AIGrps_Blue; +_noVehiclePatrols = GMS_SpawnVeh_Blue; +_noEmplacedWeapons = GMS_SpawnEmplaced_Blue; + +#include "\x\addons\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf"; \ No newline at end of file diff --git a/@GMS/addons/GMS/changeLog.txt b/@GMS/addons/GMS/changeLog.txt index 9348fb6..5669fc7 100644 --- a/@GMS/addons/GMS/changeLog.txt +++ b/@GMS/addons/GMS/changeLog.txt @@ -33,7 +33,16 @@ 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 273 MAJOR UPDATE to paths +Build 278 + Removed unused files + +Build 276 + Unused code no longer compiled. Some of that code remains for bookkeeping. + Added a new mission configuration _cleanupLootContainers + When true, the list of _crates spawned with a mission is added to the list of mission objects and will be deleted when the mission is cleaned up. + Mission cleanup happens when the time elapsed since mission completion is > than the cleanup time and when all players have left the area. + +Build 275 MAJOR UPDATE to paths Implemented $PREFIX$ and $PBOPREFIX$ Please use the updated editor plugin to generate missions. diff --git a/@GMS/addons/GMS/config.cpp b/@GMS/addons/GMS/config.cpp index 4395e73..8062a91 100644 --- a/@GMS/addons/GMS/config.cpp +++ b/@GMS/addons/GMS/config.cpp @@ -12,9 +12,9 @@ */ class GMSBuild { - Version = "7.21"; - Build = "275"; - Date = "10-25-2023"; + Version = "7.22"; + Build = "278"; + Date = "11-02-2023"; }; class CfgPatches { @@ -38,8 +38,6 @@ class CfgFunctions { class functions { file = "\x\addons\GMS\Compiles\Functions"; class broadcastServerFPS {}; - //class cleanEmptyGroups {}; // Moved to GMSCore 10/31/23 - //class countAliveAI {}; class createMissionMarkers {}; class deleteMarker {}; class findPositionsAlongARadius {}; @@ -51,39 +49,26 @@ class CfgFunctions { class getAllDMSMarkers {}; class getAllMarkersOfSubtype {}; class getIndexFromDifficulty {}; - // class loadLootItemsFromArray {}; // Seems to be unused as of 10/31/23 class mainThread {}; class markerSetAliveAICount {}; class messagePlayers {}; class missionCompleteMarker {}; class msgIED {}; - //class nearestPlayers {}; class restoreHiddenObjects {}; - //class setDirUp {}; // Replaced by a GMSCore function October, 2023 - //class spawnMarker {}; // No longer needed; revised dependent code to use createMissionMarker 10/31/23 class updateMarkerAliveCount {}; }; class groups { file = "\x\addons\GMS\Compiles\Groups"; - //class checkGroupWaypointStatus {}; // Unused 10/31/23 - //class cleanEmptyGroups {}; // Moved to GMSCore 10/31/23 - //class createGroup {}; // No longer used 10/31/23 - //class emplacedWeaponWaypoint {}; // No longer used 10/31/23 class findNearestInfantryGroup {}; - //class groupWaypointMonitor {}; // No longer needed as GMSCore handles waypoints now. - //class setNextWaypoint {}; - //class setupWaypoints {}; class simulationMonitor {}; class spawnGroup {}; }; class missions { file = "\x\addons\GMS\Compiles\Missions"; class addMIssionToQue {}; - //class crateMoved {}; - class endMission {}; + class endMission {}; class fillBoxes {}; class garrisonBuilding_ATLsystem {}; - //class garrisonBuilding_relPosSystem {}; class loadLootItemsFromArray {}; class initializeMission {}; class loadMissionCrate {}; @@ -103,7 +88,6 @@ class CfgFunctions { class selectNumberAirPatrols {}; class selectNumberParatroops {}; class selectVehicleCrewCount {}; - //class signalEnd {}; class spawnSmokingObject {}; class spawnCrate {}; class spawnCompositionObjects {}; diff --git a/@GMS_3EDEN/addons/3DEN_plugin.pbo b/@GMS_3EDEN/addons/3DEN_plugin.pbo index 4269df403fedd8ea4fd2d22e3ec9a35c96b4c31d..afd40c973fb0964f5b9724ab9819bf7c377d18b1 100644 GIT binary patch delta 200 zcmaDiQSjSD!3kN+nSY!o=JxZ(F+jlTKhCLflQ|i$F}wV6p8SZ>3Z!7OJd>scuVM&P zNw{;W;^t5*Z387kYhEr+&ZN@JoD>CH1tSYEHzlzo706REG}JdR+PpAJLz&&hWTnK^ zK!ME{dM`7HEPVgl_11(yn<^L7h;mPL{x>0){pn^!zoTkxiJc3R4s(+VG6oCg5uhDl}s delta 192 zcmex1QSjYF!3kN+PgwXT=JxZ(GC+W0t$AwfWKPCw%zsNACqH7eV)i;=ANyk$@NH#%pgrJ(;{}l}7V}3GELiFm8V^fhl4hqiwr` jKJ#`5eU?R%B6knn`(y7qcVh8%y`6p�yt^Jp2&=8%;zY