diff --git a/SQF/dayz_code/actions/ammo.sqf b/SQF/dayz_code/actions/ammo.sqf
index cdad0baa9..478ef4f5e 100644
--- a/SQF/dayz_code/actions/ammo.sqf
+++ b/SQF/dayz_code/actions/ammo.sqf
@@ -19,7 +19,7 @@ if (_ammo != "") then {
_vehicle addMagazineTurret [_ammo,_turret];
player removeMagazine _ammo;
- cutText [format["You have successfully loaded %1 ammunition.",_ammoType], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_127"),_ammoType], "PLAIN DOWN"];
} else {
- cutText [format["You need %1 type of ammo to do this.",_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_128"),_text], "PLAIN DOWN"];
};
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/boil.sqf b/SQF/dayz_code/actions/boil.sqf
index 24c44ee2f..bf2fc2c4e 100644
--- a/SQF/dayz_code/actions/boil.sqf
+++ b/SQF/dayz_code/actions/boil.sqf
@@ -1,6 +1,6 @@
private ["_hasbottleitem","_hastinitem","_bottletext","_tin1text","_tin2text","_tintext","_qty","_dis","_sfx","_removed"];
-if(TradeInprogress) exitWith { cutText ["Boil already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_22") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_boil;
diff --git a/SQF/dayz_code/actions/cargocheck.sqf b/SQF/dayz_code/actions/cargocheck.sqf
index a33cbf5fc..6a0fa4d78 100644
--- a/SQF/dayz_code/actions/cargocheck.sqf
+++ b/SQF/dayz_code/actions/cargocheck.sqf
@@ -30,4 +30,4 @@ _weaponsCount = (_weaponsCount_raw select 1) call vehicle_gear_count;
// Count and show weapons available space
_backpackCount = (_backpackCount_raw select 1) call vehicle_gear_count;
-TitleText [format[("Magazine %1 / %2 - Weapons %3 / %4 - Backpacks %5 / %6"),_magazineCount,_maxMagazines,_weaponsCount,_maxWeapons,_backpackCount,_maxBackpacks], "PLAIN DOWN"];
\ No newline at end of file
+TitleText [format[(localize "str_epoch_player_1"),_magazineCount,_maxMagazines,_weaponsCount,_maxWeapons,_backpackCount,_maxBackpacks], "PLAIN DOWN"];
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/cook.sqf b/SQF/dayz_code/actions/cook.sqf
index 41ab76d55..eb8ddb121 100644
--- a/SQF/dayz_code/actions/cook.sqf
+++ b/SQF/dayz_code/actions/cook.sqf
@@ -1,6 +1,6 @@
private ["_text","_rawmeat","_cookedmeat","_meat","_meatcooked","_qty","_started","_finished","_animState","_isMedic","_removed","_dis","_sfx","_textraw"];
-if(TradeInprogress) exitWith { cutText ["Cooking already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_23") , "PLAIN DOWN"]; };
TradeInprogress = true;
// diag_log ("Cook Enabled");
@@ -22,7 +22,7 @@ _cookedmeat = meatcooked;
_qty = {_x == _meat} count magazines player;
- cutText [format["Started cooking %1",_textraw], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_129"),_textraw], "PLAIN DOWN"];
player playActionNow "Medic";
@@ -71,7 +71,7 @@ _cookedmeat = meatcooked;
player playActionNow "stop";
};
- cutText [format["Canceled cooking %1",_textraw], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_130"),_textraw], "PLAIN DOWN"];
};
};
} forEach _rawmeat;
diff --git a/SQF/dayz_code/actions/fill_nearestVehicle.sqf b/SQF/dayz_code/actions/fill_nearestVehicle.sqf
index ac793af5c..daef8314d 100644
--- a/SQF/dayz_code/actions/fill_nearestVehicle.sqf
+++ b/SQF/dayz_code/actions/fill_nearestVehicle.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_curFuel","_newFuel","_started","_finished","_animState","_isMedic","_abort","_canSize","_configVeh","_capacity","_nameText","_isOk","_findNearestVehicles","_findNearestVehicle","_IsNearVehicle","_isVehicle","_configSrcVeh","_capacitySrc","_nameTextSrc","_isFillok","_curFuelSrc","_newFuelSrc","_vehicleSrc"];
-if(TradeInprogress) exitWith { cutText ["Refuel already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_24") , "PLAIN DOWN"] };
TradeInprogress = true;
_isVehicle = false;
@@ -45,7 +45,7 @@ if(_IsNearVehicle >= 1) then {
// qty to add per loop
_canSize = (_capacity / 10);
- cutText [format["Filling up %1, move to cancel.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_131"),_nameText], "PLAIN DOWN"];
// alert zombies
[player,20,true,(getPosATL player)] spawn player_alertZombies;
@@ -125,7 +125,7 @@ if(_IsNearVehicle >= 1) then {
// Play sound
[player,"refuel",0,false] call dayz_zombieSpeak;
- cutText [format["%1 filled to %2 percent capacity.",_nameText,round(_newFuel*100)], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_132"),_nameText,round(_newFuel*100)], "PLAIN DOWN"];
};
};
@@ -134,6 +134,6 @@ if(_IsNearVehicle >= 1) then {
};
} else {
- cutText ["No Vehicles Nearby.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_27"), "PLAIN DOWN"];
};
TradeInprogress = false;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/fill_startGenerator.sqf b/SQF/dayz_code/actions/fill_startGenerator.sqf
index 73d9b8bb7..b41595ed8 100644
--- a/SQF/dayz_code/actions/fill_startGenerator.sqf
+++ b/SQF/dayz_code/actions/fill_startGenerator.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_started","_finished","_animState","_isMedic","_soundSource"];
-if(TradeInprogress) exitWith { cutText ["Refuel already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_24") , "PLAIN DOWN"] };
TradeInprogress = true;
player removeAction s_player_fillgen;
@@ -18,7 +18,7 @@ r_doLoop = true;
_started = false;
_finished = false;
-cutText ["Preparing to fuel and start generator, move to cancel.", "PLAIN DOWN"];
+cutText [(localize "str_epoch_player_25") "PLAIN DOWN"];
[player,50,true,(getPosATL player)] spawn player_alertZombies;
@@ -45,7 +45,7 @@ if(!_finished) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled." , "PLAIN DOWN"]
+ cutText [(localize "str_epoch_player_26") , "PLAIN DOWN"]
};
if (_finished) then {
@@ -68,7 +68,7 @@ if (_finished) then {
_vehicle setVariable ["GeneratorSound", _soundSource,true];
- cutText ["Generator has been started.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_28"), "PLAIN DOWN"];
};
} else {
@@ -81,7 +81,7 @@ if (_finished) then {
_vehicle setVariable ["GeneratorSound", _soundSource,true];
- cutText ["Generator has been started.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_28"), "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/gather_meat.sqf b/SQF/dayz_code/actions/gather_meat.sqf
index 90685beee..45c4fbb09 100644
--- a/SQF/dayz_code/actions/gather_meat.sqf
+++ b/SQF/dayz_code/actions/gather_meat.sqf
@@ -1,6 +1,6 @@
private ["_item","_hasKnife","_hasKnifeBlunt","_hasHarvested","_qty","_text","_string","_type","_started","_finished","_animState","_isMedic","_isListed","_config"];
-if(TradeInprogress) exitWith { cutText ["Gutting animal already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_29") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_butcher;
@@ -53,7 +53,7 @@ if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled gutting." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_30") , "PLAIN DOWN"];
//_abort = true;
};
diff --git a/SQF/dayz_code/actions/gather_zparts.sqf b/SQF/dayz_code/actions/gather_zparts.sqf
index 05a914b23..4858c39f3 100644
--- a/SQF/dayz_code/actions/gather_zparts.sqf
+++ b/SQF/dayz_code/actions/gather_zparts.sqf
@@ -1,6 +1,6 @@
private ["_hasKnife","_qty","_item","_text","_string","_type","_started","_finished","_animState","_isMedic","_hasHarvested","_hasKnifeBlunt","_humanity"];
-if(TradeInprogress) exitWith { cutText ["Gutting zombie already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_31") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_butcher;
@@ -54,7 +54,7 @@ if ((_hasKnife or _hasKnifeBlunt) and !_hasHarvested) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled gutting." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_30") , "PLAIN DOWN"];
//_abort = true;
};
diff --git a/SQF/dayz_code/actions/halo_jump.sqf b/SQF/dayz_code/actions/halo_jump.sqf
new file mode 100644
index 000000000..b12198f5f
--- /dev/null
+++ b/SQF/dayz_code/actions/halo_jump.sqf
@@ -0,0 +1,8 @@
+DZE_myHaloVehicle removeAction s_halo_action;
+s_halo_action = -1;
+
+player action [ "eject", (vehicle player)];
+sleep 1;
+player spawn BIS_fnc_halo;
+player setvelocity [0,120*0.8,0];
+player setdir 0;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/hotwire_veh.sqf b/SQF/dayz_code/actions/hotwire_veh.sqf
index 71addd45c..6eb2d681e 100644
--- a/SQF/dayz_code/actions/hotwire_veh.sqf
+++ b/SQF/dayz_code/actions/hotwire_veh.sqf
@@ -1,7 +1,7 @@
private ["_vehicle","_removed"];
_vehicle = _this select 3;
-if(TradeInprogress) exitWith { cutText ["Hotwire vehicle already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_32") , "PLAIN DOWN"]; };
TradeInprogress = true;
{player removeAction _x} forEach s_player_lockunlock;s_player_lockunlock = [];
@@ -23,7 +23,7 @@ if (_removed == 1) then {
};
};
} else {
- cutText ["Failed to unlock car hotwire kit broken." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_33") , "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/jerry_fill.sqf b/SQF/dayz_code/actions/jerry_fill.sqf
index b43e99069..97394c9b1 100644
--- a/SQF/dayz_code/actions/jerry_fill.sqf
+++ b/SQF/dayz_code/actions/jerry_fill.sqf
@@ -1,6 +1,6 @@
private ["_qty","_started","_finished","_animState","_isMedic","_abort","_fillCounter","_dis","_sfx","_displayName","_fuelCans"];
-if(TradeInprogress) exitWith { cutText ["Fill Jerry already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_34"), "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_fillfuel;
@@ -24,7 +24,7 @@ _qty = count _fuelCans;
_fillCounter = _fillCounter + 1;
- cutText [format["Preparing to siphon, stand still to fill %1.",_displayName], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_133"),_displayName], "PLAIN DOWN"];
// force animation
player playActionNow "Medic";
@@ -64,7 +64,7 @@ _qty = count _fuelCans;
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled siphon." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_35") , "PLAIN DOWN"];
_abort = true;
};
@@ -75,7 +75,7 @@ _qty = count _fuelCans;
} else {
player addMagazine "ItemJerrycan";
};
- cutText [format["You have filled %1 with fuel.",_displayName], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_134"),_displayName], "PLAIN DOWN"];
} else {
_abort = true;
};
diff --git a/SQF/dayz_code/actions/list_playerDeaths.sqf b/SQF/dayz_code/actions/list_playerDeaths.sqf
index 467f778ca..df12b69ed 100644
--- a/SQF/dayz_code/actions/list_playerDeaths.sqf
+++ b/SQF/dayz_code/actions/list_playerDeaths.sqf
@@ -17,6 +17,6 @@ if((count PVDZE_plr_DeathBResult) > 0) then {
// load death message board ui
call EpochDeathBoardLoad;
} else {
- cutText ["No recent Deaths.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_36"), "PLAIN DOWN"];
PVDZE_plr_DeathBResult = nil;
};
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/lock_veh.sqf b/SQF/dayz_code/actions/lock_veh.sqf
index f6b5824e5..a5eb54318 100644
--- a/SQF/dayz_code/actions/lock_veh.sqf
+++ b/SQF/dayz_code/actions/lock_veh.sqf
@@ -1,7 +1,7 @@
private["_vehicle"];
_vehicle = _this select 3;
-if(TradeInprogress) exitWith { cutText ["Lock vehicle already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_37") , "PLAIN DOWN"]; };
TradeInprogress = true;
{player removeAction _x} forEach s_player_lockunlock;s_player_lockunlock = [];
diff --git a/SQF/dayz_code/actions/object_pickup.sqf b/SQF/dayz_code/actions/object_pickup.sqf
index ba1110e45..2680b983a 100644
--- a/SQF/dayz_code/actions/object_pickup.sqf
+++ b/SQF/dayz_code/actions/object_pickup.sqf
@@ -7,7 +7,7 @@ if(player isKindOf "PZombie_VB") exitWith {};
// _playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
// if(_playerNear) exitWith {cutText ["Cannot take item while another player is nearby." , "PLAIN DOWN"]; };
-if (!DZE_CanPickup) exitWith { cutText ["Take item already in progress." , "PLAIN DOWN"]; };
+if (!DZE_CanPickup) exitWith { cutText [(localize "str_epoch_player_38") , "PLAIN DOWN"]; };
DZE_CanPickup = false;
_array = _this select 3;
diff --git a/SQF/dayz_code/actions/player_addToolbelt.sqf b/SQF/dayz_code/actions/player_addToolbelt.sqf
index 19bfbf483..ff7cbcb89 100644
--- a/SQF/dayz_code/actions/player_addToolbelt.sqf
+++ b/SQF/dayz_code/actions/player_addToolbelt.sqf
@@ -1,6 +1,6 @@
private ["_item","_config","_onLadder","_create","_isOk","_config2","_magType","_meleeNum","_muzzles","_wtype","_type","_hastoolweapon","_text"];
-if(TradeInprogress) exitWith { cutText ["Add to toolbelt already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_39") , "PLAIN DOWN"]; };
TradeInprogress = true;
_item = _this;
diff --git a/SQF/dayz_code/actions/player_build.sqf b/SQF/dayz_code/actions/player_build.sqf
index b1853b3b1..4d0df71ec 100644
--- a/SQF/dayz_code/actions/player_build.sqf
+++ b/SQF/dayz_code/actions/player_build.sqf
@@ -4,11 +4,11 @@
*/
private ["_location","_dir","_classname","_item","_hasrequireditem","_missing","_hastoolweapon","_cancel","_reason","_started","_finished","_animState","_isMedic","_dis","_sfx","_hasbuilditem","_tmpbuilt","_onLadder","_isWater","_require","_text","_offset","_IsNearPlot","_isOk","_location1","_location2","_counter","_limit","_proceed","_num_removed","_position","_object","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_findNearestPoles","_findNearestPole","_distance","_classnametmp","_ghost","_isPole","_needText","_lockable","_zheightchanged","_rotate","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_combination_1_Display","_combinationDisplay","_zheightdirection","_abort","_isNear","_need","_objHupDiff","_objHdwnDiff","_needNear","_vehicle","_inVehicle","_previewCounter"];
-if(TradeInprogress) exitWith { cutText ["\n\nBuilding already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_40") , "PLAIN DOWN"]; };
TradeInprogress = true;
// disallow building if too many objects are found within 30m
-if((count ((position player) nearObjects ["All",30])) >= DZE_BuildingLimit) exitWith {TradeInprogress = false; cutText ["\n\nCannot build, too many objects witin 30m.", "PLAIN DOWN"];};
+if((count ((position player) nearObjects ["All",30])) >= DZE_BuildingLimit) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_41"), "PLAIN DOWN"];};
_onLadder = (getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> (animationState player) >> "onLadder")) == 1;
_isWater = dayz_isSwimming;
@@ -38,9 +38,9 @@ call gear_ui_init;
closeDialog 1;
if (_isWater) exitWith {TradeInprogress = false; cutText [localize "str_player_26", "PLAIN DOWN"];};
-if (_inVehicle) exitWith {TradeInprogress = false; cutText ["Cannot build while in a vehicle.", "PLAIN DOWN"];};
+if (_inVehicle) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_42"), "PLAIN DOWN"];};
if (_onLadder) exitWith {TradeInprogress = false; cutText [localize "str_player_21", "PLAIN DOWN"];};
-if (player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = false; cutText ["Cannot build while in combat.", "PLAIN DOWN"];};
+if (player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_43"), "PLAIN DOWN"];};
_item = _this;
@@ -84,7 +84,7 @@ _needNear = getArray (configFile >> "CfgMagazines" >> _item >> "ItemActions" >>
if(_abort) exitWith {
- cutText [format["\n\nThis building needs a %1 within %2 meters",_reason,_distance], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_135"),_reason,_distance], "PLAIN DOWN"];
TradeInprogress = false;
};
@@ -134,7 +134,7 @@ _findNearestPole = [];
_IsNearPlot = count (_findNearestPole);
// If item is plot pole and another one exists within 45m
-if(_isPole and _IsNearPlot > 0) exitWith { TradeInprogress = false; cutText ["Cannot build plot pole within 45m of an existing plot." , "PLAIN DOWN"]; };
+if(_isPole and _IsNearPlot > 0) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_44") , "PLAIN DOWN"]; };
if(_IsNearPlot == 0) then {
@@ -174,7 +174,7 @@ if(_IsNearPlot == 0) then {
};
// _message
-if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format["Unable to build %1 nearby.",_needText,_distance] , "PLAIN DOWN"]; };
+if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format[(localize "str_epoch_player_136"),_needText,_distance] , "PLAIN DOWN"]; };
_missing = "";
_hasrequireditem = true;
@@ -186,7 +186,7 @@ _hasrequireditem = true;
_hasbuilditem = _this in magazines player;
if (!_hasbuilditem) exitWith {TradeInprogress = false; cutText [format[(localize "str_player_31"),_text,"build"] , "PLAIN DOWN"]; };
-if (!_hasrequireditem) exitWith {TradeInprogress = false; cutText [format["Missing tool %1",_missing] , "PLAIN DOWN"]; };
+if (!_hasrequireditem) exitWith {TradeInprogress = false; cutText [format[(localize "str_epoch_player_137"),_missing] , "PLAIN DOWN"]; };
if (_hasrequireditem) then {
_location = [0,0,0];
@@ -207,7 +207,7 @@ if (_hasrequireditem) then {
_position = getPosATL _object;
- cutText ["PgUp to raise or PgDn to lower (Hold ALT to raise faster or CTRL slower), Q or E to flip 180. Space-Bar to build.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_45"), "PLAIN DOWN"];
_previewCounter = 60;
_objHDiff = 0;
@@ -359,7 +359,7 @@ if (_hasrequireditem) then {
if (player getVariable["combattimeout", 0] >= time) exitWith {
_isOk = false;
_cancel = true;
- _reason = "Cannot build while in combat.";
+ _reason = (localize "str_epoch_player_43");
detach _object;
deleteVehicle _object;
};
@@ -395,7 +395,7 @@ if (_hasrequireditem) then {
_tmpbuilt setPosATL _location;
- cutText [format["Placing %1, move to cancel.",_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_138"),_text], "PLAIN DOWN"];
_limit = 3;
@@ -452,7 +452,7 @@ if (_hasrequireditem) then {
_counter = _counter + 1;
};
- cutText [format["Constructing %1 stage %2 of %3, move to cancel.",_text, _counter,_limit], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_139"),_text, _counter,_limit], "PLAIN DOWN"];
if(_counter == _limit) exitWith {
_isOk = false;
@@ -518,7 +518,7 @@ if (_hasrequireditem) then {
PVDZE_obj_Publish = [_combination,_tmpbuilt,[_dir,_location],_classname];
publicVariableServer "PVDZE_obj_Publish";
- cutText [format["You have setup your %2. Combination is %1",_combinationDisplay,_text], "PLAIN DOWN", 5];
+ cutText [format[(localize "str_epoch_player_140"),_combinationDisplay,_text], "PLAIN DOWN", 5];
} else {
@@ -536,7 +536,7 @@ if (_hasrequireditem) then {
} else {
deleteVehicle _tmpbuilt;
- cutText ["Canceled building." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
};
} else {
@@ -548,12 +548,12 @@ if (_hasrequireditem) then {
deleteVehicle _tmpbuilt;
- cutText ["Canceled building." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_46") , "PLAIN DOWN"];
};
} else {
deleteVehicle _tmpbuilt;
- cutText [format["Canceled construction of %1 %2.",_text,_reason], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_47"),_text,_reason], "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/player_buildingDowngrade.sqf b/SQF/dayz_code/actions/player_buildingDowngrade.sqf
index 709dd46d5..e5b330815 100644
--- a/SQF/dayz_code/actions/player_buildingDowngrade.sqf
+++ b/SQF/dayz_code/actions/player_buildingDowngrade.sqf
@@ -4,7 +4,7 @@
*/
private ["_location","_dir","_classname","_text","_object","_objectID","_objectUID","_newclassname","_refund","_obj","_upgrade","_objectCharacterID","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_distance","_needText","_findNearestPoles","_findNearestPole","_IsNearPlot","_i","_invResult","_itemOut","_countOut","_abortInvAdd","_addedItems"];
-if(TradeInprogress) exitWith { cutText ["Downgrade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_48") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_downgrade_build;
@@ -52,7 +52,7 @@ if(_IsNearPlot == 0) then {
};
// exit if not allowed due to plot pole
-if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format["Unable to downgrade %1 nearby.",_needText,_distance] , "PLAIN DOWN"]; };
+if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format[(localize "str_epoch_player_141"),_needText,_distance] , "PLAIN DOWN"]; };
// get cursortarget from addaction
_obj = _this select 3;
@@ -60,7 +60,7 @@ _obj = _this select 3;
// Current charID
_objectCharacterID = _obj getVariable ["CharacterID","0"];
-if(DZE_Lock_Door != _objectCharacterID) exitWith { TradeInprogress = false; cutText ["Unable to downgrade you do not know the combination." , "PLAIN DOWN"]; };
+if(DZE_Lock_Door != _objectCharacterID) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_49") , "PLAIN DOWN"]; };
// Find objectID
_objectID = _obj getVariable ["ObjectID","0"];
@@ -68,7 +68,7 @@ _objectID = _obj getVariable ["ObjectID","0"];
// Find objectUID
_objectUID = _obj getVariable ["ObjectUID","0"];
-if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_upgrade_build = -1; cutText ["Not setup yet.", "PLAIN DOWN"];};
+if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_upgrade_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];};
// Get classname
_classname = typeOf _obj;
@@ -132,7 +132,7 @@ if ((count _upgrade) > 0) then {
// Set location
_object setPosATL _location;
- cutText [format["You have downgraded %1.",_text], "PLAIN DOWN", 5];
+ cutText [format[(localize "str_epoch_player_142"),_text], "PLAIN DOWN", 5];
PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID];
publicVariableServer "PVDZE_obj_Swap";
@@ -140,7 +140,7 @@ if ((count _upgrade) > 0) then {
player reveal _object;
} else {
- cutText [format["\n\n%1 of %2 could not be added to your inventory. (not enough room?)", _i,(getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName"))], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_143"), _i,(getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName"))], "PLAIN DOWN"];
{
[player,(_x select 0),(_x select 1)] call BIS_fnc_invRemove;
} forEach _addedItems;
@@ -148,7 +148,7 @@ if ((count _upgrade) > 0) then {
};
} else {
- cutText ["No downgrades available", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_51"), "PLAIN DOWN"];
};
TradeInprogress = false;
diff --git a/SQF/dayz_code/actions/player_buildingMaint.sqf b/SQF/dayz_code/actions/player_buildingMaint.sqf
index 0101571a3..b51e37c69 100644
--- a/SQF/dayz_code/actions/player_buildingMaint.sqf
+++ b/SQF/dayz_code/actions/player_buildingMaint.sqf
@@ -4,7 +4,7 @@
*/
private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_requirements","_obj","_upgrade","_objectCharacterID"];
-if(TradeInprogress) exitWith { cutText ["Upgrade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_52") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_maint_build;
@@ -19,7 +19,7 @@ _objectID = _obj getVariable ["ObjectID","0"];
// Find objectUID
_objectUID = _obj getVariable ["ObjectUID","0"];
-if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_maint_build = -1; cutText ["Not setup yet.", "PLAIN DOWN"];};
+if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_maint_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];};
// Get classname
_classname = typeOf _obj;
@@ -101,19 +101,19 @@ if (_proceed) then {
PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID];
publicVariableServer "PVDZE_obj_Swap";
- cutText [format["You have repaired %1.",_text], "PLAIN DOWN", 5];
+ cutText [format[(localize "str_epoch_player_144"),_text], "PLAIN DOWN", 5];
player reveal _object;
} else {
{player addMagazine _x;} forEach _temp_removed_array;
- cutText [format["Missing Parts after first check Item: %1 / %2",_removed_total,_tobe_removed_total], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
};
} else {
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
- cutText [format["Missing %1 more of %2",_missingQty, _textMissing], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"];
};
diff --git a/SQF/dayz_code/actions/player_chopWood.sqf b/SQF/dayz_code/actions/player_chopWood.sqf
index 1552b7712..1c065105e 100644
--- a/SQF/dayz_code/actions/player_chopWood.sqf
+++ b/SQF/dayz_code/actions/player_chopWood.sqf
@@ -5,10 +5,10 @@
*/
private ["_isOk","_objName","_finished","_proceed","_counter","_itemOut","_countOut","_tree","_distance2d","_distance3d","_trees","_findNearestTree","_finishedTime","_item"];
-if(TradeInprogress) exitWith { cutText ["\n\nHarvest wood already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_53") , "PLAIN DOWN"]; };
TradeInprogress = true;
-if((currentWeapon player) != "MeleeHatchet") exitWith {TradeInprogress = false; cutText ["\n\nHatchet needs to be in your hand to harvest wood.", "PLAIN DOWN"]; };
+if((currentWeapon player) != "MeleeHatchet") exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_54"), "PLAIN DOWN"]; };
// allowed trees list move this later
_trees = ["t_larix3s.p3d","t_pyrus2s.p3d","str_briza_kriva.p3d","dd_borovice.p3d","les_singlestrom_b.p3d","les_singlestrom.p3d","smrk_velky.p3d","smrk_siroky.p3d","smrk_maly.p3d","les_buk.p3d","str krovisko vysoke.p3d","str_fikovnik_ker.p3d","str_fikovnik.p3d","str vrba.p3d","hrusen2.p3d","str dub jiny.p3d","str lipa.p3d","str briza.p3d","p_akat02s.p3d","jablon.p3d","p_buk.p3d","str_topol.p3d","str_topol2.p3d","p_osika.p3d","t_picea3f.p3d","t_picea2s.p3d","t_picea1s.p3d","t_fagus2w.p3d","t_fagus2s.p3d","t_fagus2f.p3d","t_betula1f.p3d","t_betula2f.p3d","t_betula2s.p3d","t_betula2w.p3d","t_alnus2s.p3d","t_acer2s.p3d","t_populus3s.p3d","t_quercus2f.p3d","t_sorbus2s.p3d","t_malus1s.p3d","t_salix2s.p3d","t_picea1s_w.p3d","t_picea2s_w.p3d","t_ficusb2s_ep1.p3d","t_populusb2s_ep1.p3d","t_populusf2s_ep1.p3d","t_amygdalusc2s_ep1.p3d","t_ficusb2s_ep1.p3d","t_pistacial2s_ep1.p3d","t_pinuse2s_ep1.p3d","t_pinuss3s_ep1.p3d","t_prunuss2s_ep1.p3d","t_pinusn2s.p3d","t_pinusn1s.p3d","t_pinuss2f.p3d","t_poplar2f_dead_pmc.p3d","misc_torzotree_pmc.p3d","misc_burnspruce_pmc.p3d","brg_cocunutpalm8.p3d","brg_umbrella_acacia01b.p3d","brg_jungle_tree_canopy_1.p3d","brg_jungle_tree_canopy_2.p3d","brg_cocunutpalm4.p3d","brg_cocunutpalm3.p3d","palm_01.p3d","palm_02.p3d","palm_03.p3d","palm_04.p3d","palm_09.p3d","palm_10.p3d","brg_cocunutpalm2.p3d","brg_jungle_tree_antiaris.p3d","brg_cocunutpalm1.p3d"];
@@ -90,7 +90,7 @@ if (count(_findNearestTree) >= 1) then {
_counter = _counter + 1;
};
- cutText [format["\n\nChopping down tree, walk away at anytime to cancel. (%1/%2)", _counter, _countOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_147"), _counter, _countOut], "PLAIN DOWN"];
if(_counter == _countOut) exitWith {
_isOk = false;
@@ -114,7 +114,7 @@ if (count(_findNearestTree) >= 1) then {
};
//diag_log format["DEBUG TREE DAMAGE: %1", _tree];
- cutText [format["\n\n%1 piles of wood has been successfully added in front of you.", _countOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_148"), _countOut], "PLAIN DOWN"];
player action ["Gear", _item];
@@ -124,7 +124,7 @@ if (count(_findNearestTree) >= 1) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["\n\nCanceled Harvesting Wood.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_55"), "PLAIN DOWN"];
};
} else {
diff --git a/SQF/dayz_code/actions/player_copyKey.sqf b/SQF/dayz_code/actions/player_copyKey.sqf
index 955706233..03e61db45 100644
--- a/SQF/dayz_code/actions/player_copyKey.sqf
+++ b/SQF/dayz_code/actions/player_copyKey.sqf
@@ -1,6 +1,6 @@
private ["_item","_config","_onLadder","_create","_started","_finished","_animState","_isMedic","_qty","_box","_num_removed","_text","_haskey","_hastoolweapon","_isNear","_hasTinBar"];
-if(TradeInprogress) exitWith { cutText ["\n\nCopy key already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_56") , "PLAIN DOWN"]; };
TradeInprogress = true;
_item = _this;
@@ -14,16 +14,16 @@ _haskey = _this in weapons player;
if (!_haskey) exitWith {TradeInprogress = false; cutText [format[(localize "str_player_30"),_text] , "PLAIN DOWN"]};
_hastoolweapon = "ItemKeyKit" in weapons player;
-if (!_hastoolweapon) exitWith {TradeInprogress = false; cutText ["\n\nNeed Keymakers kit to make a copy of a key." , "PLAIN DOWN"]};
+if (!_hastoolweapon) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_57") , "PLAIN DOWN"]};
_isNear = {inflamed _x} count (position player nearObjects 3);
-if(_isNear == 0) exitWith {TradeInprogress = false; cutText ["\n\nKey crafting needs a fire within 3 meters." , "PLAIN DOWN"]};
+if(_isNear == 0) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_58") , "PLAIN DOWN"]};
call gear_ui_init;
// require one tin bar per key
_hasTinBar = "ItemTinBar" in magazines player;
-if(!_hasTinBar) exitWith {TradeInprogress = false; cutText ["\n\nKey crafting requires a 1 Tin Bar." , "PLAIN DOWN"]};
+if(!_hasTinBar) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_59") , "PLAIN DOWN"]};
player playActionNow "Medic";
@@ -63,9 +63,9 @@ if(_finished) then {
_qty = 1;
_box = unitBackpack player;
_box addWeaponCargoGlobal [_create,_qty];
- cutText ["\n\nCopied key has been added to your backpack." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_60") , "PLAIN DOWN"];
} else {
- cutText ["\n\nCanceled Key Crafting." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_61") , "PLAIN DOWN"];
};
} else {
r_interrupt = false;
@@ -73,6 +73,6 @@ if(_finished) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["\n\nCanceled Key Crafting." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_61") , "PLAIN DOWN"];
};
TradeInprogress = false;
diff --git a/SQF/dayz_code/actions/player_craftItem.sqf b/SQF/dayz_code/actions/player_craftItem.sqf
index 1bab3eb12..90df1acad 100644
--- a/SQF/dayz_code/actions/player_craftItem.sqf
+++ b/SQF/dayz_code/actions/player_craftItem.sqf
@@ -21,7 +21,7 @@ class ItemActions
*/
private ["_tradeComplete","_onLadder","_canDo","_selectedRecipeOutput","_proceed","_itemIn","_countIn","_missing","_missingQty","_qty","_itemOut","_countOut","_started","_finished","_animState","_isMedic","_removed","_tobe_removed_total","_textCreate","_textMissing","_selectedRecipeInput","_num_removed","_removed_total","_temp_removed_array","_abort","_reason","_isNear","_missingTools","_hastoolweapon","_selectedRecipeTools","_distance","_crafting","_needNear","_item","_baseClass","_num_removed_weapons","_outputWeapons","_inputWeapons","_randomOutput","_craft_doLoop","_selectedWeapon","_selectedMag","_sfx"];
-if(TradeInprogress) exitWith { cutText ["\n\nCrafting already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_63") , "PLAIN DOWN"]; };
TradeInprogress = true;
// This is used to find correct recipe based what itemaction was click allows multiple recipes per item.
@@ -56,7 +56,7 @@ if("workshop" in _needNear) then {
};
};
if(_abort) exitWith {
- cutText [format["\n\nCrafting needs a %1 within %2 meters",_reason,_distance], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_149"),_reason,_distance], "PLAIN DOWN"];
TradeInprogress = false;
};
@@ -112,7 +112,7 @@ if (_canDo) then {
// If all parts proceed
if (_proceed) then {
- cutText ["\n\nCrafting started", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_62"), "PLAIN DOWN"];
player playActionNow "Medic";
@@ -202,7 +202,7 @@ if (_canDo) then {
_textCreate = getText(configFile >> "CfgMagazines" >> _itemOut >> "displayName");
// Add crafted item
- cutText [format["\n\nCrafted Item: %1 x %2",_textCreate,_countOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_150"),_textCreate,_countOut], "PLAIN DOWN"];
// sleep here
sleep 1;
@@ -213,7 +213,7 @@ if (_canDo) then {
// Refund parts since we failed
{player addMagazine _x;} forEach _temp_removed_array;
- cutText [format["\n\nMissing Parts after first check Item: %1 / %2",_removed_total,_tobe_removed_total], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_151"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
};
} else {
@@ -222,22 +222,22 @@ if (_canDo) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["\n\nCanceled crafting.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_64"), "PLAIN DOWN"];
_craft_doLoop = false;
};
} else {
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
- cutText [format["\n\n%3 complete, missing %1 more of %2",_missingQty, _textMissing,_tradeComplete], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_152"),_missingQty, _textMissing,_tradeComplete], "PLAIN DOWN"];
_craft_doLoop = false;
};
} else {
_textMissing = getText(configFile >> "CfgWeapons" >> _missing >> "displayName");
- cutText [format["\n\nMissing Tool: %1",_textMissing], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_153"),_textMissing], "PLAIN DOWN"];
_craft_doLoop = false;
};
};
} else {
- cutText ["\n\nCanceled crafting.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_64"), "PLAIN DOWN"];
};
TradeInprogress = false;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/player_goFishing.sqf b/SQF/dayz_code/actions/player_goFishing.sqf
index 4bd1a46ef..fdc8f3f1f 100644
--- a/SQF/dayz_code/actions/player_goFishing.sqf
+++ b/SQF/dayz_code/actions/player_goFishing.sqf
@@ -5,19 +5,19 @@
*/
private ["_itemOut","_position","_isOk","_counter","_rnd","_item","_itemtodrop","_vehicle","_inVehicle"];
-if(TradeInprogress) exitWith { cutText ["\n\nFishing already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_65") , "PLAIN DOWN"]; };
TradeInprogress = true;
call gear_ui_init;
// find position 5m in front of player
_position = player modeltoworld [0,5,0];
-if(!(surfaceIsWater _position)) exitWith {TradeInprogress = false; cutText ["\n\nMust be near a shore or on a boat to fish." , "PLAIN DOWN"]; };
+if(!(surfaceIsWater _position)) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_66") , "PLAIN DOWN"]; };
-if((currentWeapon player) != "MeleeFishingPole") exitWith {TradeInprogress = false; cutText ["\n\nFishing pole needs to be in your hand to fish.", "PLAIN DOWN"]; };
+if((currentWeapon player) != "MeleeFishingPole") exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_67"), "PLAIN DOWN"]; };
if(dayz_isSwimming) exitWith {TradeInprogress = false; cutText [localize "str_player_26", "PLAIN DOWN"]; };
-if(player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = false; cutText ["\n\nCanceled Fishing.", "PLAIN DOWN"];};
+if(player getVariable["combattimeout", 0] >= time) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_68"), "PLAIN DOWN"];};
_isOk = true;
_counter = 0;
@@ -33,7 +33,7 @@ while {_isOk} do {
if (r_interrupt or (player getVariable["combattimeout", 0] >= time)) then {
_isOk = false;
- cutText ["\n\nCanceled Fishing.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_68"), "PLAIN DOWN"];
} else {
sleep 2;
@@ -68,15 +68,15 @@ while {_isOk} do {
player addMagazine _itemOut;
};
- cutText ["\n\nYou caught a fish.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_69"), "PLAIN DOWN"];
_isOk = false;
} else {
- cutText ["\n\nNibble... Nibble...", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_70"), "PLAIN DOWN"];
_counter = _counter + 1;
if(_counter == 10) then {
_isOk = false;
sleep 2;
- cutText ["\n\nYou didn't catch anything.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_71"), "PLAIN DOWN"];
};
};
};
diff --git a/SQF/dayz_code/actions/player_harvestPlant.sqf b/SQF/dayz_code/actions/player_harvestPlant.sqf
index 0b5fc2915..342048c7d 100644
--- a/SQF/dayz_code/actions/player_harvestPlant.sqf
+++ b/SQF/dayz_code/actions/player_harvestPlant.sqf
@@ -5,7 +5,7 @@
*/
private ["_isOk","_i","_objName","_started","_finished","_animState","_isMedic","_proceed","_itemOut","_countOut","_tree","_trees","_findNearestTree","_index","_invResult","_treesOutput","_text"];
-if(TradeInprogress) exitWith { cutText ["\n\nHarvest already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_72") , "PLAIN DOWN"]; };
TradeInprogress = true;
// allowed trees list move this later
@@ -111,9 +111,9 @@ if (count(_findNearestTree) >= 1) then {
};
//diag_log format["DEBUG TREE DAMAGE: %1", _tree];
- cutText [format["\n\n%1 of %2 has been successfully added to your inventory.", _i,_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_154"), _i,_text], "PLAIN DOWN"];
} else {
- cutText [format["\n\n%1 of %2 could not be added to your inventory. (not enough room?)", _i,_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_143"), _i,_text], "PLAIN DOWN"];
};
} else {
r_interrupt = false;
@@ -121,12 +121,12 @@ if (count(_findNearestTree) >= 1) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["\n\nCanceled Harvesting.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_73"), "PLAIN DOWN"];
};
} else {
- cutText ["\n\nYou must be close to a plant to harvest.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_74"), "PLAIN DOWN"];
};
TradeInprogress = false;
diff --git a/SQF/dayz_code/actions/player_loadCrate.sqf b/SQF/dayz_code/actions/player_loadCrate.sqf
index ee77f2352..3c7283729 100644
--- a/SQF/dayz_code/actions/player_loadCrate.sqf
+++ b/SQF/dayz_code/actions/player_loadCrate.sqf
@@ -1,18 +1,18 @@
private ["_dir","_classname","_box","_location","_item","_config","_create_raw","_create","_qty","_type","_hasCrate","_hasTool"];
-if(TradeInprogress) exitWith { cutText ["\n\nOpen Crate already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_75") , "PLAIN DOWN"]; };
TradeInprogress = true;
_hasTool = "ItemCrowbar" in items player;
if(!_hasTool) exitWith {
- cutText ["\n\nYou need a crowbar to open this.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_76"), "PLAIN DOWN"];
TradeInprogress = false;
};
_item = _this;
_hasCrate = _item in magazines player;
if (!_hasCrate) exitWith {
- cutText ["\n\nMissing supply crate.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_77"), "PLAIN DOWN"];
TradeInprogress = false;
};
@@ -53,6 +53,6 @@ player reveal _box;
player action ["Gear", _box];
-cutText ["\n\nOpened supply crate.", "PLAIN DOWN"];
+cutText [(localize "str_epoch_player_78"), "PLAIN DOWN"];
TradeInprogress = false;
diff --git a/SQF/dayz_code/actions/player_mineOre.sqf b/SQF/dayz_code/actions/player_mineOre.sqf
index f14147deb..52c0e6a7f 100644
--- a/SQF/dayz_code/actions/player_mineOre.sqf
+++ b/SQF/dayz_code/actions/player_mineOre.sqf
@@ -5,7 +5,7 @@
*/
private ["_isOk","_objName","_started","_finished","_animState","_isMedic","_proceed","_counter","_itemOut","_countOut","_rock","_distance2d","_rockBox","_rocks","_findNearestRock","_item","_rnd"];
-if(TradeInprogress) exitWith { cutText ["\n\nOre Mining already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_79") , "PLAIN DOWN"]; };
TradeInprogress = true;
// allowed rocks list move this later
@@ -97,7 +97,7 @@ if (count(_findNearestRock) >= 1) then {
_counter = _counter + 1;
};
- cutText [format["\n\nMining Ore, walk away at any time to cancel. (%1/%2)", _counter, _countOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_155"), _counter, _countOut], "PLAIN DOWN"];
if(_counter == _countOut) exitWith {
_isOk = false;
@@ -121,7 +121,7 @@ if (count(_findNearestRock) >= 1) then {
};
diag_log format["DEBUG TREE DAMAGE: %1", _rock];
*/
- cutText [format["\n\n%1 piles of ore has been successfully added in front of you.", _countOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_156"), _countOut], "PLAIN DOWN"];
} else {
r_interrupt = false;
@@ -129,7 +129,7 @@ if (count(_findNearestRock) >= 1) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["\n\nCancelled Mining Ore.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_80"), "PLAIN DOWN"];
};
} else {
diff --git a/SQF/dayz_code/actions/player_reloadMags.sqf b/SQF/dayz_code/actions/player_reloadMags.sqf
index c6d5d5056..ccfe01743 100644
--- a/SQF/dayz_code/actions/player_reloadMags.sqf
+++ b/SQF/dayz_code/actions/player_reloadMags.sqf
@@ -92,7 +92,7 @@ _qtynew_consume_ammo_rest = _qtynew_consume_ammo - (_qtynew_consume_mags_full*_c
_qtynew_create_ammo_rest = _qtynew_create_ammo - (_qtynew_create_mags_full*_create_magsize);
// abort if no complete mags or partial mag is less than 15% full
-if(_qtynew_create_ammo_rest > 0 and _qtynew_create_ammo_rest < (_create_magsize*0.85)) exitWith { cutText ["\n\nCombine ammo failed you need at least 85% capacity to fill a mag", "PLAIN DOWN"]; };
+if(_qtynew_create_ammo_rest > 0 and _qtynew_create_ammo_rest < (_create_magsize*0.85)) exitWith { cutText [(localize "str_epoch_player_81"), "PLAIN DOWN"]; };
//remove all _consume and _create mags (we already have total ammo count)
player removeMagazines _consume;
diff --git a/SQF/dayz_code/actions/player_tagFriendly.sqf b/SQF/dayz_code/actions/player_tagFriendly.sqf
index 177fba56f..56d9c3e9a 100644
--- a/SQF/dayz_code/actions/player_tagFriendly.sqf
+++ b/SQF/dayz_code/actions/player_tagFriendly.sqf
@@ -18,6 +18,6 @@ if (!(_callerID in _rfriendlies)) then {
// caller
titleText [format["You have tagged a player as friendly. Waiting for other player to accept.",(name _target)], "PLAIN DOWN"];
// target
- PVDZE_plr_FriendRQ = format["%1 wants to tag you as friendly. To accept, tag %1 as friendly.", (name _caller)];
+ PVDZE_plr_FriendRQ = format[(localize "str_epoch_player_2"), (name _caller)];
(owner _target) publicVariableClient "PVDZE_plr_FriendRQ";
};
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/player_upgrade.sqf b/SQF/dayz_code/actions/player_upgrade.sqf
index ada46e651..a3625e8d4 100644
--- a/SQF/dayz_code/actions/player_upgrade.sqf
+++ b/SQF/dayz_code/actions/player_upgrade.sqf
@@ -4,7 +4,7 @@
*/
private ["_location","_dir","_classname","_missing","_text","_proceed","_num_removed","_object","_missingQty","_itemIn","_countIn","_qty","_removed","_removed_total","_tobe_removed_total","_objectID","_objectUID","_temp_removed_array","_textMissing","_newclassname","_requirements","_obj","_upgrade","_lockable","_combination_1","_combination_2","_combination_3","_combination","_objectCharacterID","_canBuildOnPlot","_friendlies","_nearestPole","_ownerID","_distance","_needText","_findNearestPoles","_findNearestPole","_IsNearPlot"];
-if(TradeInprogress) exitWith { cutText ["Upgrade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_52") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_upgrade_build;
@@ -53,7 +53,7 @@ if(_IsNearPlot == 0) then {
};
// exit if not allowed due to plot pole
-if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format["Unable to upgrade %1 nearby.",_needText,_distance] , "PLAIN DOWN"]; };
+if(!_canBuildOnPlot) exitWith { TradeInprogress = false; cutText [format[(localize "str_epoch_player_157"),_needText,_distance] , "PLAIN DOWN"]; };
// get cursortarget from addaction
_obj = _this select 3;
@@ -64,7 +64,7 @@ _objectID = _obj getVariable ["ObjectID","0"];
// Find objectUID
_objectUID = _obj getVariable ["ObjectUID","0"];
-if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_upgrade_build = -1; cutText ["Not setup yet.", "PLAIN DOWN"];};
+if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_upgrade_build = -1; cutText [(localize "str_epoch_player_50"), "PLAIN DOWN"];};
// Get classname
_classname = typeOf _obj;
@@ -159,9 +159,9 @@ if ((count _upgrade) > 0) then {
_objectCharacterID = _combination;
- cutText [format["You have upgraded %2. Combination is %1",_combination,_text], "PLAIN DOWN", 5];
+ cutText [format[(localize "str_epoch_player_158"),_combination,_text], "PLAIN DOWN", 5];
} else {
- cutText [format["You have upgraded %1.",_text], "PLAIN DOWN", 5];
+ cutText [format[(localize "str_epoch_player_159"),_text], "PLAIN DOWN", 5];
};
PVDZE_obj_Swap = [_objectCharacterID,_object,[_dir,_location],_classname,_obj,_objectID,_objectUID];
@@ -172,16 +172,16 @@ if ((count _upgrade) > 0) then {
} else {
{player addMagazine _x;} forEach _temp_removed_array;
- cutText [format["Missing Parts after first check Item: %1 / %2",_removed_total,_tobe_removed_total], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_145"),_removed_total,_tobe_removed_total], "PLAIN DOWN"];
};
} else {
_textMissing = getText(configFile >> "CfgMagazines" >> _missing >> "displayName");
- cutText [format["Missing %1 more of %2",_missingQty, _textMissing], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_146"),_missingQty, _textMissing], "PLAIN DOWN"];
};
} else {
- cutText ["No upgrades available", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_82"), "PLAIN DOWN"];
};
TradeInprogress = false;
diff --git a/SQF/dayz_code/actions/player_wearClothes.sqf b/SQF/dayz_code/actions/player_wearClothes.sqf
index 78e04efdc..147261278 100644
--- a/SQF/dayz_code/actions/player_wearClothes.sqf
+++ b/SQF/dayz_code/actions/player_wearClothes.sqf
@@ -4,12 +4,12 @@ Added Female skin changes - DayZ Epoch - vbawol
*/
private ["_item","_onLadder","_hasclothesitem","_config","_text","_myModel","_itemNew","_currentSex","_newSex","_model","_playerNear"];
-if(TradeInprogress) exitWith { cutText ["\n\nChanging clothes already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_83") , "PLAIN DOWN"] };
TradeInprogress = true;
// cannot change clothes when another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 12]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["\n\nCannot change clothes when another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_84") , "PLAIN DOWN"]; };
_item = _this;
call gear_ui_init;
@@ -23,7 +23,7 @@ _text = getText (_config >> _item >> "displayName");
if (!_hasclothesitem) exitWith {TradeInprogress = false; cutText [format[(localize "str_player_31"),_text,"wear"] , "PLAIN DOWN"]};
-if (vehicle player != player) exitWith {TradeInprogress = false; cutText ["\n\nYou may not change clothes while in a vehicle", "PLAIN DOWN"]};
+if (vehicle player != player) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_85"), "PLAIN DOWN"]};
_myModel = (typeOf player);
_itemNew = "Skin_" + _myModel;
@@ -50,7 +50,7 @@ if ( (isClass(_config >> _itemNew)) ) then {
};
} else {
- cutText ["\n\nYou cannot wear a skin of the opposite sex.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_86"), "PLAIN DOWN"];
};
};
};
diff --git a/SQF/dayz_code/actions/refuel.sqf b/SQF/dayz_code/actions/refuel.sqf
index 1f055a321..d27c4b6b1 100644
--- a/SQF/dayz_code/actions/refuel.sqf
+++ b/SQF/dayz_code/actions/refuel.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_curFuel","_newFuel","_started","_finished","_animState","_isMedic","_location1","_location2","_abort","_canName","_canSize","_configCan","_configVeh","_capacity","_nameText","_availableCans","_canText"];
-if(TradeInprogress) exitWith { cutText ["Refuel already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_24") , "PLAIN DOWN"] };
TradeInprogress = true;
// Use target from addaction
@@ -37,7 +37,7 @@ _availableCans = ["ItemJerrycan","ItemFuelBarrel"];
//diag_log ("refuel check: " + str(_newFuel) + " / " + str(_capacity));
- cutText [format["Preparing to refuel, stand still to drain %1.",_canText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_160"),_canText], "PLAIN DOWN"];
// alert zombies
[player,20,true,(getPosATL player)] spawn player_alertZombies;
@@ -123,17 +123,17 @@ _availableCans = ["ItemJerrycan","ItemFuelBarrel"];
};
} else {
- cutText [format["%1 cannot hold that much fuel.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_161"),_nameText], "PLAIN DOWN"];
_abort = true;
};
} else {
- cutText ["Canceled refuel." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_87") , "PLAIN DOWN"];
_abort = true;
};
} else {
- cutText [format["%1 cannot hold that much fuel.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_161"),_nameText], "PLAIN DOWN"];
_abort = true;
};
};
diff --git a/SQF/dayz_code/actions/remove.sqf b/SQF/dayz_code/actions/remove.sqf
index 1f145a482..3cd2cc9e0 100644
--- a/SQF/dayz_code/actions/remove.sqf
+++ b/SQF/dayz_code/actions/remove.sqf
@@ -4,7 +4,7 @@ parameters: _obj
*/
private ["_activatingPlayer","_obj","_objectID","_objectUID","_started","_finished","_animState","_isMedic","_isOk","_proceed","_counter","_limit","_objType","_sfx","_dis","_itemOut","_countOut","_selectedRemoveOutput","_friendlies","_nearestPole","_ownerID","_refundpart","_isWreck","_findNearestPoles","_findNearestPole","_IsNearPlot","_brokenTool","_removeTool","_isDestructable","_isRemovable","_objOwnerID","_isOwnerOfObj","_preventRefund","_ipos","_item","_radius","_isWreckBuilding","_nameVehicle"];
-if(TradeInprogress) exitWith { cutText ["Remove already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_88") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_deleteBuild;
@@ -17,7 +17,7 @@ _activatingPlayer = player;
_objOwnerID = _obj getVariable["CharacterID","0"];
_isOwnerOfObj = (_objOwnerID == dayz_characterID);
-if(_obj getVariable ["GeneratorRunning", false]) exitWith {TradeInprogress = false; cutText ["Cannot remove running generator.", "PLAIN DOWN"];};
+if(_obj getVariable ["GeneratorRunning", false]) exitWith {TradeInprogress = false; cutText [(localize "str_epoch_player_89"), "PLAIN DOWN"];};
_objectID = _obj getVariable ["ObjectID","0"];
_objectUID = _obj getVariable ["ObjectUID","0"];
@@ -63,7 +63,7 @@ if(_IsNearPlot >= 1) then {
_nameVehicle = getText(configFile >> "CfgVehicles" >> _objType >> "displayName");
-cutText [format["Starting de-construction of %1.",_nameVehicle], "PLAIN DOWN"];
+cutText [format[(localize "str_epoch_player_162"),_nameVehicle], "PLAIN DOWN"];
// Alert zombies once.
[player,50,true,(getPosATL player)] spawn player_alertZombies;
@@ -129,7 +129,7 @@ while {_isOk} do {
_proceed = false;
};
- cutText [format["De-constructing %1 stage %2 of %3 walk away at anytime to cancel.", _nameVehicle, _counter,_limit], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_163"), _nameVehicle, _counter,_limit], "PLAIN DOWN"];
if(_counter == _limit) exitWith {
_isOk = false;
@@ -147,7 +147,7 @@ if(_brokenTool) then {
_removeTool = ["ItemCrowbar","ItemToolbox"] call BIS_fnc_selectRandom;
};
if(([player,_removeTool,1] call BIS_fnc_invRemove) > 0) then {
- cutText [format["%1 broke cannot remove %2.",getText(configFile >> "CfgWeapons" >> _removeTool >> "displayName"),_nameVehicle], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_164"),getText(configFile >> "CfgWeapons" >> _removeTool >> "displayName"),_nameVehicle], "PLAIN DOWN"];
};
};
@@ -166,7 +166,7 @@ if (_proceed) then {
publicVariableServer "PVDZE_obj_Delete";
};
- cutText [format["De-constructing %1.",_nameVehicle], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_165"),_nameVehicle], "PLAIN DOWN"];
_preventRefund = false;
@@ -186,7 +186,7 @@ if (_proceed) then {
};
if((count _selectedRemoveOutput) <= 0) then {
- cutText ["No parts found.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_90"), "PLAIN DOWN"];
};
if (_ipos select 2 < 0) then {
@@ -214,7 +214,7 @@ if (_proceed) then {
player action ["Gear", _item];
};
} else {
- cutText ["Failed object not longer exists.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_91"), "PLAIN DOWN"];
};
} else {
diff --git a/SQF/dayz_code/actions/repair.sqf b/SQF/dayz_code/actions/repair.sqf
index 52685b97b..80be289d6 100644
--- a/SQF/dayz_code/actions/repair.sqf
+++ b/SQF/dayz_code/actions/repair.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_part","_hitpoint","_type","_selection","_array","_started","_finished","_animState","_isMedic","_num_removed","_damage","_dis","_sfx","_allFixed","_id","_hasToolbox","_section","_nameType","_namePart","_hitpoints"];
-if(TradeInprogress) exitWith { cutText ["Repair already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_92") , "PLAIN DOWN"]; };
TradeInprogress = true;
_id = _this select 2;
@@ -79,7 +79,7 @@ if (_section and _hasToolbox) then {
_vehicle setvelocity [0,0,1];
//Success!
- cutText [format["You have successfully attached %1 to the %2",_namePart,_nameType], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_166"),_namePart,_nameType], "PLAIN DOWN"];
};
@@ -91,11 +91,11 @@ if (_section and _hasToolbox) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Repair.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_93"), "PLAIN DOWN"];
};
} else {
- cutText [format["You need %1 to repair this",_namePart], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_167"),_namePart], "PLAIN DOWN"];
};
{dayz_myCursorTarget removeAction _x} forEach s_player_repairActions;s_player_repairActions = [];
diff --git a/SQF/dayz_code/actions/salvage.sqf b/SQF/dayz_code/actions/salvage.sqf
index d1bf9879b..4e509e51a 100644
--- a/SQF/dayz_code/actions/salvage.sqf
+++ b/SQF/dayz_code/actions/salvage.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_part","_hitpoint","_type","_selection","_array","_started","_finished","_animState","_isMedic","_isOK","_brokenPart","_findPercent","_damage","_hasToolbox","_nameType","_namePart"];
-if(TradeInprogress) exitWith { cutText ["Salvage already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_94") , "PLAIN DOWN"]; };
TradeInprogress = true;
//_id = _this select 2;
@@ -89,10 +89,10 @@ if (_hasToolbox) then {
if(_brokenPart) then {
//Failed!
- cutText [format["You have destroyed %1 while attempting to remove from %2",_namePart,_nameType], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_168"),_namePart,_nameType], "PLAIN DOWN"];
} else {
//Success!
- cutText [format["You have successfully removed %1 from the %2",_namePart,_nameType], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_169"),_namePart,_nameType], "PLAIN DOWN"];
};
} else {
@@ -107,11 +107,11 @@ if (_hasToolbox) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Salvage.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_95"), "PLAIN DOWN"];
};
} else {
- cutText [format["You need %1 to remove this part.",_namePart], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_170"),_namePart], "PLAIN DOWN"];
};
dayz_myCursorTarget = objNull;
diff --git a/SQF/dayz_code/actions/sell_db.sqf b/SQF/dayz_code/actions/sell_db.sqf
index 4a5338301..061a9d91d 100644
--- a/SQF/dayz_code/actions/sell_db.sqf
+++ b/SQF/dayz_code/actions/sell_db.sqf
@@ -1,6 +1,6 @@
private ["_activatingPlayer","_trader_id","_type","_name","_sell","_order","_tid","_in","_part","_cancel","_Display","_File","_textCurrency","_textPart","_count","_btype","_stype","_bag","_bagclass","_header","_item","_buy","_sqty","_sname","_afile"];
-if(TradeInprogress) exitWith { cutText ["already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_96") , "PLAIN DOWN"]; };
TradeInprogress = true;
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
diff --git a/SQF/dayz_code/actions/show_dialog.sqf b/SQF/dayz_code/actions/show_dialog.sqf
index 40836f37a..815ed3499 100644
--- a/SQF/dayz_code/actions/show_dialog.sqf
+++ b/SQF/dayz_code/actions/show_dialog.sqf
@@ -1,7 +1,7 @@
private ["_trader_data", "_dialog"];
if (TradeInprogress) exitWith {
- cutText ["Trading already in progress." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_97") , "PLAIN DOWN"];
};
_trader_data = (_this select 3);
diff --git a/SQF/dayz_code/actions/siphonFuel.sqf b/SQF/dayz_code/actions/siphonFuel.sqf
index fa2dd4135..f43fac5f5 100644
--- a/SQF/dayz_code/actions/siphonFuel.sqf
+++ b/SQF/dayz_code/actions/siphonFuel.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_curFuel","_newFuel","_started","_finished","_animState","_isMedic","_location1","_location2","_abort","_canNameEmpty","_canSizeEmpty","_canTypeEmpty","_canName","_canSize","_configCanEmpty","_configVeh","_capacity","_nameText","_availableCansEmpty"];
-if(TradeInprogress) exitWith { cutText ["Siphon already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_98") , "PLAIN DOWN"] };
TradeInprogress = true;
// Use target from addaction
@@ -46,7 +46,7 @@ _availableCansEmpty = ["ItemJerrycanEmpty","ItemFuelBarrelEmpty"];
if (_newFuel > 0) then {
- cutText [format["Preparing to siphon, stand still to fill %1.",_canTypeEmpty], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_133"),_canTypeEmpty], "PLAIN DOWN"];
// alert zombies
[player,20,true,(getPosATL player)] spawn player_alertZombies;
@@ -120,7 +120,7 @@ _availableCansEmpty = ["ItemJerrycanEmpty","ItemFuelBarrelEmpty"];
// Play sound
[player,"refuel",0,false] call dayz_zombieSpeak;
player addMagazine _canName;
- cutText [format["%1 has been drained for %2 litres of Fuel",_nameText,_canSize], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_171"),_nameText,_canSize], "PLAIN DOWN"];
call fnc_usec_medic_removeActions;
r_action = false;
@@ -131,17 +131,17 @@ _availableCansEmpty = ["ItemJerrycanEmpty","ItemFuelBarrelEmpty"];
};
} else {
- cutText [format["%1 does not have enough fuel to siphon.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_172"),_nameText], "PLAIN DOWN"];
_abort = true;
};
} else {
- cutText ["Canceled siphon." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_35") , "PLAIN DOWN"];
_abort = true;
};
} else {
- cutText [format["%1 does not have enough fuel to siphon.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_172"),_nameText], "PLAIN DOWN"];
_abort = true;
};
};
diff --git a/SQF/dayz_code/actions/stopGenerator.sqf b/SQF/dayz_code/actions/stopGenerator.sqf
index ec7b3b377..3e75242e3 100644
--- a/SQF/dayz_code/actions/stopGenerator.sqf
+++ b/SQF/dayz_code/actions/stopGenerator.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_started","_finished","_animState","_isMedic","_soundObject"];
-if(TradeInprogress) exitWith { cutText ["Stop already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_99") , "PLAIN DOWN"] };
TradeInprogress = true;
player removeAction s_player_fillgen;
@@ -18,7 +18,7 @@ r_doLoop = true;
_started = false;
_finished = false;
-cutText ["Preparing stop generator, move to cancel.", "PLAIN DOWN"];
+cutText [(localize "str_epoch_player_100"), "PLAIN DOWN"];
[player,50,true,(getPosATL player)] spawn player_alertZombies;
@@ -45,7 +45,7 @@ if(!_finished) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled." , "PLAIN DOWN"]
+ cutText [(localize "str_epoch_player_26") , "PLAIN DOWN"]
};
if (_finished) then {
@@ -58,7 +58,7 @@ if (_finished) then {
// Stop generator
_vehicle setVariable ["GeneratorRunning", false,true];
- cutText ["Generator has been stopped.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_101"), "PLAIN DOWN"];
};
diff --git a/SQF/dayz_code/actions/tame_dog.sqf b/SQF/dayz_code/actions/tame_dog.sqf
index ee30ffe1f..38af0c45e 100644
--- a/SQF/dayz_code/actions/tame_dog.sqf
+++ b/SQF/dayz_code/actions/tame_dog.sqf
@@ -58,8 +58,8 @@ if(_removed == _countIn) then {
_dog setVariable ["fsm_handle", _fsmid];
_dog setVariable ["CharacterID", dayz_characterID, true];
- cutText [format["Dog consumed %1, and is now tamed.",_textRemoved], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_173"),_textRemoved], "PLAIN DOWN"];
} else {
- cutText [format["Dog consumed %1, yet remains untamed.",_textRemoved], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_174"),_textRemoved], "PLAIN DOWN"];
};
};
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/tow_AttachStraps.sqf b/SQF/dayz_code/actions/tow_AttachStraps.sqf
index f6f33217c..bbea9d88f 100644
--- a/SQF/dayz_code/actions/tow_AttachStraps.sqf
+++ b/SQF/dayz_code/actions/tow_AttachStraps.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_started","_finished","_animState","_isMedic","_abort","_configVeh","_nameText","_findNearestVehicles","_findNearestVehicle","_IsNearVehicle","_towTruck","_towTruckSize","_allowedSize"];
-if(TradeInprogress) exitWith { cutText ["Already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_96") , "PLAIN DOWN"] };
TradeInprogress = true;
player removeAction s_player_towing;
@@ -82,14 +82,14 @@ if(_IsNearVehicle >= 1) then {
_vehicle attachTo [_towTruck,[1.3,-2,2.3]];
_towTruck setVariable ["DZEinTow", true, true];
_towTruck setVariable ["DZEvehicleInTow", _vehicle, true];
- cutText [format["%1 has been attached to Tow Truck.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_175"),_nameText], "PLAIN DOWN"];
};
} else {
- cutText [format["Failed to attach %1 to Tow Truck.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_176"),_nameText], "PLAIN DOWN"];
};
} else {
- cutText [format["%1 too large and cannot be towed.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_177"),_nameText], "PLAIN DOWN"];
};
};
@@ -97,7 +97,7 @@ if(_IsNearVehicle >= 1) then {
} else {
- cutText ["No Vehicles Nearby.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_27"), "PLAIN DOWN"];
};
TradeInprogress = false;
s_player_towing = -1;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/tow_DetachStraps.sqf b/SQF/dayz_code/actions/tow_DetachStraps.sqf
index 5f6a2ebed..25ce058d8 100644
--- a/SQF/dayz_code/actions/tow_DetachStraps.sqf
+++ b/SQF/dayz_code/actions/tow_DetachStraps.sqf
@@ -1,6 +1,6 @@
private ["_vehicle","_started","_finished","_animState","_isMedic","_configVeh","_nameText","_towTruck","_inTow"];
-if(TradeInprogress) exitWith { cutText ["Already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_96") , "PLAIN DOWN"] };
TradeInprogress = true;
player removeAction s_player_towing;
@@ -67,7 +67,7 @@ if(_inTow) then {
detach _vehicle;
_towTruck setVariable ["DZEinTow", false, true];
_towTruck setVariable ["DZEvehicleInTow", objNull, true];
- cutText [format["%1 has been detached from Tow Truck.",_nameText], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_178"),_nameText], "PLAIN DOWN"];
_vehicle setvelocity [0,0,1];
};
@@ -76,7 +76,7 @@ if(_inTow) then {
_towTruck setVariable ["DZEvehicleInTow", objNull, true];
};
} else {
- cutText ["No Vehicles In Tow.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_102"), "PLAIN DOWN"];
};
TradeInprogress = false;
s_player_towing = -1;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/trade_any_bicycle.sqf b/SQF/dayz_code/actions/trade_any_bicycle.sqf
index ea0a03df8..439e588c0 100644
--- a/SQF/dayz_code/actions/trade_any_bicycle.sqf
+++ b/SQF/dayz_code/actions/trade_any_bicycle.sqf
@@ -1,11 +1,11 @@
private ["_veh","_location","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear"];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
// Test cannot lock while another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 12]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot trade while another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_104") , "PLAIN DOWN"]; };
// [part_out,part_in, qty_out, qty_in, loc];
@@ -31,7 +31,7 @@ if(_buy_o_sell == "buy") then {
if (_qty >= _qty_in) then {
- cutText ["Starting trade, stand still to complete trade.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_105"), "PLAIN DOWN"];
// force animation
player playActionNow "Medic";
@@ -65,7 +65,7 @@ if (_qty >= _qty_in) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
if (_finished) then {
@@ -116,7 +116,7 @@ if (_qty >= _qty_in) then {
player reveal _veh;
- cutText [format[("Bought %3 for %1 %2."),_qty_in,_textPartIn,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_180"),_qty_in,_textPartIn,_textPartOut], "PLAIN DOWN"];
};
} else {
@@ -165,10 +165,10 @@ if (_qty >= _qty_in) then {
deleteVehicle _obj;
- cutText [format[("Sold %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_181"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
};
} else {
- cutText [format[("Cannot sell %1, tires are too damaged."),_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_182"),_textPartIn] , "PLAIN DOWN"];
};
};
@@ -176,7 +176,7 @@ if (_qty >= _qty_in) then {
s_player_parts_crtl = -1;
} else {
- cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_183"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
};
@@ -185,9 +185,9 @@ if (_qty >= _qty_in) then {
} else {
_needed = _qty_in - _qty;
if(_buy_o_sell == "buy") then {
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
} else {
- cutText [format[("No %1 found within 20 meters."),_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_textPartIn] , "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/trade_any_boat.sqf b/SQF/dayz_code/actions/trade_any_boat.sqf
index bbef14224..f22ac7865 100644
--- a/SQF/dayz_code/actions/trade_any_boat.sqf
+++ b/SQF/dayz_code/actions/trade_any_boat.sqf
@@ -1,11 +1,11 @@
private ["_veh","_location","_isOk","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_keyColor","_keyNumber","_keySelected","_isKeyOK","_config","_okToSell","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear"];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
// Test cannot lock while another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 12]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot trade while another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_104") , "PLAIN DOWN"]; };
// [part_out,part_in, qty_out, qty_in, loc];
@@ -32,7 +32,7 @@ if(_buy_o_sell == "buy") then {
if (_qty >= _qty_in) then {
- cutText ["Starting trade, stand still to complete trade.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_105"), "PLAIN DOWN"];
// force animation
player playActionNow "Medic";
@@ -66,7 +66,7 @@ if (_qty >= _qty_in) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
if (_finished) then {
@@ -138,7 +138,7 @@ if (_qty >= _qty_in) then {
player removeMagazine _keySelected;
};
} else {
- cutText ["You do not have enough room on your toolbelt.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_107"), "PLAIN DOWN"];
};
} else {
@@ -159,7 +159,7 @@ if (_qty >= _qty_in) then {
deleteVehicle _obj;
- cutText [format[("Sold %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_181"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
};
};
@@ -167,7 +167,7 @@ if (_qty >= _qty_in) then {
s_player_parts_crtl = -1;
} else {
- cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_183"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
};
@@ -176,9 +176,9 @@ if (_qty >= _qty_in) then {
} else {
_needed = _qty_in - _qty;
if(_buy_o_sell == "buy") then {
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
} else {
- cutText [format[("No %1 found within 20 meters."),_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_textPartIn] , "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/trade_any_vehicle.sqf b/SQF/dayz_code/actions/trade_any_vehicle.sqf
index d3f8a298f..195429724 100644
--- a/SQF/dayz_code/actions/trade_any_vehicle.sqf
+++ b/SQF/dayz_code/actions/trade_any_vehicle.sqf
@@ -1,11 +1,11 @@
private ["_veh","_location","_isOk","_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_obj","_objectID","_objectUID","_bos","_started","_finished","_animState","_isMedic","_dir","_helipad","_removed","_keyColor","_keyNumber","_keySelected","_isKeyOK","_config","_damage","_tireDmg","_tires","_okToSell","_hitpoints","_needed","_activatingPlayer","_textPartIn","_textPartOut","_traderID","_playerNear"];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
// Test cannot lock while another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 12]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot trade while another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_104") , "PLAIN DOWN"]; };
// [part_out,part_in, qty_out, qty_in, loc];
@@ -31,7 +31,7 @@ if(_buy_o_sell == "buy") then {
if (_qty >= _qty_in) then {
- cutText ["Starting trade, stand still to complete trade.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_105"), "PLAIN DOWN"];
// force animation
player playActionNow "Medic";
@@ -65,7 +65,7 @@ if (_qty >= _qty_in) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
if (_finished) then {
@@ -137,7 +137,7 @@ if (_qty >= _qty_in) then {
player removeMagazine _keySelected;
};
} else {
- cutText ["You do not have enough room on your toolbelt.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_107"), "PLAIN DOWN"];
};
} else {
@@ -185,10 +185,10 @@ if (_qty >= _qty_in) then {
deleteVehicle _obj;
- cutText [format[("Sold %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_181"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
};
} else {
- cutText [format[("Cannot sell %1, tires are too damaged."),_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_182"),_textPartIn] , "PLAIN DOWN"];
};
};
@@ -196,7 +196,7 @@ if (_qty >= _qty_in) then {
s_player_parts_crtl = -1;
} else {
- cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_183"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
};
@@ -205,9 +205,9 @@ if (_qty >= _qty_in) then {
} else {
_needed = _qty_in - _qty;
if(_buy_o_sell == "buy") then {
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
} else {
- cutText [format[("No %1 found within 20 meters."),_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_textPartIn] , "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/trade_backpacks.sqf b/SQF/dayz_code/actions/trade_backpacks.sqf
index 687c4fabe..4e5114143 100644
--- a/SQF/dayz_code/actions/trade_backpacks.sqf
+++ b/SQF/dayz_code/actions/trade_backpacks.sqf
@@ -1,7 +1,7 @@
private ["_part_out","_part_in","_qty_out","_qty_in","_qty","_bos","_bag","_class","_started","_finished","_animState","_isMedic","_num_removed","_needed","_activatingPlayer","_buy_o_sell","_textPartIn","_textPartOut","_traderID"];
// [part_out,part_in, qty_out, qty_in,];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
_activatingPlayer = player;
@@ -30,7 +30,7 @@ if(_buy_o_sell == "buy") then {
if (_qty >= _qty_in) then {
- cutText ["Starting trade, stand still to complete trade.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_105"), "PLAIN DOWN"];
// force animation
player playActionNow "Medic";
@@ -64,7 +64,7 @@ if (_qty >= _qty_in) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
if (_finished) then {
@@ -112,13 +112,13 @@ if (_qty >= _qty_in) then {
};
};
- cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_186"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
s_player_parts_crtl = -1;
} else {
- cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_183"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
};
@@ -126,7 +126,7 @@ if (_qty >= _qty_in) then {
} else {
_needed = _qty_in - _qty;
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
};
TradeInprogress = false;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/trade_items.sqf b/SQF/dayz_code/actions/trade_items.sqf
index 6a0af6361..654fa28a0 100644
--- a/SQF/dayz_code/actions/trade_items.sqf
+++ b/SQF/dayz_code/actions/trade_items.sqf
@@ -1,7 +1,7 @@
private ["_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_textPartIn","_textPartOut","_bos","_needed","_started","_finished","_animState","_isMedic","_total_parts_out","_abort","_removed","_tradeCounter","_next_highest_bar","_third_highest_bar","_next_highest_conv","_third_highest_conv","_third_parts_out_raw","_third_parts_out","_remainder","_next_parts_out_raw","_next_parts_out","_activatingPlayer","_traderID","_total_trades"];
// [part_out,part_in, qty_out, qty_in,];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"] };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"] };
TradeInprogress = true;
_total_parts_out = 0;
@@ -35,7 +35,7 @@ _abort = false;
if(_total_trades < 1) exitWith {
_needed = _qty_in - _qty;
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
TradeInprogress = false;
};
@@ -47,9 +47,9 @@ for "_x" from 1 to _total_trades do {
// cutText ["Starting trade, stand still to complete.", "PLAIN DOWN"];
if(_total_trades == 1) then {
- cutText [format[("Starting trade, stand still to complete trade."),_tradeCounter,_total_trades] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_105"),_tradeCounter,_total_trades] , "PLAIN DOWN"];
} else {
- cutText [format[("Starting trade, stand still to complete trade %1 of %2."),_tradeCounter,_total_trades] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_187"),_tradeCounter,_total_trades] , "PLAIN DOWN"];
};
player playActionNow "Medic";
@@ -87,7 +87,7 @@ for "_x" from 1 to _total_trades do {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
if (_finished) then {
@@ -109,10 +109,10 @@ for "_x" from 1 to _total_trades do {
// total of all parts
_total_parts_out = _total_parts_out + _qty_out;
- cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_186"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
} else {
- cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_183"),_textPartOut] , "PLAIN DOWN"];
_abort = true;
// Return items taken
@@ -135,7 +135,7 @@ for "_x" from 1 to _total_trades do {
} else {
_needed = _qty_in - _qty;
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
};
};
diff --git a/SQF/dayz_code/actions/trade_items_wo_db.sqf b/SQF/dayz_code/actions/trade_items_wo_db.sqf
index 89656cf5a..388f16abe 100644
--- a/SQF/dayz_code/actions/trade_items_wo_db.sqf
+++ b/SQF/dayz_code/actions/trade_items_wo_db.sqf
@@ -1,7 +1,7 @@
private ["_part_out","_part_in","_qty_out","_qty_in","_textPartIn","_textPartOut","_qty","_needed","_started","_finished","_animState","_isMedic","_abort","_removed","_tradeCounter","_total_trades","_humanityGain","_humanity"];
// [part_out,part_in, qty_out, qty_in,];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
//_activatingPlayer = player;
@@ -22,7 +22,7 @@ _total_trades = floor (_qty / _qty_in);
if(_total_trades < 1) exitWith {
_needed = _qty_in - _qty;
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
TradeInprogress = false;
};
@@ -37,9 +37,9 @@ for "_x" from 1 to _total_trades do {
_tradeCounter = _tradeCounter + 1;
if(_total_trades == 1) then {
- cutText [format[("Starting trade, stand still to complete trade."),_tradeCounter,_total_trades] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_105"),_tradeCounter,_total_trades] , "PLAIN DOWN"];
} else {
- cutText [format[("Starting trade, stand still to complete trade %1 of %2."),_tradeCounter,_total_trades] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_187"),_tradeCounter,_total_trades] , "PLAIN DOWN"];
};
player playActionNow "Medic";
@@ -73,7 +73,7 @@ for "_x" from 1 to _total_trades do {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
_qty = {_x == _part_in} count magazines player;
@@ -97,7 +97,7 @@ for "_x" from 1 to _total_trades do {
player setVariable["humanity",_humanity,true];
};
- cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_186"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
} else {
@@ -110,7 +110,7 @@ for "_x" from 1 to _total_trades do {
} else {
_needed = _qty_in - _qty;
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
};
sleep 1;
diff --git a/SQF/dayz_code/actions/trade_metals.sqf b/SQF/dayz_code/actions/trade_metals.sqf
index fee2b56c6..1117484ea 100644
--- a/SQF/dayz_code/actions/trade_metals.sqf
+++ b/SQF/dayz_code/actions/trade_metals.sqf
@@ -1,6 +1,6 @@
private ["_buy","_metals_conversion","_cancel"];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
{player removeAction _x} forEach s_player_parts;s_player_parts = [];
diff --git a/SQF/dayz_code/actions/trade_weapons.sqf b/SQF/dayz_code/actions/trade_weapons.sqf
index a4a048cb8..80273f66a 100644
--- a/SQF/dayz_code/actions/trade_weapons.sqf
+++ b/SQF/dayz_code/actions/trade_weapons.sqf
@@ -1,7 +1,7 @@
private ["_part_out","_part_in","_qty_out","_qty_in","_qty","_buy_o_sell","_traderID","_bos","_needed","_activatingPlayer","_textPartIn","_textPartOut","_started","_finished","_animState","_isMedic","_removed"];
// [part_out,part_in, qty_out, qty_in,"buy"];
-if(TradeInprogress) exitWith { cutText ["Trade already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_103") , "PLAIN DOWN"]; };
TradeInprogress = true;
_activatingPlayer = player;
@@ -26,7 +26,7 @@ if(_buy_o_sell == "buy") then {
if (_qty >= _qty_in) then {
- cutText ["Starting trade, stand still to complete trade.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_105"), "PLAIN DOWN"];
// force animation
player playActionNow "Medic";
@@ -65,7 +65,7 @@ if (_qty >= _qty_in) then {
[objNull, player, rSwitchMove,""] call RE;
player playActionNow "stop";
};
- cutText ["Canceled Trade." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_106") , "PLAIN DOWN"];
};
if (_finished) then {
@@ -99,7 +99,7 @@ if (_qty >= _qty_in) then {
player addMagazine _part_out;
};
};
- cutText [format[("Traded %1 %2 for %3 %4"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_186"),_qty_in,_textPartIn,_qty_out,_textPartOut], "PLAIN DOWN"];
};
@@ -108,7 +108,7 @@ if (_qty >= _qty_in) then {
s_player_parts_crtl = -1;
} else {
- cutText [format[("Insufficient Stock %1"),_textPartOut] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_183"),_textPartOut] , "PLAIN DOWN"];
};
dayzTradeResult = nil;
};
@@ -116,7 +116,7 @@ if (_qty >= _qty_in) then {
} else {
_needed = _qty_in - _qty;
- cutText [format[("Need %1 More %2"),_needed,_textPartIn] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_185"),_needed,_textPartIn] , "PLAIN DOWN"];
};
TradeInprogress = false;
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/unlock_veh.sqf b/SQF/dayz_code/actions/unlock_veh.sqf
index 2d14b442b..27849d644 100644
--- a/SQF/dayz_code/actions/unlock_veh.sqf
+++ b/SQF/dayz_code/actions/unlock_veh.sqf
@@ -1,7 +1,7 @@
private["_vehicle"];
_vehicle = _this select 3;
-if(TradeInprogress) exitWith { cutText ["Lock vehicle already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_37") , "PLAIN DOWN"]; };
TradeInprogress = true;
{player removeAction _x} forEach s_player_lockunlock;s_player_lockunlock = [];
diff --git a/SQF/dayz_code/actions/vault_pitch.sqf b/SQF/dayz_code/actions/vault_pitch.sqf
index c6c714f2a..418200da2 100644
--- a/SQF/dayz_code/actions/vault_pitch.sqf
+++ b/SQF/dayz_code/actions/vault_pitch.sqf
@@ -5,7 +5,7 @@
private ["_tent","_location","_isOk","_cancel","_location3","_location4","_location1","_location2","_counter","_pondPos","_isPond","_ppos","_hastentitem","_dir","_building","_isBuilding","_playerPos","_item","_offset_x","_offset_y","_offset_z","_offset_z_attach","_config","_text","_tmpvault","_vault_location","_objectsPond","_combination_1","_combination_2","_combination_3","_combination_4","_combination","_removed"];
//check if can pitch here
-if(TradeInprogress) exitWith { cutText ["Vault pitching already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_108") , "PLAIN DOWN"]; };
TradeInprogress = true;
//disableSerialization;
@@ -52,7 +52,7 @@ _counter = 0;
while {_isOk} do {
if(_counter == 0) then {
- cutText ["Planning construction stand still 5 seconds to build.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_109"), "PLAIN DOWN"];
sleep 5;
_location1 = getPosATL player;
sleep 5;
@@ -60,7 +60,7 @@ while {_isOk} do {
if(_location1 distance _location2 < 0.1) exitWith {
- cutText ["Started construction move within 5 seconds to cancel.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_109"), "PLAIN DOWN"];
_location3 = getPosATL player;
sleep 5;
_location4 = getPosATL player;
@@ -163,15 +163,15 @@ if(!_cancel) then {
PVDZE_obj_Publish = [_combination,_tent,[_dir,_location],"VaultStorageLocked"];
publicVariableServer "PVDZE_obj_Publish";
- cutText [format["You have setup your Safe. Combination is %1",_combination], "PLAIN DOWN", 5];
+ cutText [format[(localize "str_epoch_player_179"),_combination], "PLAIN DOWN", 5];
};
} else {
- cutText ["You cannot place a Safe here. The area must be flat, and free of other objects", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_110"), "PLAIN DOWN"];
};
} else {
- cutText ["Canceled construction of Safe.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_111"), "PLAIN DOWN"];
};
TradeInprogress = false;
\ No newline at end of file
diff --git a/SQF/dayz_code/compile/BIS_fnc/fn_halo.sqf b/SQF/dayz_code/compile/BIS_fnc/fn_halo.sqf
new file mode 100644
index 000000000..5244dc915
--- /dev/null
+++ b/SQF/dayz_code/compile/BIS_fnc/fn_halo.sqf
@@ -0,0 +1,355 @@
+scriptName "modules_e\Functions\objects\fn_HALO.sqf";
+sleep 0.01;
+
+//--- HALO -------------------------------------------------------------------------------------------------------------------------------------
+if (typename _this == typename objnull) then {
+
+ _unit = _this;
+
+ //--- Eject!
+ waituntil {(vehicle _unit) iskindof "ParachuteBase" || !isnil {_unit getvariable "bis_fnc_halo_now"}};
+ if (!local _unit) exitwith {};
+
+ //--- Delete parachute
+ _parachute = vehicle _unit;
+ if (_parachute != _unit) then {
+ deletevehicle _parachute;
+ };
+
+ //--- Init
+ _dir = ([[0,0,0],velocity _unit] call bis_fnc_dirto);
+ _unit setdir _dir;
+ [objNull, player, rSwitchMove,"HaloFreeFall_non"] call RE;
+ player switchmove "HaloFreeFall_non";
+
+ //--- Key controls
+ if (_unit == player) then {
+ //--- PLAYER ------------------------------------------------
+
+ _brightness = 0.99;
+ _pos = position player;
+ _parray = [
+ /* 00 */ ["\Ca\Data\ParticleEffects\Universal\Universal", 16, 12, 13, 0],
+ /* 01 */ "",
+ /* 02 */ "Billboard",
+ /* 03 */ 1,
+ /* 04 */ 3,
+ /* 05 */ [0,0,-200],
+ /* 06 */ wind,
+ /* 07 */ 0,
+ /* 08 */ 1.275,
+ /* 09 */ 1,
+ /* 10 */ 0,
+ /* 11 */ [100],
+ /* 12 */ [
+ [_brightness,_brightness,_brightness,0],
+ [_brightness,_brightness,_brightness,0.01],
+ [_brightness,_brightness,_brightness,0.10],
+ [_brightness,_brightness,_brightness,0]
+ ],
+ /* 13 */ [1000],
+ /* 14 */ 0,
+ /* 15 */ 0,
+ /* 16 */ "",
+ /* 17 */ "",
+ /* 18 */ player
+ ];
+ bis_fnc_halo_clouds = "#particlesource" createVehicleLocal _pos;
+ bis_fnc_halo_clouds setParticleParams _parray;
+ bis_fnc_halo_clouds setParticleRandom [0, [100, 100, 0], [0, 0, 0], 0, 0, [0, 0, 0, 0], 0, 1];
+ bis_fnc_halo_clouds setParticleCircle [00, [00, 00, 00]];
+ bis_fnc_halo_clouds setDropInterval (0.4 - (0.3 * overcast));
+
+
+ //--- Effects
+ bis_fnc_halo_ppRadialBlur = ppeffectcreate ["RadialBlur",464];
+ bis_fnc_halo_ppRadialBlur ppEffectAdjust [0.01,0.01,0.3,0.3];
+ bis_fnc_halo_ppRadialBlur ppEffectCommit 0.01;
+ bis_fnc_halo_ppRadialBlur ppEffectEnable true ;
+ bis_fnc_halo_soundLoop = time;
+ playsound "BIS_HALO_Flapping";
+
+ bis_fnc_halo_action = _unit addaction [localize "STR_HALO_OPEN_CHUTE","ZabnMods\compile\fn_halo.sqf",[],1,true,true,"Eject"];
+
+ bis_fnc_halo_keydown = {
+ _key = _this select 1;
+
+ //--- Forward
+ //if (_key in (actionkeys 'HeliForward')) then {
+ if (_key in (actionkeys 'MoveForward')) then {
+ if (bis_fnc_halo_vel < +bis_fnc_halo_velLimit) then {bis_fnc_halo_vel = bis_fnc_halo_vel + bis_fnc_halo_velAdd};
+ };
+
+ //--- Backward
+ //if (_key in (actionkeys 'HeliBack')) then {
+ if (_key in (actionkeys 'MoveBack')) then {
+ if (bis_fnc_halo_vel > -bis_fnc_halo_velLimit) then {bis_fnc_halo_vel = bis_fnc_halo_vel - bis_fnc_halo_velAdd};
+ };
+
+ //--- Left
+ //if (_key in (actionkeys 'HeliCyclicLeft')) then {
+ if (_key in (actionkeys 'TurnLeft')) then {
+ if (bis_fnc_halo_dir > -bis_fnc_halo_dirLimit) then {bis_fnc_halo_dir = bis_fnc_halo_dir - bis_fnc_halo_dirAdd};
+ };
+
+ //--- Right
+ //if (_key in (actionkeys 'HeliCyclicRight')) then {
+ if (_key in (actionkeys 'TurnRight')) then {
+ if (bis_fnc_halo_dir < +bis_fnc_halo_dirLimit) then {bis_fnc_halo_dir = bis_fnc_halo_dir + bis_fnc_halo_dirAdd};
+ };
+ };
+ bis_fnc_halo_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_keydown;"];
+
+ //--- Loop
+ bis_fnc_halo_vel = 0;
+ bis_fnc_halo_velLimit = 0.2;
+ bis_fnc_halo_velAdd = 0.03;
+ bis_fnc_halo_dir = 0;
+ bis_fnc_halo_dirLimit = 1;
+ bis_fnc_halo_dirAdd = 0.06;
+
+ [] spawn {
+ _time = time - 0.1;
+ while {alive player && vehicle player == player && isnil {player getvariable "bis_fnc_halo_terminate"}} do {
+
+ //--- FPS counter
+ _fpsCoef = ((time - _time) * 60) / acctime; //Script is optimized for 60 FPS
+ _time = time;
+
+ bis_fnc_halo_velLimit = 0.2 * _fpsCoef;
+ bis_fnc_halo_velAdd = 0.03 * _fpsCoef;
+ bis_fnc_halo_dirLimit = 1 * _fpsCoef;
+ bis_fnc_halo_dirAdd = 0.06 * _fpsCoef;
+
+ //--- Dir
+ bis_fnc_halo_dir = bis_fnc_halo_dir * 0.98;
+ _dir = direction player + bis_fnc_halo_dir;
+ player setdir _dir;
+
+ //--- Velocity
+ _vel = velocity player;
+ bis_fnc_halo_vel = bis_fnc_halo_vel * 0.96;
+ player setvelocity [
+ (_vel select 0) + (sin _dir * bis_fnc_halo_vel),
+ (_vel select 1) + (cos _dir * bis_fnc_halo_vel),
+ (_vel select 2)
+ ];
+
+ //--- Animation system
+ _anim = "HaloFreeFall_non";
+ _v = bis_fnc_halo_vel;
+ _h = bis_fnc_halo_dir;
+
+ _vLimit = 0.1;
+ _hLimit = 0.3;
+ if ((abs _v) > _vLimit || (abs _h) > _hLimit) then {
+ _vAnim = "";
+ if (_v > +_vLimit) then {_vAnim = "F"};
+ if (_v < -_vLimit) then {_vAnim = "B"};
+ _hAnim = "";
+ if (_h > +_hLimit) then {_hAnim = "R"};
+ if (_h < -_hLimit) then {_hAnim = "L"};
+ _anim = "HaloFreeFall_" + _vAnim + _hAnim;
+ };
+
+ player playmovenow _anim;
+
+ //--- Sound
+ if ((time - bis_fnc_halo_soundLoop) > 4.5) then {
+ playsound "BIS_HALO_Flapping";
+ bis_fnc_halo_soundLoop = time;
+ };
+
+ //--- Effects
+ bis_fnc_halo_ppRadialBlur ppEffectAdjust [0.02,0.02,0.3 - (bis_fnc_halo_vel/7)/_fpsCoef,0.3 - (bis_fnc_halo_vel/7)/_fpsCoef];
+ bis_fnc_halo_ppRadialBlur ppEffectCommit 0.01;
+ sleep 0.01;
+ };
+ //--- End
+ player removeaction bis_fnc_halo_action;
+ (finddisplay 46) displayremoveeventhandler ["keydown",bis_fnc_halo_keydown_eh];
+ ppeffectdestroy bis_fnc_halo_ppRadialBlur;
+ deletevehicle bis_fnc_halo_clouds;
+
+ bis_fnc_halo_clouds = nil;
+ bis_fnc_halo_vel = nil;
+ bis_fnc_halo_velLimit = nil;
+ bis_fnc_halo_velAdd = nil;
+ bis_fnc_halo_dir = nil;
+ bis_fnc_halo_dirLimit = nil;
+ bis_fnc_halo_dirAdd = nil;
+ bis_fnc_halo_action = nil;
+ bis_fnc_halo_keydown = nil;
+ bis_fnc_halo_keydown_eh = nil;
+
+ if (!alive player) then {
+ [objNull, player, rSwitchMove,"adthppnemstpsraswrfldnon_1"] call RE;
+ player switchmove "adthppnemstpsraswrfldnon_1";
+ player setvelocity [0,0,0];
+ };
+ };
+ } else {
+ //--- AI ------------------------------------------------
+ while {(position _unit select 2) > 100} do {
+ _destination = expecteddestination _unit select 0;
+ if (_destination distance [position _unit select 0,position _unit select 1,0] > 10) then {
+ _vel = velocity _unit;
+ _dirTo = [_unit,_destination] call bis_fnc_dirto;
+ if (player distance _unit > 500) then {
+ _unit setdir _dirTo;
+ };
+ _unit setvelocity [
+ (_vel select 0) + (sin _dirTo * 0.2),
+ (_vel select 1) + (cos _dirTo * 0.2),
+ (_vel select 2)
+ ];
+ };
+ sleep 0.01;
+ };
+
+ //--- Open
+ [_unit] spawn bis_fnc_halo;
+ };
+};
+
+//--- PARA -------------------------------------------------------------------------------------------------------------------------------------
+if (typename _this == typename []) then {
+
+ _unit = _this select 0;
+ if (!local _unit) exitwith {};
+
+ //--- Free fall
+ if (count _this == 2) exitwith {
+ _alt = _this select 1;
+ _unit setpos [position _unit select 0,position _unit select 1,_alt];
+ _unit setvariable ["bis_fnc_halo_now",true];
+ _unit spawn bis_fnc_halo;
+ };
+ //-------------
+
+ _para = objnull;
+ _vel = [];
+ _para = "ParachuteWest" createVehicle position _unit;
+ //_para = "BIS_Steerable_Parachute" createVehicle position _unit;
+ _para setpos position _unit;
+ _para setdir direction _unit;
+ _vel = velocity _unit;
+ _unit moveindriver _para;
+ //_unit moveingunner _para;
+ _para lock false;
+
+ bis_fnc_halo_para_dirAbs = direction _para;
+
+ //--- Key controls
+ if (_unit == player) then {
+ _para setvelocity [(_vel select 0),(_vel select 1),(_vel select 2)*1];
+
+ bis_fnc_halo_DynamicBlur = ppeffectcreate ["DynamicBlur",464];
+ bis_fnc_halo_DynamicBlur ppEffectEnable true;
+ bis_fnc_halo_DynamicBlur ppEffectAdjust [8.0];
+ bis_fnc_halo_DynamicBlur ppEffectCommit 0;
+ bis_fnc_halo_DynamicBlur ppEffectAdjust [0.0];
+ bis_fnc_halo_DynamicBlur ppEffectCommit 1;
+
+ bis_fnc_halo_para_vel = 0;
+ bis_fnc_halo_para_velLimit = 0.5;
+ bis_fnc_halo_para_velAdd = 0.01;
+ bis_fnc_halo_para_dir = 0;
+ bis_fnc_halo_para_dirLimit = 1.5;
+ bis_fnc_halo_para_dirAdd = 0.03;
+
+ bis_fnc_halo_para_keydown = {
+ _key = _this select 1;
+
+ //--- Forward
+ if (_key in (actionkeys 'MoveForward')) then {
+ if (bis_fnc_halo_para_vel < +bis_fnc_halo_para_velLimit) then {bis_fnc_halo_para_vel = bis_fnc_halo_para_vel + bis_fnc_halo_para_velAdd};
+ };
+
+ //--- Backward
+ if (_key in (actionkeys 'MoveBack')) then {
+ if (bis_fnc_halo_para_vel > -bis_fnc_halo_para_velLimit*0) then {bis_fnc_halo_para_vel = bis_fnc_halo_para_vel - bis_fnc_halo_para_velAdd};
+ };
+
+ //--- Left
+ if (_key in (actionkeys 'TurnLeft')) then {
+ if (bis_fnc_halo_para_dir > -bis_fnc_halo_para_dirLimit) then {bis_fnc_halo_para_dir = bis_fnc_halo_para_dir - bis_fnc_halo_para_dirAdd};
+ };
+
+ //--- Right
+ if (_key in (actionkeys 'TurnRight')) then {
+ if (bis_fnc_halo_para_dir < +bis_fnc_halo_para_dirLimit) then {bis_fnc_halo_para_dir = bis_fnc_halo_para_dir + bis_fnc_halo_para_dirAdd};
+ };
+ };
+ bis_fnc_halo_para_loop_time = time - 0.1;
+ bis_fnc_halo_para_velZ = velocity _para select 2;
+ bis_fnc_halo_para_loop = {
+ if (!isnil {player getvariable "bis_fnc_halo_terminate"}) exitwith {};
+ if (time == bis_fnc_halo_para_loop_time) exitwith {}; //--- FPS too high
+
+ _para = vehicle player;
+
+ //--- FPS counter
+ _fpsCoef = ((time - bis_fnc_halo_para_loop_time) * 20) / acctime; //Script is optimized for 20 FPS
+ bis_fnc_halo_para_loop_time = time;
+
+ //_fpsCoef = _fpsCoef / 3;
+ bis_fnc_halo_para_velLimit = 0.3 * _fpsCoef;
+ bis_fnc_halo_para_velAdd = 0.002 * _fpsCoef;
+ bis_fnc_halo_para_dirLimit = 1.5 * _fpsCoef;
+ bis_fnc_halo_para_dirAdd = 0.03 * _fpsCoef;
+
+ //--- Dir
+ bis_fnc_halo_para_dir = bis_fnc_halo_para_dir * 0.98;
+ bis_fnc_halo_para_dirAbs = bis_fnc_halo_para_dirAbs + bis_fnc_halo_para_dir;
+ _para setdir bis_fnc_halo_para_dirAbs;
+ _dir = direction _para;
+
+ //--- Crash
+ _velZ = velocity _para select 2;
+ if ((_velZ - bis_fnc_halo_para_velZ) > 7 && (getposatl _para select 2) < 100) then {player setdamage 1;debuglog ["Log::::::::::::::",(_velZ - bis_fnc_halo_para_velZ)];};
+ bis_fnc_halo_para_velZ = _velZ;
+
+ //--- Pos
+ _para setposasl [
+ (getposasl _para select 0) + (sin _dir * (0.1 + bis_fnc_halo_para_vel)),
+ (getposasl _para select 1) + (cos _dir * (0.1 + bis_fnc_halo_para_vel)),
+ (getposasl _para select 2) - 0.01 - 0.1 * abs bis_fnc_halo_para_vel
+ ];
+
+ [
+ _para,
+ (-bis_fnc_halo_para_vel * 75) + 0.5*(sin (time * 180)),
+ (+bis_fnc_halo_para_dir * 25) + 0.5*(cos (time * 180))
+ ] call bis_fnc_setpitchbank;
+ };
+
+ bis_fnc_halo_para_mousemoving_eh = (finddisplay 46) displayaddeventhandler ["mousemoving","_this call bis_fnc_halo_para_loop;"];
+ bis_fnc_halo_para_mouseholding_eh = (finddisplay 46) displayaddeventhandler ["mouseholding","_this call bis_fnc_halo_para_loop;"];
+
+ sleep 4;
+
+ ppeffectdestroy bis_fnc_halo_DynamicBlur;
+ bis_fnc_halo_para_keydown_eh = (finddisplay 46) displayaddeventhandler ["keydown","_this call bis_fnc_halo_para_keydown;"];
+
+ //--- End
+ //waituntil {vehicle player == player};
+ player setvariable ["bis_fnc_halo_terminate",nil];
+ waituntil {(position vehicle player select 2) < 2 || !isnil {player getvariable "bis_fnc_halo_terminate"}};
+ (finddisplay 46) displayremoveeventhandler ["keydown",bis_fnc_halo_para_keydown_eh];
+ (finddisplay 46) displayremoveeventhandler ["mousemoving",bis_fnc_halo_para_mousemoving_eh];
+ (finddisplay 46) displayremoveeventhandler ["mouseholding",bis_fnc_halo_para_mouseholding_eh];
+
+ bis_fnc_halo_para_vel = nil;
+ bis_fnc_halo_para_velLimit = nil;
+ bis_fnc_halo_para_velAdd = nil;
+ bis_fnc_halo_para_dir = nil;
+ bis_fnc_halo_para_dirLimit = nil;
+ bis_fnc_halo_para_dirAdd = nil;
+ bis_fnc_halo_para_keydown = nil;
+ bis_fnc_halo_para_loop = nil;
+ bis_fnc_halo_para_keydown_eh = nil;
+ bis_fnc_halo_para_mousemoving_eh = nil;
+ bis_fnc_halo_para_mouseholding_eh = nil;
+ };
+};
\ No newline at end of file
diff --git a/SQF/dayz_code/compile/fn_gearMenuChecks.sqf b/SQF/dayz_code/compile/fn_gearMenuChecks.sqf
index bb9cb4da3..64bff6069 100644
--- a/SQF/dayz_code/compile/fn_gearMenuChecks.sqf
+++ b/SQF/dayz_code/compile/fn_gearMenuChecks.sqf
@@ -15,6 +15,6 @@ _isOk = false;
} forEach ["LandVehicle","Air", "Ship"];
if((locked _cTarget) and _isOk and (((vehicle player) distance _cTarget) < 12)) then {
- cutText ["Cannot access gear in a locked vehicle." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_7") , "PLAIN DOWN"];
_display closeDisplay 1;
};
diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf
index 86d18c644..efd77f963 100644
--- a/SQF/dayz_code/compile/fn_selfActions.sqf
+++ b/SQF/dayz_code/compile/fn_selfActions.sqf
@@ -37,6 +37,18 @@ if (_canPickLight and !dayz_hasLight and !_isPZombie) then {
s_player_removeflare = -1;
};
+if(DZE_HaloJump) then {
+ if(_inVehicle and (_vehicle isKindOf "Air") and ((getPos _vehicle select 2) > 400)) then {
+ if (s_halo_action < 0) then {
+ DZE_myHaloVehicle = _vehicle;
+ s_halo_action = DZE_myHaloVehicle addAction ["HALO Jump","\z\addons\dayz_code\actions\halo_jump.sqf",[],2,false,true,"",""];
+ };
+ } else {
+ DZE_myHaloVehicle removeAction s_halo_action;
+ s_halo_action = -1;
+ };
+};
+
if (!DZE_ForceNameTagsOff) then {
if (s_player_showname < 0 and !_isPZombie) then {
if (DZE_ForceNameTags) then {
diff --git a/SQF/dayz_code/compile/object_removeNet.sqf b/SQF/dayz_code/compile/object_removeNet.sqf
index b4c159d9e..a86e6a055 100644
--- a/SQF/dayz_code/compile/object_removeNet.sqf
+++ b/SQF/dayz_code/compile/object_removeNet.sqf
@@ -9,5 +9,5 @@ _nearNet = _nearNets select 0;
if (!isNull _nearNet and _canDo) then {
[0,1,2,_nearNet] spawn player_removeObject;
} else {
- cutText ["No camo nets found nearby.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_8"), "PLAIN DOWN"];
};
\ No newline at end of file
diff --git a/SQF/dayz_code/compile/player_antiWall.sqf b/SQF/dayz_code/compile/player_antiWall.sqf
index b72fb0ebe..1e9525e6a 100644
--- a/SQF/dayz_code/compile/player_antiWall.sqf
+++ b/SQF/dayz_code/compile/player_antiWall.sqf
@@ -25,7 +25,7 @@ if ((count _intersectsWith) > 0) then {
} forEach _intersectsWith;
if(_activated) then {
diag_log format["Player Wall glitched %1 - player: %2 vehicle:%4", player,_playerPos,_vehiclePos];
- cutText ["You have been crushed between two objects.", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_9"), "PLAIN DOWN"];
_id = [player,"bled"] spawn player_death;
};
diff --git a/SQF/dayz_code/compile/player_lockVault.sqf b/SQF/dayz_code/compile/player_lockVault.sqf
index d09afd3ed..997de6c1d 100644
--- a/SQF/dayz_code/compile/player_lockVault.sqf
+++ b/SQF/dayz_code/compile/player_lockVault.sqf
@@ -5,7 +5,7 @@
*/
private ["_objectID","_objectUID","_obj","_ownerID","_dir","_pos","_holder","_weapons","_magazines","_backpacks","_alreadyPacking","_lockedClass","_text","_playerNear"];
-if(TradeInprogress) exitWith { cutText ["Lock already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_10") , "PLAIN DOWN"]; };
TradeInprogress = true;
_obj = _this;
@@ -18,7 +18,7 @@ if(isNull _obj) exitWith { TradeInprogress = false; };
// Test cannot lock while another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot lock while another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_11") , "PLAIN DOWN"]; };
_ownerID = _obj getVariable["CharacterID","0"];
_objectID = _obj getVariable["ObjectID","0"];
@@ -28,11 +28,11 @@ player playActionNow "Medic";
player removeAction s_player_lockvault;
s_player_lockvault = 1;
-if((_ownerID != dayz_combination) and (_ownerID != dayz_playerUID)) exitWith {TradeInprogress = false; s_player_lockvault = -1; cutText [format["You cannot lock this %1, you do not know the combination.",_text], "PLAIN DOWN"]; };
+if((_ownerID != dayz_combination) and (_ownerID != dayz_playerUID)) exitWith {TradeInprogress = false; s_player_lockvault = -1; cutText [format[(localize "str_epoch_player_115"),_text], "PLAIN DOWN"]; };
_alreadyPacking = _obj getVariable["packing",0];
-if (_alreadyPacking == 1) exitWith {TradeInprogress = false; s_player_lockvault = -1; cutText [format["That %1 is already being locked.",_text], "PLAIN DOWN"]};
+if (_alreadyPacking == 1) exitWith {TradeInprogress = false; s_player_lockvault = -1; cutText [format[(localize "str_epoch_player_116"),_text], "PLAIN DOWN"]};
_obj setVariable["packing",1];
@@ -77,7 +77,7 @@ if(!isNull _obj) then {
_holder setVariable ["BackpackCargo", _backpacks, true];
};
- cutText [format["Your %1 has been locked",_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_117"),_text], "PLAIN DOWN"];
s_player_lockvault = -1;
};
diff --git a/SQF/dayz_code/compile/player_onPause.sqf b/SQF/dayz_code/compile/player_onPause.sqf
index d09b369ba..fa1193fa1 100644
--- a/SQF/dayz_code/compile/player_onPause.sqf
+++ b/SQF/dayz_code/compile/player_onPause.sqf
@@ -29,7 +29,7 @@ private ["_display","_btnRespawn","_btnAbort","_timeOut","_timeMax","_btnAbortTe
};
case (!r_player_dead and !canbuild) : {
_btnAbort ctrlEnable false;
- cutText ["Cannot Abort while in a trader city!", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_12"), "PLAIN DOWN"];
};
case (!r_player_dead and player getVariable["combattimeout", 0] >= time) : {
_btnAbort ctrlEnable false;
diff --git a/SQF/dayz_code/compile/player_packTent.sqf b/SQF/dayz_code/compile/player_packTent.sqf
index e832ce5d2..184cdb84a 100644
--- a/SQF/dayz_code/compile/player_packTent.sqf
+++ b/SQF/dayz_code/compile/player_packTent.sqf
@@ -3,7 +3,7 @@
*/
private ["_activatingPlayer","_objectID","_objectUID","_obj","_ownerID","_dir","_pos","_object","_holder","_weapons","_magazines","_backpacks","_objWpnTypes","_objWpnQty","_countr","_alreadyPacking","_dis","_sfx","_classname","_location"];
-if(TradeInprogress) exitWith { cutText ["Pack tent already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_13") , "PLAIN DOWN"]; };
TradeInprogress = true;
player removeAction s_player_packtent;
@@ -18,7 +18,7 @@ _objectUID = _obj getVariable["ObjectUID","0"];
player playActionNow "Medic";
-if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_packtent = -1; cutText ["Tent not setup yet.", "PLAIN DOWN"];};
+if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_packtent = -1; cutText [(localize "str_epoch_player_14"), "PLAIN DOWN"];};
if(_ownerID != dayz_characterID) exitWith {TradeInprogress = false; s_player_packtent = -1; cutText [localize "str_fail_tent_pack", "PLAIN DOWN"];};
diff --git a/SQF/dayz_code/compile/player_packVault.sqf b/SQF/dayz_code/compile/player_packVault.sqf
index 78c483102..9fee4f12d 100644
--- a/SQF/dayz_code/compile/player_packVault.sqf
+++ b/SQF/dayz_code/compile/player_packVault.sqf
@@ -3,7 +3,7 @@
*/
private ["_activatingPlayer","_obj","_ownerID","_objectID","_objectUID","_alreadyPacking","_location1","_location2","_dir","_pos","_bag","_holder","_weapons","_magazines","_backpacks","_objWpnTypes","_objWpnQty","_countr","_packedClass","_text","_playerNear"];
-if(TradeInprogress) exitWith { cutText ["That is already being packed." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_15") , "PLAIN DOWN"]; };
TradeInprogress = true;
_activatingPlayer = player;
@@ -18,7 +18,7 @@ if(isNull _obj or !(alive _obj)) exitWith { TradeInprogress = false; };
// Test cannot lock while another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 12]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot pack while another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_16") , "PLAIN DOWN"]; };
_ownerID = _obj getVariable["CharacterID","0"];
_objectID = _obj getVariable["ObjectID","0"];
@@ -27,23 +27,23 @@ _objectUID = _obj getVariable["ObjectUID","0"];
player removeAction s_player_packvault;
s_player_packvault = 1;
-if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_packvault = -1; cutText [format["%1 not setup yet.",_text], "PLAIN DOWN"];};
+if(_objectID == "0" && _objectUID == "0") exitWith {TradeInprogress = false; s_player_packvault = -1; cutText [format[(localize "str_epoch_player_118"),_text], "PLAIN DOWN"];};
-if((_ownerID != dayz_combination) and (_ownerID != dayz_playerUID)) exitWith { TradeInprogress = false; s_player_packvault = -1; cutText [format["You cannot pack this %1, you do not know the combination.",_text], "PLAIN DOWN"];};
+if((_ownerID != dayz_combination) and (_ownerID != dayz_playerUID)) exitWith { TradeInprogress = false; s_player_packvault = -1; cutText [format[(localize "str_epoch_player_119"),_text], "PLAIN DOWN"];};
_alreadyPacking = _obj getVariable["packing",0];
-if (_alreadyPacking == 1) exitWith {TradeInprogress = false; s_player_packvault = -1; cutText [format["That %1 is already being packed.",_text] , "PLAIN DOWN"]};
+if (_alreadyPacking == 1) exitWith {TradeInprogress = false; s_player_packvault = -1; cutText [format[(localize "str_epoch_player_120"),_text] , "PLAIN DOWN"]};
_obj setVariable["packing",1];
-cutText [format["Packing %1 move from this position to cancel within 5 seconds.",_text], "PLAIN DOWN"];
+cutText [format[(localize "str_epoch_player_121"),_text], "PLAIN DOWN"];
sleep 1;
_location1 = getPosATL player;
sleep 5;
_location2 = getPosATL player;
if(_location1 distance _location2 > 0.1) exitWith {
- cutText [format["Packing %1 canceled.",_text] , "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_122"),_text] , "PLAIN DOWN"];
_obj setVariable["packing",0];
};
@@ -105,7 +105,7 @@ if(!isNull _obj and alive _obj) then {
_countr = _countr + 1;
} forEach _objWpnTypes;
- cutText [format["Your %1 has been packed",_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_123"),_text], "PLAIN DOWN"];
player action ["Gear", _holder];
};
diff --git a/SQF/dayz_code/compile/player_switchModel.sqf b/SQF/dayz_code/compile/player_switchModel.sqf
index fb0d9d3e0..220c2cf63 100644
--- a/SQF/dayz_code/compile/player_switchModel.sqf
+++ b/SQF/dayz_code/compile/player_switchModel.sqf
@@ -25,10 +25,10 @@ private ["_weapons","_magazines","_primweapon","_secweapon"];
_weapons = weapons player;
_magazines = call player_countmagazines; //magazines player;
- if ( (_playerUID == dayz_playerUID) && (count _magazines == 0) && (count (magazines player) > 0 )) exitWith {cutText ["can't count magazines!", "PLAIN DOWN"]};
+ if ( (_playerUID == dayz_playerUID) && (count _magazines == 0) && (count (magazines player) > 0 )) exitWith {cutText [(localize "str_epoch_player_17"), "PLAIN DOWN"]};
-// if ( count _magazines == 0 ) exitWith {cutText ["can't count magazines!", "PLAIN DOWN"]};
+// if ( count _magazines == 0 ) exitWith {cutText [(localize "str_epoch_player_17"), "PLAIN DOWN"]};
_primweapon = primaryWeapon player;
_secweapon = secondaryWeapon player;
diff --git a/SQF/dayz_code/compile/player_tameDog.sqf b/SQF/dayz_code/compile/player_tameDog.sqf
index 627fea5cf..b479a09f8 100644
--- a/SQF/dayz_code/compile/player_tameDog.sqf
+++ b/SQF/dayz_code/compile/player_tameDog.sqf
@@ -18,7 +18,7 @@ if ((_hasRawMeat) && (_hasdog == "false")) then {
_target removeAction _id;
player setvariable ["dogid", _fsmid];
} else {
- cutText ["You must have RawMeat", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_18"), "PLAIN DOWN"];
};
//handle publicVariables here later.
diff --git a/SQF/dayz_code/compile/player_unlockDoor.sqf b/SQF/dayz_code/compile/player_unlockDoor.sqf
index 04593cb69..22ae730a2 100644
--- a/SQF/dayz_code/compile/player_unlockDoor.sqf
+++ b/SQF/dayz_code/compile/player_unlockDoor.sqf
@@ -54,7 +54,7 @@ if(!isNull dayz_selectedDoor) then {
if (isNil 'KeyCodeTryTimer') then {KeyCodeTryTimer = diag_tickTime+10;};
- cutText ["Wrong code entered to many times wait 10 seconds", "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_19"), "PLAIN DOWN"];
_display = findDisplay 41144;
_display closeDisplay 3000;
};
diff --git a/SQF/dayz_code/compile/player_unlockVault.sqf b/SQF/dayz_code/compile/player_unlockVault.sqf
index 794722932..eb161587f 100644
--- a/SQF/dayz_code/compile/player_unlockVault.sqf
+++ b/SQF/dayz_code/compile/player_unlockVault.sqf
@@ -5,12 +5,12 @@
*/
private ["_objectID","_objectUID","_obj","_ownerID","_dir","_pos","_holder","_weapons","_magazines","_backpacks","_objWpnTypes","_objWpnQty","_countr","_alreadyPacking","_playerNear","_playerID","_claimedBy","_unlockedClass","_text"];
-if(TradeInprogress) exitWith { cutText ["Unlock already in progress." , "PLAIN DOWN"]; };
+if(TradeInprogress) exitWith { cutText [(localize "str_epoch_player_21") , "PLAIN DOWN"]; };
TradeInprogress = true;
// Test cannot lock while another player is nearby
_playerNear = {isPlayer _x} count (player nearEntities ["CAManBase", 6]) > 1;
-if(_playerNear) exitWith { TradeInprogress = false; cutText ["Cannot unlock while another player is nearby." , "PLAIN DOWN"]; };
+if(_playerNear) exitWith { TradeInprogress = false; cutText [(localize "str_epoch_player_20") , "PLAIN DOWN"]; };
_obj = _this;
@@ -28,7 +28,7 @@ if(isNull _obj or !(alive _obj)) exitWith { TradeInprogress = false; };
_ownerID = _obj getVariable["CharacterID","0"];
-if (_alreadyPacking == 1) exitWith {TradeInprogress = false; cutText [format["That %1 is already being unlocked.",_text], "PLAIN DOWN"]};
+if (_alreadyPacking == 1) exitWith {TradeInprogress = false; cutText [format[(localize "str_epoch_player_124"),_text], "PLAIN DOWN"]};
// Promt user for password if _ownerID != dayz_playerUID
if ((_ownerID == dayz_combination) or (_ownerID == dayz_playerUID)) then {
@@ -111,7 +111,7 @@ if ((_ownerID == dayz_combination) or (_ownerID == dayz_playerUID)) then {
} forEach _objWpnTypes;
};
- cutText [format["%1 has been unlocked.",_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_125"),_text], "PLAIN DOWN"];
};
} else {
TradeInprogress = false;
@@ -123,7 +123,7 @@ if ((_ownerID == dayz_combination) or (_ownerID == dayz_playerUID)) then {
[player,"repair",0,false] call dayz_zombieSpeak;
null = [player,25,true,(getPosATL player)] spawn player_alertZombies;
sleep 5;
- cutText [format["Combination incorrect, %1 is still locked.",_text], "PLAIN DOWN"];
+ cutText [format[(localize "str_epoch_player_126"),_text], "PLAIN DOWN"];
};
s_player_unlockvault = -1;
TradeInprogress = false;
\ No newline at end of file
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index f0c783e44..6b10fd185 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -661,7 +661,7 @@ if (!isDedicated) then {
private ["_index", "_item", "_data"];
_index = _this select 0;
if (_index < 0) exitWith {
- cutText ["Trading canceled." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_6") , "PLAIN DOWN"];
};
_item = TraderItemList select _index;
_data = [_item select 0, _item select 3, 1, _item select 2, "buy", _item select 4, _item select 1, _item select 8];
@@ -673,7 +673,7 @@ if (!isDedicated) then {
private ["_index", "_item", "_data"];
_index = _this select 0;
if (_index < 0) exitWith {
- cutText ["Trading canceled." , "PLAIN DOWN"];
+ cutText [(localize "str_epoch_player_6") , "PLAIN DOWN"];
};
_item = TraderItemList select _index;
_data = [_item select 6, _item select 0, _item select 5, 1, "sell", _item select 1, _item select 7, _item select 8];
@@ -772,7 +772,8 @@ if (!isDedicated) then {
//Both
BIS_fnc_selectRandom = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_selectRandom.sqf"; //Checks which actions for nearby casualty
- BIS_fnc_vectorAdd = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_vectorAdd.sqf"; //Checks which actions for nearby casualty
+ BIS_fnc_vectorAdd = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_vectorAdd.sqf";
+ BIS_fnc_halo = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\BIS_fnc\fn_halo.sqf";
fnc_buildWeightedArray = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_buildWeightedArray.sqf"; //Checks which actions for nearby casualty
fnc_usec_damageVehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\compile\fn_damageHandlerVehicle.sqf"; //Event handler run on damage
zombie_initialize = compile preprocessFileLineNumbers "\z\addons\dayz_code\init\zombie_init.sqf";
diff --git a/SQF/dayz_code/init/variables.sqf b/SQF/dayz_code/init/variables.sqf
index 5ccfe5de3..83c32566f 100644
--- a/SQF/dayz_code/init/variables.sqf
+++ b/SQF/dayz_code/init/variables.sqf
@@ -243,6 +243,7 @@ dayz_resetSelfActions = {
s_player_maint_build = -1;
s_player_downgrade_build = -1;
s_player_towing = -1;
+ s_halo_action = -1;
};
call dayz_resetSelfActions;
@@ -632,6 +633,11 @@ if(!isDedicated) then {
if(isNil "DZE_ForceNameTagsOff") then {
DZE_ForceNameTagsOff = false;
};
+ if(isNil "DZE_HaloJump") then {
+ DZE_HaloJump = true;
+ };
+
+ DZE_myHaloVehicle = objNull;
DZE_Friends = [];
diff --git a/SQF/dayz_code/medical/pulse.sqf b/SQF/dayz_code/medical/pulse.sqf
index 0a1501a25..605941a9d 100644
--- a/SQF/dayz_code/medical/pulse.sqf
+++ b/SQF/dayz_code/medical/pulse.sqf
@@ -7,12 +7,12 @@ _isCardiac = _unit getVariable["USEC_isCardiac",false];
sleep 1;
if (_isDead) then {
- TitleText["Pulse is extremely weak","PLAIN DOWN",3];
+ TitleText[(localize "str_epoch_player_3"),"PLAIN DOWN",3];
} else {
if (_isCardiac) then {
- TitleText["Pulse is weak","PLAIN DOWN",3];
+ TitleText[(localize "str_epoch_player_4"),"PLAIN DOWN",3];
} else {
- TitleText["Pulse is strong","PLAIN DOWN",3];
+ TitleText[(localize "str_epoch_player_5"),"PLAIN DOWN",3];
};
};
diff --git a/SQF/dayz_code/system/player_monitor.fsm b/SQF/dayz_code/system/player_monitor.fsm
index 8acfd3a17..49ee9a754 100644
--- a/SQF/dayz_code/system/player_monitor.fsm
+++ b/SQF/dayz_code/system/player_monitor.fsm
@@ -623,7 +623,7 @@ class FSM
"selectNoPlayer;" \n
"" \n
"_myTime = diag_tickTime;" \n
- "1 cutText [""This server is running an incorrect version of the server side application. You cannot play on this server. If you are the server admin please contact DayZ Epoch staff."", ""PLAIN"",5];"/*%FSM*/;
+ "1 cutText [(localize ""str_epoch_player_112""), ""PLAIN"",5];"/*%FSM*/;
precondition = /*%FSM*/""/*%FSM*/;
class Links
{
@@ -1440,7 +1440,7 @@ class FSM
init = /*%FSM*/"endLoadingScreen;" \n
"selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n
- "1 cutText [""You have an outdated version of epoch please download the correct version"", ""PLAIN"",15];"/*%FSM*/;
+ "1 cutText [(localize ""str_epoch_player_113""), ""PLAIN"",15];"/*%FSM*/;
precondition = /*%FSM*/""/*%FSM*/;
class Links
{
@@ -1575,7 +1575,7 @@ class FSM
init = /*%FSM*/"endLoadingScreen;" \n
"selectNoPlayer;" \n
"_myTime = diag_tickTime;" \n
- "1 cutText [""Could not retive date and time from server disconect and retry."", ""PLAIN"",5];"/*%FSM*/;
+ "1 cutText [(localize ""str_epoch_player_114""), ""PLAIN"",5];"/*%FSM*/;
precondition = /*%FSM*/""/*%FSM*/;
class Links
{
diff --git a/SQF/dayz_epoch_b/stringtable.xml b/SQF/dayz_epoch_b/stringtable.xml
index 3b3b482ab..84c571db8 100644
--- a/SQF/dayz_epoch_b/stringtable.xml
+++ b/SQF/dayz_epoch_b/stringtable.xml
@@ -2523,4 +2523,1876 @@
Orange Sherbet is a tangy orange carbonated soft drink with plenty of fizz.
+
+
+ Magazine %1 / %2 - Weapons %3 / %4 - Backpacks %5 / %6
+ Magazine %1 / %2 - Weapons %3 / %4 - Backpacks %5 / %6
+ Magazine %1 / %2 - Waffen %3 / %4 - Rucksäcke %5 / %6
+
+
+
+
+
+
+
+ %1 wants to tag you as friendly. To accept, tag %1 as friendly.
+ %1 wants to tag you as friendly. To accept, tag %1 as friendly.
+ %1 will markieren Sie so freundlich. Zu akzeptieren, Tag %1 als freundlich.
+
+
+
+
+
+
+
+ Pulse is extremely weak
+ Pulse is extremely weak
+ Pulse ist extrem schwach
+
+
+
+
+
+
+
+ Pulse is weak
+ Pulse is weak
+ Puls ist schwach
+
+
+
+
+
+
+
+ Pulse is strong
+ Pulse is strong
+ Pulse ist stark
+
+
+
+
+
+
+
+ Trading canceled.
+ Trading canceled.
+ Handel abgebrochen.
+
+
+
+
+
+
+
+ Cannot access gear in a locked vehicle.
+ Cannot access gear in a locked vehicle.
+ Kann nicht auf Gang in einem verschlossenen Fahrzeug.
+
+
+
+
+
+
+
+ No camo nets found nearby.
+ No camo nets found nearby.
+ Keine camo Netze in der Nähe gefunden.
+
+
+
+
+
+
+
+ You have been crushed between two objects.
+ You have been crushed between two objects.
+ Sie haben zwischen zwei Objekten zerquetscht worden.
+
+
+
+
+
+
+
+ Lock already in progress.
+ Lock already in progress.
+ Sie haben zwischen zwei Objekten zerquetscht worden.
+
+
+
+
+
+
+
+ Cannot lock while another player is nearby.
+ Cannot lock while another player is nearby.
+ Kann nicht gesperrt werden, während ein anderer Spieler in der Nähe ist.
+
+
+
+
+
+
+
+ Cannot Abort while in a trader city!
+ Cannot Abort while in a trader city!
+ Kann nicht abbrechen, während in einem Gewerbetreibenden Stadt!
+
+
+
+
+
+
+
+ Pack tent already in progress.
+ Pack tent already in progress.
+ Packen Zelt bereits im Gange.
+
+
+
+
+
+
+
+ Tent not setup yet.
+ Tent not setup yet.
+ Zelt noch nicht einrichten.
+
+
+
+
+
+
+
+ That is already being packed.
+ That is already being packed.
+ Das ist schon gepackt.
+
+
+
+
+
+
+
+ Cannot pack while another player is nearby.
+ Cannot pack while another player is nearby.
+
+
+
+
+
+
+
+
+ can't count magazines!
+ can't count magazines!
+
+
+
+
+
+
+
+
+ You must have RawMeat
+ You must have RawMeat
+
+
+
+
+
+
+
+
+ Wrong code entered to many times wait 10 seconds
+ Wrong code entered to many times wait 10 seconds
+
+
+
+
+
+
+
+
+ Cannot unlock while another player is nearby.
+ Cannot unlock while another player is nearby.
+
+
+
+
+
+
+
+
+ Unlock already in progress.
+ Unlock already in progress.
+
+
+
+
+
+
+
+
+ Boil already in progress.
+ Boil already in progress.
+
+
+
+
+
+
+
+
+ Cooking already in progress.
+ Cooking already in progress.
+
+
+
+
+
+
+
+
+ Refuel already in progress.
+ Refuel already in progress.
+
+
+
+
+
+
+
+
+ Preparing to fuel and start generator, move to cancel.
+ Preparing to fuel and start generator, move to cancel.
+
+
+
+
+
+
+
+
+ Canceled.
+ Canceled.
+
+
+
+
+
+
+
+
+ No Vehicles Nearby.
+ No Vehicles Nearby.
+
+
+
+
+
+
+
+
+ Generator has been started.
+ Generator has been started.
+
+
+
+
+
+
+
+
+ Gutting animal already in progress.
+ Gutting animal already in progress.
+
+
+
+
+
+
+
+
+ Canceled gutting.
+ Canceled gutting.
+
+
+
+
+
+
+
+
+ Gutting zombie already in progress.
+ Gutting zombie already in progress.
+
+
+
+
+
+
+
+
+ Hotwire vehicle already in progress.
+ Hotwire vehicle already in progress.
+
+
+
+
+
+
+
+
+ Failed to unlock car hotwire kit broken.
+ Failed to unlock car hotwire kit broken.
+
+
+
+
+
+
+
+
+ Fill Jerry already in progress.
+ Fill Jerry already in progress.
+
+
+
+
+
+
+
+
+ Canceled siphon.
+ Canceled siphon.
+
+
+
+
+
+
+
+
+ No recent Deaths.
+ No recent Deaths.
+
+
+
+
+
+
+
+
+ Lock vehicle already in progress.
+ Lock vehicle already in progress.
+
+
+
+
+
+
+
+
+ Take item already in progress.
+ Take item already in progress.
+
+
+
+
+
+
+
+
+ Add to toolbelt already in progress.
+ Add to toolbelt already in progress.
+
+
+
+
+
+
+
+
+ \n\nBuilding already in progress.
+ \n\nBuilding already in progress.
+
+
+
+
+
+
+
+
+ \n\nCannot build, too many objects witin 30m.
+ \n\nCannot build, too many objects witin 30m.
+
+
+
+
+
+
+
+
+ Cannot build while in a vehicle.
+ Cannot build while in a vehicle.
+
+
+
+
+
+
+
+
+ Cannot build while in a vehicle.
+ Cannot build while in a vehicle.
+
+
+
+
+
+
+
+
+ Cannot build plot pole within 45m of an existing plot.
+ Cannot build plot pole within 45m of an existing plot.
+
+
+
+
+
+
+
+
+ PgUp to raise or PgDn to lower (Hold ALT to raise faster or CTRL slower), Q or E to flip 180. Space-Bar to build.
+ PgUp to raise or PgDn to lower (Hold ALT to raise faster or CTRL slower), Q or E to flip 180. Space-Bar to build.
+
+
+
+
+
+
+
+
+ Canceled building.
+ Canceled building.
+
+
+
+
+
+
+
+
+ Canceled construction of %1 %2.
+ Canceled construction of %1 %2.
+
+
+
+
+
+
+
+
+ Downgrade already in progress.
+ Downgrade already in progress.
+
+
+
+
+
+
+
+
+ Unable to downgrade you do not know the combination.
+ Unable to downgrade you do not know the combination.
+
+
+
+
+
+
+
+
+ Not setup yet.
+ Not setup yet.
+
+
+
+
+
+
+
+
+ No downgrades available
+ No downgrades available
+
+
+
+
+
+
+
+
+ Upgrade already in progress.
+ Upgrade already in progress.
+
+
+
+
+
+
+
+
+ \n\nHarvest wood already in progress.
+ \n\nHarvest wood already in progress.
+
+
+
+
+
+
+
+
+ \n\nHatchet needs to be in your hand to harvest wood.
+ \n\nHatchet needs to be in your hand to harvest wood.
+
+
+
+
+
+
+
+
+ \n\nCanceled Harvesting Wood.
+ \n\nCanceled Harvesting Wood.
+
+
+
+
+
+
+
+
+ \n\nCopy key already in progress.
+ \n\nCopy key already in progress.
+
+
+
+
+
+
+
+
+ \n\nNeed Keymakers kit to make a copy of a key.
+ \n\nNeed Keymakers kit to make a copy of a key.
+
+
+
+
+
+
+
+
+ \n\nKey crafting needs a fire within 3 meters.
+ \n\nKey crafting needs a fire within 3 meters.
+
+
+
+
+
+
+
+
+ \n\nKey crafting requires a 1 Tin Bar.
+ \n\nKey crafting requires a 1 Tin Bar.
+
+
+
+
+
+
+
+
+ \n\nCopied key has been added to your backpack.
+ \n\nCopied key has been added to your backpack.
+
+
+
+
+
+
+
+
+ \n\nCanceled Key Crafting.
+ \n\nCanceled Key Crafting.
+
+
+
+
+
+
+
+
+ \n\nCrafting started
+ \n\nCrafting started
+
+
+
+
+
+
+
+
+ \n\nCrafting already in progress.
+ \n\nCrafting already in progress.
+
+
+
+
+
+
+
+
+ \n\nCanceled crafting.
+ \n\nCanceled crafting.
+
+
+
+
+
+
+
+
+ \n\nFishing already in progress.
+ \n\nFishing already in progress.
+
+
+
+
+
+
+
+
+ \n\nMust be near a shore or on a boat to fish.
+ \n\nMust be near a shore or on a boat to fish.
+
+
+
+
+
+
+
+
+ \n\nFishing pole needs to be in your hand to fish.
+ \n\nFishing pole needs to be in your hand to fish.
+
+
+
+
+
+
+
+
+ \n\nCanceled Fishing.
+ \n\nCanceled Fishing.
+
+
+
+
+
+
+
+
+ \n\nYou caught a fish.
+ \n\nYou caught a fish.
+
+
+
+
+
+
+
+
+ \n\nNibble... Nibble...
+ \n\nNibble... Nibble...
+
+
+
+
+
+
+
+
+ \n\nYou didn't catch anything.
+ \n\nYou didn't catch anything.
+
+
+
+
+
+
+
+
+ \n\nHarvest already in progress.
+ \n\nHarvest already in progress.
+
+
+
+
+
+
+
+
+ \n\nCanceled Harvesting.
+ \n\nCanceled Harvesting.
+
+
+
+
+
+
+
+
+ \n\nYou must be close to a plant to harvest.
+ \n\nYou must be close to a plant to harvest.
+
+
+
+
+
+
+
+
+ \n\nOpen Crate already in progress.
+ \n\nOpen Crate already in progress.
+
+
+
+
+
+
+
+
+ \n\nYou need a crowbar to open this.
+ \n\nYou need a crowbar to open this.
+
+
+
+
+
+
+
+
+ \n\nMissing supply crate.
+ \n\nMissing supply crate.
+
+
+
+
+
+
+
+
+ \n\nOpened supply crate.
+ \n\nOpened supply crate.
+
+
+
+
+
+
+
+
+ \n\nOre Mining already in progress.
+ \n\nOre Mining already in progress.
+
+
+
+
+
+
+
+
+ \n\nCancelled Mining Ore.
+ \n\nCancelled Mining Ore.
+
+
+
+
+
+
+
+
+ \n\nCombine ammo failed you need at least 85% capacity to fill a mag
+ \n\nCombine ammo failed you need at least 85% capacity to fill a mag
+
+
+
+
+
+
+
+
+ No upgrades available
+ No upgrades available
+
+
+
+
+
+
+
+
+ \n\nChanging clothes already in progress.
+ \n\nChanging clothes already in progress.
+
+
+
+
+
+
+
+
+ \n\nCannot change clothes when another player is nearby.
+ \n\nCannot change clothes when another player is nearby.
+
+
+
+
+
+
+
+
+ \n\nYou may not change clothes while in a vehicle
+ \n\nYou may not change clothes while in a vehicle
+
+
+
+
+
+
+
+
+ \n\nYou cannot wear a skin of the opposite sex.
+ \n\nYou cannot wear a skin of the opposite sex.
+
+
+
+
+
+
+
+
+ Canceled refuel.
+ Canceled refuel.
+
+
+
+
+
+
+
+
+ Remove already in progress.
+ Remove already in progress.
+
+
+
+
+
+
+
+
+ Cannot remove running generator.
+ Cannot remove running generator.
+
+
+
+
+
+
+
+
+ No parts found.
+ No parts found.
+
+
+
+
+
+
+
+
+ Failed object not longer exists.
+ Failed object not longer exists.
+
+
+
+
+
+
+
+
+ Repair already in progress.
+ Repair already in progress.
+
+
+
+
+
+
+
+
+ Canceled Repair.
+ Canceled Repair.
+
+
+
+
+
+
+
+
+ Salvage already in progress.
+ Salvage already in progress.
+
+
+
+
+
+
+
+
+ Canceled Salvage.
+ Canceled Salvage.
+
+
+
+
+
+
+
+
+ already in progress.
+ already in progress.
+
+
+
+
+
+
+
+
+ Trading already in progress.
+ Trading already in progress.
+
+
+
+
+
+
+
+
+ Siphon already in progress.
+ Siphon already in progress.
+
+
+
+
+
+
+
+
+ Stop already in progress.
+ Stop already in progress.
+
+
+
+
+
+
+
+
+ Preparing stop generator, move to cancel.
+ Preparing stop generator, move to cancel.
+
+
+
+
+
+
+
+
+ Generator has been stopped.
+ Generator has been stopped.
+
+
+
+
+
+
+
+
+ No Vehicles In Tow.
+ No Vehicles In Tow.
+
+
+
+
+
+
+
+
+ Trade already in progress.
+ Trade already in progress.
+
+
+
+
+
+
+
+
+ Cannot trade while another player is nearby.
+ Cannot trade while another player is nearby.
+
+
+
+
+
+
+
+
+ Starting trade, stand still to complete trade.
+ Starting trade, stand still to complete trade.
+
+
+
+
+
+
+
+
+ Canceled Trade.
+ Canceled Trade.
+
+
+
+
+
+
+
+
+ You do not have enough room on your toolbelt.
+ You do not have enough room on your toolbelt.
+
+
+
+
+
+
+
+
+ Vault pitching already in progress.
+ Vault pitching already in progress.
+
+
+
+
+
+
+
+
+ Planning construction stand still 5 seconds to build.
+ Planning construction stand still 5 seconds to build.
+
+
+
+
+
+
+
+
+ You cannot place a Safe here. The area must be flat, and free of other objects
+ You cannot place a Safe here. The area must be flat, and free of other objects
+
+
+
+
+
+
+
+
+ Canceled construction of Safe.
+ Canceled construction of Safe.
+
+
+
+
+
+
+
+
+ This server is running an incorrect version of the server side application. You cannot play on this server. If you are the server admin please contact DayZ Epoch staff.
+ This server is running an incorrect version of the server side application. You cannot play on this server. If you are the server admin please contact DayZ Epoch staff.
+
+
+
+
+
+
+
+
+ You have an outdated version of epoch please download the correct version
+ You have an outdated version of epoch please download the correct version
+
+
+
+
+
+
+
+
+ Could not retive date and time from server disconect and retry.
+ Could not retive date and time from server disconect and retry.
+
+
+
+
+
+
+
+
+ You cannot lock this %1, you do not know the combination.
+ You cannot lock this %1, you do not know the combination.
+
+
+
+
+
+
+
+
+ That %1 is already being locked.
+ That %1 is already being locked.
+
+
+
+
+
+
+
+
+ Your %1 has been locked
+ Your %1 has been locked
+
+
+
+
+
+
+
+
+ %1 not setup yet.
+ %1 not setup yet.
+
+
+
+
+
+
+
+
+ You cannot pack this %1, you do not know the combination.
+ You cannot pack this %1, you do not know the combination.
+
+
+
+
+
+
+
+
+ That %1 is already being packed.
+ That %1 is already being packed.
+
+
+
+
+
+
+
+
+ Packing %1 move from this position to cancel within 5 seconds.
+ Packing %1 move from this position to cancel within 5 seconds.
+
+
+
+
+
+
+
+
+ Packing %1 canceled.
+ Packing %1 canceled.
+
+
+
+
+
+
+
+
+ Your %1 has been packed
+ Your %1 has been packed
+
+
+
+
+
+
+
+
+ That %1 is already being unlocked.
+ That %1 is already being unlocked.
+
+
+
+
+
+
+
+
+ %1 has been unlocked.
+ %1 has been unlocked.
+
+
+
+
+
+
+
+
+ Combination incorrect, %1 is still locked.
+ Combination incorrect, %1 is still locked.
+
+
+
+
+
+
+
+
+ You have successfully loaded %1 ammunition.
+ You have successfully loaded %1 ammunition.
+
+
+
+
+
+
+
+
+ You need %1 type of ammo to do this.
+ You need %1 type of ammo to do this.
+
+
+
+
+
+
+
+
+ Started cooking %1
+ Started cooking %1
+
+
+
+
+
+
+
+
+ Canceled cooking %1
+ Canceled cooking %1
+
+
+
+
+
+
+
+
+ Filling up %1, move to cancel.
+ Filling up %1, move to cancel.
+
+
+
+
+
+
+
+
+ %1 filled to %2 percent capacity.
+ %1 filled to %2 percent capacity.
+
+
+
+
+
+
+
+
+ Preparing to siphon, stand still to fill %1.
+ Preparing to siphon, stand still to fill %1.
+
+
+
+
+
+
+
+
+ You have filled %1 with fuel.
+ You have filled %1 with fuel.
+
+
+
+
+
+
+
+
+ \n\nThis building needs a %1 within %2 meters
+ \n\nThis building needs a %1 within %2 meters
+
+
+
+
+
+
+
+
+ Unable to build %1 nearby.
+ Unable to build %1 nearby.
+
+
+
+
+
+
+
+
+ Missing tool %1
+ Missing tool %1
+
+
+
+
+
+
+
+
+ Placing %1, move to cancel.
+ Placing %1, move to cancel.
+
+
+
+
+
+
+
+
+ Constructing %1 stage %2 of %3, move to cancel.
+ Constructing %1 stage %2 of %3, move to cancel.
+
+
+
+
+
+
+
+
+ You have setup your %2. Combination is %1
+ You have setup your %2. Combination is %1
+
+
+
+
+
+
+
+
+ Unable to downgrade %1 nearby.
+ Unable to downgrade %1 nearby.
+
+
+
+
+
+
+
+
+ You have downgraded %1.
+ You have downgraded %1.
+
+
+
+
+
+
+
+
+ \n\n%1 of %2 could not be added to your inventory. (not enough room?)
+ \n\n%1 of %2 could not be added to your inventory. (not enough room?)
+
+
+
+
+
+
+
+
+ You have repaired %1.
+ You have repaired %1.
+
+
+
+
+
+
+
+
+ Missing Parts after first check Item: %1 / %2
+ Missing Parts after first check Item: %1 / %2
+
+
+
+
+
+
+
+
+ Missing %1 more of %2
+ Missing %1 more of %2
+
+
+
+
+
+
+
+
+ \n\nChopping down tree, walk away at anytime to cancel. (%1/%2)
+ \n\nChopping down tree, walk away at anytime to cancel. (%1/%2)
+
+
+
+
+
+
+
+
+ \n\n%1 piles of wood has been successfully added in front of you.
+ \n\n%1 piles of wood has been successfully added in front of you.
+
+
+
+
+
+
+
+
+ \n\nCrafting needs a %1 within %2 meters
+ \n\nCrafting needs a %1 within %2 meters
+
+
+
+
+
+
+
+
+ \n\nCrafted Item: %1 x %2
+ \n\nCrafted Item: %1 x %2
+
+
+
+
+
+
+
+
+ \n\nMissing Parts after first check Item: %1 / %2
+ \n\nMissing Parts after first check Item: %1 / %2
+
+
+
+
+
+
+
+
+ \n\n%3 complete, missing %1 more of %2
+ \n\n%3 complete, missing %1 more of %2
+
+
+
+
+
+
+
+
+ \n\n%3 complete, missing %1 more of %2
+ \n\n%3 complete, missing %1 more of %2
+
+
+
+
+
+
+
+
+ \n\n%1 of %2 has been successfully added to your inventory.
+ \n\n%1 of %2 has been successfully added to your inventory.
+
+
+
+
+
+
+
+
+ \n\nMining Ore, walk away at any time to cancel. (%1/%2)
+ \n\nMining Ore, walk away at any time to cancel. (%1/%2)
+
+
+
+
+
+
+
+
+ \n\n%1 piles of ore has been successfully added in front of you.
+ \n\n%1 piles of ore has been successfully added in front of you.
+
+
+
+
+
+
+
+
+ Unable to upgrade %1 nearby.
+ Unable to upgrade %1 nearby.
+
+
+
+
+
+
+
+
+ You have upgraded %2. Combination is %1
+ You have upgraded %2. Combination is %1
+
+
+
+
+
+
+
+
+ You have upgraded %1.
+ You have upgraded %1.
+
+
+
+
+
+
+
+
+ Preparing to refuel, stand still to drain %1.
+ Preparing to refuel, stand still to drain %1.
+
+
+
+
+
+
+
+
+ %1 cannot hold that much fuel.
+ %1 cannot hold that much fuel.
+
+
+
+
+
+
+
+
+ Starting de-construction of %1.
+ Starting de-construction of %1.
+
+
+
+
+
+
+
+
+ De-constructing %1 stage %2 of %3 walk away at anytime to cancel.
+ De-constructing %1 stage %2 of %3 walk away at anytime to cancel.
+
+
+
+
+
+
+
+
+ %1 broke cannot remove %2.
+ %1 broke cannot remove %2.
+
+
+
+
+
+
+
+
+ De-constructing %1.
+ De-constructing %1.
+
+
+
+
+
+
+
+
+ You have successfully attached %1 to the %2
+ You have successfully attached %1 to the %2
+
+
+
+
+
+
+
+
+ You need %1 to repair this
+ You need %1 to repair this
+
+
+
+
+
+
+
+
+ You have destroyed %1 while attempting to remove from %2
+ You have destroyed %1 while attempting to remove from %2
+
+
+
+
+
+
+
+
+ You have successfully removed %1 from the %2
+ You have successfully removed %1 from the %2
+
+
+
+
+
+
+
+
+ You need %1 to remove this part.
+ You need %1 to remove this part.
+
+
+
+
+
+
+
+
+ %1 has been drained for %2 litres of Fuel
+ %1 has been drained for %2 litres of Fuel
+
+
+
+
+
+
+
+
+ %1 does not have enough fuel to siphon.
+ %1 does not have enough fuel to siphon.
+
+
+
+
+
+
+
+
+ Dog consumed %1, and is now tamed.
+ Dog consumed %1, and is now tamed.
+
+
+
+
+
+
+
+
+ Dog consumed %1, yet remains untamed.
+ Dog consumed %1, yet remains untamed.
+
+
+
+
+
+
+
+
+ %1 has been attached to Tow Truck.
+ %1 has been attached to Tow Truck.
+
+
+
+
+
+
+
+
+ Failed to attach %1 to Tow Truck.
+ Failed to attach %1 to Tow Truck.
+
+
+
+
+
+
+
+
+ %1 too large and cannot be towed.
+ %1 too large and cannot be towed.
+
+
+
+
+
+
+
+
+ %1 has been detached from Tow Truck.
+ %1 has been detached from Tow Truck.
+
+
+
+
+
+
+
+
+ You have setup your Safe. Combination is %1
+ You have setup your Safe. Combination is %1
+
+
+
+
+
+
+
+
+ Bought %3 for %1 %2.
+ Bought %3 for %1 %2.
+
+
+
+
+
+
+
+
+ Sold %1 %2 for %3 %4
+ Sold %1 %2 for %3 %4
+
+
+
+
+
+
+
+
+ Cannot sell %1, tires are too damaged.
+ Cannot sell %1, tires are too damaged.
+
+
+
+
+
+
+
+
+ Insufficient Stock %1
+ Insufficient Stock %1
+
+
+
+
+
+
+
+
+ Need %1 More %2
+ Need %1 More %2
+
+
+
+
+
+
+
+
+ No %1 found within 20 meters.
+ No %1 found within 20 meters.
+
+
+
+
+
+
+
+
+ Traded %1 %2 for %3 %4
+ Traded %1 %2 for %3 %4
+
+
+
+
+
+
+
+
+ Starting trade, stand still to complete trade %1 of %2.
+ Starting trade, stand still to complete trade %1 of %2.
+
+
+
+
+
+
+
+