mirror of
https://github.com/Ghostrider-DbD-/GMS_RC.git
synced 2024-08-30 16:02:11 +00:00
Fixed multiple issues preventing proper export
This commit is contained in:
parent
48280a933c
commit
ed17380a83
Binary file not shown.
@ -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]];
|
375
@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_exportDynamic.sqf
Normal file
375
@blckeagls_EDEN/addons/3EDEN_plugin/Core/fn_exportDynamic.sqf
Normal 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;
|
@ -0,0 +1,6 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
diag_log format["fn_initialize loaded at %1",diag_tickTime];
|
@ -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";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user