Build 277

This commit is contained in:
Ghostrider [GRG] 2023-11-02 23:47:31 -04:00
parent 7273521854
commit b07532a0a2
39 changed files with 747 additions and 1251 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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.
];
*/

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

Binary file not shown.