Fixed multiple issues preventing proper export

This commit is contained in:
Ghostrider [GRG] 2022-10-05 20:59:21 -04:00
parent 48280a933c
commit ed17380a83
6 changed files with 425 additions and 35 deletions

View File

@ -1,12 +1,16 @@
/* /*
blckeagls 3EDEN Editor Plugin GMS 3DEN Editor Plugin
by Ghostrider-GRG- by Ghostrider-GRG-
Copyright 2020 Copyright 2020
*/ */
systemChat "Staring exportDynamic.sqf";
if (true) then exitWith {}
#define oddsOfGarrison 0.67 #define oddsOfGarrison 0.67
#define maxGarrisonUnits 4 #define maxGarrisonUnits 4
if (true) exitWith{diag_log "Exiting at line 9"};
objectAtMissionCenter = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "objectAtMissionCenter"); objectAtMissionCenter = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "objectAtMissionCenter");
blck_minAI = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "minAI"); blck_minAI = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "minAI");
blck_maxAI = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "maxAI"); blck_maxAI = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "maxAI");
@ -23,7 +27,7 @@ lootVehicleVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "
buildingPosGarrisonVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "buildingPosGarrisonVariableName"); buildingPosGarrisonVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "buildingPosGarrisonVariableName");
buildingATLGarrisionVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "buildingATLGarrisionVariableName"); buildingATLGarrisionVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "buildingATLGarrisionVariableName");
CENTER = [0,0,0]; //Mission_CENTER = [0,0,0];
diag_log format["Dynamic Export called at %1",diag_tickTime]; diag_log format["Dynamic Export called at %1",diag_tickTime];
diag_log format["With blck_MissionDifficulty = %1",blck_MissionDifficulty]; diag_log format["With blck_MissionDifficulty = %1",blck_MissionDifficulty];
@ -384,40 +388,41 @@ _lines pushBack "";
_lines pushBack "/*"; _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 " Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them";
_lines pushBack "*/"; _lines pushBack "*/";
_lines pushBack format["_chanceHeliPatrol = blck_chanceHeliPatrol%1;",blck_MissionDifficulty]; _lines pushBack format["_chanceHeliPatrol = GMS_chanceHeliPatrol%1;",blck_MissionDifficulty];
_lines pushBack format["_noChoppers = blck_noPatrolHelis%1;",blck_MissionDifficulty]; _lines pushBack format["_noChoppers = GMS_noPatrolHelis%1;",blck_MissionDifficulty];
_lines pushBack format["_missionHelis = blck_patrolHelis%1;",blck_MissionDifficulty]; _lines pushBack format["_missionHelis = GMS_patrolHelis%1;",blck_MissionDifficulty];
_lines pushBack format["_chancePara = blck_chancePara%1;",blck_MissionDifficulty]; _lines pushBack format["_chancePara = GMS_chancePara%1;",blck_MissionDifficulty];
_lines pushBack format["_noPara = blck_noPara%1;",blck_MissionDifficulty]; _lines pushBack format["_noPara = GMS_noPara%1;",blck_MissionDifficulty];
_lines pushBack format["_paraTriggerDistance = 400;"]; _lines pushBack format["_paraTriggerDistance = 400;"];
_lines pushBack format["_paraSkill = '%1';",blck_MissionDifficulty]; _lines pushBack format["_paraSkill = '%1';",blck_MissionDifficulty];
_lines pushBack format["_chanceLoot = 0.0;"]; _lines pushBack format["_chanceLoot = 0.0;"];
_lines pushBack format["_paraLoot = blck_BoxLoot_%1;",blck_MissionDifficulty]; _lines pushBack format["_paraLoot = GMS_BoxLoot_%1;",blck_MissionDifficulty];
_lines pushBack format["_paraLootCounts = blck_lootCounts%1;",blck_MissionDifficulty]; _lines pushBack format["_paraLootCounts = GMS_lootCounts%1;",blck_MissionDifficulty];
_lines pushBack format['_missionLandscapeMode = "precise";']; _lines pushBack format['_missionLandscapeMode = "precise";'];
_linse pushBack "_useMines = blck_useMines;"; _linse pushBack "_useMines = GMS_useMines;";
_lines pushBack "_uniforms = blck_SkinList;"; _lines pushBack "_uniforms = GMS_SkinList;";
_lines pushBack "_headgear = blck_headgear;"; _lines pushBack "_headgear = GMS_headgear;";
_lines pushBack "_vests = blck_vests;"; _lines pushBack "_vests = GMS_vests;";
_lines pushBack "_backpacks = blck_backpacks;"; _lines pushBack "_backpacks = GMS_backpacks;";
_lines pushBack "_sideArms = blck_Pistols;"; _lines pushBack "_sideArms = GMS_Pistols;";
_lines pushBack format['_spawnCratesTiming = "%1";',blck_spawnCratesTiming]; _lines pushBack format['_spawnCratesTiming = "%1";',blck_spawnCratesTiming];
_lines pushBack format['_loadCratesTiming = "%1";',blck_loadCratesTiming]; _lines pushBack format['_loadCratesTiming = "%1";',blck_loadCratesTiming];
_lines pushBack format['_endCondition = "%1";',blck_missionEndCondition]; _lines pushBack format['_endCondition = "%1";',blck_missionEndCondition];
_lines pushBack format["_minNoAI = blck_MinAI_%1;",blck_MissionDifficulty]; _lines pushBack format["_minNoAI = GMS_MinAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_maxNoAI = blck_MaxAI_%1;",blck_MissionDifficulty]; _lines pushBack format["_maxNoAI = GMS_MaxAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_noAIGroups = blck_AIGrps_%1;",blck_MissionDifficulty]; _lines pushBack format["_noAIGroups = GMS_AIGrps_%1;",blck_MissionDifficulty];
_lines pushBack format["_noVehiclePatrols = blck_SpawnVeh_%1;",blck_MissionDifficulty]; _lines pushBack format["_noVehiclePatrols = GMS_SpawnVeh_%1;",blck_MissionDifficulty];
_lines pushBack format["_noEmplacedWeapons = blck_SpawnEmplaced_%1;",blck_MissionDifficulty]; _lines pushBack format["_noEmplacedWeapons = GMS_SpawnEmplaced_%1;",blck_MissionDifficulty];
_lines pushBack format["_minNoAI = blck_MinAI_%1;",blck_MissionDifficulty]; _lines pushBack format["_minNoAI = GMS_MinAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_maxNoAI = blck_MaxAI_%1;",blck_MissionDifficulty]; _lines pushBack format["_maxNoAI = GMS_MaxAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_noAIGroups = blck_AIGrps_%1;",blck_MissionDifficulty]; _lines pushBack format["_noAIGroups = GMS_AIGrps_%1;",blck_MissionDifficulty];
_lines pushBack format["_noVehiclePatrols = blck_SpawnVeh_%1;",blck_MissionDifficulty]; _lines pushBack format["_noVehiclePatrols = GMS_SpawnVeh_%1;",blck_MissionDifficulty];
_lines pushBack format["_noEmplacedWeapons = blck_SpawnEmplaced_%1;",blck_MissionDifficulty]; _lines pushBack format["_noEmplacedWeapons = GMS_SpawnEmplaced_%1;",blck_MissionDifficulty];
_lines pushBack "_submarinePatrols = 0; // Default number of submarine patrols at pirate missions"; _lines pushBack "_submarinePatrols = 0; // Default number of submarine patrols at pirate missions";
_lines pushBack "_scubaPatrols = 0; // Default number of scuba diver patrols at pirate missions"; _lines pushBack "_scubaPatrols = 0; // Default number of scuba diver patrols at pirate missions";
_lines pushBack ""; _lines pushBack "";
_lines pushBack '#include "\q\addons\custom_server\Compiles\Missions\GMS_fnc_missionSpawner.sqf";'; #include ;
_lines pushBack '#include"\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf";';
diag_log ["dynamic"] call blck3EDEN_fnc_versionInfo; diag_log ["dynamic"] call blck3EDEN_fnc_versionInfo;
uiNameSpace setVariable ["Display3DENCopy_data", ["dynamicMission.sqf", _lines joinString _lineBreak]]; uiNameSpace setVariable ["Display3DENCopy_data", ["dynamicMission.sqf", _lines joinString _lineBreak]];

