Updates to plugin to build 5

This commit is contained in:
Chris Cardozo 2020-09-19 13:29:10 -04:00
parent c083f4d86b
commit f937d9987f
30 changed files with 629 additions and 346 deletions

View File

@ -61,4 +61,4 @@ if (toUpper(_markerType) in ["ELLIPSE","RECTANGLE"]) then // not an Icon ....
//diag_log format["_fnc_createMarkers: case of ICON: _markers = %1",_markers]; //diag_log format["_fnc_createMarkers: case of ICON: _markers = %1",_markers];
}; };
_markers _markers

View File

@ -99,6 +99,7 @@ while { !_validspot} do
_count = _count - 1; _count = _count - 1;
_slope = _slope + 0.02; _slope = _slope + 0.02;
uiSleep 0.1; // to give the server a chance to handle other jobs for a moment uiSleep 0.1; // to give the server a chance to handle other jobs for a moment
diag_log format["_findSafePosn: _count = %1 | _slope = %2 | _coords = %3",_count,_slope,_coords];
} else { } else {
//uiSleep 1; //uiSleep 1;
@ -175,6 +176,7 @@ while { !_validspot} do
}; };
}; };
//diag_log format["_fnc_findSafePosn: _coords = %1 | _flatCoords = %2 | _searchCenter = %3 | _angle %4 | _count = %5 | _validSpot = %6",_coords,_flatCoords,_searchCenter,_angle,_count,_validspot]; //diag_log format["_fnc_findSafePosn: _coords = %1 | _flatCoords = %2 | _searchCenter = %3 | _angle %4 | _count = %5 | _validSpot = %6",_coords,_flatCoords,_searchCenter,_angle,_count,_validspot];
}; };

View File

@ -22,6 +22,10 @@ params["_center",
["_sideArms",[]] ["_sideArms",[]]
]; ];
{
diag_log format["_fnc_garrisonBuilding_relPosSystem: _this %1 = %2",_forEachIndex,_this select _forEachIndex];
}forEach _this;
if (_weaponList isEqualTo []) then {_weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout}; if (_weaponList isEqualTo []) then {_weaponList = [_aiDifficultyLevel] call blck_fnc_selectAILoadout};
if (_sideArms isEqualTo []) then {_sideArms = [_aiDifficultyLevel] call blck_fnc_selectAISidearms}; if (_sideArms isEqualTo []) then {_sideArms = [_aiDifficultyLevel] call blck_fnc_selectAISidearms};
if (_uniforms isEqualTo []) then {_uniforms = [_aiDifficultyLevel] call blck_fnc_selectAIUniforms}; if (_uniforms isEqualTo []) then {_uniforms = [_aiDifficultyLevel] call blck_fnc_selectAIUniforms};

View File

@ -8,17 +8,16 @@ params["_u",["_category","House"]];
private _pos = getPosASL _u; private _pos = getPosASL _u;
private _building = objNull; private _building = objNull;
private _surfacesAbove = lineInterSectsSurfaces [_pos, [_pos select 0, _pos select 1, (_pos select 2) + 100],_u,_u,true,10]; private _surfacesAbove = lineInterSectsSurfaces [_pos, [_pos select 0, _pos select 1, (_pos select 2) + 100],_u,_u,true,10];
//diag_log format["_surfacesAbove = %1",_surfacesAbove];
{ {
if ((_x select 2) isKindOf _category && !(_x isEqualTo _u)) exitWith {_building = (_x select 2)}; if ((_x select 2) isKindOf _category && !(_x isEqualTo _u)) exitWith {_building = (_x select 2)};
} forEach _surfacesAbove; } forEach _surfacesAbove;
if (_building isEqualTo objNull) then if (_building isEqualTo objNull) then
{ {
private _surfacesBelow = lineInterSectsSurfaces [_pos, [_pos select 0, _pos select 1, (_pos select 2) - 10],_u,_u,true,100]; private _surfacesBelow = lineInterSectsSurfaces [_pos, [_pos select 0, _pos select 1, (_pos select 2) - 10],_u,_u,true,100];
//diag_log format["_surfacesBelow = %1",_surfacesBelow];
{ {
if ((_x select 2) isKindOf _category && !(_x isEqualTo _u)) exitWith {_building = (_x select 2)}; if ((_x select 2) isKindOf _category && !(_x isEqualTo _u)) exitWith {_building = (_x select 2)};
} forEach _surfacesBelow; } forEach _surfacesBelow;
}; };
//diag_log format["_fn_buildingContainer: _u = %1 | _building = %2",_u,_building];
_building _building

View File

