diff --git a/SQF/dayz_code/actions/modular_build.sqf b/SQF/dayz_code/actions/modular_build.sqf index 207abf03a..cac2a68db 100644 --- a/SQF/dayz_code/actions/modular_build.sqf +++ b/SQF/dayz_code/actions/modular_build.sqf @@ -59,7 +59,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> DZE_buildItem >> "ItemActi _isNear = {inflamed _x} count (_pos nearObjects _distance); if(_isNear == 0) then { _abort = true; - _reason = "fire"; + _reason = localize "STR_EPOCH_FIRE"; }; }; case "workshop": @@ -68,7 +68,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> DZE_buildItem >> "ItemActi _isNear = count (nearestObjects [_pos, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]); if(_isNear == 0) then { _abort = true; - _reason = "workshop"; + _reason = localize "STR_BLD_name_ItemWorkshop"; }; }; case "fueltank": @@ -77,7 +77,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> DZE_buildItem >> "ItemActi _isNear = count (nearestObjects [_pos, dayz_fuelsources, _distance]); if(_isNear == 0) then { _abort = true; - _reason = "fuel tank"; + _reason = localize "STR_EPOCH_VEHUP_TNK"; }; }; }; @@ -294,30 +294,30 @@ if (_canBuild select 0) then { deleteVehicle _objectHelper; }; - if(_location1 distance _location2 > 10) exitWith { + if(_location1 distance _location2 > DZE_buildMaxMoveDistance) exitWith { _isOk = false; _cancel = true; - _reason = "You've moved too far away from where you started building (within 10 meters)"; + _reason = format[localize "STR_EPOCH_BUILD_FAIL_MOVED",DZE_buildMaxMoveDistance]; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; - if(_location1 distance _objectHelperPos > 10) exitWith { + if(_location1 distance _objectHelperPos > DZE_buildMaxMoveDistance) exitWith { _isOk = false; _cancel = true; - _reason = "Object is placed too far away from where you started building (within 10 meters)"; + _reason = format[localize "STR_EPOCH_BUILD_FAIL_TOO_FAR",DZE_buildMaxMoveDistance]; detach _object; deleteVehicle _object; detach _objectHelper; deleteVehicle _objectHelper; }; - if(abs(_objHDiff) > 10) exitWith { + if(abs(_objHDiff) > DZE_buildMaxHeightDistance) exitWith { _isOk = false; _cancel = true; - _reason = "Cannot move up or down more than 10 meters"; + _reason = format[localize "STR_EPOCH_BUILD_FAIL_HEIGHT",DZE_buildMaxHeightDistance]; detach _object; deleteVehicle _object; detach _objectHelper; @@ -327,7 +327,7 @@ if (_canBuild select 0) then { if (player getVariable["combattimeout",0] >= diag_tickTime) exitWith { _isOk = false; _cancel = true; - _reason = (localize "str_epoch_player_43"); + _reason = localize "str_epoch_player_43"; detach _object; deleteVehicle _object; detach _objectHelper; @@ -337,7 +337,7 @@ if (_canBuild select 0) then { if (DZE_cancelBuilding) exitWith { _isOk = false; _cancel = true; - _reason = "Cancelled building."; + _reason = localize "STR_EPOCH_PLAYER_46"; detach _object; deleteVehicle _object; detach _objectHelper; @@ -352,11 +352,11 @@ if (_canBuild select 0) then { //No building on roads unless toggled if (!DZE_BuildOnRoads) then { - if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; }; + if (isOnRoad _position) then { _cancel = true; _reason = localize "STR_EPOCH_BUILD_FAIL_ROAD"; }; }; // No building in trader zones - if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; }; + if(!canbuild) then { _cancel = true; _reason = format[localize "STR_EPOCH_PLAYER_136",localize "STR_EPOCH_TRADER"]; }; if(!_cancel) then { @@ -490,13 +490,13 @@ if (_canBuild select 0) then { _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; dayz_combination = _combination; if (_combination_1 == 100) then { - _combination_1_Display = "Red"; + _combination_1_Display = localize "STR_EPOCH_RED"; }; if (_combination_1 == 101) then { - _combination_1_Display = "Green"; + _combination_1_Display = localize "STR_EPOCH_GREEN"; }; if (_combination_1 == 102) then { - _combination_1_Display = "Blue"; + _combination_1_Display = localize "STR_EPOCH_BLUE"; }; _combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3]; }; diff --git a/SQF/dayz_code/actions/player_build.sqf b/SQF/dayz_code/actions/player_build.sqf index 9952e80bf..8e31f03ff 100644 --- a/SQF/dayz_code/actions/player_build.sqf +++ b/SQF/dayz_code/actions/player_build.sqf @@ -4,16 +4,15 @@ if (!isNil "_this" && {typeName _this == "ARRAY"} && {count _this > 0}) exitWith DayZ Base Building Made for DayZ Epoch please ask permission to use/edit/distrubute email vbawol@veteranbastards.com. */ -private ["_location","_pos","_dir","_classname","_item","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_distance","_classnametmp","_ghost","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_needNear","_vehicle","_inVehicle","_objHDiff","_isAllowedUnderGround","_playerUID","_canBuild"]; +private ["_location","_pos","_dir","_classname","_item","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_tmpbuilt","_onLadder","_require","_text","_offset","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_distance","_classnametmp","_ghost","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_needNear","_vehicle","_inVehicle","_objHDiff","_isAllowedUnderGround","_playerUID","_canBuild"]; if (DZE_ActionInProgress) exitWith {localize "str_epoch_player_40" call dayz_rollingMessages;}; DZE_ActionInProgress = true; _pos = [player] call FNC_GetPos; -_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; -_isWater = dayz_isSwimming; +_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1; + _cancel = false; -_reason = ""; _canBuildOnPlot = false; _playerUID = [player] call FNC_GetPlayerUID; @@ -38,7 +37,7 @@ DZE_cancelBuilding = false; call gear_ui_init; closeDialog 1; -if (_isWater) exitWith {DZE_ActionInProgress = false; localize "str_player_26" call dayz_rollingMessages;}; +if (dayz_isSwimming) exitWith {DZE_ActionInProgress = false; localize "str_player_26" call dayz_rollingMessages;}; if (_inVehicle) exitWith {DZE_ActionInProgress = false; localize "str_epoch_player_42" call dayz_rollingMessages;}; if (_onLadder) exitWith {DZE_ActionInProgress = false; localize "str_player_21" call dayz_rollingMessages;}; if (player getVariable["combattimeout",0] >= diag_tickTime) exitWith {DZE_ActionInProgress = false; localize "str_epoch_player_43" call dayz_rollingMessages;}; @@ -49,7 +48,7 @@ _item = _this; _abort = false; _reason = ""; -_needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "neednearby"); +_needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> "Build" >> "neednearby"); { switch(_x) do{ @@ -59,7 +58,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> _isNear = {inflamed _x} count (_pos nearObjects _distance); if(_isNear == 0) then { _abort = true; - _reason = "fire"; + _reason = localize "STR_EPOCH_FIRE"; }; }; case "workshop": @@ -68,7 +67,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> _isNear = count (nearestObjects [_pos, ["Wooden_shed_DZ","WoodShack_DZ","WorkBench_DZ"], _distance]); if(_isNear == 0) then { _abort = true; - _reason = "workshop"; + _reason = localize "STR_BLD_name_ItemWorkshop"; }; }; case "fueltank": @@ -77,7 +76,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >> _isNear = count (nearestObjects [_pos, dayz_fuelsources, _distance]); if(_isNear == 0) then { _abort = true; - _reason = "fuel tank"; + _reason = localize "STR_EPOCH_VEHUP_TNK"; }; }; }; @@ -245,18 +244,18 @@ if (_canBuild select 0) then { deleteVehicle _object; }; - if(_location1 distance _location2 > 5) exitWith { + if(_location1 distance _location2 > DZE_buildMaxMoveDistance) exitWith { _isOk = false; _cancel = true; - _reason = "You've moved too far away from where you started building (within 5 meters)"; + _reason = format[localize "STR_EPOCH_BUILD_FAIL_MOVED",DZE_buildMaxMoveDistance]; detach _object; deleteVehicle _object; }; - if(abs(_objHDiff) > 5) exitWith { + if(abs(_objHDiff) > DZE_buildMaxHeightDistance) exitWith { _isOk = false; _cancel = true; - _reason = "Cannot move up or down more than 5 meters"; + _reason = format[localize "STR_EPOCH_BUILD_FAIL_HEIGHT",DZE_buildMaxHeightDistance]; detach _object; deleteVehicle _object; }; @@ -264,7 +263,7 @@ if (_canBuild select 0) then { if (player getVariable["combattimeout",0] >= diag_tickTime) exitWith { _isOk = false; _cancel = true; - _reason = (localize "str_epoch_player_43"); + _reason = localize "str_epoch_player_43"; detach _object; deleteVehicle _object; }; @@ -272,7 +271,7 @@ if (_canBuild select 0) then { if (DZE_cancelBuilding) exitWith { _isOk = false; _cancel = true; - _reason = "Cancelled building."; + _reason = localize "STR_EPOCH_PLAYER_46"; detach _object; deleteVehicle _object; }; @@ -280,11 +279,11 @@ if (_canBuild select 0) then { //No building on roads unless toggled if (!DZE_BuildOnRoads) then { - if (isOnRoad _position) then { _cancel = true; _reason = "Cannot build on a road."; }; + if (isOnRoad _position) then { _cancel = true; _reason = localize "STR_EPOCH_BUILD_FAIL_ROAD"; }; }; // No building in trader zones - if(!canbuild) then { _cancel = true; _reason = "Cannot build in a city."; }; + if(!canbuild) then { _cancel = true; _reason = format[localize "STR_EPOCH_PLAYER_136",localize "STR_EPOCH_TRADER"]; }; if(!_cancel) then { @@ -402,13 +401,13 @@ if (_canBuild select 0) then { _combination = format["%1%2%3",_combination_1,_combination_2,_combination_3]; dayz_combination = _combination; if (_combination_1 == 100) then { - _combination_1_Display = "Red"; + _combination_1_Display = localize "STR_EPOCH_RED"; }; if (_combination_1 == 101) then { - _combination_1_Display = "Green"; + _combination_1_Display = localize "STR_EPOCH_GREEN"; }; if (_combination_1 == 102) then { - _combination_1_Display = "Blue"; + _combination_1_Display = localize "STR_EPOCH_BLUE"; }; _combinationDisplay = format["%1%2%3",_combination_1_Display,_combination_2,_combination_3]; }; diff --git a/SQF/dayz_code/configVariables.sqf b/SQF/dayz_code/configVariables.sqf index 13ecb90fa..5d0f80ecc 100644 --- a/SQF/dayz_code/configVariables.sqf +++ b/SQF/dayz_code/configVariables.sqf @@ -45,8 +45,10 @@ MaxAmmoBoxes = 3; // Max number of random Supply_Crate_DZE to spawn around the m MaxMineVeins = 50; // Max number of random mine veins to spawn around the map timezoneswitch = 0; // Changes murderMenu times with this offset in hours. DZE_SafeZonePosArray = []; //Prevent players in safeZones from being killed if their vehicle is destroyed. Format is [[[3D POS] RADIUS],[[3D POS] RADIUS]]; Ex. DZE_SafeZonePosArray = [[[6325.6772,7807.7412,0],150],[[4063.4226,11664.19,0],150]]; -DZE_GemOccurance = [["ItemTopaz",10], ["ItemObsidian",8], ["ItemSapphire",6], ["ItemAmethyst",4], ["ItemEmerald",3], ["ItemCitrine",2], ["ItemRuby",1]];; //Sets how rare each gem in the order shown when mining (whole numbers only) +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_GodModeBaseExclude = []; //Array of object class names excluded from the god mode bases feature +DZE_buildMaxMoveDistance = 10; // Max distance player can walk from start position when building. Anything >= the differnce between DZE_PlotPole values is not recommended (allows walking into other plots). +DZE_buildMaxHeightDistance = 10; // Max distance player can raise or lower object from start position when building. /****** Advanced Trading Variables ***********/ DZE_advancedTrading = true; //Use advanced trading system. WARNING: set to false if you use database traders, you should use config-traders anyway! diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index 967fb5b2a..49e3a4ce9 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -17413,11 +17413,70 @@ Dôme Kupole + + Fire (Lit) + Feu (allumé) + Fuego (encendido) + Fuoco (acceso) + Tűz (égő) + Ogień + Огонь (подожженный) + Feuer (angezündet) + Ohniště (hořící) + + + Red + Rouge + Rojo + Rosso + Piros + Czerwony + Красный + Rot + Červená + 赤色 + + + Green + Vert + Verde + Verde + Zöld + Zielony + Зеленый + Grün + Zelená + 緑色 + + + Blue + Bleu + Azul + Blu + Kék + Niebieski + Синий + Blau + Modrá + 青色 + Humans Nearby Plot Friends + + Cannot build on a road. + + + You've moved too far away from where you started building (within %1 meters). + + + Cannot move up or down more than %1 meters + + + Object is placed too far away from where you started building (within %1 meters) +