Small update to editor tool

This commit is contained in:
Chris Cardozo 2020-08-11 01:26:55 -04:00
parent e80ed787dc
commit 9797245497
2 changed files with 96 additions and 95 deletions

View File

@ -10,14 +10,18 @@
_markerType = [,[0,0],];
_markerColor = ;
_startMsg = TODO: Change approiately;
_endMsg = TODO: Change Appropriately;
_startMsg = "TODO: Change approiately";
_endMsg = "TODO: Change Appropriately;
_markerMissionName = TODO: Update appropriately;
_crateLoot = blck_BoxLoot_Blue;
_lootCounts = blck_lootCountsBlue;
_missionLandscape = [
["Land_Unfinished_Building_01_F",[0,0,0],0,true,true],
["Land_u_Shed_Ind_F",[-61.9277,-7.80664,-0.0579567],0,true,true],
["Land_Shed_08_brown_F",[-47.9512,26.3086,-0.0630035],0,true,true],
["Land_Shed_02_F",[-6.22852,78.9766,-0.0466728],0,true,true],
["Land_Wreck_AFV_Wheeled_01_F",[-38.0176,-20.6309,-0.0216446],0,true,true]
];
_simpleObjects = [
@ -25,8 +29,8 @@ _simpleObjects = [
];
_missionPatrolVehicles = [
["B_MRAP_01_hmg_F",array,0],
["B_Truck_01_mover_F",array,0]
["B_Truck_01_mover_F",[-8.7207,13.8828,-0.0554924],0],
["B_MRAP_01_hmg_F",[-29.7793,16.5488,-0.054863],0]
];
_submarinePatrolParameters = [
@ -34,17 +38,17 @@ _submarinePatrolParameters = [
];
_airPatrols = [
["B_Heli_Light_01_dynamicLoadout_F",array,0]
["B_Heli_Light_01_dynamicLoadout_F",[-39.4199,9.21094,-0.0559273],0]
];
_missionEmplacedWeapons = [
["B_GMG_01_F",array,0],
["B_HMG_01_F",array,0]
["B_GMG_01_F",[-37.9668,-4.69336,-0.0563164],0],
["B_HMG_01_F",[11.2852,43.7969,-0.0578575],0]
];
_missionGroups = [
,[array,3,6,"Red",30,45],
,[array,3,6,"Red",30,45]
,[[-27.1387,-8.02148,-0.0584373],3,6,"Red",30,45],
,[[-2.74414,46.5508,-0.0565186],3,6,"Red",30,45]
];
_scubaGroupParameters = [
@ -52,30 +56,12 @@ _scubaGroupParameters = [
];
_missionLootBoxes = [
["Box_IND_Wps_F",array,_crateLoot,_lootCounts,0],
["Box_AAF_Equip_F",array,_crateLoot,_lootCounts,0],
["Box_IND_AmmoOrd_F",array,_crateLoot,_lootCounts,0],
["Box_IND_WpsLaunch_F",array,_crateLoot,_lootCounts,0]
["Box_IND_Wps_F",[-22.0605,2.1543,-0.0577888],_crateLoot,_lootCounts,0],
["Box_AAF_Equip_F",[-19.5859,7.62695,-0.0575409],_crateLoot,_lootCounts,0],
["Box_IND_AmmoOrd_F",[-17.8203,13.4805,-0.0576591],_crateLoot,_lootCounts,0],
["Box_IND_WpsLaunch_F",[-22.6543,-1.80859,-0.0577736],_crateLoot,_lootCounts,0]
];
_missionLandscapeMode = "precise";
_useMines = blck_useMines;
_minNoAI = blck_MinAI_Blue];
_maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_minNoAI = blck_MinAI_Blue;
_maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_vests = blck_vests;
_backpacks = blck_backpacks;
_weaponList = ['Blue'] call blck_fnc_selectAILoadout;
_sideArms = blck_Pistols;
_chanceHeliPatrol = blck_chanceHeliPatrolBlue;
_noChoppers = blck_noPatrolHelisBlue;
_missionHelis = blck_patrolHelisBlue;
@ -87,4 +73,23 @@ _paraSkill = 'Blue';
_chanceLoot = 0.0;
_paraLoot = blck_BoxLoot_Blue;
_paraLootCounts = blck_lootCountsBlue;
_missionLandscapeMode = "precise";
_uniforms = blck_SkinList;
_headgear = blck_headgear;
_vests = blck_vests;
_backpacks = blck_backpacks;
_sideArms = blck_Pistols;
_spawnCratesTiming = blck_spawnCratesTiming;
_loadCratesTiming = blck_loadCratesTiming;
_endCondition = blck_missionEndCondition;
_minNoAI = blck_MinAI_Blue;
_maxNoAI = blck_MaxAI_Blue;
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
_minNoAI = blck_MinAI_Blue;
_maxNoAI = blck_MaxAI_Blue
_noAIGroups = blck_AIGrps_Blue;
_noVehiclePatrols = blck_SpawnVeh_Blue;
_noEmplacedWeapons = blck_SpawnEmplaced_Blue;
#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";

View File

@ -18,8 +18,8 @@
#define objectAtMissionCenter "RoadCone_L_F"
#define lootVehicleMarker "Sign_Arrow_F"
#define landVehicles "LandVehicle"
CENTER = [0,0,0];
private _entities = all3DENEntities;
diag_log format["Dynamic Export called at %1",diag_tickTime];
if (isNil "blck_dynamicStartMessage") then
{
@ -44,18 +44,27 @@ if (isNil "blck_dynamicMissionDifficulty") then
{
blck_dynamicMissionDifficulty = "Blue";
};
private _centerMarkers = allMissionObjects objectAtMissionCenter;
if !(_centerMarkers isEqualTo []) then
{
CENTER = getPosATL _centerMarkers select 0;
diag_log format["CENTER defined by object %1 typeOf %2",_centerMarker,typeOf _centerMarker];
};
private _entities = all3DENEntities;
private _markers = _entities select 5;
diag_log format["_markers = %1",_markers];
private ["_m1","_type","_shape","_size","_color","_brush"];
if !(_markers isEqualTo []) then {
_m1 = _markers select 0;
_m1 = _markers select 0;
if !(_markers isEqualTo []) then
{
_type = markerType _m1;
_shape = markerShape _m1;
_size = markerSize _m1;
_color = markerColor _m1;
_brush = markerBrush _m1;
CENTER = markerPos _m1;
if (CENTER isEqualTo [0,0,0]) then {CENTER = markerPos _m1};
} else {
_type = "mil_square";
_shape = "null";
@ -68,15 +77,23 @@ diag_log format["_m1 = %1 | _type = %2 | _shape = %3 | _size = %4 | _color = %5
private _garrisonedBuildings = [];
private _missionLootVehicles = [];
private _staticObjects = allMissionObjects "Static" select {!(isSimpleObject _x) && (_x in _garrisonedBuildings) && !((typeOf _x) isEqualTo unitMarkerObject) && !((typeOf _x) isEqualTo garrisonMarkerObject)};
if (CENTER isEqualTo [0,0,0]) then {CENTER = getPosATL (_staticObjects select 0)};
private _missionLandscape = [];
diag_log format["_missionLandscape: %1",_staticObjects];
private _staticObjects = (_entities select 0) select {(_x isKindOf "Static") && !(isSimpleObject _x)};
diag_log format["_staticObjects: %1",_staticObjects];
if (CENTER isEqualTo [0,0,0]) then
{
_missionLandscape pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x, 'true','true'];
CENTER = getPosATL (_staticObjects select 0);
};
diag_log format["CENTER = %1",CENTER];
private _missionLandscape = [];
{
if !(_x in _garrisonedBuildings && !((typeOf _x) isEqualTo unitMarkerObject) && !((typeOf _x) isEqualTo garrisonMarkerObject)) then
{
_missionLandscape pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x, 'true','true'];
};
}forEach _staticObjects;
private _simpleObjects = allMissionObjects "Static" select {isSimpleObject _x};
private _simpleObjects = (_entities select 0) select {isSimpleObject _x};
diag_log format["_simpleObjects = %1",_simpleObjects];
private _missionSimpleObjects = [];
{
@ -146,10 +163,12 @@ _lines pushBack "";
_lines pushBack '#include "\q\addons\custom_server\Configs\blck_defines.hpp";';
_lines pushBack '#include "\q\addons\custom_server\Missions\privateVars.sqf";';
_lines pushBack "";
_lines pushBack format["_markerType = %1",format["[%1,%2,%3];",_type,_size,_brush]];
_lines pushBack format["_markerColor = %1;",_color];
_lines pushBack format['_startMsg = %1;',blck_dynamicStartMessage];
_lines pushBack format['_endMsg = %1;',blck_dynamicEndMessage];
_lines pushBack format['_startMsg = "%1";',blck_dynamicStartMessage];
_lines pushBack format['_endMsg = "%1;',blck_dynamicEndMessage];
_lines pushBack format['_markerMissionName = %1;',blck_dynamicmarkerMissionName];
_lines pushBack format['_crateLoot = blck_BoxLoot_%1;',blck_dynamicMissionDifficulty];
_lines pushBack format['_lootCounts = blck_lootCounts%1;',blck_dynamicMissionDifficulty];
@ -190,65 +209,42 @@ _lines pushBack "_missionLootBoxes = [";
_lines pushback (_lootContainers joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack '_missionLandscapeMode = "precise";'; // acceptable values are "none","random","precise"';
_lines pushBack "_useMines = blck_useMines;";
_lines pushBack "/*";
_lines pushBack " Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them";
_lines pushBack "*/";
_lines pushBack format["_chanceHeliPatrol = blck_chanceHeliPatrol%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noChoppers = blck_noPatrolHelis%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_missionHelis = blck_patrolHelis%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_chancePara = blck_chancePara%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noPara = blck_noPara%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_paraTriggerDistance = 400;"];
_lines pushBack format["_paraSkill = '%1';",blck_dynamicMissionDifficulty];
_lines pushBack format["_chanceLoot = 0.0;"];
_lines pushBack format["_paraLoot = blck_BoxLoot_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_paraLootCounts = blck_lootCounts%1;",blck_dynamicMissionDifficulty];
_lines pushBack format['_missionLandscapeMode = "precise";'];
_linse pushBack "_useMines = blck_useMines;";
_lines pushBack "_uniforms = blck_SkinList;";
_lines pushBack "_headgear = blck_headgear;";
_lines pushBack "_vests = blck_vests;";
_lines pushBack "_backpacks = blck_backpacks;";
_lines pushBack "_sideArms = blck_Pistols;";
_lines pushBack '_spawnCratesTiming = blck_spawnCratesTiming;';
_lines pushBack '_loadCratesTiming = blck_loadCratesTiming;';
_lines pushBack '_endCondition = blck_missionEndCondition;';
_lines pushBack format["_minNoAI = blck_MinAI_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_maxNoAI = blck_MaxAI_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noAIGroups = blck_AIGrps_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noVehiclePatrols = blck_SpawnVeh_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noEmplacedWeapons = blck_SpawnEmplaced_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format ["_minNoAI = blck_MinAI_%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults such as blck_MinAI_Blue
_lines pushBack format["_maxNoAI = blck_MaxAI_Blue;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
_lines pushBack format["_noAIGroups = blck_AIGrps_%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
_lines pushBack format["_noVehiclePatrols = blck_SpawnVeh_%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
_lines pushBack format["_noEmplacedWeapons = blck_SpawnEmplaced_%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
// Change _useMines to true/false below to enable mission-specific settings.
_linse pushBack "_useMines = blck_useMines;"; // Setting this in the mission file overrides the defaults
_lines pushBack "_uniforms = blck_SkinList;"; // Setting this in the mission file overrides the defaults
_lines pushBack "_headgear = blck_headgear;"; // Setting this in the mission file overrides the defaults
_lines pushBack "_vests = blck_vests;";
_lines pushBack "_backpacks = blck_backpacks;";
_lines pushBack format["_weaponList = ['%1'] call blck_fnc_selectAILoadout;",blck_dynamicMissionDifficulty];
_lines pushBack "_sideArms = blck_Pistols;";
_lines pushBack format["_chanceHeliPatrol = blck_chanceHeliPatrol%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
_lines pushBack format["_noChoppers = blck_noPatrolHelis%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_missionHelis = blck_patrolHelis%1;",blck_dynamicMissionDifficulty];
_lines pushBack "";
_lines pushBack format["_chancePara = blck_chancePara%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
_lines pushBack format["_noPara = blck_noPara%1;",blck_dynamicMissionDifficulty]; // Setting this in the mission file overrides the defaults
_lines pushBack format["_paraTriggerDistance = 400;"]; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_lines pushBack format["_paraSkill = '%1';",blck_dynamicMissionDifficulty]; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_lines pushBack format["_chanceLoot = 0.0;"]; // The chance that a loot crate will be dropped with paratroops.
_lines pushBack format["_paraLoot = blck_BoxLoot_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_paraLootCounts = blck_lootCounts%1;",blck_dynamicMissionDifficulty]; // Throw in something more exotic than found at a normal blue mission.
_lines pushBack format["_minNoAI = blck_MinAI_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_maxNoAI = blck_MaxAI_%1",blck_dynamicMissionDifficulty];
_lines pushBack format["_noAIGroups = blck_AIGrps_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noVehiclePatrols = blck_SpawnVeh_%1;",blck_dynamicMissionDifficulty];
_lines pushBack format["_noEmplacedWeapons = blck_SpawnEmplaced_%1;",blck_dynamicMissionDifficulty];
diag_log format["blck_dynamicMissionDifficulty = %1",blck_dynamicMissionDifficulty];
_lines pushBack '#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";';
// As found in fn_3DENExportTerrainBuilder.sqf
uiNameSpace setVariable ["Display3DENCopy_data", ["dynamicMission.sqf", _lines joinString _lineBreak]];
(findDisplay 313) createdisplay "Display3DENCopy";
/*
_missionLandscapeMode = "precise"; // acceptable values are "none","random","precise"
_chancePara = blck_chanceParaBlue; // Setting this in the mission file overrides the defaults
_noPara = blck_noParaBlue; // Setting this in the mission file overrides the defaults
_paraTriggerDistance = 400; // Distance from mission at which a player triggers these reinforcements and any supplemental loot. // To have paras spawn at the time the mission spawns with/without accompanying loot set this to 0.
_paraSkill = "red"; // Choose any skill you like; bump up skill or add AI to justify more valuable loot.
_chanceLoot = 0.0; // The chance that a loot crate will be dropped with paratroops.
_paraLoot = blck_BoxLoot_Blue;
_paraLootCounts = blck_lootCountsRed; // Throw in something more exotic than found at a normal blue mission.
_spawnCratesTiming = blck_spawnCratesTiming; // Choices: "atMissionSpawnGround","atMissionEndGround","atMissionEndAir".
// Crates spawned in the air will be spawned at mission center or the position(s) defined in the mission file and dropped under a parachute.
// This sets the default value but can be overridden by defining _spawnCrateTiming in the file defining a particular mission.
_loadCratesTiming = blck_loadCratesTiming; // valid choices are "atMissionCompletion" and "atMissionSpawn";
// Pertains only to crates spawned at mission spawn.
// This sets the default but can be overridden for specific missions by defining _loadCratesTiming
// Examples:
// To spawn crates at mission start loaded with gear set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionSpawn"
// To spawn crates at mission start but load gear only after the mission is completed set blck_spawnCratesTiming = "atMissionSpawnGround" && blck_loadCratesTiming = "atMissionCompletion"
// To spawn crates on the ground at mission completion set blck_spawnCratesTiming = "atMissionEndGround" // Note that a loaded crate will be spawned.
// To spawn crates in the air and drop them by chutes set blck_spawnCratesTiming = "atMissionEndAir" // Note that a loaded crate will be spawned.
_endCondition = blck_missionEndCondition; // Options are "allUnitsKilled", "playerNear", "allKilledOrPlayerNear"
// Setting this in the mission file overrides the defaults