@ -1,9 +1,12 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_building","_center"];
private _building = _this select 0;
private _CENTER = _this select 1;
private _pos = getPosATL _building; private _pos = getPosATL _building;
private _garrisonedBuildings = missionNamespace getVariable["blck_garrisonedBuildings",[]]; private _garrisonedBuildings = missionNamespace getVariable["blck_garrisonedBuildings",[]];
private _count = 0; private _count = 0;
@ -13,6 +16,7 @@ private _buildingGarrisonATL = [];
private _configuredStatics = []; private _configuredStatics = [];
private _configuredUnits = []; private _configuredUnits = [];
private _statics = nearestObjects[getPosATL _building,["StaticWeapon"],sizeOf (typeOf _building)]; private _statics = nearestObjects[getPosATL _building,["StaticWeapon"],sizeOf (typeOf _building)];
private _units = nearestObjects[getPosATL _building,["Man"],sizeOf (typeOf _building)] select {(vehicle _x) isEqualTo _x};
private _lineBreak = toString [10]; private _lineBreak = toString [10];
{ {
@ -20,11 +24,9 @@ private _lineBreak = toString [10];
{ {
private _isInside = [_x] call blck3DEN_fnc_isInside; private _isInside = [_x] call blck3DEN_fnc_isInside;
private _container = [_x] call blck3DEN_fnc_buildingContainer; private _container = [_x] call blck3DEN_fnc_buildingContainer;
//diag_log format["evaluating building %1 static %2 isInside = %3 container = %4",_building,_x,_isInside,_container];
if (_isInside && (_container isEqualTo _building)) then if (_isInside && (_container isEqualTo _building)) then
{ {
_configuredStatics pushBackUnique _x; _configuredStatics pushBackUnique _x;
//diag_log format["Building %1 | buildingPos %2 | _pos %3",typeOf _x, getPosATL _x,_pos];
_staticsText pushBack [format['%1',typeOf _x],(getPosATL _x) vectorDiff (_pos),getDir _x]; _staticsText pushBack [format['%1',typeOf _x],(getPosATL _x) vectorDiff (_pos),getDir _x];
}; };
}; };
@ -32,7 +34,6 @@ private _lineBreak = toString [10];
_staticsText joinString _lineBreak; _staticsText joinString _lineBreak;
// Since this is run from the editor we do not have to worry about units running off from their original locations // Since this is run from the editor we do not have to worry about units running off from their original locations
private _units = nearestObjects[getPosATL _building,["Man"],sizeOf (typeOf _building)] select {(vehicle _x) isEqualTo _x};
{ {
if !(_x in _configuredUnits) then if !(_x in _configuredUnits) then
{ {
@ -47,14 +48,12 @@ private _units = nearestObjects[getPosATL _building,["Man"],sizeOf (typeOf _buil
} forEach _units; } forEach _units;
_unitsText joinString _lineBreak; _unitsText joinString _lineBreak;
//diag_log format["_staticsText for building %1 = %2",_building,_staticsText];
//diag_log format["_unitsText for building %1 = %2",_building,_unitsText];
if !((_staticsText isEqualTo []) && (_unitsText isEqualTo [])) then if !((_staticsText isEqualTo []) && (_unitsText isEqualTo [])) then
{ {
_buildingGarrisonATL = [ _buildingGarrisonATL = [
format["%1", format["%1",
typeOf _building], typeOf _building],
(getPosATL _building) vectorDiff _pos, (getPosATL _building) vectorDiff _center,
getDir _building, getDir _building,
true, true,
true, true,
@ -62,5 +61,12 @@ if !((_staticsText isEqualTo []) && (_unitsText isEqualTo [])) then
_unitsText _unitsText
]; ];
}; };
//diag_log format["_buildingGarrisonATL = %1",_buildingGarrisonATL];
[_buildingGarrisonATL,_configuredStatics,_configuredUnits] private "_return";
if (_buildingGarrisonATL isEqualTo []) then
{
_return = [];
} else {
_return = [_buildingGarrisonATL,_configuredStatics,_configuredUnits];
};
_return

View File

@ -0,0 +1,19 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
private _marker = create3DENEntity ["object","Sign_Arrow_Large_Yellow_F",getPos _object];
private _markerPos = getPos _object;
private _bbr = boundingBoxReal _object;
_p1 = _bbr select 0;
_p2 = _bbr select 1;
_height = abs ((_p2 select 2) - (_p1 select 2));
_marker setPosATL [_markerPos select 0, _markerPos select 1, (_markerPos select 2) + _height];
_object setVariable ["marker",_marker];
true

View File

@ -0,0 +1,20 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
private _marker = create3DENEntity ["object","Sign_Arrow_Large_Green_F",getPos _object];
private _markerPos = getPos _object;
private _bbr = boundingBoxReal _object;
_p1 = _bbr select 0;
_p2 = _bbr select 1;
_height = abs ((_p2 select 2) - (_p1 select 2));
_marker setPosATL [_markerPos select 0, _markerPos select 1, (_markerPos select 2) + _height];
_object setVariable ["marker",_marker];
true

View File

@ -1,4 +1,9 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_message"]; params["_message"];
// As found in fn_3DENExportTerrainBuilder.sqf // As found in fn_3DENExportTerrainBuilder.sqf

View File

@ -0,0 +1,30 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_state"];
all3DENEntities params ["_objects"];
_objects = _objects select {_x getVariable["garrisoned",false]};
missionNameSpace setVariable["blck_displayGarrisonMarkerOn",_state];
{
if (_state) then // if the request was to show the markers then ....
{
private _marker = _x getVariable["marker",""];
diag_log format["_x = %1 | _marker = %2",_x,_marker];
if (_marker isEqualto "") then
{
[_x] call blck3DEN_fnc_createGarrisonMarker;
[_x] call blck3DEN_fnc_setEventHandlers;
};
} else {
blck_displayGarrisonMarkerOn = false;
if !(_x getVariable["marker",""] isEqualTo "") then
{
[_x] call blck3DEN_fnc_removeMarker;
};
};
} forEach _objects;

View File

@ -0,0 +1,27 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_state"];
all3DENEntities params ["_objects"];
_objects = _objects select {_x getVariable ["lootVehicle",false]};
missionNamespace setVariable["blck_displayLootMarkerOn",_state];
{
if (_state) then // if the request was to show the markers then ....
{
if (_x getVariable["marker",""] isEqualto "") then
{
[_x] call blck3DEN_fnc_createLootMarker;
[_x] call blck3DEN_fnc_setEventHandlers;
};
} else {
if !(_x getVariable["marker",""] isEqualTo "") then
{
[_x] call blck3DEN_fnc_removeMarker;
};
};
} forEach _objects;

View File

@ -1,4 +1,9 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_end"]; params["_end"];
missionNamespace setVariable["blck_endMessage",_end]; missionNamespace setVariable["blck_endMessage",_end];

View File

@ -1,19 +1,29 @@
/*
private _object = get3DENSelected "object" select {((typeOf _x) isKindOf "House") && [_x] call BIS_fnc_isBuildingEnterable}; blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
private _objects = get3DENSelected "object";
private "_message"; private "_message";
switch (count _objecct) do diag_log format["getGarrisonInfo: _object = %1",format["%1",_object]];
if (_objects isEqualTo []) then
{ {
case 0: {_message = "No Enterable Buildings selected"}; _message = "No Buildings Selected";
case 1: { } else {
if (_object getVariable["garrisoned",false]) then if (count _objects == 1) then
{ {
_message = format["Building %1 IS Garrisoned",typeOf _object]; if ((_objects select 0) getVariable["garrisoned",false]) then
{
_message = format["Building %1 IS Garrisoned",typeOf (_objects select 0)];
} else { } else {
_message = format["Building %1 is NOT Garrisoned",typeOf _object]; _message = format["Building %1 is NOT Garrisoned",typeOf (_objects select 0)];
}; };
}; } else {
default {_message = "Select a single building then try again"}; _message = format["Select a single building then try again"];
}; };
[_message,"Status"] call BIS_fnc_3DENShowMessage; };
systemChat _message; systemChat _message;
diag_log _message; diag_log _message;
[_message,"Status"] call BIS_fnc_3DENShowMessage;

View File

@ -1,22 +1,31 @@
private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car"}; /*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car" || (typeOf _x) isKindOf "Ship" || (typeOf _x) isKindOf "ThingX"};
private "_message"; private "_message";
switch (count _objects) do if (_objects isEqualTo []) then
{ {
case 0: {_message = "Select a vehicle and try again"}; _message = "No Cars/Ships/ThingX Selected";
case 1: { } else {
if (count _objects == 1) then
{
if ((_objects select 0) getVariable["lootvehicle",false]) then if ((_objects select 0) getVariable["lootvehicle",false]) then
{ {
_message = format["Vehicle %1 IS a loot vehicle",typeOf (_objects select 0)]; _message = format["Vehicle %1 IS a Loot Vehicle",typeOf (_objects select 0)];
} else { } else {
_message = format["Vehicle %1 is NOT a loot vehicle",typeOf (_objects select 0)]; _message = format["Vehicle %1 is NOT a Loot Vehicle",typeOf (_objects select 0)];
}; };
} else {
_message = format["% Vehicles Selected. Select a single vehicle then try again",count _objects];
}; };
default {_message = "Select a single vehicle and try again"};
}; };
[_message,"Status"] call BIS_fnc_3DENShowMessage;
systemChat _message; systemChat _message;
diag_log _message; diag_log _message;
[_message,"Status"] call BIS_fnc_3DENShowMessage;

View File

@ -13,5 +13,7 @@ missionNamespace setVariable["blck_endState",getText(configFile >> "CfgBlck3DEN"
missionNamespace setVariable["blck_startMessage","TODO: Add a start message"]; missionNamespace setVariable["blck_startMessage","TODO: Add a start message"];
missionNamespace setVariable["blck_endMessage","TODO: Add an end message"]; missionNamespace setVariable["blck_endMessage","TODO: Add an end message"];
missionNamespace setVariable["blck_missionLocations","random"]; missionNamespace setVariable["blck_missionLocations","random"];
missionNameSpace setVariable["blck_displayGarrisonMarkerOn",false];
missionNamespace setVariable["blck_displayLootMarkerOn",false];
diag_log format["Mission Attributes Initialized for blckeagls at time %1",diag_tickTime]; diag_log format["Mission Attributes Initialized for blckeagls at time %1",diag_tickTime];

View File

@ -8,5 +8,4 @@
private _u = _this select 0; private _u = _this select 0;
private _isInfantry = if ((_u isKindOf "Man") && (vehicle _u) isEqualTo _u) then {true} else {false}; private _isInfantry = if ((_u isKindOf "Man") && (vehicle _u) isEqualTo _u) then {true} else {false};
//diag_log format["_fn_isInfantry: _isInfantry = %1",_isInfantry];
_isInfantry _isInfantry

View File

@ -0,0 +1,13 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
if !(_object getVariable["marker",""] isEqualTo "") then
{
private _marker = _object getVariable["marker",""];
private _markerPos = getPosATL _object;
_marker setPosATL[_markerPos select 0, _markerPos select 1, (_markerPos select 2) + sizeOf _object];
};

View File

@ -0,0 +1,28 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
switch (true) do
{
case ((typeOf _object) isKindOf "ThingX" && blck_displayLootMarkerOn): {
if !(_object getVariable["lootVehicle",""] isEqualTo "") then
{
[_object] call blck3DEN_fnc_createLootMarker;
[_object] call blck3DEN_fnc_setEventHandlers;
};
};
case ((typeOf _object) isKindOf "House" && blck_displayGarrisonMarkerOn): {
if !(_object getVariable["garrisoned",""] isEqualTo "") then
{
[_object] call blck3DEN_fnc_createGarrisonMarker;
[_object] call blck3DEN_fnc_setEventHandlers;
};
};
};

View File

@ -0,0 +1,14 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
if !(_object getvariable["marker",""] isEqualTo "") then
{
[_object] call blck3DEN_fnc_removeMarker;
_object setVariable ["marker",nil];
//_object setVariable ["lootVehicle",nil];
//_object setVariable ["garrisoned",nil];
};

View File

@ -0,0 +1,18 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
private _marker = _object getVariable["marker",""];
if !(_marker isEqualTo "") then
{
private _id = get3DENEntityID _marker;
delete3DENEntities [_id];
_object setVariable["marker",nil];
};
true

View File

@ -0,0 +1,14 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_object"];
_object removeAllEventHandlers "UnregisteredFromWorld3DEN";
_object removeAllEventHandlers "RegisteredToWorld3DEN";
_object removeAllEventHandlers "Dragged3DEN";
_object addEventHandler ["Dragged3DEN",{_this call blck3DEN_fnc_onDrag;}];
_object addEventHandler ["UnregisteredFromWorld3DEN",{_this call blck3DEN_fnc_onUnregister;}];
_object addEventHandler ["RegisteredToWorld3DEN", {_this call blck3DEN_fnc_onRegistered;}];

View File

@ -1,26 +1,47 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
params["_state"]; params["_state"];
private _markersStateON = missionNamespace getVariable["blck_displayGarrisonMarkerOn",false];
[false] call blck3DEN_fnc_displayGarrisonMarkers;
private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "House"}; private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "House"};
private "_message";
if (_objects isEqualTo []) exitWith if (_objects isEqualTo []) exitWith
{ {
_m = "Select one or more buildings to configure"; _message = "Select one or more buildings to configure";
systemChat _m; systemChat _message;
diag_log _message;
[_message,"Status"] call BIS_fnc_3DENShowMessage;
}; };
{ {
if ([_x] call BIS_fnc_isBuildingEnterable) then if ([_x] call BIS_fnc_isBuildingEnterable) then
{ {
_x setVariable["garrisoned",_state]; _x setVariable["garrisoned",_state];
_m = format["building of type %1 had garrison state set to %2",typeOf _x,_state]; _message = format["building of type %1 had garrison state set to %2",typeOf _x,_state];
systemChat _m; systemChat _message;
diag_log _m; diag_log _message;
if (blck_displayGarrisonMarkerOn) then
{
[_x] call blck3DEN_fnc_createGarrisonedMarker;
[_x] call blck3DEN_fnc_setEventHandlers;
};
} else { } else {
_m = format["Object type %1 ignored: only enterable buildings can be garrisoned",typeOf _x]; _message = format["Object type %1 ignored: only enterable buildings can be garrisoned",typeOf _x];
systemChat _x; systemChat _message;
diag_log _x; diag_log _message;
[_message,"Status"] call BIS_fnc_3DENShowMessage;
}; };
} forEach _objects; } forEach _objects;
_m = format["Garrison State of %1 buildings updated to %2",count _objects,_state]; _message = format["Garrison State of %1 buildings updated to %2",count _objects,_state];
systemChat _m; systemChat _message;
if (_markersStateON) then
{
[true] call blck3DEN_fnc_displayGarrisonMarkers;
};
[_message,"Status"] call BIS_fnc_3DENShowMessage;

View File

@ -1,22 +1,49 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
sets a flag stored through setVariable for each selected object that meets the filter criteria
only objects of type "Car"or "ThingX" are allowed.
*/
params["_state"]; params["_state"];
private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car"}; private _markerStateON = missionNameSpace getVariable["blck_displayLootMarkerOn",false];
[false] call blck3DEN_fnc_displayLootMarkers;
private "_message";
private _objects = get3DENSelected "object" select {(typeOf _x) isKindOf "Car" || (typeOf _x) isKindOf "Ship"}; //
if (_objects isEqualTo []) exitWith if (_objects isEqualTo []) exitWith
{ {
_m = "Select one or more vehicles to configure"; _message = "Select one or more vehicles or items of type ThingX to configure";
systemChat _m; systemChat _message;
}; };
{ {
if ((typeOf _x) isKindOf "Car") then if ((typeOf _x) isKindOf "Car" || (typeOf _x) isKindOf "Ship") then
{ {
_x setVariable["lootvehicle",_state]; _x setVariable["lootvehicle",_state];
_m = format["Vehicle type %1 set to Loot Vehilce = %1",typeOf _x,_state]; if (blck_displayLootMarkerOn && _state) then
systemChat _m; {
diag_log _m; [_x] call blck3DEN_fnc_createLootMarker;
[_x] call blck3DEN_fnc_setEventHandlers;
} else {
if !(_state) then
{
[_x] call blck3DEN_fnc_removeLootMarker;
};
};
_message = format["Vehicle type %1 set to Loot Vehicle = %1",typeOf _x,_state];
systemChat _message;
diag_log _message;
} else { } else {
_m = format["Object with type %1 ignored:: only objects of type Car can be used as loot vehicles",typeOf _x]; _message = format["Object with type %1 ignored:: only objects of type Car can be used as loot vehicles",typeOf _x];
diag_log _m; diag_log _message;
systemChat _m; systemChat _message;
}; };
} forEach _objects; } forEach _objects;
_m = format["Loot Vehicle State of %1 vehicles updated to %2",count _objects,_state];
if (_markerStateON) then
{
[true] call blck3DEN_fnc_displayLootMarkers;
};
_message = format["Loot Vehicle State of %1 objects updated to %2",count _objects,_state];
systemChat _m; systemChat _m;

View File

@ -1,4 +1,9 @@
/*
blckeagls 3EDEN Editor Plugin
by Ghostrider-GRG-
Copyright 2020
*/
private _objects = get3DENSelected "object"; private _objects = get3DENSelected "object";
private _markers select {(typeOf _x) = _markerType}; private _markers select {(typeOf _x) = _markerType};
{ {

View File

@ -1,51 +1,148 @@
class CfgVehicles
{
class Object
{
class AttributeCategories
{
class LandVehicle;
class blckLandVehicle: LandVehicle;
{
class Attributes
{
class blckLootVehicle
{
// https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes#Scenario
displayName = "Loot Vehicle";
toolTip = "Enable/Disable Use as Loot Vehicle";
property = "blckLootVehicle";
control = "Edit";
expression = "_this setVariable['%s',_value];";
defaultValue = 'false';
unique = 0;
validate = "BOOL";
typeName = "BOOL";
};
};
};
class Static; /*
class blckHouse: Static Dynamic Mission Generated
{ Using 3DEN Plugin for blckeagls
class Attributes dynamicMission.sqf generated:: blckeagls 3DEN Plugin Version 0 : Build 5 : Build Date 09/19/20
{ By Ghostrider-GRG-
class blckGarison */
{
// https://community.bistudio.com/wiki/Eden_Editor:_Configuring_Attributes#Scenario #include "\q\addons\custom_server\Configs\blck_defines.hpp";
displayName = "Garison Building"; #include "\q\addons\custom_server\Missions\privateVars.sqf";
toolTip = "Enable/Disable ?Garisoned Building";
property = "blckGarison"; _defaultMissionLocations = [];
control = "Edit"; _markerType = ["ELLIPSE",[250,250],"SOLID"];
expression = "_this setVariable['%s',_value];"; _markerColor = "COLORRED";
defaultValue = 'false'; _startMsg = "TODO: Change approiately";
unique = 0; _endMsg = "TODO: Change Appropriately";
validate = "BOOL"; _markerMissionName = "TODO: Update appropriately";
typeName = "BOOL"; _crateLoot = blck_BoxLoot_Blue;
}; _lootCounts = blck_lootCountsBlue;
};
}; _garrisonedBuildings_BuildingPosnSystem = [
};
}; ];
};
_garrisonedBuilding_ATLsystem = [
["Land_Cargo_Patrol_V3_F",[0,0,0],45,true,true,[["O_GMG_01_high_F",[0.533447,-1.45142,4.34404],229.902]],[]],
["Land_Cargo_Patrol_V3_F",[0,0,0],90,true,true,[["O_GMG_01_high_F",[-0.669434,-1.43628,4.34404],272.772]],[]],
["Land_Cargo_HQ_V3_F",[0,0,0],269.183,true,true,[["O_Mortar_01_F",[4.13428,-1.79297,3.12652],0]],[[[-1.19116,2.72095,3.12796],0]]],
["Land_Cargo_Patrol_V3_F",[0,0,0],179.749,true,true,[["O_GMG_01_high_F",[-1.22046,0.542969,4.34404],0]],[]]
];
_missionLandscape = [
["Land_HBarrier_Big_F",[-1.98413,-1.92993,-4.76837e-007],45,true,true],
["Land_HBarrier_Big_F",[3.98779,-7.51294,-4.76837e-007],45,true,true],
["Land_HBarrier_Big_F",[-7.52954,12.9387,-4.76837e-007],270,true,true],
["Land_HBarrier_Big_F",[-7.65234,21.4033,-4.76837e-007],90,true,true],
["Land_HBarrier_5_F",[24.321,15.1624,-4.76837e-007],270,true,true],
["Land_HBarrier_Big_F",[25.2722,-3.87012,-4.76837e-007],328.551,true,true],
["Land_HBarrier_Big_F",[20.9385,18.7275,-4.76837e-007],180,true,true],
["Land_HBarrier_Big_F",[18.2209,-8.25903,-4.76837e-007],330,true,true],
["Land_HBarrier_Big_F",[10.5823,-10.2063,-4.76837e-007],0,true,true],
["Land_HBarrier_Big_F",[34.0476,6.36035,-4.76837e-007],299.181,true,true],
["Land_Cargo_House_V3_F",[11.125,-4.1167,-4.76837e-007],180,true,true],
["Land_Cargo_House_V3_F",[33.6809,29.3313,-4.76837e-007],90.6682,true,true],
["Land_HBarrier_Big_F",[17.3999,23.9451,-4.76837e-007],90,true,true],
["Land_HBarrier_Big_F",[3.64941,26.885,-4.76837e-007],0,true,true],
["Land_HBarrier_Big_F",[29.6377,37.4236,-4.76837e-007],225,true,true],
["Land_HBarrier_Big_F",[12.1257,27.1333,-4.76837e-007],1.36604e-005,true,true],
["Land_HBarrier_Big_F",[36.0908,34.8279,-4.76837e-007],0,true,true],
["Land_HBarrier_Big_F",[22.8857,39.9236,-4.76837e-007],180,true,true],
["Land_HBarrier_Big_F",[37.969,13.8748,-4.76837e-007],299.181,true,true],
["Land_HBarrier_Big_F",[39.5908,21.3279,-4.76837e-007],270,true,true],
["Land_HBarrier_Big_F",[39.4658,29.7029,-4.76837e-007],90,true,true],
["Land_HBarrier_Big_F",[-4.69336,26.6685,-4.76837e-007],0,true,true],
["Land_HBarrier_Big_F",[14.4446,39.6458,-4.76837e-007],180,true,true],
["Land_HBarrier_5_F",[16.6345,47.3489,-4.76837e-007],180.149,true,true],
["Land_HBarrier_5_F",[11.1445,47.3962,-4.76837e-007],180.149,true,true],
["Land_HBarrier_5_F",[18.7251,43.8938,-4.76837e-007],269.822,true,true],
["Land_HBarrier_5_F",[7.49487,45.4861,-4.76837e-007],124.084,true,true],
["Land_Cargo_House_V3_F",[33.5195,22.5332,-4.76837e-007],90.6682,true,true],
["Land_HBarrier_Big_F",[-6.20093,4.80859,-4.76837e-007],75.8618,true,true],
["RoadCone_L_F",[9.69141,6.51465,-4.76837e-007],0,true,true],
["Land_Cargo40_military_green_F",[-3.2334,35.5225,-4.76837e-007],45.5098,true,true],
["Land_Cargo20_grey_F",[-7.22656,32.293,-4.76837e-007],44.3033,true,true],
["Land_Cargo20_grey_F",[-13.3616,30.4897,-4.76837e-007],0,true,true],
["Land_Cargo20_grey_F",[26.2278,-12.2869,-4.76837e-007],6.20739,true,true],
["Land_Cargo20_grey_F",[39.1899,4.03271,-4.76837e-007],272.936,true,true],
["Land_Canteen_F",[36.6631,46.6692,-4.76837e-007],0,true,true],
["Land_PaperBox_01_open_boxes_F",[30.7021,49.6111,-4.76837e-007],0,true,true]
];
_simpleObjects = [
];
_missionLootVehicles = [
];
_missionPatrolVehicles = [
["O_LSV_02_armed_F",[24.1306,-41.168,0],87.1292,75,75],
["O_LSV_02_armed_F",[12.8894,74.8223,-4.76837e-007],87.7224,75,75]
];
_submarinePatrolParameters = [
];
_airPatrols = [
];
_missionEmplacedWeapons = [
["O_HMG_01_high_F",[9.55957,44.0073,-4.76837e-007],0],
["O_HMG_01_high_F",[21.7991,15.363,-4.76837e-007],0]
];
_missionGroups = [
[[16.9512,1.75757,0.00143862],3,6,"Blue",30,45],
[[8.01904,18.9385,3.12796],3,6,"Blue",30,45],
[[23.6782,30.5142,0.00143862],3,6,"Blue",30,45],
[[30.0935,9.90186,0.00143862],3,6,"Blue",30,45],
[[-0.340576,10.3516,0.00143862],3,6,"Blue",30,45]
];
_scubaGroupParameters = [
];
_missionLootBoxes = [
["Land_Pallet_MilBoxes_F",[-3.88013,11.6785,-4.76837e-007],_crateLoot,_lootCounts,0]
];
/*
Use the parameters below to customize your mission - see the template or blck_configs.sqf for details about each them
*/
_chanceHeliPatrol = blck_chanceHeliPatrolBlue;
_noChoppers = blck_noPatrolHelisBlue;
_missionHelis = blck_patrolHelisBlue;
_chancePara = blck_chanceParaBlue;
_noPara = blck_noParaBlue;
_paraTriggerDistance = 400;
_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 = "atMissionSpawnGround";
_loadCratesTiming = "atMissionSpawn";
_endCondition = "allKilledOrPlayerNear";
_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

@ -23,26 +23,6 @@ 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");
/*
{
diag_log format["param %1 = %2",_forEachIndex,_x];
} forEach [
objectAtMissionCenter,
blck_minAI,
blck_maxAI,
minPatrolRadius,
maxPatrolRadius,
maxVehiclePatrolRadius,
aircraftPatrolRadius,
oddsOfGarison,
maxGarrisonStatics,
typesGarrisonStatics,
blck_MissionDifficulty,
lootVehicleVariableName,
buildingPosGarrisonVariableName,
buildingATLGarrisionVariableName
];*/
CENTER = [0,0,0]; CENTER = [0,0,0];
diag_log format["Dynamic Export called at %1",diag_tickTime]; diag_log format["Dynamic Export called at %1",diag_tickTime];
@ -115,11 +95,11 @@ if !(_markers isEqualTo []) then
{ {
_m1 = _markers select 0; _m1 = _markers select 0;
_markerType = (_m1 get3DENAttribute "itemClass") select 0; _markerType = (_m1 get3DENAttribute "itemClass") select 0;
_markerShape = (_m1 get3DENAttribute "markerType") select 0; //_markerShape = (_m1 get3DENAttribute "markerType") select 0;
_markerColor = (_m1 get3DENAttribute "baseColor") select 0; _markerColor = (_m1 get3DENAttribute "baseColor") select 0;
_markerText = (_m1 get3DENAttribute "text") select 0; _markerText = (_m1 get3DENAttribute "text") select 0;
if !(_markerText isEqualTo "") then {blck_dynamicmarkerMissionName = _markerText}; if !(_markerText isEqualTo "") then {blck_dynamicmarkerMissionName = _markerText};
_markerBrush = (_m1 get3DENAttribute "markerBrush") select 0; _markerBrush = (_m1 get3DENAttribute "brush") select 0;
_markerPos = (_m1 get3DENAttribute "position") select 0; _markerPos = (_m1 get3DENAttribute "position") select 0;
_markerSize = (_m1 get3DENAttribute "size2") select 0; _markerSize = (_m1 get3DENAttribute "size2") select 0;
_markerText = (_m1 get3DENAttribute "text") select 0; _markerText = (_m1 get3DENAttribute "text") select 0;
@ -136,11 +116,11 @@ if !(_markers isEqualTo []) then
diag_log format["<WARNING> More than one marker was found; only the first marker was processed"]; diag_log format["<WARNING> More than one marker was found; only the first marker was processed"];
}; };
} else { } else {
_markerType = "mil_square"; _markerType = "ELLIPSE";
_markerShape = "null"; //_markerShape = "ELLIPSE";
_markerSize = "[0,0]"; _markerSize = "[250,250]";
_markerColor = "COLORRED"; _markerColor = "COLORRED";
_markerBrush = "null"; _markerBrush = "SOLID";
if !(_objects isEqualTo []) then if !(_objects isEqualTo []) then
{ {
CENTER = getPosATL (_objects select 0); CENTER = getPosATL (_objects select 0);
@ -149,7 +129,6 @@ if !(_markers isEqualTo []) then
}; };
diag_log format["<WARNING> No marker was found, using default values and position for mission center position"]; diag_log format["<WARNING> No marker was found, using default values and position for mission center position"];
}; };
diag_log format["_m1 = %1 | _type = %2 | _shape = %3 | _size = %4 | _color = %5 | _brush = %6 | _text = %7",_m1,_markerType,_markerShape,_markerSize,_markerColor,_markerBrush,_markerText];
if (CENTER isEqualTo [0,0,0]) then if (CENTER isEqualTo [0,0,0]) then
{ {
@ -163,49 +142,56 @@ private _garisonedUnits = [];
private _landscape = _objects select{ private _landscape = _objects select{
!(isSimpleObject _x) && !(isSimpleObject _x) &&
((typeOf _x) isKindOf "Static") ((typeOf _x) isKindOf "Static" || ( (typeOf _x) isKindOf "ThingX")) &&
!((typeOf _x) isKindOf "ReammoBox_F") &&
!(_x getVariable["isLootContainer",false]) &&
!((typeOf _x) isKindOf "Helper_Base_F")
}; };
private _garisonedPos = [];
private _helpers = _objects select {((typeOf _x) isEqualTo garisonMarkerObject)};
diag_log format["garisonMarkerObject = %1 | _helpers = %2",garisonMarkerObject,_helpers];
{
if ([_x] call blck3DEN_fnc_isInside) then
{
_building = [_x] call blck3DEN_fnc_buildingContainer;
_garisonedBuildings pushbackunique _building;
// data structure ["building Classname",[/*building pos*/],/*building dir*/,/*odds of garrison*/, /*Max Statics*/,/*types statics*/,/*max units*/],
// 1 2 3 4 5 6 7 8 9
_garisonedPos pushBack format[' ["%1",%2,%3,%4,%5,%6,%7,%8,%9]',typeOf _building,(getPosATL _building) vectorDiff CENTER,getDir _building, 'true','true',oddsOfGarrison,maxGarrisonStatics,typesGarrisonStatics,maxGarrisonUnits];
};
} forEach _helpers;
//diag_log format["CENTER = %1 | _landscape = %2",CENTER,_landscape];
private _garrisonATL = [];
{
_atl = [_x,CENTER] call blck3DEN_fnc_configureGarrisonATL;
// format["_fnc_exportDynamic: _building = %1 | _atl = %2",_x,_atl]; private _garisonedPos = [];
//diag_log format["_fnc_exportDynamic: typeName _atl = %1",typeName _atl];
if (typeName _atl isEqualTo "STRING") then {diag_log format["_fnc_exportDynamic: length _atl = %1 | _atl = '' is %2",count _atl, _atl isEqualTo ""]}; diag_log format["_exportDynamic (174): count _landscape = %1",count _landscape];
if !(_atl isEqualTo []) then { for "_i" from 1 to (count _landscape) do
if !((_atl select 0) isEqualTo []) then {
{ if (isNull _building) exitWith {};
_garrisonATL pushBack (_atl select 0); private _building = _landscape deleteAt 0;
_garisonedBuildings pushBack _x; diag_log format ["_garrisonedPos: evaluating _building %1 | ;garrisoned = %2'",_building,_building getVariable["garrisoned",false]];
_garisonedStatics append (_atl select 1); if (_building getVariable["garrisoned",false]) then
_garisonedUnits append (_atl select 2) {
//diag_log format["_fnc_exportDynamic: garrisoned building added: %1",_atl]; _garisonedPos pushBack format[' ["%1",%2,%3,%4,%5,%6,%7,%8,%9]',typeOf _building,(getPosATL _building) vectorDiff CENTER,getDir _building, 'true','true',oddsOfGarrison,maxGarrisonStatics,typesGarrisonStatics,maxGarrisonUnits];
}; } else {
_landscape pushBack _building;
}; };
} forEach _landscape; };
private _garrisonATL = [];
for "_i" from 1 to (count _landscape) do
{
if (isNull _building) exitWith {};
private _building = _landscape deleteAt 0;
_atl = [_building,CENTER] call blck3DEN_fnc_configureGarrisonATL;
if (_atl isEqualTo []) then {
_landscape pushBack _building;
} else {
_garrisonATL pushBack (format[" %1",_atl select 0]);
_garisonedBuildings pushBack _building;
_garisonedStatics append (_atl select 1);
_garisonedUnits append (_atl select 2);
};
};
diag_log format["_garrisonATL = %1",_garrisonATL]; diag_log format["_garrisonATL = %1",_garrisonATL];
private _missionLandscape = []; private _missionLandscape = [];
for "_i" from 1 to (count _landscape) do
{ {
if !(_x in _garisonedBuildings) then private _building = _landscape deleteAt 0;
if (isNull _building) exitWith {};
diag_log format["typeOf _x = %1 | _x isMarker = %2",typeOf _building,_building getVariable["marker",false]];
if !(_building getVariable["marker",false]) then
{ {
_missionLandscape pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _x,(getPosATL _x) vectorDiff CENTER,getDir _x, 'true','true']; _missionLandscape pushBack format[' ["%1",%2,%3,%4,%5]',typeOf _building,(getPosATL _building) vectorDiff CENTER,getDir _building, 'true','true'];
}; };
}forEach _landscape; };
private _simpleObjects = _objects select {isSimpleObject _x}; private _simpleObjects = _objects select {isSimpleObject _x};
diag_log format["_simpleObjects = %1",_simpleObjects]; diag_log format["_simpleObjects = %1",_simpleObjects];
@ -218,7 +204,7 @@ private _missionLootVehicles = [];
private _lootVehicles = _objects select { private _lootVehicles = _objects select {
((typeOf _x) isKindOf "AllVehicles") && ((typeOf _x) isKindOf "AllVehicles") &&
!((typeOf _x) isKindOf "Man") && !((typeOf _x) isKindOf "Man") &&
(_x get3DENAttribute "name" isEqualTo lootVehicleVariableName) (_x getVariable["lootvehicle",false])
}; };
diag_log format["_lootVehicles = %1",_lootVehicles]; diag_log format["_lootVehicles = %1",_lootVehicles];
{ {
@ -229,7 +215,7 @@ _missionPatrolVehicles = [];
private _patrolVehicles = _objects select { private _patrolVehicles = _objects select {
(((typeOf _x) isKindOf "Car") || ((typeOf _x) isKindOf "Tank") || ((typeOf _x) isKindOf "Ship")) && (((typeOf _x) isKindOf "Car") || ((typeOf _x) isKindOf "Tank") || ((typeOf _x) isKindOf "Ship")) &&
!((typeOf _x) isKindOf "SDV_01_base_F") && !((typeOf _x) isKindOf "SDV_01_base_F") &&
!(_x in _lootVehicles) !(_x getVariable["lootvehicle",false])
}; };
diag_log format["_patrolVehicles = %1",_patrolVehicles]; diag_log format["_patrolVehicles = %1",_patrolVehicles];
{ {
@ -289,7 +275,7 @@ private _scubaGroups = [];
} forEach _scuba; } forEach _scuba;
private _lootContainers = []; private _lootContainers = [];
private _ammoBoxes = _objects select { private _ammoBoxes = _objects select { // "ReammoBox_F"
(((typeOf _x) isKindOf "ReammoBox") || ((typeOf _x) isKindOf "ReammoBox_F")) (((typeOf _x) isKindOf "ReammoBox") || ((typeOf _x) isKindOf "ReammoBox_F"))
}; };
diag_log format["_ammoBoxes = %1",_ammoboxes]; diag_log format["_ammoBoxes = %1",_ammoboxes];

View File

@ -89,11 +89,11 @@ if !(_markers isEqualTo []) then
{ {
_m1 = _markers select 0; _m1 = _markers select 0;
_markerType = (_m1 get3DENAttribute "itemClass") select 0; _markerType = (_m1 get3DENAttribute "itemClass") select 0;
_markerShape = (_m1 get3DENAttribute "markerType") select 0; //_markerShape = (_m1 get3DENAttribute "markerType") select 0;
_markerColor = (_m1 get3DENAttribute "baseColor") select 0; _markerColor = (_m1 get3DENAttribute "baseColor") select 0;
_markerText = (_m1 get3DENAttribute "text") select 0; _markerText = (_m1 get3DENAttribute "text") select 0;
if !(_markerText isEqualTo "") then {blck_dynamicmarkerMissionName = _markerText}; if !(_markerText isEqualTo "") then {blck_dynamicmarkerMissionName = _markerText};
_markerBrush = (_m1 get3DENAttribute "markerBrush") select 0; _markerBrush = (_m1 get3DENAttribute "brush") select 0;
_markerPos = (_m1 get3DENAttribute "position") select 0; _markerPos = (_m1 get3DENAttribute "position") select 0;
_markerSize = (_m1 get3DENAttribute "size2") select 0; _markerSize = (_m1 get3DENAttribute "size2") select 0;
_markerText = (_m1 get3DENAttribute "text") select 0; _markerText = (_m1 get3DENAttribute "text") select 0;
@ -103,7 +103,7 @@ if !(_markers isEqualTo []) then
*/ */
} else { } else {
_markerType = "mil_square"; _markerType = "mil_square";
_markerShape = ""; //_markerShape = "";
_markerSize = [0,0]; _markerSize = [0,0];
_markerColor = "COLORRED"; _markerColor = "COLORRED";
_markerBrush = ""; _markerBrush = "";

View File

@ -52,8 +52,8 @@ class CfgBlck3DEN
class CfgVersion class CfgVersion
{ {
version = 1.0; version = 1.0;
build = 3; build = 5;
date = "08/23/20"; date = "09/19/20";
}; };
}; };

View File

@ -44,27 +44,32 @@ class CfgFunctions
class Core class Core
{ {
file = "3EDEN_plugin\Core"; file = "3EDEN_plugin\Core";
class help {};
class about {}; class about {};
class buildingContainer {};
class configureGarrisonATL {};
class createLootMarker {};
class createGarrisonMarker {};
class display {};
class displayGarrisonMarkers {};
class displayLootMarkers {};
class getGarrisonInfo {}; class getGarrisonInfo {};
class getLootVehicleInfo {}; class getLootVehicleInfo {};
class getMissionGarrisonInfo {}; class help {};
class getMissionLootVehicleInfo {};
class initializeAttributes {}; class initializeAttributes {};
class isInfantry {}; class isInfantry {};
class isInside {}; class isInside {};
class buildingContainer {}; class loadCratesTiming {};
class display {}; class onDrag {};
class onRegistered {};
class onUnregister {};
class removeMarker {};
class setDifficulty {}; class setDifficulty {};
class setCompletionMode {} class setCompletionMode {}
class setGarrison {}; class setGarrison {};
class setLootVehicle {}; class setLootVehicle {};
class setSpawnLocations {}; class setSpawnLocations {};
class spawnCratesTiming {}; class spawnCratesTiming {};
class loadCratesTiming {};
class endMessage {};
class startMessage {};
class configureGarrisonATL {};
class versionInfo {}; class versionInfo {};
}; };
}; };
@ -85,7 +90,7 @@ class cfg3DEN
{ {
OnMissionLoad = "call blck3DEN_fnc_initializeAttributes"; OnMissionLoad = "call blck3DEN_fnc_initializeAttributes";
OnMissionNew = "call blck3DEN_fnc_initializeAttributes"; OnMissionNew = "call blck3DEN_fnc_initializeAttributes";
onHistoryChange = "call blck3DEN_fnc_updateObjects"; //onHistoryChange = "call blck3DEN_fnc_updateObjects";
}; };
}; };
@ -110,24 +115,6 @@ class cfg3DEN
}; };
}; };
class blck_garison: Combo
{
class Value
{
text = "Set Garison State";
items[] = {"No_Garison","Has_garison"};
};
class no_garison
{
text = "No Garison";
//action = "_this setVariable['garison',0];";
};
class has_garison
{
text = "Has Garison";
//action = "_this setVariable['garison',1];";
};
};
}; };
@ -148,24 +135,7 @@ class cfg3DEN
class CfgVehicles class CfgVehicles
{ {
class House;
class blck_House: House
{
class Attributes
{
class blck_garisoned
{
displayName = "Garrison";
toolTip = "Define Garrisoned Buildings";
control = "blck_garison";
expression = "_this setVariable ['garrisoned',_value];";
defaultValue = false;
unique = 0;
};
};
};
}; };
class ctrlMenuStrip; class ctrlMenuStrip;
@ -175,67 +145,6 @@ class display3DEN
{ {
class Controls class Controls
{ {
/*
class ContextMenu: ctrlMenu
{
class Items
{
items[] += {
"blck_markLootVehicle",
"blck_markGarisonBuildingPos"
};
class blck_markLootVehicle
{
text = "Designate Loot Vehicles";
value = false;
//action = "systemChat 'value toggled'";
conditionShow = "selectedObject";
items[] = {
"blck_clearLootVehicle",
"blck_designateLootVehicle"
};
};
class blck_clearLootVehicle
{
text = "Clear Loot Vehicle Settings";
value = false;
action = "[false] call blck3DEN_fnc_setLootVehicleStatus";
};
class blck_deisgnateLootVehicle
{
text = "Desinate Loot Vehicle";
value = true;
action = "[true] call blck3DEN_fnc_setLootVehicleStatus";
};
class blck_markGarisonBuildingPos
{
text = "Designate Garisoned Buildings";
value = false;
conditionShow = "selectedObject";
items[] = {
"blck_clearGarisonSettings",
"blck_designateGarisonedBuilding"
};
};
class blck_clearGarisonSettings
{
text = "Clear Garison Settings";
value = false;
conditionShow = "selectedObject";
action = "[false] call blck3DEN_fnc_setGarison";
};
class blck_designateGarisonedBuilding
{
text = "Set as Garisoned Building";
value = true;
conditionShow = "SelectedObject";
action = "[true] call blck3DEN_fnc_setGarison";
};
};
};
*/
class MenuStrip: ctrlMenuStrip class MenuStrip: ctrlMenuStrip
{ {
@ -258,12 +167,12 @@ class display3DEN
"blckMissionLocation", "blckMissionLocation",
"blckSeparator", "blckSeparator",
"blck_setGarrison", "blck_setGarrison",
"blck_getGarrisonInfo", //"blck_getGarrisonInfo",
"blck_getMissionGarrisonInfo", //"blck_getMissionGarrisonInfo",
"blckSeparator", "blckSeparator",
"blck_markLootVehicle", "blck_markLootVehicle",
"blck_getLootVehicleInfo", //"blck_getLootVehicleInfo",
"blck_getMissionLootVehicleInfo", //"blck_getMissionLootVehicleInfo",
"blckSeparator", "blckSeparator",
"blckSaveStaticMission", "blckSaveStaticMission",
"blckSaveDynamicMission", "blckSaveDynamicMission",
@ -420,35 +329,6 @@ class display3DEN
action = "['atMissionCompletion'] call blck3DEN_fnc_loadCratesTiming"; action = "['atMissionCompletion'] call blck3DEN_fnc_loadCratesTiming";
}; };
/*
/////////////////////////////
class blckMissionMessages
{
text = "Set timing for loading crates";
items[] = {
"blckStartMessage",
"blckEndMessage"
};
};
// ["Title","Default","ctrlControlsGroupNoScrollbars","ctrlControlsGroup","ctrlDefault"]
class Edit;
class blckEdit: Edit
{
control = "Edit";
value = "";
};
class blckStartMessage: blckEdit
{
text = "Misstion Start Message";
action = "[_value] call blck3DEN_startMessage";
};
class blckEndMessage: blckEdit
{
text = "Mission End Message";
action = "[_value] call blck3DEN_endMessage";
};
*/
class blckMissionLocation class blckMissionLocation
{ {
text = "Toggle Random or Fixed Location"; text = "Toggle Random or Fixed Location";
@ -470,16 +350,26 @@ class display3DEN
action = "['fixed'] call blck3DEN_fnc_setSpawnLocations"; action = "['fixed'] call blck3DEN_fnc_setSpawnLocations";
}; };
///////////////////////////////////////////////////////
class blck_setGarrison class blck_setGarrison
{ {
text = "Set as Garrisoned Building"; text = "Garrisoned Building Settings";
toolTip = "Set garrison status of selected buildings"; toolTip = "Set garrison status of selected buildings";
items[] = { items[] = {
"blck_isGarrisoned", "blck_setGarrisonedState",
"blck_clearGarrisoned", "blck_getGarrisonInfo",
"blck_getGarrisonInfo" "blck_garrisonMarkers"
}; };
}; };
class blck_setGarrisonedState
{
items[] = {
"blck_isGarrisoned",
"blck_clearGarrisoned"
};
text = "Garrison Settings";
};
class blck_isGarrisoned class blck_isGarrisoned
{ {
text = "Garrison Building"; text = "Garrison Building";
@ -498,46 +388,79 @@ class display3DEN
{ {
text = "Get Building Garrisoned Setting"; text = "Get Building Garrisoned Setting";
toolTip = "Get the selected buildings garrisoned flag"; toolTip = "Get the selected buildings garrisoned flag";
value = 0;
action = "call blck3DEN_fnc_getGarrisonInfo"; action = "call blck3DEN_fnc_getGarrisonInfo";
}; };
class getMissionGarrisonInfo class blck_garrisonMarkers
{ {
text = "Get garrison flag for selected buildings"; items[] = {
toolTip = "The garrisoned flag state will be displayed for selected bulidings"; "blck_GarrisonMarkersOn",
value = 0; "blck_GarrisonMarkersOff"
action = "call blck3DEN_fnc_getMissionGarrisonInfo"; };
text = "Toggle markers over garrisoned buildings";
}; };
class blck_GarrisonMarkersOn
{
text = "Display Markers over Garrisoned Buildings";
action = "[true] call blck3DEN_fnc_displayGarrisonMarkers";
};
class blck_GarrisonMarkersOff
{
text = "Hide Markers over Garrisoned Buildings";
action = "[false] call blck3DEN_fnc_displayGarrisonMarkers";
};
///////////////////////////////////////////////////////////////
class blck_markLootVehicle class blck_markLootVehicle
{ {
text = "Designate Loot Vehicles"; text = "Loot Vehicle Settings";
value = false;
//action = "systemChat 'value toggled'";
conditionShow = "selectedObject";
items[] = { items[] = {
"blck_clearLootVehicle", "blck_designateLootVehicleState",
"blck_designateLootVehicle" "blck_getLootVehicleInfo",
"blck_displayLootMarkers"
}; };
}; };
class blck_clearLootVehicle class blck_designateLootVehicleState
{
items[] = {
"blck_setAsLootVehicle",
"blck_clearLootVehicleFlag"
};
text = "Loot Vehicle Settings";
};
class blck_clearLootVehicleFlag
{ {
text = "Clear Loot Vehicle Settings"; text = "Clear Loot Vehicle Settings";
value = false;
action = "[false] call blck3DEN_fnc_setLootVehicle"; action = "[false] call blck3DEN_fnc_setLootVehicle";
}; };
class blck_designateLootVehicle class blck_setAsLootVehicle
{ {
text = "Desinate Loot Vehicle"; text = "Desinate Loot Vehicle";
value = true;
action = "[true] call blck3DEN_fnc_setLootVehicle"; action = "[true] call blck3DEN_fnc_setLootVehicle";
}; };
class blck_getLootVehicleInfo class blck_getLootVehicleInfo
{ {
text = "Get setting for selected vehicle"; text = "Get setting for selected vehicle";
value = 0;
action = "call blck3DEN_fnc_getLootVehicleInfo"; action = "call blck3DEN_fnc_getLootVehicleInfo";
}; };
class blck_displayLootMarkers
{
items[] = {
"blck_lootMarkersOn",
"blck_lootMarkersOff"
};
text = "Toggle Loot Vehicle Markers";
};
class blck_lootMarkersOn
{
text = "Mark Loot Vehicles / Objects";
action = "[true] call blck3DEN_fnc_displayLootMarkers";
};
class blck_lootMarkersOff
{
text = "Hide Markers of Loot Vehicles / Objects";
action = "[false] call blck3DEN_fnc_displayLootMarkers";
};
///////////////////////////// /////////////////////////////
class blckSaveStaticMission class blckSaveStaticMission
{ {