View File

@ -0,0 +1,375 @@
/*
GMS 3DEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
private _m = "Staring exportDynamic.sqf";
systemChat _m;
diag_log _m;
#define oddsOfGarrison 0.67
#define maxGarrisonUnits 4
objectAtMissionCenter = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "objectAtMissionCenter");
blck_minAI = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "minAI");
blck_maxAI = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "maxAI");
minPatrolRadius = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "minPatroRadius");
maxPatrolRadius = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "maxPatrolRadius");
maxVehiclePatrolRadius = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "maxVehiclePatrolRadius");
aircraftPatrolRadius = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "aircraftPatrolRadius");
garisonMarkerObject = "Sign_Sphere100cm_F";
oddsOfGarison = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "oddsOfGarison");
maxGarrisonStatics = getNumber(configFile >> "CfgBlck3DEN" >> "configs" >> "maxGarrisonStatics");
typesGarrisonStatics = getArray(configFile >> "CfgBlck3DEN" >> "configs" >> "typesGarrisonStatics");
blck_MissionDifficulty = missionNamespace getVariable["blck_difficulty",getText(configFile >> "CfgBlck3DEN" >> "configs" >> "defaultMissionDifficulty")];
lootVehicleVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "lootVehicleVariableName");
buildingPosGarrisonVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "buildingPosGarrisonVariableName");
buildingATLGarrisionVariableName = getText(configFile >> "CfgBlck3DEN" >> "configs" >> "buildingATLGarrisionVariableName");
/*
Set Default Values Where not Defined using Menu Commands
*/
if (isNil "blck_dynamicStartMessage") then
{
blck_dynamicStartMessage = "TODO: Change approiately";
};
if (isNil "blck_dynamicEndMessage") then
{
blck_dynamicEndMessage = "TODO: Change Appropriately";
};
if (isNil "blck_dynamicCrateLoot") then
{
blck_dynamicCrateLoot = format["_crateLoot = blck_BoxLoot_%1;",blck_MissionDifficulty];
};
if (isNil "blck_dynamicCrateLootCounts") then {
blck_dynamicCrateLootCounts = format["_lootCounts = blck_lootCounts%1;",blck_MissionDifficulty];
};
if (isNil "blck_dynamicmarkerMissionName") then
{
blck_dynamicmarkerMissionName = "TODO: Update appropriately";
};
if (isNil "blck_spawnCratesTiming") then
{
blck_spawnCratesTiming = missionNamespace getVariable["blck_lootTiming","atMissionStartGround"];
};
if (isNil "blck_loadCratesTiming") then
{
blck_loadCratesTiming = missionNamespace getVariable["blck_loadTiming","atMissionStart"];
};
if (isNil "blck_missionEndCondition") then
{
blck_missionEndCondition = missionNamespace getVariable["blck_endState","allUnitsKilled"];
};
/*
Look for an object defined in CfgBlck3DEN \ configs \ that marks the center of the mission
and set the coords of the center if such an object is found
*/
all3DENEntities params ["_objects","_groups","_triggers","_systems","_waypoints","_markers","_layers","_comments"];
private _centerMarkers = _objects select {(typeOf _x) isEqualTo objectAtMissionCenter};
diag_log format["_centerMarkers = %1",_centerMarkers];
if !(_centerMarkers isEqualTo []) then
{
CENTER = getPosATL (_centerMarkers select 0);
diag_log format["CENTER defined by object %1 typeOf %2",_centerMarker,typeOf (_centerMarkers select 0)];
} else {
diag_log format["<WARNING> No object marking the center of the mission was found: using a flashing road cone or flag is recommended",getText(configFile >> "CfgVehicles" >> objectAtMissionCenter >> "displayName")];
diag_log format["Place such an object or a marker to ensure the mission is accurately stored and spawned"];
};
private["_m1","_markerPos","_markerType","_markerShape","_markerColor","_markerText","_markerBrush","_markerSize","_markerAlpha"];
/*
pull info on the first marker found
*/
if !(_markers isEqualTo []) then
{
_m1 = _markers select 0;
_markerType = (_m1 get3DENAttribute "itemClass") select 0;
//_markerShape = (_m1 get3DENAttribute "markerType") select 0;
_markerColor = (_m1 get3DENAttribute "baseColor") select 0;
_markerText = (_m1 get3DENAttribute "text") select 0;
if !(_markerText isEqualTo "") then {blck_dynamicmarkerMissionName = _markerText};
_markerBrush = (_m1 get3DENAttribute "brush") select 0;
_markerPos = (_m1 get3DENAttribute "position") select 0;
_markerSize = (_m1 get3DENAttribute "size2") select 0;
_markerText = (_m1 get3DENAttribute "text") select 0;
/*
use the coordinates of that marker as mission center of no object demarkating the center is found
*/
if ((isNil "CENTER") || (CENTER isEqualTo [0,0,0])) then {
CENTER = _markerPos;
diag_log format["Position of marker %1 used for position of CENTER = %2",_m1,CENTER];
};
if (count _markers > 1) then
{
diag_log format["<WARNING> More than one marker was found; only the first marker was processed"];
};
} else {
_markerType = "ELLIPSE";
//_markerShape = "ELLIPSE";
_markerSize = "[250,250]";
_markerColor = "COLORRED";
_markerBrush = "SOLID";
if !(_objects isEqualTo []) then
{
Mission_CENTER = getPosATL (_objects select 0);
} else {
Mission_CENTER = getPos (_objects select 0);
};
diag_log format["<WARNING> No marker was found, using default values and position for mission center position"];
};
if (Mission_CENTER isEqualTo [0,0,0]) then
{
Mission_CENTER = getPosATL (_staticObjects select 0);
};
diag_log format["Mission_CENTER = %1",Mission_CENTER];
private _garisonedBuildings = [];
private _garisonedStatics = [];
private _garisonedUnits = [];
private _landscape = _objects select{
!((_x get3DENAttribute "objectIsSimple") select 0) &&
((typeOf _x) isKindOf "Static" || ( (typeOf _x) isKindOf "ThingX")) &&
!((typeOf _x) isKindOf "ReammoBox_F") &&
!(_x getVariable["isLootContainer",false]) &&
!((typeOf _x) isKindOf "Helper_Base_F")
};
private _simpleObjects = _objects select {(_x get3DENAttribute "objectIsSimple") select 0};
diag_log format["_simpleObjects = %1",_simpleObjects];
private _missionSimpleObjects = [];
{
private _object = format[' ["%1",%2,%3]',
(_x get3DENAttribute "ItemClass") select 0,
((_x get3DENAttribute "position") select 0) vectorDiff CENTER,
((_x get3DENAttribute "rotation") select 0) select 2
];
diag_log format["_object = %1",_object];
_missionSimpleObjects pushBack _object;
} forEach _simpleObjects;
private _missionLootVehicles = [];
private _lootVehicles = _objects select {
((typeOf _x) isKindOf "AllVehicles") &&
!((typeOf _x) isKindOf "Man") &&
(_x getVariable["lootvehicle",false])
};
diag_log format["_lootVehicles = %1",_lootVehicles];
{
_missionLootVehicles pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER, '_crateLoot','_lootCounts',getDir _x];
} forEach _lootVehicles;
_missionPatrolVehicles = [];
private _patrolVehicles = _objects select {
(((typeOf _x) isKindOf "Car") || ((typeOf _x) isKindOf "Tank") || ((typeOf _x) isKindOf "Ship")) &&
!((typeOf _x) isKindOf "SDV_01_base_F") &&
!(_x getVariable["lootvehicle",false])
};
diag_log format["_patrolVehicles = %1",_patrolVehicles];
{
_missionPatrolVehicles pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x,maxVehiclePatrolRadius,maxVehiclePatrolRadius];
}forEach _patrolVehicles;
private _subPatrols = [];
private _subs = _objects select {
((typeOf _x) isKindOf "SDV_01_base_F") &&
!(_x in _lootVehicles)
};
diag_log format["_subs = %1",_subs];
{
_subPatrols pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x,maxVehiclePatrolRadius,maxVehiclePatrolRadius];
} forEach _subs;
private _airPatrols = [];
private _airVehicles = _objects select {
((typeOf _x) isKindOf "Air")
};
diag_log format["_airVehicles = %1",_airvehicles];
{
_airPatrols pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x,aircraftPatrolRadius,aircraftPatrolRadius];
} forEach _airVehicles;
private _staticWeapons = [];
private _statics = _objects select {
((typeOf _x) isKindOf "StaticWeapon") &&
!(_x in _garisonedStatics)
};
diag_log format["_statics = %1",_statics];
{
_staticWeapons pushBack format[' ["%1",%2,%3]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x];
} forEach _statics;
private _infantry = _units select {
!(surfaceIsWater (getPos _x)) &&
!(_x in _garisonedUnits)
};
diag_log format["_garisonedUnits = %1",_garisonedUnits];
diag_log format["_infantry = %1",_infantry];
private _units = [];
{
{
if (vehicle _x isEqualTo _x) then {_units pushBack _x};
} forEach (units _x);
} forEach _groups;
_infantryGroups = [];
{
_infantryGroups pushBack format[' [%1,%2,%3,"%4",%5,%6]',(getPosATL _x) vectorDiff CENTER,blck_minAI,blck_maxAI,blck_MissionDifficulty,minPatrolRadius,maxPatrolRadius];
} forEach _units;
private _scuba = _units select {
(surfaceIsWater (getPos _x)) &&
!([_x] call blck3DEN_fnc_isInside)
// checck _x get3EDENAtribute "name" != "garrison";
};
diag_log format["_scuba = %1",_scuba];
private _scubaGroups = [];
{
_scubaGroups pushBack format[' [%1,%2,%3,"%4",%5,%6]',(getPosATL _x) vectorDiff CENTER,blck_minAI,blck_maxAI,blck_MissionDifficulty,minPatrolRadius,maxPatrolRadius];
} forEach _scuba;
private _lootContainers = [];
private _ammoBoxes = _objects select { // "ReammoBox_F"
(((typeOf _x) isKindOf "ReammoBox") || ((typeOf _x) isKindOf "ReammoBox_F"))
};
diag_log format["_ammoBoxes = %1",_ammoboxes];
{
_lootContainers pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER, '_crateLoot','_lootCounts',getDir _x];
}forEach _ammoBoxes;
private _missionCoords = [];
if (toLower(missionNamespace getVariable["blck_missionLocations","random"]) isEqualTo "fixed") then
{
_missionCoords pushBack Mission_CENTER;
};
private _lines = [];
private _lineBreak = toString [10];
_lines pushBack "/*";
_lines pushBack " Dynamic Mission Generated";
_lines pushBack " Using 3DEN Plugin for blckeagls";
_lines pushBack format[" %1",['dynamic'] call blck3DEN_fnc_versionInfo];
_lines pushBack " By Ghostrider-GRG-";
_lines pushBack "*/";
_lines pushBack "";
/*
#include "\GMS\Compiles\Init\GMS_defines.hpp"
#include "\GMS\Missions\GMS_privateVars.sqf";
*/
_lines pushBack '#include "\GMS\Compiles\Init\GMS_defines.hpp"';
_lines pushBack '#include "\GMS\Missions\GMS_privateVars.sqf" ';
_lines pushBack "";
_lines pushBack format["_defaultMissionLocations = %1;",_missionCoords];
_lines pushBack format["_markerType = %1",format['["%1",%2,"%3"];',_markerType,_markerSize,_markerBrush]];
_lines pushBack format['_markerColor = "%1";',_markerColor];
_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_MissionDifficulty];
_lines pushBack format['_lootCounts = blck_lootCounts%1;',blck_MissionDifficulty];
_lines pushBack "";
_lines pushBack "_garrisonedBuildings_BuildingPosnSystem = [";
_lines pushBack (_garisonedPos joinString (format[",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_garrisonedBuilding_ATLsystem = [";
_lines pushBack (_garrisonATL joinString (format[",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_missionLandscape = [";
_lines pushback (_missionLandscape joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_simpleObjects = [";
_lines pushback (_missionSimpleObjects joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_missionLootVehicles = [";
_lines pushBack (_missionLootVehicles joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_missionPatrolVehicles = [";
_lines pushback (_missionPatrolVehicles joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_submarinePatrolParameters = [";
_lines pushback (_subPatrols joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_airPatrols = [";
_lines pushback (_airPatrols joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_missionEmplacedWeapons = [";
_lines pushback (_staticWeapons joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_missionGroups = [";
_lines pushback (_infantryGroups joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_scubaGroupParameters = [";
_lines pushback (_scubaGroups joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_lines pushBack "_missionLootBoxes = [";
_lines pushback (_lootContainers joinString (format [",%1", _lineBreak]));
_lines pushBack "];";
_lines pushBack "";
_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 = GMS_chanceHeliPatrol%1;",blck_MissionDifficulty];
_lines pushBack format["_noChoppers = GMS_noPatrolHelis%1;",blck_MissionDifficulty];
_lines pushBack format["_missionHelis = GMS_patrolHelis%1;",blck_MissionDifficulty];
_lines pushBack format["_chancePara = GMS_chancePara%1;",blck_MissionDifficulty];
_lines pushBack format["_noPara = GMS_noPara%1;",blck_MissionDifficulty];
_lines pushBack format["_paraTriggerDistance = 400;"];
_lines pushBack format["_paraSkill = '%1';",blck_MissionDifficulty];
_lines pushBack format["_chanceLoot = 0.0;"];
_lines pushBack format["_paraLoot = GMS_BoxLoot_%1;",blck_MissionDifficulty];
_lines pushBack format["_paraLootCounts = GMS_lootCounts%1;",blck_MissionDifficulty];
_lines pushBack format['_missionLandscapeMode = "precise";'];
_linse pushBack "_useMines = GMS_useMines;";
_lines pushBack "_uniforms = GMS_SkinList;";
_lines pushBack "_headgear = GMS_headgear;";
_lines pushBack "_vests = GMS_vests;";
_lines pushBack "_backpacks = GMS_backpacks;";
_lines pushBack "_sideArms = GMS_Pistols;";
_lines pushBack format['_spawnCratesTiming = "%1";',blck_spawnCratesTiming];
_lines pushBack format['_loadCratesTiming = "%1";',blck_loadCratesTiming];
_lines pushBack format['_endCondition = "%1";',blck_missionEndCondition];
_lines pushBack format["_minNoAI = GMS_MinAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_maxNoAI = GMS_MaxAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_noAIGroups = GMS_AIGrps_%1;",blck_MissionDifficulty];
_lines pushBack format["_noVehiclePatrols = GMS_SpawnVeh_%1;",blck_MissionDifficulty];
_lines pushBack format["_noEmplacedWeapons = GMS_SpawnEmplaced_%1;",blck_MissionDifficulty];
_lines pushBack format["_minNoAI = GMS_MinAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_maxNoAI = GMS_MaxAI_%1;",blck_MissionDifficulty];
_lines pushBack format["_noAIGroups = GMS_AIGrps_%1;",blck_MissionDifficulty];
_lines pushBack format["_noVehiclePatrols = GMS_SpawnVeh_%1;",blck_MissionDifficulty];
_lines pushBack format["_noEmplacedWeapons = GMS_SpawnEmplaced_%1;",blck_MissionDifficulty];
_lines pushBack "_submarinePatrols = 0; // Default number of submarine patrols at pirate missions";
_lines pushBack "_scubaPatrols = 0; // Default number of scuba diver patrols at pirate missions";
_lines pushBack "";
_lines pushBack '#include"\GMS\Compiles\Missions\GMS_fnc_missionSpawner.sqf";';
diag_log ["dynamic"] call blck3EDEN_fnc_versionInfo;
uiNameSpace setVariable ["Display3DENCopy_data", ["dynamicMission.sqf", _lines joinString _lineBreak]];
(findDisplay 313) createdisplay "Display3DENCopy";
private _m = format["exportDynamic.sqf: reached line 367"];
systemChat _m;
diag_log _m;
_m = "Exported Mission copied to clipboard";
systemChat _m;
diag_log _m;

View File

@ -0,0 +1,6 @@
diag_log format["fn_initialize loaded at %1",diag_tickTime];

View File

@ -16,7 +16,7 @@
*/ */
class CfgPatches class CfgPatches
{ {
class blckeagls_3den class GMS_3den
{ {
requiredVersion = 0.1; requiredVersion = 0.1;
requiredAddons[] = {3DEN}; requiredAddons[] = {3DEN};
@ -37,8 +37,8 @@ class CfgFunctions
class Export class Export
{ {
file = "3EDEN_plugin\Export"; file = "3EDEN_plugin\Export";
class exportDynamic {}; //class exportDynamic {};
class exportStatic {}; //class exportStatic {};
}; };
class Core class Core
@ -53,8 +53,12 @@ class CfgFunctions
class display {}; class display {};
class displayGarrisonMarkers {}; class displayGarrisonMarkers {};
class displayLootMarkers {}; class displayLootMarkers {};
class exportDynamic {};
class getGarrisonInfo {}; class getGarrisonInfo {};
class getLootVehicleInfo {}; class getLootVehicleInfo {};
class initialize {
postInit = 1;
};
class isInside {}; class isInside {};
class loadCratesTiming {}; class loadCratesTiming {};
class onDrag {}; class onDrag {};
@ -151,7 +155,7 @@ class display3DEN
class Blackeagls class Blackeagls
{ {
text = "Blackeagls"; text = "GMS";
items[] = { items[] = {
"blckAbout3EDENPlugin", "blckAbout3EDENPlugin",
"blckSeparator", "blckSeparator",
@ -171,7 +175,7 @@ class display3DEN
//"blck_getLootVehicleInfo", //"blck_getLootVehicleInfo",
//"blck_getMissionLootVehicleInfo", //"blck_getMissionLootVehicleInfo",
"blckSeparator", "blckSeparator",
"blckSaveStaticMission", //"blckSaveStaticMission",
"blckSaveDynamicMission", "blckSaveDynamicMission",
"blckSeparator", "blckSeparator",
"blck3EDENPluginHelp" "blck3EDENPluginHelp"
@ -180,7 +184,7 @@ class display3DEN
class blckAbout3EDENPlugin class blckAbout3EDENPlugin
{ {
text = "3EDEN Plugin Version 1.0 for BlckEagls by Ghostrider-GRG-"; text = "3EDEN Plugin Version 1.0 for GMS by Ghostrider-GRG-";
action = "call blck3EDEN_fnc_about"; action = "call blck3EDEN_fnc_about";
}; };
@ -469,7 +473,7 @@ class display3DEN
class blckSaveDynamicMission class blckSaveDynamicMission
{ {
text = "Save Dynamic Mission"; text = "Save Dynamic Mission";
action = "call blck3DEN_fnc_exportDynamic"; action = "systemChat 'saving dynamic mission';call blck3DEN_fnc_exportDynamic";
picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\save_ca.paa"; picture = "\a3\3DEN\Data\Displays\Display3DEN\ToolBar\save_ca.paa";
}; };