From 5a37ed6fec38e47bd72db24648358bc847c562cf Mon Sep 17 00:00:00 2001 From: A Man Date: Sat, 2 Apr 2022 11:12:43 +0200 Subject: [PATCH 1/4] Update object_speak.sqf --- SQF/dayz_code/compile/object_speak.sqf | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/SQF/dayz_code/compile/object_speak.sqf b/SQF/dayz_code/compile/object_speak.sqf index d91cdba67..4ecf40b5e 100644 --- a/SQF/dayz_code/compile/object_speak.sqf +++ b/SQF/dayz_code/compile/object_speak.sqf @@ -60,31 +60,30 @@ if ((round(random _chance) == _chance) or (_chance == 0)) then { /////////////////////////////////////////////////////////////////////////////////////////// // - // Attach sound source to dummy object so that long duration sfx can be muted if + // Attach sound source to helper object so that long duration sfx can be muted if // action is cancelled. // /////////////////////////////////////////////////////////////////////////////////////////// - local _killSound = (dayz_actionInProgress && (_type in ["bandage","chopwood","cook","gut","minestone","refuel","repair","tentpack"])); if (_killSound) then { - local _dummy = "Sign_sphere10cm_EP1" createVehicleLocal [0,0,0]; - _dummy hideObject true; - _dummy setPosATL (getPosATL _unit); + local _helper = "Helper_1_DZE" createVehicle [0,0,0]; // invisible helper + _helper setPosATL (getPosATL _unit); // move to player - if (_type == "bandage") then {_dummy attachTo [_unit, [0,0,0]];}; + if (_type == "bandage") then { + _helper attachTo [_unit, [0,0,0]]; // medical actions will be heard as player moves + }; + _unit = _helper; // sound source is now the helper object - _unit = _dummy; - - _dummy spawn { + _helper spawn { r_interrupt = false; while {dayz_actionInProgress && !r_interrupt} do { - sleep 0.1; + uisleep 0.1; }; - if (r_interrupt) then { + if (r_interrupt) then { // if player cancels the action 1.5 fadeSpeech 0; // fade out - sleep 1.5; // wait + uisleep 1.5; // wait }; deleteVehicle _this; // kill sound 0 fadeSpeech 1; // restore sound From e116caa815c8ed8e7ad6ea49cb37a6a5c9c98ac4 Mon Sep 17 00:00:00 2001 From: A Man Date: Sat, 2 Apr 2022 12:22:56 +0200 Subject: [PATCH 2/4] Update fnc_isInsideBuilding Made by @Victor-the-Cleaner - If the player is inside a building but near a large open doorway or full height windows, or out on a balcony, they may be considered outside. - The UI visual stealth icon will update accordingly, so the player will know if they need to step back from open doors or windows to regain stealth. - dayz_inside global variable will now only affect player temperature, stealth vs zombies, and blizzard effects. - The new dayz_insideBuilding global variable stores the building name the player is currently inside of, or null if player is outside. This may be used for modding purposes. --- SQF/dayz_code/compile/fn_isInsideBuilding.sqf | 218 +++++++++++++----- SQF/dayz_code/init/compiles.sqf | 2 +- SQF/dayz_code/init/variables.sqf | 2 + .../{actions => old}/tow_AttachStraps.sqf | 0 .../{actions => old}/tow_DetachStraps.sqf | 0 5 files changed, 161 insertions(+), 61 deletions(-) rename SQF/dayz_code/{actions => old}/tow_AttachStraps.sqf (100%) rename SQF/dayz_code/{actions => old}/tow_DetachStraps.sqf (100%) diff --git a/SQF/dayz_code/compile/fn_isInsideBuilding.sqf b/SQF/dayz_code/compile/fn_isInsideBuilding.sqf index 863e94fed..0bb1c1a23 100644 --- a/SQF/dayz_code/compile/fn_isInsideBuilding.sqf +++ b/SQF/dayz_code/compile/fn_isInsideBuilding.sqf @@ -1,77 +1,175 @@ -/* - Created exclusively for ArmA2:OA - DayZMod. - Please request permission to use/alter/distribute from project leader (R4Z0R49) AND the author (facoptere@gmail.com) -*/ +/////////////////////////////////////////////////////////////////////////////////////////////////// +// +// fn_isInsideBuilding.sqf +// +// Author: Victor the Cleaner +// Date: April 2022 +// +// [_unit] call fnc_isInsideBuilding; +// +// Called continuously from player_checkStealth. +// Used for temperature, stealth vs zombies, and blizzard effects. +// +/////////////////////////////////////////////////////////////////////////////////////////////////// +local _unit = _this select 0; // player +local _inside = false; +local _scan = 3; // horizontal radius around player (in meters) +local _zenith = 50; // scan height above and below player +local _posASL = aimPos _unit; // center of mass (ASL) +local _posLowASL = getPosASL _unit; // foot of player (ASL) +_posLowASL set [2, (_posLowASL select 2) + 0.3]; // shin level, below most windows -// check if arg#0 is inside or on the roof of a building -// second argument is optional: -// - arg#1 is an object: check whether arg#0 is inside (bounding box of) arg#1 -// - missing arg#1: check whether arg#0 is inside (bounding box of) the nearest enterable building -// - arg#1 is a boolean: check also whether arg#0 is inside (bounding box of) some non-enterable buildings around. Can be used to check if a player or an installed item is on a building roof. -// - arg#0 is posATL, arg#1 should be a building +local _posX = _posASL select 0; +local _posY = _posASL select 1; +local _posZ = _posASL select 2; +local _posLowZ = _posLowASL select 2; -private ["_check","_unit","_inside","_building","_type","_option"]; +local _insideBox = objNull; // object the player is inside of +local _type = ""; // class name +local _roofAbove = false; // is there geometry above +local _intersect = false; // for raycast +local _hit = []; // array to record hits and misses +local _idx = 0; // initialize +local _truth = []; // used with the _hit array -_check = { - private ["_building", "_pos", "_inside", "_offset", "_relPos", "_boundingBox", "_min", "_max", "_myX", "_myY", "_myZ"]; +local _cowsheds = ["Land_Farm_Cowshed_a","Land_Farm_Cowshed_b","Land_Farm_Cowshed_c"]; +local _isCowshed = false; // special case objects - _building = _this select 0; - _inside = false; - if (isNull _building) exitWith {_inside}; - _pos = _this select 1; - _offset = 1; // shrink building boundingbox by this length. +/////////////////////////////////////////////////////////////////////////////////////////////////// +// +// Functions +// +/////////////////////////////////////////////////////////////////////////////////////////////////// +local _checkBox = { + local _object = _this select 0; // object + _type = typeOf _object; // class name - _relPos = _building worldToModel _pos; - _boundingBox = boundingBox _building; + if (_type isKindOf "House" || {_type isKindOf "Church" || {_type in DZE_insideExceptions}}) then { - _min = _boundingBox select 0; - _max = _boundingBox select 1; - _myX = _relPos select 0; - _myY = _relPos select 1; - _myZ = _relPos select 2; + local _pos = _object worldToModel (ASLToATL _posASL); + local _max = (boundingBox _object) select 1; + _insideBox = _object; - if ((_myX > (_min select 0)+_offset) and {(_myX < (_max select 0)-_offset)}) then { - if ((_myY > (_min select 1)+_offset) and {(_myY < (_max select 1)-_offset)}) then { - if ((_myZ > (_min select 2)) and {(_myZ < (_max select 2))}) then { - _inside = true; - }; + for "_i" from 0 to 2 do { + if (abs (_pos select _i) > (_max select _i)) exitWith {_insideBox = objNull;}; }; }; - //diag_log(format["fnc_isInsideBuilding: building:%1 typeOf:%2 bbox:%3 relpos:%4 result:%5", _building, typeOf(_building), _boundingBox, _relPos, _inside ]); +}; +local _scanUp = { + local _pos = [_posX, _posY, _posZ + _zenith]; + local _arr = lineIntersectsWith [_posASL, _pos, _unit, objNull, true]; // sorted (nearest last) - _inside + for "_i" from (count _arr - 1) to 0 step -1 do { // count backwards + [_arr select _i] call _checkBox; // validate object + if (!isNull _insideBox) exitWith {_roofAbove = true;}; // player is within bounds of a candidate object + }; +}; +local _scanDown = { + local _pos = [_posX, _posY, _posZ - _zenith]; + local _arr = lineIntersectsWith [_posASL, _pos, _unit, objNull, true]; // sorted (nearest last) + + for "_i" from (count _arr - 1) to 0 step -1 do { // count backwards + [_arr select _i] call _checkBox; // validate object + if (!isNull _insideBox) exitWith {}; // player is within bounds of a candidate object + }; +}; +local _scanNear = { + local _north = [_posX, _posY + _scan, _posZ]; + local _east = [_posX + _scan, _posY, _posZ]; + local _south = [_posX, _posY - _scan, _posZ]; + local _west = [_posX - _scan, _posY, _posZ]; + local _cp = [_north, _east, _south, _west, _north]; // compass points + + scopeName "near"; + for "_i" from 0 to 3 do { + local _arr = lineIntersectsWith [_cp select _i, _cp select (_i + 1)]; // unsorted + { + [_x] call _checkBox; // validate object + if (!isNull _insideBox) then {breakTo "near";}; // player is within bounds of a candidate object + } count _arr; + }; }; -_unit = _this select 0; -_inside = false; - -// [object] call fnc_isInsideBuilding; -// This option is called continuously from player_checkStealth. -if (count _this == 1) exitWith { - //_building = nearestObject [_unit, "Building"]; - _building = nearestBuilding _unit; // Not sure if this command is faster. - _inside = [_building,(getPosATL _unit)] call _check; - _inside +/////////////////////////////////////////////////////////////////////////////////////////////////// +// +// Cowsheds are arranged from 3 separate classes. Therefore, we need to allow adjacent +// cowshed class names as substitutes for the object we're scanning. +// +/////////////////////////////////////////////////////////////////////////////////////////////////// +local _cowshedCheck = { + local _array = _this select 0; + if (_isCowshed) then { + { + if (typeOf _x in _cowsheds) exitWith { // is object of similar type? + _intersect = true; // override radial scan + _truth set [0,49]; // force hit detection + }; + } forEach _array; + }; +}; +local _checkWalls = { + // known problem buildings + if (_type == (_cowsheds select 2) && _idx in [3]) exitWith {_hit set [_idx, 49];}; // simulate wall at East sector + if (_type == (_cowsheds select 1) && _idx in [3,11]) exitWith {_hit set [_idx, 49];}; // simulate walls at East and West sectors + if (_type == (_cowsheds select 0) && _idx in [11]) exitWith {_hit set [_idx, 49];}; // simulate wall at West sector }; -_option = _this select 1; -// [object,building] call fnc_isInsideBuilding; -if (typeName _option == "OBJECT") then { - // optional argument is a specific building - _inside = [_option,(getPosATL _unit)] call _check; -} else { - // [object,boolean] call fnc_isInsideBuilding; This is used in fn_niceSpot. - { - _building = _x; - _type = typeOf _building; - if (!(_type in DayZ_SafeObjects) // not installable objects - && {!(_type isKindOf "ReammoBox")} // not lootpiles (weaponholders and ammoboxes) - && {((sizeOf typeOf _unit) + (sizeOf _type)) > (_unit distance _building)} // objects might colliding - && {[_building, _unit] call _check}) exitWith { // perform the check. exitWith works only in non-nested "if" - _inside = true; + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// +// Initial scan to determine if player is above, below, or near a building +// +/////////////////////////////////////////////////////////////////////////////////////////////////// +call _scanUp; +if (isNull _insideBox) then { // no detectable roof + call _scanDown; + if (isNull _insideBox) then { // no detectable floor + call _scanNear; + }; +}; + +/////////////////////////////////////////////////////////////////////////////////////////////////// +// +// If player is inside a bounding box, perform radial scan and determine the outcome +// +/////////////////////////////////////////////////////////////////////////////////////////////////// +if (!isNull _insideBox) then { // bounding box detected + local _dir = getDir _insideBox; // direction of object on map + local _rad = sizeOf (typeOf _insideBox); // scan radius + local _seg = 16; // radial scan density (must be evenly divisible by 4) + local _arc = 360 / _seg; // radial scan delta + local _miss = "00000"; // must be (_seg / 4 + 1) characters in length -- the number of consecutive misses before player is determined to be outside + _isCowshed = _type in _cowsheds; // special case for known problem buildings + + for "_n" from _arc to 360 step _arc do { // perform radial scan + local _angle = (_dir + _n) % 360; // normalize from 0 to 360 + local _a = (sin _angle) * _rad; // X offset + local _b = (cos _angle) * _rad; // Y offset + local _v = [_posX + _a, _posY + _b, _posZ]; // radial vector + _truth = [48,49]; // [miss,hit] + + local _arr = lineIntersectsWith [_posASL, _v, _unit]; // raycast + _intersect = (_insideBox in _arr); // did an intersect occur? + [_arr] call _cowshedCheck; // check known problem buildings + + if (!_intersect && _roofAbove) then { // if no hit at chest level, check lower. This eliminates most normal windows. + _v = [_posX + _a, _posY + _b, _posLowZ]; // radial vector Low + _arr = lineIntersectsWith [_posLowASL, _v, _unit]; // raycast + [_arr] call _cowshedCheck; // re-check known problem buildings }; - } forEach (nearestObjects [_unit, ["Building"], 50]); -}; -//diag_log ("fnc_isInsideBuilding Check: " + str(_inside)+ " last building:"+str(_building)); + _hit set [_idx, _truth select (_insideBox in _arr)]; // record hit or miss + call _checkWalls; // simulate walls for known problem buildings, and override scan + _idx = _idx + 1; + }; + for "_i" from 0 to 3 do { + _hit set [_seg + _i, _hit select _i]; // loop (_seg / 4) times to allow wrap-around search + }; + if (!_roofAbove) then {_miss = "0000";}; // if player is on a roof or in an open area, reduce the consecutive miss criteria by one arc + + if !([_miss, toString _hit] call fnc_inString) then { // if there are no sufficient consecutive misses, then player is deemed to be inside + _inside = true; + }; +}; +dayz_insideBuilding = [objNull, _insideBox] select _inside; _inside diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf index b930ba15e..c4aed8c7d 100644 --- a/SQF/dayz_code/init/compiles.sqf +++ b/SQF/dayz_code/init/compiles.sqf @@ -767,6 +767,7 @@ if (!isDedicated) then { DZ_KeyDown_EH = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\keyboard.sqf"; dayz_EjectPlayer = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\dze_ejectPlayer.sqf"; + fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding; }; //Both @@ -789,7 +790,6 @@ fnc_veh_handleKilled = compile preprocessFileLineNumbers "\z\addons\dayz_code\co fnc_veh_handleRepair = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\veh_handleRepair.sqf"; //process the hit as a NORMAL damage (useful for persistent vehicles) fnc_veh_ResetEH = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\veh_ResetEH.sqf"; //Initialize vehicle fnc_inString = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_inString.sqf"; -fnc_isInsideBuilding = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_isInsideBuilding.sqf"; //_isInside = [_unit,_building] call fnc_isInsideBuilding; dayz_zombieSpeak = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\object_speak.sqf"; //Used to generate random speech for a unit vehicle_getHitpoints = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\vehicle_getHitpoints.sqf"; local_gutObject = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\local_gutObject.sqf"; //Generated on the server (or local to unit) when gutting an object diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 3a463767c..2aaab0443 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -491,4 +491,6 @@ if (!isDedicated) then { ["RightFoot","LeftFoot"], ["neck","pilot"] ]; + dayz_insideBuilding = objNull; // building name the player is currently inside of, or objNull if player is outside + DZE_insideExceptions = ["Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","Wooden_shed_DZ","Wooden_shed2_DZ","WoodShack_DZ","WoodShack2_DZ","StorageShed_DZ","StorageShed2_DZ","Concrete_Bunker_DZ","Concrete_Bunker_Locked_DZ","SandNestLarge_DZ"]; // list of base-building objects that allow checking if player is inside (fnc_isInsideBuilding) }; diff --git a/SQF/dayz_code/actions/tow_AttachStraps.sqf b/SQF/dayz_code/old/tow_AttachStraps.sqf similarity index 100% rename from SQF/dayz_code/actions/tow_AttachStraps.sqf rename to SQF/dayz_code/old/tow_AttachStraps.sqf diff --git a/SQF/dayz_code/actions/tow_DetachStraps.sqf b/SQF/dayz_code/old/tow_DetachStraps.sqf similarity index 100% rename from SQF/dayz_code/actions/tow_DetachStraps.sqf rename to SQF/dayz_code/old/tow_DetachStraps.sqf From bfa836bb2acb9a588b3bde123f6541f7177c44a7 Mon Sep 17 00:00:00 2001 From: A Man Date: Sat, 2 Apr 2022 15:45:44 +0200 Subject: [PATCH 3/4] Add some logging from variables --- SQF/dayz_code/init/variables.sqf | 9 ++ SQF/dayz_code/system/BIS_Effects/init.sqf | 2 +- SQF/dayz_code/system/antihack.sqf | 2 +- SQF/dayz_code/system/player_monitor.fsm | 95 +++++++++---------- .../system/scheduler/sched_animals.sqf | 2 +- .../system/scheduler/sched_antiTeleport.sqf | 2 +- SQF/dayz_code/system/scheduler/sched_init.sqf | 2 +- .../system/scheduler/sched_security.sqf | 2 +- SQF/dayz_code/system/weather/setWeather.sqf | 2 +- 9 files changed, 63 insertions(+), 55 deletions(-) diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf index 2aaab0443..9fdfc67e4 100644 --- a/SQF/dayz_code/init/variables.sqf +++ b/SQF/dayz_code/init/variables.sqf @@ -72,6 +72,8 @@ if (isServer) then { /**************Variables Compiled on Clients Only**************/ if (!isDedicated) then { + DZE_schedDebug = 0; // Debug some scheduler lines + DZE_playerFSMDebug = 0; // Debug whole player.fsm // Rolling Msg system Message_1 = ""; @@ -316,6 +318,13 @@ if (!isDedicated) then { DZE_WaterSources = ["Land_pumpa","Land_Barrel_water","Land_Misc_Well_C_EP1","Land_Misc_Well_L_EP1","land_smd_water_pump","Watertank_DZE","Watertower_DZE","Land_water_tank","MAP_water_tank"]; // Helper Colors Require Reformatting + DZE_helperSize = [[3,"Sign_sphere100cm_EP1"],[2,"Sign_sphere25cm_EP1"],[1,"Sign_sphere10cm_EP1"]]; // array of helper sizes and corresponding class. Keep in reverse order for optimized lookup + DZE_helperSizeDefault = 3; // default to large sphere + DZE_NoRefundTransparency = 0.5; // Red Basebuilding Helper Transparency. min = 0.1, max = 1 + DZE_removeTransparency = 0.5; // Green Basebuilding Helper Transparency. min = 0.1, max = 1 + DZE_deconstructTransparency = 0.5; // Blue Basebuilding Helper Transparency. min = 0.1, max = 1 + DZE_largeObjects = ["MetalContainer2D_DZ","MetalContainer1G_DZ","MetalContainer1B_DZ","MetalContainer1A_DZ","DragonTeeth_DZ","DragonTeethBig_DZ","MetalFloor4x_DZ","Land_metal_floor_2x2_wreck","WoodFloor4x_DZ","Land_wood_floor_2x2_wreck","Scaffolding_DZ","CinderGateFrame_DZ","CinderGate_DZ","CinderGateLocked_DZ","WoodGateFrame_DZ","Land_DZE_WoodGate","Land_DZE_WoodGateLocked","WoodRamp_DZ","Metal_Drawbridge_DZ","Metal_DrawbridgeLocked_DZ","Land_WarfareBarrier10x_DZ","Land_WarfareBarrier10xTall_DZ","SandNestLarge_DZ"]; // adjust _allowedDistance in fn_selfActions.sqf for large modular/crafted objects + DZE_NoRefundTexture = [0, format["#(argb,8,8,3)color(1.00,0.00,0.00,%1,ca)", (DZE_NoRefundTransparency max 0.1)] ]; // red DZE_removeTexture = [0, format["#(argb,8,8,3)color(0.15,1.00,0.40,%1,ca)", (DZE_removeTransparency max 0.1)] ]; // green DZE_deconstructTexture = [0, format["#(argb,8,8,3)color(0.15,0.00,1.00,%1,ca)", (DZE_deconstructTransparency max 0.1)] ]; // blue diff --git a/SQF/dayz_code/system/BIS_Effects/init.sqf b/SQF/dayz_code/system/BIS_Effects/init.sqf index 907c4b6b4..2bef30492 100644 --- a/SQF/dayz_code/system/BIS_Effects/init.sqf +++ b/SQF/dayz_code/system/BIS_Effects/init.sqf @@ -2,7 +2,7 @@ BIS_Effects_Init = true; Corepatch_Effects_Init = true; if (isNil "BIS_Effects_Init_DZ") then { BIS_Effects_Init_DZ = true; - diag_log "Res3tting B!S effects..."; + //diag_log "Res3tting B!S effects..."; BIS_Effects_EH_Fired=compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\fired.sqf"; // Allows tanks to use smoke counter measures BIS_Effects_EH_Killed = compile preprocessFileLineNumbers "\z\addons\dayz_code\system\BIS_Effects\killed.sqf"; diff --git a/SQF/dayz_code/system/antihack.sqf b/SQF/dayz_code/system/antihack.sqf index 94adb9b04..c7786d9ca 100644 --- a/SQF/dayz_code/system/antihack.sqf +++ b/SQF/dayz_code/system/antihack.sqf @@ -35,4 +35,4 @@ inGameUISetEventHandler ["Action","false"]; deleteVehicle _plant; } count ["grass","prunus","picea","fallentree","phragmites","acer","amygdalusn","Brush","fiberplant","amygdalusc","boulder"]; -diag_log format ["%1: Plants libs tests done!",__FILE__]; \ No newline at end of file +//diag_log format ["%1: Plants libs tests done!",__FILE__]; \ No newline at end of file diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm index 86f04a90b..8e2795c5a 100644 --- a/SQF/dayz_code/system/player_monitor.fsm +++ b/SQF/dayz_code/system/player_monitor.fsm @@ -265,7 +265,6 @@ class FSM "_timeStart = diag_tickTime;" \n "_readytoAuth = false;" \n "_startCheck = 0;" \n - "_debug = 0;" \n "_schedulerStarted=false;" \n "_spawnSelection = 9;" \n "" \n @@ -273,7 +272,7 @@ class FSM "_timeNemRegion = 0;" \n "" \n "" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n "diag_log (""DAYZ: CLIENT IS RUNNING DAYZ_CODE "" + str(dayz_versionNo));" \n "};" \n ""/*%FSM*/; @@ -335,7 +334,7 @@ class FSM itemno = 4; init = /*%FSM*/"dayz_loadScreenMsg = localize 'str_player_loading'; " \n "" \n - "if (_debug == 1) then {diag_log [diag_tickTime,'Loading'];};"/*%FSM*/; + "if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Loading'];};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -364,7 +363,7 @@ class FSM "" \n "_playerUID = getPlayerUID player;" \n "dayz_progressBarValue = 0.6;" \n - "if (_debug == 1) then {diag_log [diag_tickTime,'Collect'];};"/*%FSM*/; + "if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Collect'];};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { @@ -424,7 +423,7 @@ class FSM { name = "Request"; itemno = 11; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Request'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Request'];};" \n "" \n "dayz_loadScreenMsg = localize 'str_player_request';" \n "" \n @@ -432,10 +431,10 @@ class FSM "dayz_progressBarValue = 0.65;" \n "PVDZ_plr_Login1 = [_playerUID,player];" \n "publicVariableServer ""PVDZ_plr_Login1"";" \n - "diag_log ['Sent to server: PVDZ_plr_Login1', PVDZ_plr_Login1]; " \n + "if (DZE_playerFSMDebug == 1) then {diag_log ['Sent to server: PVDZ_plr_Login1', PVDZ_plr_Login1];};" \n "PVDZ_send = [player,""dayzSetDate"",[player]];" \n "publicVariableServer ""PVDZ_send"";" \n - "diag_log ['Sent to server: PVDZ_send', PVDZ_send]; " \n + "if (DZE_playerFSMDebug == 1) then {diag_log ['Sent to server: PVDZ_send', PVDZ_send];};" \n "_myTime = diag_tickTime;" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -471,7 +470,7 @@ class FSM { name = "Parse_Login"; itemno = 13; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Parse_Login'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Parse_Login'];};" \n "dayz_progressBarValue = 0.8;" \n "_charID = _msg select 0;" \n "_inventory = _msg select 1;" \n @@ -497,12 +496,12 @@ class FSM " _characterCoins = _msg select 11;" \n " _globalCoins = _msg select 12;" \n " _bankCoins = _msg select 13;" \n - " diag_log (""PLAYER RESULT: "" + str(_isHiveOk));" \n + " if (DZE_playerFSMDebug == 1) then {diag_log (""PLAYER RESULT: "" + str(_isHiveOk));};" \n "};" \n "" \n "dayz_loadScreenMsg = localize 'str_player_creating_character'; " \n "if (_isHiveOk) then { if (!_schedulerStarted) then { _schedulerStarted=true; execVM '\z\addons\dayz_code\system\scheduler\sched_init.sqf'; }; };" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n "diag_log (""PLOGIN: authenticated with : "" + str(_msg));" \n " diag_log [""player_monitor:Parse_Login _isHiveOk,_isNew,isnil preload, preload:"",_isHiveOk,_isNew,!isNil 'dayz_preloadFinished',dayz_preloadFinished];" \n "};" \n @@ -583,7 +582,7 @@ class FSM { name = "ERROR__Wrong_HIVE"; itemno = 15; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Wrong_HIVE'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'ERROR__Wrong_HIVE'];};" \n "_myTime = diag_tickTime;" \n "dayz_loadScreenMsg = localize 'str_player_wrong_hive';" \n ""/*%FSM*/; @@ -609,7 +608,7 @@ class FSM { name = "Phase_One"; itemno = 17; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Phase_One'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Phase_One'];};" \n "if ((!isNil ""dayz_selectGender"") && {(!isNil ""DZE_defaultSkin"") && (_isInfected == 0)}) then {" \n " if (dayz_selectGender == ""Survivor2_DZ"") then {" \n " _rand = (DZE_defaultSkin select 0) call BIS_fnc_selectRandom;" \n @@ -711,7 +710,7 @@ class FSM "PVCDZ_plr_Login2 = [];" \n "PVDZ_plr_Login2 = [_charID,player,_playerUID,_spawnSelection,_inventory];" \n "publicVariableServer ""PVDZ_plr_Login2"";" \n - "diag_log ['Sent to server: PVDZ_plr_Login2', PVDZ_plr_Login2]; " \n + "if (DZE_playerFSMDebug == 1) then {diag_log ['Sent to server: PVDZ_plr_Login2', PVDZ_plr_Login2];};" \n "dayz_loadScreenMsg = localize 'str_player_requesting_character';" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -736,7 +735,7 @@ class FSM { name = "Phase_Two"; itemno = 19; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Phase_Two'];};dayz_loadScreenMsg = localize 'str_login_characterData'; " \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Phase_Two'];};dayz_loadScreenMsg = localize 'str_login_characterData'; " \n "" \n "_worldspace = PVCDZ_plr_Login2 select 0;" \n "_state = PVCDZ_plr_Login2 select 1;" \n @@ -918,7 +917,7 @@ class FSM { name = "ERROR__Player_Already"; itemno = 21; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Player_Already'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'ERROR__Player_Already'];};" \n "selectNoPlayer;" \n "_myTime = diag_tickTime;" \n "dayz_loadScreenMsg = localize 'str_login_alreadyDead';" \n @@ -945,7 +944,7 @@ class FSM { name = "Position"; itemno = 23; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Position'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Position'];};" \n "dayz_progressBarValue = 0.85;" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -981,7 +980,7 @@ class FSM { name = "Load_In"; itemno = 25; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Load_In'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Load_In'];};" \n "dayz_progressBarValue = 0.95;" \n "dayz_loadScreenMsg = localize 'str_player_setup_completed';" \n "_torev4l=nearestObjects [_setPos, Dayz_plants + DayZ_GearedObjects + [""AllVehicles"",""WeaponHolder""], 50];" \n @@ -1056,7 +1055,7 @@ class FSM { name = "Preload_Display"; itemno = 29; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Preload_Display'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Preload_Display'];};" \n "" \n "player disableConversation true;" \n "" \n @@ -1143,7 +1142,7 @@ class FSM { name = "Initialize"; itemno = 31; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Initialize'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Initialize'];};" \n "" \n "//Medical" \n "//dayz_medicalH = [] execVM ""\z\addons\dayz_code\medical\init_medical.sqf""; //Medical Monitor Script (client only)" \n @@ -1210,7 +1209,7 @@ class FSM { name = "Finish"; itemno = 32; - init = /*%FSM*/"diag_log 'player_forceSave called from fsm';" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log 'player_forceSave called from fsm';};" \n "//call player_forceSave;" \n "" \n "//Check for bad controls at login" \n @@ -1228,7 +1227,7 @@ class FSM { name = "Enable_Sim"; itemno = 38; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Enable_Sim'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Enable_Sim'];};" \n "" \n "_myAssets = getText(configFile >> ""CfgPatches"" >> ""dayz_communityassets"" >> ""dayzVersion"");" \n "_mySfx = getNumber(configFile >> ""CfgPatches"" >> ""dayz_sfx"" >> ""dayzVersion"");" \n @@ -1247,7 +1246,7 @@ class FSM "_myWeapons = getNumber(configFile >> ""CfgPatches"" >> ""dayz_weapons"" >> ""dayzVersion"");" \n "*/" \n "" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n " diag_log format[""DayZ Version: DayZ_Anim: %1 DayZ_SFX: %2 DayZ_Assets: %3"",_myAnim, _mySfx,_myAssets];" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1283,7 +1282,7 @@ class FSM { name = "ERROR__Client_Files"; itemno = 40; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Client_Files'];};selectNoPlayer;" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'ERROR__Client_Files'];};selectNoPlayer;" \n "_myTime = diag_tickTime;" \n "dayz_loadScreenMsg = localize 'str_player_outdated';" \n ""/*%FSM*/; @@ -1309,7 +1308,7 @@ class FSM { name = "Stream"; itemno = 42; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Stream'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Stream'];};" \n "dayz_loadScreenMsg = localize 'str_login_spawningLocalObjects';" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1334,14 +1333,14 @@ class FSM { name = "Retry"; itemno = 46; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Retry'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Retry'];};" \n "dayz_loadScreenMsg = localize 'str_player_retrying';" \n "" \n "_AuthAttempt = _AuthAttempt +1;" \n "" \n "_myTime = diag_tickTime;" \n "" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n " diag_log (""PLOGIN: Retrying Authentication... ("" + _playerUID + "")"");" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1377,9 +1376,9 @@ class FSM { name = "get_ready_to_clo"; itemno = 48; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'get_ready_to_clo'];};dayz_loadScreenMsg = localize 'str_player_authentication_failed';" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'get_ready_to_clo'];};dayz_loadScreenMsg = localize 'str_player_authentication_failed';" \n "_myTime = diag_tickTime;" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n " diag_log (""PLOGIN: Authentication Failed ("" + _playerUID + "")"");" \n "};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1404,11 +1403,11 @@ class FSM { name = "Disconnect"; itemno = 50; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Disconnect'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Disconnect'];};" \n "" \n " player enableSimulation false;" \n "" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n " diag_log (""End Mission"");" \n "};" \n "" \n @@ -1429,7 +1428,7 @@ class FSM { name = "Date_or_Time_Send"; itemno = 52; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Date_or_Time_Send'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Date_or_Time_Send'];};" \n "_myTime = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links @@ -1442,9 +1441,9 @@ class FSM to="Stream"; precondition = /*%FSM*/""/*%FSM*/; condition=/*%FSM*/"!isNil ""dayzSetDate"""/*%FSM*/; - action=/*%FSM*/"diag_log ['Date & time received:', dayzSetDate];" \n + action=/*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log ['Date & time received:', dayzSetDate];};" \n "setDate dayzSetDate;" \n - "diag_log ['Local date on this client:', date];"/*%FSM*/; + "if (DZE_playerFSMDebug == 1) then {diag_log ['Local date on this client:', date];};"/*%FSM*/; }; /*%FSM*/ /*%FSM*/ @@ -1466,10 +1465,10 @@ class FSM { name = "Server_Loading"; itemno = 54; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Server_Loading'];};_myTime = diag_tickTime;" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Server_Loading'];};_myTime = diag_tickTime;" \n "dayz_loadScreenMsg = localize 'str_player_waiting_start';" \n "" \n - "if (_debug == 1) then {" \n + "if (DZE_playerFSMDebug == 1) then {" \n " diag_log (""Server Loading"");" \n " diag_log (""PLOGIN: Waiting for server to start authentication"");" \n "};"/*%FSM*/; @@ -1506,7 +1505,7 @@ class FSM { name = "Gender_Selection"; itemno = 58; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Gender_Selection'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Gender_Selection'];};" \n "endLoadingScreen;" \n "freshSpawn = 2;" \n "" \n @@ -1549,7 +1548,7 @@ class FSM { name = "Character_Type_6"; itemno = 60; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Character_Type_6'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Character_Type_6'];};" \n "" \n "_model = dayz_selectGender;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1585,7 +1584,7 @@ class FSM { name = "Region_Selection"; itemno = 61; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Region_Selection'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Region_Selection'];};" \n "endLoadingScreen;" \n "" \n "_timeNem=diag_tickTime;" \n @@ -1627,7 +1626,7 @@ class FSM { name = "Region_Process_6"; itemno = 63; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Region_Process_6, region selected:',_spawnSelection];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Region_Process_6, region selected:',_spawnSelection];};" \n "_isNew = false;" \n "_spawnSelection = dayz_selectRegion;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1654,7 +1653,7 @@ class FSM { name = "Spawn_Process_65"; itemno = 65; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Spawn_Process_65'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Spawn_Process_65'];};" \n "_isNew = false;" \n "dayz_selectRegion = 9;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1681,7 +1680,7 @@ class FSM { name = "ERROR__Date_Time"; itemno = 72; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'ERROR__Date_Time'];};_myTime = diag_tickTime;" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'ERROR__Date_Time'];};_myTime = diag_tickTime;" \n "" \n "diag_log format[""Date and time not synced""];" \n "dayz_loadScreenMsg = localize 'str_player_desync';" \n @@ -1733,7 +1732,7 @@ class FSM { name = "Waiting_for_Gender"; itemno = 90; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Waiting_for_Gender'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Waiting_for_Gender'];};" \n "" \n "_timeNemGender = diag_tickTime;"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1784,7 +1783,7 @@ class FSM { name = "Waiting_for__Region"; itemno = 92; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Waiting_for__Region'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Waiting_for__Region'];};" \n "" \n "_timeNemRegion = diag_tickTime;" \n ""/*%FSM*/; @@ -1838,7 +1837,7 @@ class FSM { name = "Update_player"; itemno = 96; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Update_player'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Update_player'];};" \n "dayz_loadScreenMsg = format[ localize 'str_player_ghost', _timeOut];" \n "" \n "_myTime = diag_tickTime;" \n @@ -1876,7 +1875,7 @@ class FSM { name = "Ghost_System"; itemno = 99; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Ghost_System'];};dayz_loadScreenMsg = localize 'str_login_ghostedPlayer';" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Ghost_System'];};dayz_loadScreenMsg = localize 'str_login_ghostedPlayer';" \n "" \n ""/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; @@ -1952,7 +1951,7 @@ class FSM { name = "Finish_1"; itemno = 106; - init = /*%FSM*/"if (_debug == 1) then {diag_log [diag_tickTime,'Finish'];};" \n + init = /*%FSM*/"if (DZE_playerFSMDebug == 1) then {diag_log [diag_tickTime,'Finish'];};" \n "" \n "dayz_playerName = if (alive player) then {name player} else {'unknown'};" \n "PVDZ_plr_LoginRecord = [_playerUID,_charID,0,toArray dayz_playerName];" \n @@ -1960,7 +1959,7 @@ class FSM "" \n "dayz_progressBarValue = 1;" \n "" \n - "diag_log format ['Sent to server PVDZ_plr_LoginRecord: [%1, %2, %3, %4]',_playerUID,_charID,0,dayz_playerName]; " \n + "if (DZE_playerFSMDebug == 1) then {diag_log format ['Sent to server PVDZ_plr_LoginRecord: [%1, %2, %3, %4]',_playerUID,_charID,0,dayz_playerName];};" \n "" \n "_world = toUpper(worldName); //toUpper(getText (configFile >> ""CfgWorlds"" >> (worldName) >> ""description""));" \n "_nearestCity = nearestLocations [getPos player, [""NameCityCapital"",""NameCity"",""NameVillage"",""NameLocal""],1000];" \n @@ -1980,7 +1979,7 @@ class FSM " call compile preprocessFileLineNumbers (""\z\addons\dayz_code\system\mission\chernarus\infectiousWaterholes\""+_x+"".sqf""); " \n "} count infectedWaterHoles;" \n " " \n - "diag_log (infectedWaterHoles);"/*%FSM*/; + "if (DZE_playerFSMDebug == 1) then {diag_log (infectedWaterHoles);};"/*%FSM*/; precondition = /*%FSM*/""/*%FSM*/; class Links { diff --git a/SQF/dayz_code/system/scheduler/sched_animals.sqf b/SQF/dayz_code/system/scheduler/sched_animals.sqf index c45a9786d..2a9665e76 100644 --- a/SQF/dayz_code/system/scheduler/sched_animals.sqf +++ b/SQF/dayz_code/system/scheduler/sched_animals.sqf @@ -85,6 +85,6 @@ sched_animals = { }; }; }; -// diag_log format [ "%1: update animals. local: %5, global: %6 fps: %2 -> %3%4",__FILE__, _min, diag_fpsmin,if (diag_fpsmin < 10) then {"!! <<<<<<<<<<<<<<<<<<<"} else {""}, _count, _global ]; + if (DZE_schedDebug == 1) then {diag_log format [ "%1: update animals. local: %5, global: %6 fps: %2 -> %3%4",__FILE__, _min, diag_fpsmin,if (diag_fpsmin < 10) then {"!! <<<<<<<<<<<<<<<<<<<"} else {""}, _count, _global ];}; objNull }; \ No newline at end of file diff --git a/SQF/dayz_code/system/scheduler/sched_antiTeleport.sqf b/SQF/dayz_code/system/scheduler/sched_antiTeleport.sqf index c5ddba27b..dd464a2de 100644 --- a/SQF/dayz_code/system/scheduler/sched_antiTeleport.sqf +++ b/SQF/dayz_code/system/scheduler/sched_antiTeleport.sqf @@ -6,7 +6,7 @@ */ sched_antiTP_init = { - diag_log [ diag_ticktime, __FILE__, "Anti Teleport inited"]; + if (DZE_schedDebug == 1) then {diag_log [ diag_ticktime, __FILE__, "Anti Teleport inited"];}; [true, [], 0, 0, objNull, respawn_west_original] }; diff --git a/SQF/dayz_code/system/scheduler/sched_init.sqf b/SQF/dayz_code/system/scheduler/sched_init.sqf index 0e5d5d805..d5bccb571 100644 --- a/SQF/dayz_code/system/scheduler/sched_init.sqf +++ b/SQF/dayz_code/system/scheduler/sched_init.sqf @@ -63,4 +63,4 @@ if (count _list == 0) then { }; _list execFSM (_base+"scheduler.fsm"); -diag_log [ diag_tickTime, __FILE__, "Scheduler started"]; +//diag_log [ diag_tickTime, __FILE__, "Scheduler started"]; diff --git a/SQF/dayz_code/system/scheduler/sched_security.sqf b/SQF/dayz_code/system/scheduler/sched_security.sqf index 16f328393..6505a7bc6 100644 --- a/SQF/dayz_code/system/scheduler/sched_security.sqf +++ b/SQF/dayz_code/system/scheduler/sched_security.sqf @@ -1,7 +1,7 @@ // (c) facoptere@gmail.com, licensed to DayZMod for the community sched_security_init = { - diag_log [ diag_ticktime, __FILE__, "Some security routines inited"]; + if (DZE_schedDebug == 1) then {diag_log [ diag_ticktime, __FILE__, "Some security routines inited"];}; [ "", time, 0, 0, grpNull ] }; diff --git a/SQF/dayz_code/system/weather/setWeather.sqf b/SQF/dayz_code/system/weather/setWeather.sqf index 781f36de7..eed2cd638 100644 --- a/SQF/dayz_code/system/weather/setWeather.sqf +++ b/SQF/dayz_code/system/weather/setWeather.sqf @@ -97,4 +97,4 @@ if (_currentRain == 0 || {_currentOvercast <= .70} || {DZE_Weather in [3,4]}) th if (DEBUG_MESSAGE) then {"The Weather Has Changed" call dayz_rollingMessages;}; -diag_log format ["Weather Forecast: Overcast: %1, Fog: %2, Rain: %3, WindX: %4, WindY: %5, Snow: %6, Blizzard: %7, Change Type: %8.",_currentOvercast,_currentFog,_currentRain,_currentWindX,_currentWindY,_currentSnow,_blizzard,_changeType]; \ No newline at end of file +if (DEBUG_MESSAGE) then {diag_log format ["Weather Forecast: Overcast: %1, Fog: %2, Rain: %3, WindX: %4, WindY: %5, Snow: %6, Blizzard: %7, Change Type: %8.",_currentOvercast,_currentFog,_currentRain,_currentWindX,_currentWindY,_currentSnow,_blizzard,_changeType];}; \ No newline at end of file From ac68b0ca934447022e94cad139d59daba21e8cde Mon Sep 17 00:00:00 2001 From: A Man Date: Sat, 2 Apr 2022 16:05:20 +0200 Subject: [PATCH 4/4] Re-build missionfiles - Every missionfile has the configVariables.sqf added now since almost every server admin move their configVariables to the mission folder. Now it comes by default with it. - The missionfile contains by default a custom variables and compiles.sqf too now. This makes it easier for server admins to add scripts. - Having all configVariables in one place makes a map change much easier now. - Only map specifc variables are still in init.sqf and should stay there. --- SQF/dayz_code/configVariables.sqf | 62 +- .../DayZ_Epoch_1.Takistan/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_1.Takistan/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_11.Chernarus/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_12.isladuala/init.sqf | 70 +- .../DayZ_Epoch_13.Tavi/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_13.Tavi/init.sqf | 70 +- .../DayZ_Epoch_15.namalsk/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_15.namalsk/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_16.Panthera2/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_17.Chernarus/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_19.FDF_Isle1_a/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_2.Chernarus_Winter/init.sqf | 70 +- .../DayZ_Epoch_21.Caribou/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_21.Caribou/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_22.smd_sahrani_A2/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_23.cmr_ovaron/init.sqf | 70 +- .../DayZ_Epoch_24.Napf/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_24.Napf/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_25.sauerland/init.sqf | 70 +- .../configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../DayZ_Epoch_26.sauerland_winter/init.sqf | 70 +- .../DayZ_Epoch_27.ruegen/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_27.ruegen/init.sqf | 72 +- .../DayZ_Epoch_7.Lingor/configVariables.sqf | 655 ++++++++++++++++++ .../dayz_code/init/compiles.sqf | 8 + .../dayz_code/init/variables.sqf | 100 +++ .../MPMissions/DayZ_Epoch_7.Lingor/init.sqf | 70 +- 69 files changed, 13196 insertions(+), 1029 deletions(-) create mode 100644 Server Files/MPMissions/DayZ_Epoch_1.Takistan/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_11.Chernarus/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_12.isladuala/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_13.Tavi/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_16.Panthera2/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_17.Chernarus/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_21.Caribou/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_24.Napf/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_25.sauerland/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_27.ruegen/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/variables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_7.Lingor/configVariables.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/compiles.sqf create mode 100644 Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/variables.sqf diff --git a/SQF/dayz_code/configVariables.sqf b/SQF/dayz_code/configVariables.sqf index 3c574eae7..0511ccca8 100644 --- a/SQF/dayz_code/configVariables.sqf +++ b/SQF/dayz_code/configVariables.sqf @@ -1,10 +1,13 @@ // EPOCH CONFIG VARIABLES // - -// To change a variable copy paste it in the mission init.sqf below the #include line. // Standard DayZ variables are found in dayz_code\init\variables.sqf. +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + // Both -dayz_infectiouswaterholes = true; //Enable infected waterholes +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] DZE_HeliLift = true; // Enable Epoch heli lift system @@ -13,9 +16,9 @@ DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? dayz_ForcefullmoonNights = false; // Forces night time to be full moon. infectedWaterHoles = []; //Needed for non-cherno maps. -DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = false; // disable blood types system and use the single classic ItemBloodbag +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). // Death Messages @@ -85,8 +88,24 @@ DZE_WeatherVariables = [ 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. ]; +DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. +DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + //Server if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with @@ -94,12 +113,8 @@ if (isServer) then { MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map MaxMineVeins = 50; // Max number of random mine veins to spawn around the map DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in - EpochEvents = []; // [year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map - spawnArea = 1400; // Distance around markers to find a safe spawn position - spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - dayz_POIs = false; //Enable POI's dayz_enableGhosting = false; dayz_ghostTimer = 120; DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; @@ -121,11 +136,19 @@ if (isServer) then { // Client if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice @@ -135,19 +158,16 @@ if (!isDedicated) then { DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. timezoneswitch = 0; // Changes murderMenu times with this offset in hours. - dayz_maxGlobalZeds = 1000; // Maximum allowed zeds on the map - dayz_quickSwitch = false; //Enable quick weapon switch, + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map dayz_paraSpawn = false; // Helo jump spawn - DZE_SelfTransfuse = false; // Allow players to give themselves blood transfusions + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - DZE_BackpackAntiTheft = false; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_temperature_override = true; // Set to true to disable all temperature changes. - dayz_nutritionValuesSystem = false; //true, Enables nutrition system, false, disables nutrition system. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund @@ -197,7 +217,6 @@ if (!isDedicated) then { // Plot Management and Plot for Life DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. - DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. @@ -222,12 +241,6 @@ if (!isDedicated) then { DZE_displayHelpers = true; // enable/disable display of modular object helpers DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) - DZE_helperSize = [[3,"Sign_sphere100cm_EP1"],[2,"Sign_sphere25cm_EP1"],[1,"Sign_sphere10cm_EP1"]]; // array of helper sizes and corresponding class. Keep in reverse order for optimized lookup - DZE_helperSizeDefault = 3; // default to large sphere - DZE_NoRefundTransparency = 0.5; // Red Basebuilding Helper Transparency. min = 0.1, max = 1 - DZE_removeTransparency = 0.5; // Green Basebuilding Helper Transparency. min = 0.1, max = 1 - DZE_deconstructTransparency = 0.5; // Blue Basebuilding Helper Transparency. min = 0.1, max = 1 - DZE_largeObjects = ["MetalContainer2D_DZ","MetalContainer1G_DZ","MetalContainer1B_DZ","MetalContainer1A_DZ","DragonTeeth_DZ","DragonTeethBig_DZ","MetalFloor4x_DZ","Land_metal_floor_2x2_wreck","WoodFloor4x_DZ","Land_wood_floor_2x2_wreck","Scaffolding_DZ","CinderGateFrame_DZ","CinderGate_DZ","CinderGateLocked_DZ","WoodGateFrame_DZ","Land_DZE_WoodGate","Land_DZE_WoodGateLocked","WoodRamp_DZ","Metal_Drawbridge_DZ","Metal_DrawbridgeLocked_DZ","Land_WarfareBarrier10x_DZ","Land_WarfareBarrier10xTall_DZ","SandNestLarge_DZ"]; // adjust _allowedDistance in fn_selfActions.sqf for large modular/crafted objects // Refund single kits, or modular object recipes as per the build configs // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] @@ -370,7 +383,6 @@ if (!isDedicated) then { // Door Management DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. - DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. diff --git a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/init.sqf b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/init.sqf index fa212cef4..7403f61c4 100644 --- a/Server Files/MPMissions/DayZ_Epoch_1.Takistan/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_1.Takistan/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 1; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1000; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[436,5550,0],100],[[1958,12554,0],100],[[10870,6306,0],100],[[8030.56,2003.89,0],100],[[751,10491,0],100],[[5281.71,11160.2,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\takistan.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/init.sqf b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/init.sqf index 8f278445f..4bf43cc9f 100644 --- a/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_11.Chernarus/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 11; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[6325,7807,0],100],[[4063,11664,0],100],[[11447,11364,0],100],[[1621.91,7797,0],100],[[12944,12766,0],100],[[12060,12638,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus11.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/init.sqf b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/init.sqf index 3a08f45cc..6d4c51022 100644 --- a/Server Files/MPMissions/DayZ_Epoch_12.isladuala/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_12.isladuala/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 12; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 400; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[4969,5132,0],100],[[1281,9060,0],100],[[1989,1162,0],100],[[5976,6162,0],100],[[6271,1273,0],100],[[8419,3369,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\isladuala.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/init.sqf b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/init.sqf index b0680c655..11fc0f644 100644 --- a/Server Files/MPMissions/DayZ_Epoch_13.Tavi/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_13.Tavi/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 13; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 700; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 400; // Max number of random vehicles to spawn around the map spawnArea = 2500; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[15309,9278,0],100],[[11698,15210,0],100],[[5538,8762,0],100],[[7376,4296,0],100],[[10948,654,0],100],[[4066,7265,0],100],[[16555,10159,0],100],[[6815,8534,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\tavi.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/init.sqf b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/init.sqf index 58cd6021b..87dc25208 100644 --- a/Server Files/MPMissions/DayZ_Epoch_15.namalsk/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_15.namalsk/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 15; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 300; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 200; // Max number of random vehicles to spawn around the map spawnArea = 800; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[6224.7,9164.97,0],100],[[7265.519,5804.69,0],100],[[8887.29,10754.3,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 3; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\namalsk.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/init.sqf b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/init.sqf index 9cd3208fd..80497f5f3 100644 --- a/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_16.Panthera2/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 16; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[4419,1629,0],100],[[8688,3129,0],100],[[9051,4073,0],100],[[1891,3603,0],100],[[4763,7481,0],100],[[4338,6317,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\panthera2.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/init.sqf b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/init.sqf index 6ea485314..67b68462b 100644 --- a/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_17.Chernarus/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 17; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[6344,7806,0],100],[[4053,11668,0],100],[[11463,11349,0],100],[[1606,7803,0],100],[[12944,12766,0],100],[[5075,9733,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus17.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/init.sqf b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/init.sqf index 6ba05a270..665791945 100644 --- a/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_19.FDF_Isle1_a/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 19; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 250; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 200; // Max number of random vehicles to spawn around the map spawnArea = 1000; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[7987,10603,0],100],[[9656,10889,0],100],[[9756,4029,0],100],[[13575,7496,0],100],[[8150,4330,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\fdf_isle1_a.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/init.sqf b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/init.sqf index 49ff6efe8..0e2e0f345 100644 --- a/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_2.Chernarus_Winter/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 2; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[6325,7807,0],100],[[4063,11664,0],100],[[11447,11364,0],100],[[1621.91,7797,0],100],[[12944,12766,0],100],[[12060,12638,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 3; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\chernarus11.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/init.sqf b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/init.sqf index 5a03905b4..2beba2ea7 100644 --- a/Server Files/MPMissions/DayZ_Epoch_21.Caribou/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_21.Caribou/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 21; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 250; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 200; // Max number of random vehicles to spawn around the map spawnArea = 1000; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[1388,6950,0],100],[[3937,875,0],100],[[4799,3072,0],100],[[1793,3663,0],100],[[3564,6030,0],100],[[5346,2305,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 3; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\caribou.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/init.sqf b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/init.sqf index 54b3647d4..97fad8e7a 100644 --- a/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_22.smd_sahrani_A2/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 22; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 350; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[12555,8357,0],100],[[14274,12408,0],100],[[17182,13597,0],100],[[17270,9570,0],100],[[6412.37,7476.62,0],100],[[9911,10010,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\smd_sahrani_a2.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/init.sqf b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/init.sqf index 8d5d975e6..5512d2993 100644 --- a/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_23.cmr_ovaron/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 23; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 400; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[8562,5676,0],100],[[1678,4564,0],100],[[4356,6688,0],100],[[9708,2661,0],100],[[546,6891,0],100],[[734,3115,0],100],[[9507,7125,0],100],[[3108,3761,0],100],[[7132,6479,0],100],[[5877,3530,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\cmr_ovaron.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_24.Napf/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_24.Napf/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_24.Napf/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_24.Napf/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_24.Napf/init.sqf b/Server Files/MPMissions/DayZ_Epoch_24.Napf/init.sqf index 7c0079801..5214acd54 100644 --- a/Server Files/MPMissions/DayZ_Epoch_24.Napf/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_24.Napf/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 24; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[8246,15485,0],100],[[15506,13229,0],100],[[12399,5074,0],100],[[10398,8279,0],100],[[5149,4864,0],100],[[15128,16421,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\napf.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/init.sqf b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/init.sqf index a7ecfafe4..aeb6cf703 100644 --- a/Server Files/MPMissions/DayZ_Epoch_25.sauerland/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_25.sauerland/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 25; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 2000; // Distance around markers to find a safe spawn position spawnShoremode = 0; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[15502,17015,0],100],[[13166,6611,0],100],[[24710,21741,0],100],[[16983,1774,0],100],[[11045,15671,0],100],[[15350,18522,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\sauerland.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/init.sqf b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/init.sqf index 679d2357f..b0069bb2c 100644 --- a/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_26.sauerland_winter/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 26; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 2000; // Distance around markers to find a safe spawn position spawnShoremode = 0; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[15502,17015,0],100],[[13166,6611,0],100],[[24710,21741,0],100],[[16983,1774,0],100],[[11045,15671,0],100],[[15350,18522,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones.DZE_SelfTransfuse = true; // Allow players to bloodbag themselves -DZE_Weather = 3; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\sauerland.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_27.ruegen/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_27.ruegen/init.sqf b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/init.sqf index f7db47084..d3d6433d0 100644 --- a/Server Files/MPMissions/DayZ_Epoch_27.ruegen/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_27.ruegen/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 27; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 2000; // Distance around markers to find a safe spawn position spawnShoremode = 0; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; +// Setting for both server and client +DZE_SafeZonePosArray = []; -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible -DZE_SafeZonePosArray = []; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. - -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\ruegen.sqf"; //Add trader city objects locally on every machine early initialized = true; diff --git a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/configVariables.sqf b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/configVariables.sqf new file mode 100644 index 000000000..adb8715a7 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/configVariables.sqf @@ -0,0 +1,655 @@ +// EPOCH CONFIG VARIABLES // +// Standard DayZ variables are found in dayz_code\init\variables.sqf. + +// Do not move the variables from here to the init.sqf. This file was made to have all variables in one place. + +// Both +dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled +DZE_PlayerZed = false; // Enable spawning as a player zombie when players die with infected status +DZE_SafeZonePosArray = []; //Fail-Safe, actual safezones are defined in the map specific init's +dayz_infectiouswaterholes = true; //Enable infected waterholes, randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS), not supported by all maps +dayz_townGenerator = false; // Spawn vanilla map junk instead of Epoch DynamicDebris. Currently only compatible with Chernarus. Also enables comfrey plant spawner which negatively impacts performance. +dayz_townGeneratorBlackList = []; // If townGenerator is enabled it will not spawn junk within 150m of these positions. Example for Chernarus traders: [[4053,11668,0],[11463,11349,0],[6344,7806,0],[1606,7803,0],[12944,12766,0],[5075,9733,0],[12060,12638,0]] +DZE_HeliLift = true; // Enable Epoch heli lift system +DZE_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_NoVehicleExplosions = false; //Disable vehicle explosions to prevent damage to objects by ramming. Doesn't work with amphibious pook which should not be used due to FPS issues. +DZE_SafeZoneZombieLoot = false; // Enable spawning of Zombies and loot in positions listed in DZE_SafeZonePosArray? +dayz_ForcefullmoonNights = false; // Forces night time to be full moon. +infectedWaterHoles = []; //Needed for non-cherno maps. +DZE_GodModeBase = false; // Disables damage handler from base objects so they can't be destroyed. Make player built base objects indestructible. +dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits +dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag +dayz_enableFlies = true; // Enable flies on dead bodies (negatively impacts FPS). + +// Death Messages +DZE_DeathMsgChat = "none"; //"none","global","side","system" Display death messages in selected chat channel. +DZE_DeathMsgDynamicText = false; // Display death messages as dynamicText in the top left with weapon icons. +DZE_DeathMsgRolling = false; // Display death messages as rolling messages in bottom center of screen. + +// ZSC +Z_SingleCurrency = false; // Enable single currency system. + +if (Z_SingleCurrency) then { + Z_globalBanking = false; // Enable global banking system. + Z_persistentMoney = false; // Enabling this stores currency to player_data instead of character_data. Currency transfers to a new character after death. For PVE servers only. Formerly called "GlobalMoney". + CurrencyName = "Coins"; // If using single currency this is the currency display name. + DZE_MoneyStorageClasses = ["VaultStorage","VaultStorage2","VaultStorageLocked","VaultStorage2Locked","LockboxStorageLocked","LockboxStorage2Locked","LockboxStorage","LockboxStorage2","LockboxStorageWinterLocked","LockboxStorageWinter2Locked","LockboxStorageWinter","LockboxStorageWinter2","TallSafe","TallSafeLocked"]; // If using single currency this is an array of object classes players can store coins in. E.g.: ["GunRack_DZ","WoodCrate_DZ"] + ZSC_VehicleMoneyStorage = true; // Allow players to store money in vehicles. If vehicles are destroyed the money is also destroyed. +}; + +Z_VehicleDistance = 40; // Max distance a vehicle can be sold or accessed from at a trader. + +// Vehicle Key Changer +DZE_VehicleKey_Changer = false; // Enable Vehicle Key Changer. Create or change the key for a vehicle. + +// Virtual Garage +DZE_Virtual_Garage = false; // Enable the Virtual Garage to store vehicles. + +// Plot Management and Plot for Life +DZE_isRemovable = ["Plastic_Pole_EP1_DZ"]; //Items that can be removed with a crowbar with no ownership or access required. To forbid base take overs remove plot pole from this list and add it to DZE_restrictRemoval. It is not necessary to add wrecks or items that inherit from 'BuiltItems' to this list. + +// Door Management +DZE_doorManagement = true; // Enable Door Management by @DevZupa. + +// Group System +dayz_groupSystem = false; // Enable group system + +// Bloodsuckers +DZE_Bloodsuckers = false; // Enable bloodsucker spawning. + +// Bury and Butcher Bodies +DZE_Bury_Body = false; // Enable Bury Bodies +DZE_Butcher_Body = false; // Enable Butcher Bodies + +// Weather +DZE_Weather = 2; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables. + +// The settings in the array below may be adjusted as desired. The default settings are designed to maximize client and server performance. +// Having several features enabled at once might have adverse effects on client performance. For instance, you could have snowfall, ground fog, and breath fog threads all running at once. +DZE_WeatherVariables = [ + 15, // Minimum time in minutes for the weather to change. (default value: 15). + 30, // Maximum time in minutes for the weather to change. (default value: 30). + 0, // Minimum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0). + .2, // Maximum fog intensity (0 = no fog, 1 = maximum fog). (default value: 0.8). + 0, // Minimum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 0). Note: Rain and snow will not occur when overcast is less than 0.70. + .6, // Maximum overcast intensity (0 = clear sky, 1 = completely overcast). (default value: 1). + 0, // Minimum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + .6, // Maximum rain intensity (0 = no rain, 1 = maximum rain). Overcast needs to be at least 70% for it to rain. + 0, // Minimum wind strength (default value: 0). + 3, // Maximum wind strength (default value: 5). + .25, // Probability for wind to change when weather changes. (default value: .25). + 1, // Minimum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + 1, // Maximum snow intensity (0 = no snow, 1 = maximum snow). Overcast needs to be at least 75% for it to snow. + .2,// Probability for a blizzard to occur when it is snowing. (0 = no blizzards, 1 = blizzard all the time). (default value: .2). + 10, // Blizzard interval in minutes. Set to zero to have the blizzard run for the whole interval, otherwise you can set a custom time interval for the blizzard. + 0, // Ground Fog Effects. Options: 0 - no ground fog, 1 - only at evening, night, and early morning, 2 - anytime, 3 - near cities and towns, at late evening, night, and early morning, 4 - near cities and towns, anytime. + 400, // Distance in meters from player to scan for buildings to spawn ground fog. By default, only the 15 nearest buildings will spawn ground fog. + false, // Allow ground fog when it's snowing or raining? + 2 // Winter Breath Fog Effects. Options: 0 - no breath fog, 1 - anytime, 2 - only when snowing or blizzard. Note: breath fog is only available with winter weather enabled. +]; + +// Uncomment the lines below to change the default loadout +//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; +//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; +//DefaultBackpack = "GymBag_Camo_DZE1"; +//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; + +//Server +if (isServer) then { + EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. + //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) + ["any","any","any","any",-1,"Care_Packages"], + ["any","any","any","any",-1,"CrashSites"] + ]; + + dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) + DynamicVehicleDamageLow = 0; // Min damage random vehicles can spawn with + DynamicVehicleDamageHigh = 100; // Max damage random vehicles can spawn with + DynamicVehicleFuelLow = 0; // Min fuel random vehicles can spawn with + DynamicVehicleFuelHigh = 100; // Max fuel random vehicles can spawn with + MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE filled with vehicle ammo to spawn around the map + MaxMineVeins = 50; // Max number of random mine veins to spawn around the map + DZE_TRADER_SPAWNMODE = false; // Vehicles purchased at traders will be parachuted in + MaxDynamicDebris = 100; // Max number of random road blocks to spawn around the map + MaxVehicleLimit = 50; // Max number of random vehicles to spawn around the map + dayz_enableGhosting = false; + dayz_ghostTimer = 120; + DZE_disableThermal = []; // Array of vehicle classnames to disable thermal on when being spawned. i.e: ["AH1Z","MTVR"]; + DZE_clearVehicleAmmo = true; // Clears the ammo of vehicles spawned, bought, claimed and upgraded during the same restart + DZE_clearVehicleFlares = false; // Clears the flares of vehicles during the same restart, DZE_clearVehicleAmmo must be true in order to work + DZE_addVehicleAmmo = false; // Adds ammo to all spawned, bought, claimed and upgraded vehicles during the same restart + + // ZSC + Z_globalBankingTraders = false; // Enable banking NPCs at trader cities. + + // Safe Zone Relocating + DZE_SafeZone_Relocate = false; //Enables relocating of vehicles left in Safe Zones over a server restart. + + if (DZE_Virtual_Garage) then { + vg_clearAmmo = true; // Clear the ammo of vehicles spawned during the same restart they are stored? (stops users storing a vehicle for a free rearm) + vg_sortColumn = 0; //0 or an out of range value sorts by the default column 'DisplayName', otherwise 1 = 'DateStored', 2 = 'id', 3 = 'Name' (of storing player), 4 = 'DateMaintained' + }; +}; + +// Client +if (!isDedicated) then { + dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled + dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) + dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). + dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. + dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both + DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. + + DZE_defaultSkin = [["Survivor2_DZ","Rocker1_DZ","Rocker2_DZ","Rocker3_DZ","Rocker4_DZ","Priest_DZ","Functionary1_EP1_DZ","Doctor_DZ","Assistant_DZ","Worker1_DZ","Worker3_DZ","Worker4_DZ","TK_CIV_Takistani01_EP1_DZ","TK_CIV_Takistani03_EP1_DZ","TK_CIV_Takistani04_EP1_DZ","TK_CIV_Takistani06_EP1_DZ","Firefighter1_DZ","Firefighter2_DZ","Firefighter3_DZ","Firefighter4_DZ","Firefighter5_DZ","Firefighter_Officer1_DZ","Firefighter_Officer2_DZ","Postman1_DZ","Postman2_DZ","Postman3_DZ","Postman4_DZ","SchoolTeacher_DZ","Gardener_DZ","RU_Policeman2_DZ","Hunter_DZ","Civilian1_DZ","Civilian3_DZ","Civilian5_DZ","Civilian7_DZ","Civilian9_DZ","Civilian11_DZ","Civilian13_DZ","Prisoner1_DZ","Prisoner2_DZ","Prisoner3_DZ","Reporter_DZ","MafiaBoss_DZ","Dealer_DZ","BusinessMan_DZ"],["SurvivorW2_DZ","SurvivorWcombat_DZ","SurvivorWdesert_DZ","SurvivorWurban_DZ","SurvivorWpink_DZ","SurvivorW3_DZ"]]; // Default player skin for fresh spawns, selected randomly DZE_defaultSkin = [["Male skin1","Male skin2"],["Female skin1","Female skin2"]], comment out the whole line to disable this feature. + dayz_tameDogs = false; // Allow taming dogs with raw meat. Note dog behavior is experimental and buggy. + DZE_WarmClothes = []; //Array of warm clothes, type of player model must be added: E.g. ["MVD_Soldier_DZ","GUE_Soldier_2_DZ"]; + DZE_TempVars = [7, 15, 4, 4, 2, 6, 8, 3, 2, 0.25, 0.75, 0.5, 12, 33]; //[vehicle, fire, building, moving, sun, heatpack, warm clothes, water, standing, rain, wind, night, snow, shivering] water, standing, rain, wind and night factors have a negative impact on temperature. The greater they are the quicker the player gets cold. To disable shivering set it to 26. + DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. + dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations + DZE_AntiWallLimit = 3; // Number of activations before player_antiWall kills player for glitching attempt. Lower is stricter, but may result in false positives. + DZE_DamageBeforeMaint = 0.09; // Min damage built items must have before they can be maintained + DZE_NameTags = 0; // Name displays when looking at player up close 0 = Off, 1= On, 2 = Player choice + DZE_ForceNameTagsInTrader = false; // Force name display when looking at player up close in traders. Overrides player choice. + DZE_HumanityTargetDistance = 25; // Distance to show name tags (red for bandit, blue for hero, green for friend) + DZE_HeartBeat = false; // Enable heartbeat sound when looking at bandit (<= -3000 humanity) up close + DZE_RestrictSkins = []; // Clothes that players are not allowed to wear. i.e. ["Skin_GUE_Soldier_CO_DZ","Skin_GUE_Soldier_2_DZ"] etc. + DZE_VanillaUICombatIcon = true; //Display or hide combat UI icon if using DZE_UI = "vanilla"; otherwise it has no affect. + timezoneswitch = 0; // Changes murderMenu times with this offset in hours. + dayz_maxGlobalZeds = 500; // Maximum allowed zeds on the map + dayz_paraSpawn = false; // Helo jump spawn + DZE_SelfTransfuse = true; // Allow players to give themselves blood transfusions + DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount, infection chance, cool-down (seconds)] + dayz_DamageMultiplier = 1; // Increases the damage to the player by zombie attacks + DZE_BackpackAntiTheft = true; // Prevents accessing backpack gear of non-friendly players in trader cities + DZE_StaticConstructionCount = 0; // Number of animations required for building an object. Leaving set at zero will default to the construction count in the configs for each object. + dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. + dayz_temperature_override = false; // Set to true to disable all temperature changes. + dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. + DZE_DisableVehicleUpgrade = []; // List of vehicles that cannot be upgraded with manuals E.g.: ["ArmoredSUV_PMC_DZE","LandRover_CZ_EP1_DZE"] + DZE_debrisRefundParts = ["PartEngine","PartGeneric","PartFueltank","PartWheel","PartGlass","ItemJerrycan"]; // Dynamic debris wrecks refund + + // Build restrictions + DZE_NoBuildNear = []; //Array of object class names that are blacklisted to build near. i.e ["Land_Mil_ControlTower","Land_SS_hangar"] etc. + DZE_NoBuildNearDistance = 150; // Distance from blacklisted objects to disallow building near. + DZE_BuildHeightLimit = 0; // 0 = No building height limit | >0 = Height limit in meters | Changing this to 30 would limit the maximum built height to 30 meters. + DZE_HeightLimitColor = true; // display plot boundary helpers in red if they are above DZE_BuildHeightLimit + DZE_requireplot = 1; // Players require a plot to build + DZE_PlotPole = [30,45]; // Plot radius, minimum distance between plots + DZE_BuildOnRoads = false; // Allow building on roads + DZE_BuildingLimit = 150; // Maximum allowed objects per plot + DZE_RestrictedBuildingZones = []; // [["Balota Airfield", [5158.72, 2518.75, 0], 600]]; // [["description", [position], distance], ["description", [position], distance], ... ]; + DZE_BlacklistedBuildings = []; // [["Fire Station", "Land_a_stationhouse", 250]]; // [["description", "className", distance], ["description", "className", distance], ... ]; + DZE_buildOnWater = true; // Allow building in or over sea water. Note: Sea level will change between low tide and high tide and may cause base flooding. This does not affect inland ponds, dams or lakes. + DZE_maxSeaLevel = 1.85; // ASL height (in meters) of high tide. Objects placed below this level over sea water will trigger a warning message about potential flooding during high tide. Low tide is 06:00 hrs, high tide is 12:00 hrs, but maps may vary. + + DZE_salvageLocked = true; //Enable or disable salvaging of locked vehicles, useful for stopping griefing on locked vehicles. + DZE_DisabledChannels = [(localize "str_channel_side"),(localize "str_channel_global"),(localize "str_channel_command")]; //List of disabled voice channels. Other channels are: "str_channel_group","str_channel_direct","str_channel_vehicle" + DZE_NutritionDivisor = [1, 1, 1, 1]; //array of DIVISORS that regulate the rate of [calories, thirst, hunger, temperature] use when "working" (keep in mind that temperature raises with actions) - min values 0.1 - Larger values slow the effect, smaller values accelerate it + DZE_ZombieSpeed = [0,0]; //Default agro speed is 6 per zombie config, set array elements 0 and 1 the same for non-variable speed, set to 0 to disable. array format = [min, max]; Ex: [2, 6]; results in a range of speed between 2 and 6 (2 is the old DZE_slowZombies hard-coded speed) + DZE_ZombieHumanity = 5; + DZE_lockablesHarderPenalty = true; // Enforce an exponential wait on attempts between unlocking a safe/lockbox from a failed code. + DZE_Hide_Body = true; //Enable hide dead bodies. Hiding a dead body removes the corpse marker from the map too. Default = true + DZE_PVE_Mode = false; //Disable the PvP damage on the server. If DZE_BackpackAntiTheft = true, the backpack anti theft is active on the whole server. This is just a basic support for PVE Servers. Default = false + + // SafeZone + DZE_SafeZoneNoBuildItems = []; // Array of object class names not allowed to be built near the zones in DZE_SafeZonePosArray (see mission\init.sqf). Can be nested arrays for custom distances. i.e ["VaultStorageLocked","LockboxStorageLocked",["Plastic_Pole_EP1_DZ",1300]] etc. + DZE_SafeZoneNoBuildDistance = 150; // Distance from zones in DZE_SafeZonePosArray (see mission\init.sqf) to disallow building near. + DZE_DeathScreen = true; // True=Use Epoch death screen (Trade city obituaries have been amended) False=Use DayZ death screen (You are dead) + + // HALO Jump + DZE_HaloAltitudeMeter = false; // Display altitude and speed on screen while in halo jump. + DZE_HaloOpenChuteHeight = 180; // Automatically open chute at specified height. Set to -1 to disable this feature. + DZE_HaloSpawnHeight = 2000; // This is the altitude fresh spawn players start at when HALO spawn is enabled. + DZE_HaloJump = true; // Enable halo jumping out of air vehicles above 400m + + // Trader Menu + DZE_serverLogTrades = true; // Log trades to server RPT (sent with publicVariableServer on every trade) + DZE_GemChance = 0.4; // Chance of gem occurrence in an Ore Vein, valid values from 0.01 - 1, 0.4 = 40% Chance + DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]]; //Sets how rare each gem is in the order shown when mining (whole numbers only) + DZE_GemWorthArray = [["ItemTopaz",15000], ["ItemObsidian",20000], ["ItemSapphire",25000], ["ItemAmethyst",30000], ["ItemEmerald",35000], ["ItemCitrine",40000], ["ItemRuby",45000]]; // Array of gem prices, only works with config traders. Set DZE_GemWorthArray=[]; to disable return change in gems. + DZE_SaleRequiresKey = false; // Require the player has the key for a vehicle in order to sell it. The key can be in the player's toolbelt, backpack, or the vehicle's inventory. + DZE_keepVehicleKey = false; // Keep the vehicle key when the vehicle is sold? (Useful on servers with the key changer mod) + Z_AllowTakingMoneyFromBackpack = true; // Allow traders to take money from backpacks when buying with default currency. + Z_AllowTakingMoneyFromVehicle = true; // Allow traders to take money from vehicles when buying with default currency. + + // Plot Management and Plot for Life + DZE_plotManagementMustBeClose = false; //Players must be within 10m of pole to be added as a plot friend. + DZE_PlotManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every pole's management menu and delete or build any buildable with a pole nearby. + DZE_MaxPlotFriends = 10; //Max friends allowed on a plot. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_maintainCurrencyRate = 100; //The currency rate of what maintaining an item will be, for instance: at 100, 10 items will have a worth of 1000 (1 10oz gold or 1k coins) see actions/maintain_area.sqf for more examples. + DZE_limitPlots = 0; // Limit the amount of plot poles per person, Use 0 to disable. UIDS in the DZE_PlotManagementAdmins array are exempt. + DZE_PlotOzone = 10; // distance (in meters) outside the plot radius where the player may stand while building, provided the object remains within the plot radius. + DZE_AxialHelper = true; // when building within a plot radius, display a perpendicular line of helpers from the highest point to lowest point of the plot boundary. + DZE_plotGreenTransparency = 0.4; // green plot pole helper transparency. min = 0.1, max = 1 + DZE_plotRedTransparency = 0.7; // red plot pole helper transparency. min = 0.1, max = 1 + DZE_restrictRemoval = ["Fence_corrugated_DZ","M240Nest_DZ","ParkBench_DZ","FireBarrel_DZ","Scaffolding_DZ","CanvasHut_DZ","LightPole_DZ","DeerStand_DZ","MetalGate_DZ","StickFence_DZ","Garage_Green_DZ","Garage_White_DZ","Garage_Brown_DZ","Garage_Grey_DZ","CCTV_DZ","Notebook_DZ","Water_Pump_DZ","Greenhouse_DZ","Bed_DZ","Table_DZ","Office_Chair_DZ"]; //Items that can be removed with a crowbar only with proper ownership or access. It is not necessary to add doors, storage or items that inherit from 'ModularItems' to this list. Items that inherit from 'BuiltItems' can be added to this list if desired. + DZE_DisableUpgrade = []; //Array of buildables that are not allowed to be upgraded. For example: DZE_DisableUpgrade = ["WoodShack_DZ","StorageShed_DZ"]; + + // Snap Build and Build Vectors + DZE_noRotate = ["ItemWoodLadder","woodfence_foundation_kit","metalfence_foundation_kit","cook_tripod_kit","metal_drawbridge_kit","metal_drawbridge_kit_locked","storage_crate_kit"]; // List of objects (magazine classnames) that cannot be rotated. Example: ["ItemVault","ItemTent","ItemDomeTent","ItemDesertTent"]; + DZE_vectorDegrees = [0.01, 0.1, 1, 5, 15, 45, 90]; // Degree positions players are able to rotate buildables with using the build vectors action menu. + DZE_curDegree = 45; // Starting rotation angle. Prefer any value in the array above. + DZE_snapDistance = 2; // maximum distance between two snapping points before snapping will occur. Default: 2 meters. + DZE_snapAutoRefresh = true; // enable auto-refresh of snapping point helpers if player moves the current build object out of initial snapping range. Default: true. + DZE_uiSnapText = true; // enable on-screen helper text near the closest snapping point when building. Default: true + + // Remove/Deconstruct modular object variables + DZE_refundModular = true; // enable/disable refunding of modular objects + DZE_allowDeconstruct = true; // enable/disable the Deconstruct player action menu. If DZE_refundModular = false, this setting has no effect. + DZE_displayHelpers = true; // enable/disable display of modular object helpers + DZE_displayOnlyIfNearby = false; // if identical object types are nearby, display green helpers. If no identical types are nearby, then do not display. false = always display green helpers. (This setting does not apply to Red and Blue helpers). If DZE_displayHelpers is disabled, then this setting will be ignored. + DZE_RefundDamageLimit = 0.25; // amount of damage an object can withstand before no refunded parts will be given. 0 = disable (will always refund) + + // Refund single kits, or modular object recipes as per the build configs + // [[Enable, Modular Object, Refund Kit, [[Refund Class 1, Qty], [Refund Class 2, Qty], [Refund Class 3, Qty], [Refund Class 4, Qty]]]] + // + // Enable: bool If DZE_refundModular = true, then set the Enable column to customize individual modular object refunds to on or off. Default = true. + // Modular Object: class CfgVehicles class of the built object. The string must be in quotes. + // Refund Kit: class CfgMagazines class of the refunded object when using the "Remove" action. Will refund a singular kit only. + // Refund Class n: class When using the "Deconstruct" action, refund multiple parts as per the config recipe. Repeat for each material type, up to 4 types maximum. + // Qty: integer Quantity of each material type, as per the recipe. Or alternatively a range of values using an array, e.g [1,3] will refund a random integer between 1 and 3. + + DZE_modularConfig = [ + + // Enable Modular Object Refund Kit Refund Class 1 Qty Refund Class 2 Qty Refund Class 3 Qty Refund Class 4 Qty + // ====== ============== =============================== =========================================== =========================== =========================== =========================== + // // Glass // + [true, "GlassFloor_DZ", "glass_floor_kit", [["glass_floor_half_kit", 2]]], + [true, "GlassFloor_Half_DZ", "glass_floor_half_kit", [["glass_floor_quarter_kit", 2]]], + [true, "GlassFloor_Quarter_DZ", "glass_floor_quarter_kit", [["ItemPole", 8], ["PartGlass", 4]]], + + // // Metal // + [true, "MetalFloor_DZ", "metal_floor_kit", [["metal_floor_half_kit", 2]]], + [true, "MetalFloor_Half_DZ", "metal_floor_half_kit", [["metal_floor_quarter_kit", 2]]], + [true, "MetalFloor_Quarter_DZ", "metal_floor_quarter_kit", [["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFloor4x_DZ", "metal_floor4x_kit", [["metal_floor_kit", 4]]], + [true, "Metal_Drawbridge_DZ", "metal_drawbridge_kit", [["metal_floor_kit", 2], ["ItemRSJ", 6]]], + [true, "MetalPillar_DZ", "metal_pillar_kit", [["ItemPole", 1], ["equip_metal_sheet", 2]]], + [true, "DoorFrame_DZ", "door_frame_kit", [["ItemPole", 4], ["ItemTankTrap", 4], ["PartGeneric", 2]]], + [true, "Door_DZ", "door_kit", [["door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "MetalFence_1_foundation_DZ", "metalfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemRSJ", 1]]], + [true, "MetalFence_1_frame_DZ", "metalfence_frame_kit", [["ItemPlank", 4], ["ItemRSJ", 1]]], + [true, "MetalFence_halfpanel_DZ", "metalfence_halfpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_thirdpanel_DZ", "metalfence_thirdpanel_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_1_DZ", "metalfence_1_kit", [["ItemMetalSheet", 3], ["ItemScrews", 1]]], + [true, "MetalFence_2_DZ", "metalfence_2_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_3_DZ", "metalfence_3_kit", [["ItemMetalSheet", 4], ["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_4_DZ", "metalfence_4_kit", [["ItemScrews", 1], ["ItemRSJ", 4]]], + [true, "MetalFence_5_DZ", "metalfence_5_kit", [["ItemScrews", 1], ["ItemRSJ", 2]]], + [true, "MetalFence_6_DZ", "metalfence_6_kit", [["ItemScrews", 1], ["ItemPole", 4], ["equip_metal_sheet", 4]]], + [true, "MetalFence_7_DZ", "metalfence_7_kit", [["ItemScrews", 1], ["ItemPole", 6], ["PartGeneric", 2]]], + [true, "MetalContainer1A_DZ", "metal_container_1a_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1B_DZ", "metal_container_1b_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer1G_DZ", "metal_container_1g_kit", [["metal_floor_quarter_kit", 2], ["metal_floor_half_kit",4], ["ItemTankTrap", 2]]], + [true, "MetalContainer2D_DZ", "metal_container_2d_kit", [["metal_container_1a_kit", 2]]], + + // // Cinder // + [true, "CinderWallHalf_DZ", "half_cinder_wall_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWallHalf_Gap_DZ", "half_cinder_wall_gap_kit", [["CinderBlocks", 3], ["MortarBucket", 1]]], + [true, "CinderWall_DZ", "full_cinder_wall_kit", [["CinderBlocks", 7], ["MortarBucket", 2]]], + [true, "CinderWallWindow_DZ", "cinderwall_window_kit", [["CinderBlocks", 5], ["MortarBucket", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderWallSmallDoorway_DZ", "cinder_door_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoorSmall_DZ", "cinder_door_kit", [["cinder_door_frame_kit", 1], ["ItemTankTrap", 1], ["ItemPole", 1]]], + [true, "CinderDoorHatch_DZ", "cinder_door_hatch_kit", [["CinderBlocks", 4], ["MortarBucket", 1], ["ItemTankTrap", 2], ["ItemPole", 1]]], + [true, "CinderWallDoorway_DZ", "cinder_garage_frame_kit", [["CinderBlocks", 3], ["MortarBucket", 1], ["ItemTankTrap", 1]]], + [true, "CinderWallDoor_DZ", "cinder_garage_kit", [["cinder_garage_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGarageOpenTopFrame_DZ", "cinder_garage_top_open_frame_kit", [["CinderBlocks", 4], ["MortarBucket", 1]]], + [true, "CinderGarageOpenTop_DZ", "cinder_garage_top_open_kit", [["cinder_garage_top_open_frame_kit", 1], ["ItemTankTrap", 3], ["ItemPole", 3]]], + [true, "CinderGateFrame_DZ", "cinder_gate_frame_kit", [["CinderBlocks", 8], ["MortarBucket", 4]]], + [true, "CinderGate_DZ", "cinder_gate_kit", [["cinder_gate_frame_kit", 1], ["equip_metal_sheet", 6], ["ItemRSJ", 2], ["ItemScrews", 2]]], + [true, "Concrete_Bunker_DZ", "cinder_bunker_kit", [["full_cinder_wall_kit", 3], ["ItemConcreteBlock", 5], ["equip_metal_sheet", 3], ["ItemScrews", 1]]], + + // // Wood // + [true, "WoodFloor_DZ", "ItemWoodFloor", [["ItemWoodFloorHalf", 2]]], + [true, "WoodFloor4x_DZ", "ItemWoodFloor4x", [["ItemWoodFloor", 4]]], + [true, "WoodFloorHalf_DZ", "ItemWoodFloorHalf", [["ItemWoodFloorQuarter", 2]]], + [true, "WoodFloorQuarter_DZ", "ItemWoodFloorQuarter", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWall_DZ", "ItemWoodWall", [["ItemWoodWallThird", 3]]], + [true, "WoodTriangleWall_DZ", "ItemTriangleWoodWall", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodSmallWallThird_DZ", "ItemWoodWallThird", [["PartWoodPlywood", 3], ["PartWoodLumber", 3]]], + [true, "WoodSmallWallWin_DZ", "ItemWoodWallWindow", [["ItemWoodWall", 1], ["PartGlass", 1]]], + [true, "WoodSmallWallDoor_DZ", "ItemWoodWallDoor", [["ItemWoodWallThird", 3]]], + [true, "Land_DZE_WoodDoor", "ItemWoodWallWithDoor", [["ItemWoodWallDoor", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_GarageWoodDoor", "ItemWoodWallGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "Land_DZE_WoodOpenTopGarageDoor", "ItemWoodOpenTopGarageDoor", [["ItemWoodWallLg", 1], ["PartWoodLumber", 2]]], + [true, "WoodLargeWall_DZ", "ItemWoodWallLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodLargeWallWin_DZ", "ItemWoodWallWindowLg", [["ItemWoodWallLg", 1], ["PartGlass", 1]]], + [true, "WoodLargeWallDoor_DZ", "ItemWoodWallDoorLg", [["ItemWoodWall", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "Land_DZE_LargeWoodDoor", "ItemWoodWallWithDoorLg", [["ItemWoodWallDoorLg", 1], ["PartWoodPlywood", 1], ["PartWoodLumber", 1]]], + [true, "WoodGateFrame_DZ", "ItemWoodGateFrame", [["ItemWoodWallThird", 6]]], + [true, "Land_DZE_WoodGate", "ItemWoodGate", [["ItemWoodGateFrame", 1], ["PartWoodPlywood", 8], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "WoodFloorStairs_DZ", "ItemWoodFloorStairs", [["ItemWoodFloor", 1], ["ItemWoodStairs", 1]]], + [true, "WoodTriangleFloor_DZ", "ItemTriangleWoodFloor", [["ItemWoodFloorHalf", 1], ["ItemWoodFloorQuarter",1]]], + [true, "WoodStairsSans_DZ", "ItemWoodStairs", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodStairs_DZ", "ItemWoodStairsSupport", [["ItemWoodStairs", 1], ["PartWoodLumber", 2]]], + [true, "WoodStairsRails_DZ", "ItemWoodStairsRails", [["ItemWoodStairsSupport", 1], ["PartWoodLumber", 2]]], + [true, "WoodLadder_DZ", "ItemWoodLadder", [["PartWoodLumber", 8], ["equip_nails", 2]]], + [true, "WoodHandrail_DZ", "ItemWoodHandRail", [["PartWoodLumber", 3], ["equip_nails", 1]]], + [true, "WoodPillar_DZ", "ItemWoodPillar", [["PartWoodLumber", 4], ["equip_nails", 1]]], + [true, "WoodRamp_DZ", "wood_ramp_kit", [["ItemDocumentRamp", 1], ["PartWoodLumber", 8]]], + [true, "WoodenFence_1_foundation_DZ", "woodfence_foundation_kit", [["ItemStone", 8], ["MortarBucket", 1], ["ItemPlank", 1]]], + [true, "WoodenFence_1_frame_DZ", "woodfence_frame_kit", [["woodfence_foundation_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_quaterpanel_DZ", "woodfence_quaterpanel_kit", [["woodfence_frame_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_halfpanel_DZ", "woodfence_halfpanel_kit", [["woodfence_quaterpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_thirdpanel_DZ", "woodfence_thirdpanel_kit", [["woodfence_halfpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_1_DZ", "woodfence_1_kit", [["woodfence_thirdpanel_kit", 1], ["ItemPlank", 4], ["equip_nails", 1]]], + [true, "WoodenFence_2_DZ", "woodfence_2_kit", [["woodfence_1_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_3_DZ", "woodfence_3_kit", [["woodfence_2_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_4_DZ", "woodfence_4_kit", [["woodfence_3_kit", 1], ["ItemPlank", 8], ["equip_nails", 2]]], + [true, "WoodenFence_5_DZ", "woodfence_5_kit", [["woodfence_4_kit", 1], ["ItemLog", 5], ["equip_nails", 2]]], + [true, "WoodenFence_6_DZ", "woodfence_6_kit", [["woodfence_5_kit", 1], ["PartWoodPlywood", 4], ["ItemPlank", 2], ["equip_nails", 2]]], + [true, "WoodenFence_7_DZ", "woodfence_7_kit", [["woodfence_6_kit", 1], ["ItemWoodLadder", 1], ["equip_nails", 1]]], + [true, "WoodenGate_foundation_DZ", "woodfence_gate_foundation_kit", [["ItemLog", 6]]], + [true, "WoodenGate_1_DZ", "woodfence_gate_1_kit", [["woodfence_gate_foundation_kit", 1], ["ItemPlank", 8], ["equip_nails", 1], ["ItemComboLock", 1]]], + [true, "WoodenGate_2_DZ", "woodfence_gate_2_kit", [["woodfence_gate_1_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_3_DZ", "woodfence_gate_3_kit", [["woodfence_gate_2_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WoodenGate_4_DZ", "woodfence_gate_4_kit", [["woodfence_gate_3_kit", 1], ["ItemPlank", 10], ["equip_nails", 1]]], + [true, "WorkBench_DZ", "workbench_kit", [["PartWoodPlywood", 1], ["PartWoodLumber", 2]]], + [true, "SimpleFootbridge_DZ", "simple_footbridge_kit", [["ItemPlank", 3]]], + [true, "WoodenFootbridge_DZ", "wooden_footbridge_kit", [["ItemPlank", 3], ["PartWoodLumber", 2], ["equip_nails", 1]]], + [true, "Windbreak_DZ", "windbreak_kit", [["equip_wood_pallet", 2], ["PartWoodLumber", 2], ["equip_nails", 1]]], + + // // Fortifications // + [true, "Land_HBarrier1_DZ", "ItemSandbagLarge", [["ItemSandbag", 3], ["ItemWire", 1], ["ItemTankTrap", 1]]], + [true, "Land_HBarrier3_DZ", "ItemSandbagExLarge", [["ItemSandbagLarge", 3]]], + [true, "Land_HBarrier5_DZ", "ItemSandbagExLarge5x", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "Land_HBarrier5Curved_DZ", "ItemSandbagExLarge5xCurved", [["ItemSandbagExLarge", 1], ["ItemSandbagLarge", 2]]], + [true, "HeavyBagFence_DZ", "ItemSandbagHeavy_kit", [["ItemSandbag", 2], ["PartWoodPile", 1]]], + [true, "HeavyBagFenceCorner_DZ", "ItemSandBagHeavyCorner_kit", [["ItemSandbagHeavy_kit", 2]]], + [true, "HeavyBagFenceRound_DZ", "ItemSandbagHeavyRound_kit", [["ItemSandbagHeavy_kit", 3]]], + [true, "SandNest_DZ", "sandbag_nest_kit", [["ItemSandbag", 4], ["PartWoodPlywood", 2], ["PartWoodLumber", 4]]], + [true, "SandNestLarge_DZ", "sandbag_nest_large_kit", [["ItemSandBagHeavyCorner_kit", 4], ["sandbag_nest_kit", 4]]], + [true, "Land_WarfareBarrier5x_DZ", "ItemWarfareBarrier5x_kit", [["ItemSandbagLarge", 5]]], + [true, "Land_WarfareBarrier10x_DZ", "ItemWarfareBarrier10x_kit", [["ItemWarfareBarrier5x_kit", 2]]], + [true, "Land_WarfareBarrier10xTall_DZ", "ItemWarfareBarrier10xTall_kit", [["ItemWarfareBarrier10x_kit", 3]]], + [true, "FortifiedWire_DZ", "fortified_wire_kit", [["ItemWire", 1], ["ItemTankTrap", 2]]], + [true, "BarbedGate_DZ", "barbed_gate_kit", [["ItemWire", 1], ["ItemTankTrap", 2], ["ItemPole", 2]]], + [true, "ConcreteBarrier_DZ", "concrete_barrier_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteBarrierStriped_DZ", "concrete_barrier_striped_kit", [["CementBag", 3], ["ItemStone", 2], ["ItemWire", 1]]], + [true, "ConcreteWall_DZ", "concrete_wall_kit", [["concrete_barrier_kit", 5], ["CementBag", 2]]], + [true, "ConcretePipe_DZ", "concrete_pipe_kit", [["concrete_barrier_kit", 6], ["CementBag", 2]]], + [true, "DragonTeeth_DZ", "dragonteeth_kit", [["concrete_wall_kit", 1], ["ItemStone", 6], ["CementBag", 4]]], + [true, "DragonTeethBig_DZ", "dragonteeth_big_kit", [["dragonteeth_kit", 1], ["ItemStone", 6], ["CementBag", 4]]] + ]; + + DZE_modularExclude = []; + { + if !(_x select 0) then { + DZE_modularExclude = DZE_modularExclude + [_x select 1]; + }; + } count DZE_modularConfig; + + // Door Management + DZE_doorManagementMustBeClose = false; //Players must be within 10m of door to be added as a door friend. + DZE_doorManagementAdmins = []; //Array of admin PlayerUIDs. UIDs in this list are able to access every door's management menu and open it. + DZE_doorManagementAllowManualCode = true; //Allow unlocking doors by manually entering the combination. Setting false requires the use of eye scan for all doors. + DZE_doorManagementMaxFriends = 10; //Max friends allowed on a door. There is no character limit in the inventory field of the database, but lower values limit the max global setVariable size to improve performance. + DZE_doorManagementHarderPenalty = true; //Enforce an exponential wait on attempts between unlocking a door from a failed code. + + // Group System + dayz_markGroup = 1; // Players can see their group members on the map 0=never, 1=always, 2=With GPS only + dayz_markSelf = 0; // Players can see their own position on the map 0=never, 1=always, 2=With GPS only + dayz_markBody = 0; // Players can see their corpse position on the map 0=never, 1=always, 2=With GPS only + dayz_requireRadio = false; // Require players to have a radio on their toolbelt to create a group, be in a group and receive invites. + + // Humanity System + DZE_Hero = 5000; // Defines the value at how much humanity the player is classed as a hero. + DZE_Bandit = -5000; // Defines the value at how much humanity the player is classed as a bandit. + + // ZSC + if (Z_SingleCurrency) then { + Z_showCurrencyUI = true; // Show the currency icon on the screen when Z_SingleCurrency is enabled. + Z_showBankUI = true; // Show the banking icon on the screen when Z_globalBanking is enabled. + ZSC_bankTraders = ["Functionary1_EP1"]; // Array of trader classnames that are available for banking (i.e Functionary1_EP1), do not use _DZ classes - they are used as player skins + ZSC_limitOnBank = true; // Have a limit on the bank? (i.e true or false) limits the global banking to the number below. + ZSC_bankObjects = [""]; // Array of objects that are available for banking i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_maxBankMoney = 500000; // Default limit for bank objects. + ZSC_defaultStorageMultiplier = 200; // Default magazine count for bank objects that don't have storage slots i.e: ["Suitcase","Info_Board_EP1","Laptop_EP1","SatPhone"] + ZSC_MaxMoneyInStorageMultiplier = 5000; // Multiplier for how much money a bank object can hold, example: 200 magazine slots in the object (or the default value above ^^) multiplied by the 5000 multiplier is 1 million coin storage. (200 * 5000 = 1,000,000 coins) + ZSC_ZombieCoins = [false,[0,1000]]; // First value activate coins on zombies, second value from 0 - 1000 coins on each zombie. Coin for zombies are handled directly in check wallet. + }; + + // Loot system + dayz_toolBreaking = false; //Sledgehammer, crowbar and pickaxe have a chance to break when used. + dayz_knifeDulling = false; // Enable knife dulling. Knives need to be sharpened after so many uses. + dayz_matchboxCount = false; // Enable match stick count. After five uses matches run out and must be replaced. + dayz_waterBottleBreaking = false; // Water bottles have a chance to break when boiling and require duct tape to fix + DZE_toolBreakChance = 0.04; // Tool break chance when removing a building, valid values from 0.01 - 1, 0.04 = 4% Chance + + // Bury and Butcher Bodies + if (DZE_Bury_Body) then { + DZE_Bury_Body_Value = 30;// Amount of humanity to gain for burying a body. + }; + if (DZE_Butcher_Body) then { + DZE_Butcher_Body_Value = -30;// Amount of humanity to lose for butchering a body. + }; + + // Take Clothes + DZE_Take_Clothes = false; // Allows to take the clothing from dead players and AIs + DZE_Disable_Take_Clothes = []; // Enter the skins you do not want to be allowed to be recovered from dead bodies. E.g.: DZE_Disable_Take_Clothes = ["Doctor_DZ","Assistant_DZ","Worker1_DZ"]; + + /* + DZE_CLICK_ACTIONS + This is where you register your right-click actions + FORMAT -- (no comma after last array entry) + [_classname,_text,_execute,_condition], + PARAMETERS + _classname : the name of the class to click on (example = "ItemBloodbag") + _text : the text for the option that is displayed when right clicking on the item (example = "Self Transfuse") + _execute : compiled code to execute when the option is selected (example = "execVM 'my\scripts\self_transfuse.sqf';") + _condition : compiled code evaluated to determine whether or not the option is displayed (example = {true}) + */ + + DZE_CLICK_ACTIONS = [ + /* ["ItemGPS",localize "STR_CL_CA_SCAN_NEARBY","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_ZOMBIE_COUNT = count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]); CA_MAN_COUNT = count ((position player) nearEntities ['CAManBase',CA_GPS_RANGE]); format[localize 'STR_CL_CA_SCAN',CA_GPS_RANGE,CA_MAN_COUNT - CA_ZOMBIE_COUNT,count ((position player) nearEntities ['zZombie_Base',CA_GPS_RANGE]),count ((position player) nearEntities ['allVehicles',CA_GPS_RANGE]) - CA_MAN_COUNT] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_UP","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE + 100) min 2500; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"], + ["ItemGPS",localize "STR_CL_CA_RANGE_DOWN","if(isNil 'CA_GPS_RANGE') then {CA_GPS_RANGE = 1500;};CA_GPS_RANGE = (CA_GPS_RANGE - 100) max 1000; format[localize 'STR_CL_CA_RANGE_GPS',CA_GPS_RANGE] call dayz_rollingMessages;","true"] + */ + ]; + + DZE_Remote_Vehicle = false; // Enable/Disable the Remote Vehicle options like ejecting players from a vehicle or lock/unlock the vehicle from the distance just by the key. + + if (DZE_Remote_Vehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemKey",localize "STR_CL_RV_CA_EJECT","spawn remoteVehicle;","true",1], + ["ItemKey",localize "STR_CL_RV_CA_ENGINE","spawn remoteVehicle;","true",2], + ["ItemKey",localize "STR_CL_RV_CA_UNLOCK","spawn remoteVehicle;","true",3], + ["ItemKey",localize "STR_CL_RV_CA_LOCK","spawn remoteVehicle;","true",4], + ["ItemKey",localize "STR_CL_RV_CA_LIGHTS","spawn remoteVehicle;","true",5] + ]; + }; + + DZE_LocateVehicle = false; // Enable/Disable the option to locate a vehicle from a key in the inventory with a rightclick on the GPS. + + if (DZE_LocateVehicle) then { + DZE_CLICK_ACTIONS = DZE_CLICK_ACTIONS + [ + ["ItemGPS",localize "STR_CL_LV_LOCATE_VEHICLES","[] spawn locateVehicle;","true"] + ]; + }; + + if (DZE_VehicleKey_Changer) then { + vkc_claimPrice = 1000; // Amount in worth for claiming a vehicle. See the top of this script for an explanation. + vkc_changePrice = 5000; // Amount in worth for changing the key for a vehicle. See the top of this script for an explanation. + }; + + if (DZE_Virtual_Garage) then { + vg_list = ["Plastic_Pole_EP1_DZ"]; // List of objects/traders that are allowed to interact with virtual garage. i.e: ["Plastic_Pole_EP1_DZ","Worker2"]; + vg_blackListed = []; // Array of vehicle config classes as well as vehicle classnames that are blacklisted from being stored, i.e ["All","Land","Air","Ship","StaticWeapon","AH1Z","MTVR"] + vg_heliPads = ["Helipad_Civil_DZ","Helipad_Rescue_DZ","Helipad_Army_DZ","Helipad_Cross_DZ","Helipad_ParkBorder_DZ"]; // Array of heli pad classnames + vg_store_keyless_vehicles = false; // Allow storing of keyless vehicle (map or mission spawned) + vg_removeKey = true; // Remove the key from the players inventory after storing vehicle? + vg_requireKey = true; // Require the player to have the key when storing a locked vehicle. + vg_storeWithGear = true; // Allow storing vehicles with gear? + vg_tiedToPole = true; // Tie the virtual garage to a local plot pole? If no plot pole is present (i.e a communal garage at a trader etc) the players UID will be used. + vg_pricePer = 100; // Price in worth to store a vehicle per gear item, use 0 if you want it to be free. + vg_maintainCost = 10000; //cost is 1000 per 10oz gold, gem cost is as defined in DZE_GemWorthArray; if you use ZSC then this is an amount of coins. This is a flate rate for all vehicles in the garage/per player depending on vg_tiedToPole + vg_price = [["Land",500],["Air",500],["Ship",500]]; + /* + vg_price can be an array of vehicle config classes as well as vehicle classnames, you need to put these in order of what you prefer to get checked first. + Price is in worth for briefcases or coins for gold based servers (10,000 worth is considered 1 briefcase, 100,000 coins is considered 1 briefcase) + + i.e: + vg_price = [["Land",500],["Air",300],["Ship",100]]; + vg_price = [["350z_red",200],["Land",500],["AH1Z",1000],["Air",300],["Ship",100]]; + */ + vg_limit = [["Land",5],["Air",5],["Ship",5]]; + /* + vg_limit can be an array of vehicle config classes and classnames to narrow down what players can store or it can be a numerical value for a total limit. + These can be classnames as well as config classnames, you need to put these in order of what you prefer to get checked first. + + i.e: + vg_limit = [["Land",5],["Air",3],["Ship",1]]; + vg_limit = [["350z_red",2],["Land",5],["AH1Z",1],["Air",3],["Ship",1]]; + vg_limit = 5; + */ + }; + + // Bloodsuckers + if (DZE_Bloodsuckers) then { + DZE_BloodsuckerChance = .15; // Chance that a building will spawn a bloodsucker. Default .15 (15%) + DZE_BloodsuckerBuildings = ["Land_Hlidac_budka","Land_Mil_Guardhouse","Land_Mil_Barracks","Land_Mil_House","Land_Mil_Barracks_i","CrashSite_RU","CrashSite_US","CrashSite_EU","CrashSite_UN"]; // Bloodsuckers will spawn near these building classes. + DZE_BloodsuckersMaxGlobal = 15; // Maximum number of bloodsuckers allowed on the map at one time. + DZE_BloodsuckersMaxNear = 3; // Maximum number of bloodsuckers allowed in any 200 meter area. + DZE_BloodsuckersMaxLocal = 2; // Maximum number of bloodsuckers that can spawn per client. + DZE_BloodsuckerScreenEffect = true; // On screen slash marks when the bloodsuckers attack. + DZE_BloodsuckerDeleteNearTrader = true; // Deletes bloodsuckers when near trader cities. + DZE_MutantHeartProtect = true; // Disables targeting and attack if the player has a mutant heart in inventory. + DZE_MutantHumanity = 20; + }; + + // Garage Door Opener + DZE_GarageDoor_Opener = false; // Enables the option to open Garage Doors from the inside of a vehicle. + + if (DZE_GarageDoor_Opener) then { + DZE_GarageDoors = ["CinderWallDoorLocked_DZ","Land_DZE_GarageWoodDoorLocked","Land_DZE_LargeWoodDoorLocked","WoodenGate_1_DZ","WoodenGate_2_DZ","WoodenGate_3_DZ","WoodenGate_4_DZ","Land_DZE_WoodGateLocked","CinderGateLocked_DZ","Land_DZE_WoodOpenTopGarageLocked","CinderGarageOpenTopLocked_DZ"]; // Array of Garage Doors that can be opened. + DZE_GarageDoor_Radius = 30; // Radius from where the Garage Doors can be opened. Higher values may negatively impact the performance + }; + + // Service Points for Refuel, Repair and Rearm + DZE_Service_Points = false; + + if (DZE_Service_Points) then { + // Valid vehicle config classes as an example: "Air", "AllVehicles", "All", "APC", "Bicycle", "Car", "Helicopter", "Land", "Motorcycle", "Plane", "Ship", "Tank" + DZE_SP_Classes = ["Map_A_FuelStation_Feed","Land_A_FuelStation_Feed","FuelPump_DZ"]; // service point classes, You can also use dayz_fuelpumparray by its self for all the default fuel pumps. + DZE_SP_MaxDistance = 50; // maximum distance from a service point for the options to be shown + + // Refuel Settings + DZE_SP_Refuel_Enable = true; // enable or disable the refuel option + if (DZE_SP_Refuel_Enable) then { + DZE_SP_Refuel_Costs = [ + //["Ship",localize "str_temp_param_disabled"], // All vehicles are disabled to refuel. + ["Land",localize "strwffree"], // All vehicles are free to refuel. + ["Air",1000] //1000 worth is 1 10oz gold for all air vehicles + ]; + DZE_SP_Refuel_UpdateInterval = 1; // update interval (in seconds) + DZE_SP_Refuel_Amount = 0.05; // amount of fuel to add with every update (in percent) + }; + + + // Repair Settings + DZE_SP_Repair_Enable = true; // enable or disable the repair option + if (DZE_SP_Repair_Enable) then { + DZE_SP_Repair_RepairTime = 2; // time needed to repair each damaged part (in seconds) + DZE_SP_Repair_Costs = [ + ["Air",4000], // 4000 worth is 4 10oz gold. + ["AllVehicles",2000] // 2000 worth is 2 10oz gold for all other vehicles + ]; + }; + + // Rearm Settings + DZE_SP_Rearm_Enable = true; // enable or disable the rearm option + if (DZE_SP_Rearm_Enable) then { + DZE_SP_Rearm_Defaultcost = 10000; // Default cost to rearm a weapon. (10000 worth == 1 briefcase) + DZE_SP_Rearm_MagazineCount = 2; // amount of magazines to be added to the vehicle weapon + DZE_SP_Rearm_Ignore = [(localize "str_dn_horn"),(localize "str_dn_laser_designator")]; // Array of weapon display names that are ignored in the rearm listing. + /* + DZE_SP_Rearm_Costs is an array based on the AMMO type. I.e M240, MK19, PKM, PKT, M134 etc. + You can disable certain ammo types from being able to be rearmed by making the price disabled text + example: ["M134",localize "str_temp_param_disabled"] + */ + DZE_SP_Rearm_Costs = [ + [(localize "str_mn_40rnd_grad"),localize "str_temp_param_disabled"], // BM-21 Grad is disabled (ammo is broken) + [(localize "str_dn_flarelauncher"),2000], // Flares + [(localize "str_ep1_dn_smokelauncher"),2000], // Smokes + [(localize "str_dn_pk"),5000], // PKM + [(localize "str_dn_pkt"),5000], // PKT + [(localize "str_sn_m134"),5000], // M134 + [(localize "str_dn_ags30"),5000], // AGS-30 + [(localize "str_dn_dshkm"),5000], // DSHKM + [(localize "str_DN_VIKHR_CCP"),5000], // Vikhr 9A4172 + [(localize "str_baf_baf_l94a10"),5000], // L94A1 Chain Gun + [(localize "str_baf_crv70"),5000], // CRV7 + [(localize "str_baf_ctws0"),5000], // CTWS + [(localize "str_baf_m621_manual0"),5000], // M621 + [(localize "str_dn_2a38m"),5000], // 2A38M Gun + [(localize "str_dn_2a42"),5000], // 2A42 + [(localize "str_dn_2a46m"),5000], // 2A46M Cannon + [(localize "str_dn_2a46m_rocket"),5000], // 9M119M Refleks rocket + [(localize "str_dn_2a70"),5000], // 2A70 100mm + [(localize "str_dn_2a70_rocket"),5000], // 9M117M1 Arkan + [(localize "str_dn_2a72"),5000], // 2A72 30mm + [(localize "str_dn_80mmlauncher_burst"),5000], // S-8 + [(localize "str_dn_9m311laucher"),5000], // Tunguska 9M311 + [(localize "str_dn_ags17"),5000], // AGS-17 + [(localize "str_dn_d81"),5000], // D-81 + [(localize "str_dn_dt_veh"),5000], // DT + [(localize "str_dn_hellfire"),5000], // AGM-114 Hellfire + [(localize "str_dn_kord"),5000], // KORD + [(localize "str_dn_m197"),5000], // M197 + [(localize "str_dn_m240"),5000], // M240 + [(localize "str_dn_m242"),5000], // M242 + [(localize "str_dn_m256"),5000], // M256 + [(localize "str_dn_sidewinderlaucher"),5000], // AIM-9L Sidewinder + [(localize "str_dn_zis_s_53"),5000], // ZiS-S-53 + [(localize "str_ep1_dn_57mmlauncher"),5000], // S-5 + [(localize "str_ep1_dn_azp85"),5000], // AZP-23 + [(localize "str_ep1_dn_ffarlauncher"),5000], // Hydra + [(localize "str_ep1_dn_m2"),5000], // M2 Machinegun + [(localize "str_ep1_dn_m230"),5000], // M230 + [(localize "str_ep1_dn_m32_ep1"),5000], // M32 + [(localize "str_ep1_dn_mk19"),5000], // Mk19 + [(localize "str_ep1_dn_yakb"),5000], // Yak-B + [(localize "str_mn_at2_mi24d"),5000], // Falanga 3M11 + [(localize "str_mn_at5_bmp2"),5000], // Konkurs 9M113 + [(localize "str_mn_stinger"),5000], // FIM-92F Stinger + [(localize "str_mn_12rnd_mlrs"),5000], // MLRS + [(localize "str_baf_baf_l2a10"),5000], // L111A1 + [(localize "STR_DN_D10_CCP"),5000], // D-10 + [(localize "str_dn_tow"),5000], // M220 TOW + [(localize "str_dn_zu23"),5000], // ZU-23 + [(localize "str_dn_kpvt"),5000], // KPVT + [(localize "str_dn_m3p"),5000], // M3P + [(localize "str_dn_spg9"),5000], // SPG-9 + [(localize "str_dn_gau8"),5000], // GAU-8 + [(localize "str_dn_maverick"),5000], // AGM-65 Maverick + [(localize "str_dn_gbu12"),5000], // GBU-12 + [(localize "str_dn_gau12"),5000], // GAU-12 + [(localize "STR_DN_KH29_CCP"),5000], // Kh-29L + [(localize "str_dn_r73"),5000], // R-73 + [(localize "str_mn_fab250"),5000], // FAB-250 + [(localize "str_dn_gsh301"),5000], // GSh-301 + [(localize "str_mn_23mm_gsh23l"),5000], // GSh-23L + [(localize "str_sn_grenade"),5000], // Grenade + [(localize "str_mn_at9_mi24p"),5000], // Ataka-V 9M120 + [(localize "str_mn_at6_mi24v"),5000], // Shturm 9K114 + + ["SGMT",5000], // SGMT no localization available + ["M68",5000], // M68 no localization available + ["GAU-22",5000], // GAU-22 no localization available + ["GSh-30",5000], // GSh-30 no localization available + ["M60",5000], // M60 no localization available + ["GSh-30K",5000] // GSh-30K no localization available + ]; + }; + }; +}; + +/* + Developers: + + This file's purpose is to slim down init.sqf to only the map specific and most frequently changed variables. + It cuts down on the amount of if(isNil)then{}; statements in variables.sqf and makes the mission smaller. + + Variables that are map specific or frequently changed should be included in init.sqf by default + with a corresponding if(isNil)then{}; in variables.sqf. +*/ \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/compiles.sqf b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/compiles.sqf new file mode 100644 index 000000000..42c823ad1 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/compiles.sqf @@ -0,0 +1,8 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + //Add your custom or override functions here + //fnc_usec_selfActions = compile preprocessFileLineNumbers "dayz_code\compile\fn_selfActions.sqf"; +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/variables.sqf b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/variables.sqf new file mode 100644 index 000000000..52b9b46e2 --- /dev/null +++ b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/dayz_code/init/variables.sqf @@ -0,0 +1,100 @@ +if (isServer) then { + +}; + +if (!isDedicated) then { + + dayz_resetSelfActions = { + s_player_equip_carry = -1; + s_player_fire = -1; + s_player_cook = -1; + s_player_boil = -1; + s_player_packtent = -1; + s_player_packtentinfected = -1; + s_player_fillfuel = -1; + s_player_grabflare = -1; + s_player_removeflare = -1; + s_player_studybody = -1; + s_player_deleteBuild = -1; + s_player_flipveh = -1; + s_player_sleep = -1; + s_player_fillfuel210 = -1; + s_player_fillfuel20 = -1; + s_player_fillfuel5 = -1; + s_player_siphonfuel = -1; + s_player_repair_crtl = -1; + s_player_fishing = -1; + s_player_fishing_veh = -1; + s_player_gather = -1; + s_player_destroytent = -1; + s_player_packvault = -1; + s_player_lockvault = -1; + s_player_unlockvault = -1; + s_player_attack = -1; + s_player_callzombies = -1; + s_player_showname = -1; + s_player_pzombiesattack = -1; + s_player_pzombiesvision = -1; + s_player_pzombiesfeed = -1; + s_player_tamedog = -1; + s_player_parts_crtl = -1; + s_player_movedog = -1; + s_player_speeddog = -1; + s_player_calldog = -1; + s_player_feeddog = -1; + s_player_waterdog = -1; + s_player_staydog = -1; + s_player_trackdog = -1; + s_player_barkdog = -1; + s_player_warndog = -1; + s_player_followdog = -1; + s_player_information = -1; + s_player_fuelauto = -1; + s_player_fuelauto2 = -1; + s_player_fillgen = -1; + s_player_upgrade_build = -1; + s_player_maint_build = -1; + s_player_downgrade_build = -1; + s_halo_action = -1; + s_player_SurrenderedGear = -1; + s_player_maintain_area = -1; + s_player_maintain_area_force = -1; + s_player_maintain_area_preview = -1; + s_player_heli_lift = -1; + s_player_heli_detach = -1; + s_player_lockUnlock_crtl = -1; + s_player_lockUnlockInside_ctrl = -1; + s_player_toggleSnap = -1; + s_player_toggleSnapSelect = -1; + snapActions = -1; + s_player_plot_boundary = -1; + s_player_plotManagement = -1; + s_player_toggleDegree = -1; + degreeActions = -1; + s_player_toggleVector = -1; + vectorActions = -1; + s_player_manageDoor = -1; + s_player_hide_body = -1; + s_player_changeDoorCode = -1; + s_player_changeVaultCode = -1; + s_givemoney_dialog = -1; + s_bank_dialog = -1; + s_bank_dialog1 = -1; + s_bank_dialog2 = -1; + s_bank_dialog3 = -1; + s_player_checkWallet = -1; + s_player_clothes = -1; + s_player_gdoor_opener = []; + s_player_gdoor_opener_ctrl = -1; + s_player_bury_human = -1; + s_player_butcher_human = -1; + s_player_copyToKey = -1; + s_player_claimVehicle = -1; + s_garage_dialog = -1; + s_player_deconstruct = -1; + // Add custom reset actions here + + }; + call dayz_resetSelfActions; + +}; \ No newline at end of file diff --git a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/init.sqf b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/init.sqf index f94054065..4a687b7fa 100644 --- a/Server Files/MPMissions/DayZ_Epoch_7.Lingor/init.sqf +++ b/Server Files/MPMissions/DayZ_Epoch_7.Lingor/init.sqf @@ -1,78 +1,28 @@ -// For DayZ Epoch +// EPOCH CONFIG VARIABLES // +//#include "\z\addons\dayz_code\configVariables.sqf" // If you have problems with certain variables uncomment this line. +#include "configVariables.sqf" // Don't remove this line, path in your missionfile -// EPOCH CONFIG VARIABLES START // -#include "\z\addons\dayz_code\configVariables.sqf" // Don't remove this line -// See the above file for a full list including descriptions and default values +// Map Specific Config // -// Server only settings if (isServer) then { dayZ_instance = 7; //Instance ID of this server - dayz_POIs = false; //Adds Point of Interest map additions (negatively impacts FPS) - MaxDynamicDebris = 500; // Max number of random road blocks to spawn around the map - MaxVehicleLimit = 300; // Max number of random vehicles to spawn around the map spawnArea = 1400; // Distance around markers to find a safe spawn position spawnShoremode = 1; // Random spawn locations 1 = on shores, 0 = inland - EpochEvents = [ //[year,month,day of month, minutes,name of file - .sqf] If minutes is set to -1, the event will run once immediately after server start. - //["any","any","any","any",-1,"Infected_Camps"], // (negatively impacts FPS) - ["any","any","any","any",-1,"Care_Packages"], - ["any","any","any","any",-1,"CrashSites"] - ]; }; -// Client only settings -if (!isDedicated) then { - dayz_antihack = 1; // DayZ Antihack / 1 = enabled // 0 = disabled - dayZ_serverName = ""; //Shown to all players in the bottom left of the screen (country code + server number) - dayz_enableRules = true; //Enables a nice little news/rules feed on player login (make sure to keep the lists quick). - dayz_quickSwitch = false; //Turns on forced animation for weapon switch. (hotkeys 1,2,3) False = enable animations, True = disable animations - dayz_randomMaxFuelAmount = 500; //Puts a random amount of fuel in all fuel stations. - dayz_bleedingeffect = 2; //1 = blood on the ground (negatively impacts FPS), 2 = partical effect, 3 = both - dayz_nutritionValuesSystem = true; //true, Enables nutrition system, false, disables nutrition system. - dayz_DamageMultiplier = 2; //1 - 0 = Disabled, anything over 1 will multiply damage. Damage Multiplier for Zombies. - dayz_maxGlobalZeds = 500; //Limit the total zeds server wide. - dayz_temperature_override = false; // Set to true to disable all temperature changes. - DZE_TwoPrimaries = 2; // 0 do not allow primary weapon on back. 1 allow primary weapon on back, but not when holding a primary weapon in hand. 2 allow player to hold two primary weapons, one on back and one in their hands. - dayz_paraSpawn = false; // Halo spawn - DZE_BackpackAntiTheft = false; // Prevent stealing from backpacks in trader zones - DZE_BuildOnRoads = false; // Allow building on roads - DZE_R3F_WEIGHT = true; // Enable R3F weight. Players carrying too much will be overburdened and forced to move slowly. - DZE_StaticConstructionCount = 0; // Steps required to build. If greater than 0 this applies to all objects. - DZE_requireplot = 1; // Require a plot pole to build 0 = Off, 1 = On - DZE_PlotPole = [30,45]; // Radius owned by plot pole [Regular objects,Other plotpoles]. Difference between them is the minimum buffer between bases. - DZE_BuildingLimit = 150; // Max number of built objects allowed in DZE_PlotPole radius - DZE_SelfTransfuse = true; // Allow players to bloodbag themselves - DZE_selfTransfuse_Values = [12000,15,120]; // [blood amount given, infection chance %, cooldown in seconds] - dayz_maxMaxWeaponHolders = 120; // Maximum number of loot piles that can spawn within 200 meters of a player. -}; - -// Settings for both server and client -dayz_REsec = 1; // DayZ RE Security / 1 = enabled // 0 = disabled -dayz_infectiousWaterholes = false; //Randomly adds some bodies, graves and wrecks by ponds (negatively impacts FPS) -dayz_ForcefullmoonNights = true; // Forces night time to be full moon. -dayz_spawnselection = 0; //(Chernarus only) Turn on spawn selection 0 = random only spawns, 1 = spawn choice based on limits -dayz_classicBloodBagSystem = true; // disable blood types system and use the single classic ItemBloodbag -dayz_enableFlies = false; // Enable flies on dead bodies (negatively impacts FPS). -DZE_PlayerZed = true; // Enable spawning as a player zombie when players die with infected status -DZE_GodModeBase = false; // Make player built base objects indestructible +// Setting for both server and client DZE_SafeZonePosArray = [[[2382.54,4163.14,0],100],[[7639.03,2088.31,0],100],[[5186.06,7694.74,0],100],[[2834.25,9282.13,0],100],[[4678.09,4084.89,0],100],[[3012.5,7137,0],100]]; // Format is [[[3D POS],RADIUS],[[3D POS],RADIUS]]; Stops loot and zed spawn, salvage and players being killed if their vehicle is destroyed in these zones. -DZE_Weather = 1; // Options: 1 - Summer Static, 2 - Summer Dynamic, 3 - Winter Static, 4 - Winter Dynamic. If static is selected, the weather settings will be set at server startup and not change. Weather settings can be adjusted with array DZE_WeatherVariables in configVariables.sqf. -// Uncomment the lines below to change the default loadout -//DefaultMagazines = ["HandRoadFlare","ItemBandage","ItemPainkiller","8Rnd_9x18_Makarov","8Rnd_9x18_Makarov"]; -//DefaultWeapons = ["Makarov_DZ","ItemFlashlight"]; -//DefaultBackpack = "DZ_Patrol_Pack_EP1"; -//DefaultBackpackItems = []; // Can include both weapons and magazines i.e. ["PDW_DZ","30Rnd_9x19_UZI"]; - -// EPOCH CONFIG VARIABLES END // +// Map Specific Config End // enableRadio false; enableSentences false; //setTerrainGrid 25; -diag_log 'dayz_preloadFinished reset'; +//diag_log 'dayz_preloadFinished reset'; dayz_preloadFinished=nil; -onPreloadStarted "diag_log [diag_tickTime,'onPreloadStarted']; dayz_preloadFinished = false;"; -onPreloadFinished "diag_log [diag_tickTime,'onPreloadFinished']; dayz_preloadFinished = true;"; +onPreloadStarted "dayz_preloadFinished = false;"; +onPreloadFinished "dayz_preloadFinished = true;"; with uiNameSpace do {RscDMSLoad=nil;}; // autologon at next logon if (!isDedicated) then { @@ -88,12 +38,14 @@ if (!isDedicated) then { initialized = false; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\variables.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\variables.sqf"; dayz_progressBarValue = 0.05; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\publicEH.sqf"; dayz_progressBarValue = 0.1; call compile preprocessFileLineNumbers "\z\addons\dayz_code\medical\setup_functions_med.sqf"; dayz_progressBarValue = 0.15; call compile preprocessFileLineNumbers "\z\addons\dayz_code\init\compiles.sqf"; +call compile preprocessFileLineNumbers "dayz_code\init\compiles.sqf"; dayz_progressBarValue = 0.25; call compile preprocessFileLineNumbers "\z\addons\dayz_code\system\mission\lingor.sqf"; //Add trader city objects locally on every machine early initialized = true;