@@ -31,7 +31,7 @@ if (!isNull _cursorTarget && {!(EPOCH_target isEqualTo _cursorTarget)}) then {
if (_cursorTargetisKindOf"AllVehicles") then {
_currentTarget=_cursorTarget;
} else {
if (_cursorTargetisKindOf"Constructions_modular_F"||_cursorTargetisKindOf"Constructions_static_F") then {
if (_cursorTargetisKindOf"Constructions_modular_F"||{_cursorTargetisKindOf"Constructions_static_F"} || {(typeof_cursorTarget) in (call Epoch_JammerClasses)}) then {
/*[[[cog from arma_config_tools import *; json_to_arma()]]]*/
classCfgEpochClient
{
epochVersion = "1.3.0";
epochVersion = "1.3.1";
ArmAVersion = 176;
debug = "true"; // true = enable extra rpt debug lines, false to disable
@@ -40,24 +40,55 @@ class CfgEpochClient
restrictedLocations[] = {"NameCityCapital"};
restrictedLocationsRange = 300;
buildingRequireJammer = 1; //1 = require jammer to build
buildingJammerRange = 75; //jammer range in meters
buildingJammerRange = 125; //Unused by Epoch, but leave it to prevent issues with custom scripts (should be set to the max possible JammerRange from cfgJammers)
jammerPerGroup = 1; // allowed number of jammers per group.
jammerGLOnly = 1; // allow only group leader to place Jammer
minJammerDistance = 650; // min distance to next Jammer
maxBuildingHeight = 100; // Max Height, building is allowed.
buildingCountLimit = 200; //overall building limit in range of jammer (overridden if "useGroupCountLimits=1")
storageCountLimit = 100; //overall storage limit in range of jammer (triggers only if "splitCountLimits=1" & "useGroupCountLimits=0")
splitCountLimits = 0; //1 = distinguish buildingCountLimit from storageCountLimit (ex.: buildingCountLimit=100, storageCountLimit=100 >> you can build 100 baseparts AND additional 100 storage objects like safes, lockboxes...)
useGroupCountLimits = 1; //1 = enable leader and member counts (doesn´t affect "splitCountLimits")
buildingCountLeader = 250; //ignore if "useGroupCountLimits=0"
buildingCountPerMember = 5; //ignore if "useGroupCountLimits=0"
storageCountLeader = 10; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
storageCountPerMember = 5; //ignore if "splitCountLimits=0" & "useGroupCountLimits=0"
maxdoors = 10; // Max allowed doors per Group
maxgates = 5; // Max allowed Gates per Group
maxCams = 2; // Max allowed BaseCams per Group
MaxBuildingTilt = 180; // Max degrees players can tilt building elements
classCfgJammers {
classPlotPole_EPOCH// Jammer Classname
{
buildingJammerRange = 75; // jammer range in meters
buildingCountLimit = 200; // Max Building Elements per Base
storageCountLimit = 100; // Max Storage Elements per Base
buildingCountPerMember = 5; // Additional Building elements per Member
storageCountPerMember = 5; // Additional Storage elements per Member
maxdoors = 10; // Max Doors per Base
maxgates = 5; // Max Gates per Base
maxCams = 2; // Max Cams per Base
};
classPlotPole_M_EPOCH : PlotPole_EPOCH // inherits from "PlotPole_EPOCH" (not defined values will be taken from PlotPole_EPOCH)
{
buildingJammerRange = 100; // jammer range in meters
buildingCountLimit = 215; // Max Building Elements per Base
storageCountLimit = 115; // Max Storage Elements per Base
};
classPlotPole_L_EPOCH : PlotPole_M_EPOCH
{
buildingJammerRange = 125; // jammer range in meters
buildingCountLimit = 230; // Max Building Elements per Base
storageCountLimit = 130; // Max Storage Elements per Base
};
classPlotPole_XL_EPOCH : PlotPole_L_EPOCH
{
buildingJammerRange = 150; // jammer range in meters
buildingCountLimit = 245; // Max Building Elements per Base
storageCountLimit = 145; // Max Storage Elements per Base
};
classPlotPole_XXL_EPOCH : PlotPole_XL_EPOCH
{
buildingJammerRange = 175; // jammer range in meters
buildingCountLimit = 260; // Max Building Elements per Base
storageCountLimit = 160; // Max Storage Elements per Base
diag_logformat["Epoch: ADMIN: %1 picked up %2 Crypto from object %3 with puid %4 at %5", getPlayerUID_player, _getCrypto, [_object, typeOf_object],_objectgetVariable['PUID', ''],getposATL_object];
};
diag_logformat["Epoch: ADMIN: %1 picked up %2 Crypto at %3", getPlayerUID_player, _getCrypto, getposATL_player];
,[' Base Building Marker', [], {"+_skn_tg_map_basebuilding+" = !"+_skn_tg_map_basebuilding+"; if ("+_skn_tg_map_basebuilding+") then {waitUntil {"+_skn_mapBasesArray+" = ([worldSize/2,worldSize/2,0]) nearObjects['PlotPole_EPOCH', 12500];uiSleep 15;!"+_skn_tg_map_basebuilding+"};"+_skn_mapBasesArray+" = []}; ['Base Building MARKER',if ("+_skn_tg_map_basebuilding+") then [{2},{1}]] call "+_skn_adminLog_PVC+"}, '2', []]
,[' Base Building Marker', [], {"+_skn_tg_map_basebuilding+" = !"+_skn_tg_map_basebuilding+"; if ("+_skn_tg_map_basebuilding+") then {waitUntil {"+_skn_mapBasesArray+" = (Epoch_PlotPoles - [objnull]);uiSleep 15;!"+_skn_tg_map_basebuilding+"};"+_skn_mapBasesArray+" = []}; ['Base Building MARKER',if ("+_skn_tg_map_basebuilding+") then [{2},{1}]] call "+_skn_adminLog_PVC+"}, '2', []]
// TraderMinDistance = 1500; // Min distance between Traders. If not defined, Server will calculate it by MapSize
traderblockblds[] = {"pier","bridge","fireescape","medevac_house","pillboxbunker"}; // If a building include this chars in the classname (tolower!!!) they will be blocked for Traders
traderblockblds[] = {"pier","bridge","fireescape","medevac_house","pillboxbunker","containerine"}; // If a building include this chars in the classname (tolower!!!) they will be blocked for Traders