diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_allowBuying.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_allowBuying.sqf
index 70e03cd6d..0159abe50 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_allowBuying.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_allowBuying.sqf
@@ -124,17 +124,29 @@ if (_selection == 1) then { //vehicle
if (_allowedWeapons >= (_toBuyWeaps + _toolsToBuy)) then {
_check1 = true;
} else {
- systemChat format[localize "STR_EPOCH_TRADE_VEHICLE_WEPS", _allowedWeapons];
+ if (_allowedWeapons > 0) then {
+ systemChat format[localize "STR_EPOCH_TRADE_VEHICLE_WEPS", _allowedWeapons];
+ } else {
+ systemChat localize "STR_EPOCH_TRADE_VEHICLE_FULL_GUNS";
+ };
};
if (_allowedMags >= _toBuyTotalMags) then {
_check2 = true;
} else {
- systemChat format[localize "STR_EPOCH_TRADE_VEHICLE_MAGS", _allowedMags];
+ if (_allowedMags > 0) then {
+ systemChat format[localize "STR_EPOCH_TRADE_VEHICLE_MAGS", _allowedMags];
+ } else {
+ systemChat localize "STR_EPOCH_TRADE_VEHICLE_FULL_MAGS";
+ };
};
if (_allowedBackpacks >= _toBuyBags) then {
_check3 = true;
} else {
- systemChat format[localize "STR_EPOCH_TRADE_VEHICLE_BAGS", _allowedBackpacks];
+ if (_allowedBackpacks > 0) then {
+ systemChat format[localize "STR_EPOCH_TRADE_VEHICLE_BAGS", _allowedBackpacks];
+ } else {
+ systemChat localize "STR_EPOCH_TRADE_VEHICLE_FULL_BAGS";
+ };
};
if (_check1 && _check2 && _check3) then { _return = true; };
@@ -165,7 +177,11 @@ if (_selection == 0) then { //backpack
if (_allowedWeapons >= _toBuyWeaps) then { //_toBuyWeaps does not include tools (which can exceed transportMaxWeapons in backpacks but not vehicles)
_check1 = true;
} else {
- systemChat format[localize "STR_EPOCH_TRADE_BAG_WEPS", _allowedWeapons];
+ if (_allowedWeapons > 0) then {
+ systemChat format[localize "STR_EPOCH_TRADE_BAG_WEPS", _allowedWeapons];
+ } else {
+ systemChat localize "STR_EPOCH_TRADE_BACKPACK_FULL";
+ };
};
if (_allowedMags >= _toBuyTotalMags) then {
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkCloseVehicle.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkCloseVehicle.sqf
index 5bb626570..2c956eee0 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkCloseVehicle.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkCloseVehicle.sqf
@@ -4,11 +4,11 @@ Z_vehicle = objNull;
_vehicle = objNull;
_pos = [player] call FNC_GetPos;
_list = nearestObjects [_pos, ["Air","LandVehicle","Ship"], Z_VehicleDistance];
-{
- if (!isNull _x && local _x && alive _x) then {
- _vehicle = _x;
- };
-} count _list;
+
+if (!isNull DZE_myVehicle && local DZE_myVehicle && alive DZE_myVehicle && DZE_myVehicle in _list) then {
+ _vehicle = DZE_myVehicle;
+};
+
_result = false;
if (!isNull _vehicle) then {
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getVehicleItems.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getVehicleItems.sqf
index 93966bdb9..ee36247e8 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getVehicleItems.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getVehicleItems.sqf
@@ -1,7 +1,7 @@
/**
* call Z_getVehicleItems
*
-* Gets all your items stored in your vehicle and innitiates the selling list.
+* Gets all your items stored in your vehicle and initiates the selling list.
**/
private ["_vehicle","_pos","_list","_formattedText","_pic","_normalMags","_normalWeaps","_freeSpace"];
#include "defines.hpp"
@@ -14,14 +14,12 @@ _vehicle = objNull;
_pos = [player] call FNC_GetPos;
_list = nearestObjects [_pos, ["Air","LandVehicle","Ship"], Z_VehicleDistance];
-{
- if (!isNull _x && local _x && alive _x) then {
- _vehicle = _x;
- };
-} count _list;
+
+if (!isNull DZE_myVehicle && local DZE_myVehicle && alive DZE_myVehicle && DZE_myVehicle in _list) then {
+ _vehicle = DZE_myVehicle;
+};
if (!isNull _vehicle) then {
- systemChat format[localize "STR_EPOCH_TRADE_SELECTED",typeOf _vehicle];
_pic = getText (configFile >> 'CfgVehicles' >> (typeOf _vehicle) >> 'picture');
_formattedText = format [
diff --git a/SQF/dayz_code/compile/fn_selfActions.sqf b/SQF/dayz_code/compile/fn_selfActions.sqf
index 669ad5bb6..ad382a357 100644
--- a/SQF/dayz_code/compile/fn_selfActions.sqf
+++ b/SQF/dayz_code/compile/fn_selfActions.sqf
@@ -113,36 +113,41 @@ if (!_canDoThis && s_player_Drinkfromhands >= 0) then {
s_player_Drinkfromhands = -1;
};
-if (_inVehicle && {_vehicleOwnerID != "0"} && {!(_vehicle isKindOf "Bicycle")}) then {
- if (s_player_lockUnlockInside_ctrl < 0) then {
- DZE_myVehicle = _vehicle;
- _totalKeys = call epoch_tempKeys;
- _temp_keys = _totalKeys select 0;
- _temp_keys_names = _totalKeys select 1;
- _hasKey = _vehicleOwnerID in _temp_keys;
- _oldOwner = (_vehicleOwnerID == dayz_playerUID);
- _text = getText (configFile >> "CfgVehicles" >> (typeOf DZE_myVehicle) >> "displayName");
- if (locked DZE_myVehicle) then {
- if (_hasKey || _oldOwner) then {
- _unlock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[DZE_myVehicle,(_temp_keys_names select (parseNumber _vehicleOwnerID))], 2, true, true];
- s_player_lockUnlockInside set [count s_player_lockUnlockInside,_unlock];
- s_player_lockUnlockInside_ctrl = 1;
- } else {
- if (_hasHotwireKit) then {
- _unlock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",DZE_myVehicle, 2, true, true];
+if (_inVehicle) then {
+ DZE_myVehicle = _vehicle;
+ if (_vehicleOwnerID != "0" && !(_vehicle isKindOf "Bicycle")) then {
+ if (s_player_lockUnlockInside_ctrl < 0) then {
+ _totalKeys = call epoch_tempKeys;
+ _temp_keys = _totalKeys select 0;
+ _temp_keys_names = _totalKeys select 1;
+ _hasKey = _vehicleOwnerID in _temp_keys;
+ _oldOwner = (_vehicleOwnerID == dayz_playerUID);
+ _text = getText (configFile >> "CfgVehicles" >> (typeOf DZE_myVehicle) >> "displayName");
+ if (locked DZE_myVehicle) then {
+ if (_hasKey || _oldOwner) then {
+ _unlock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_UNLOCK",_text], "\z\addons\dayz_code\actions\unlock_veh.sqf",[DZE_myVehicle,(_temp_keys_names select (parseNumber _vehicleOwnerID))], 2, true, true];
+ s_player_lockUnlockInside set [count s_player_lockUnlockInside,_unlock];
+ s_player_lockUnlockInside_ctrl = 1;
} else {
- _unlock = DZE_myVehicle addAction [format["%1",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",DZE_myVehicle, 2, true, true];
+ if (_hasHotwireKit) then {
+ _unlock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_HOTWIRE",_text], "\z\addons\dayz_code\actions\hotwire_veh.sqf",DZE_myVehicle, 2, true, true];
+ } else {
+ _unlock = DZE_myVehicle addAction [format["%1",localize "STR_EPOCH_ACTIONS_VEHLOCKED"], "",DZE_myVehicle, 2, true, true];
+ };
+ s_player_lockUnlockInside set [count s_player_lockUnlockInside,_unlock];
+ s_player_lockUnlockInside_ctrl = 1;
+ };
+ } else {
+ if (_hasKey || _oldOwner) then {
+ _lock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",DZE_myVehicle, 1, true, true];
+ s_player_lockUnlockInside set [count s_player_lockUnlockInside,_lock];
+ s_player_lockUnlockInside_ctrl = 1;
};
- s_player_lockUnlockInside set [count s_player_lockUnlockInside,_unlock];
- s_player_lockUnlockInside_ctrl = 1;
- };
- } else {
- if (_hasKey || _oldOwner) then {
- _lock = DZE_myVehicle addAction [format[localize "STR_EPOCH_ACTIONS_LOCK",_text], "\z\addons\dayz_code\actions\lock_veh.sqf",DZE_myVehicle, 1, true, true];
- s_player_lockUnlockInside set [count s_player_lockUnlockInside,_lock];
- s_player_lockUnlockInside_ctrl = 1;
};
};
+ } else {
+ {DZE_myVehicle removeAction _x} count s_player_lockUnlockInside;s_player_lockUnlockInside = [];
+ s_player_lockUnlockInside_ctrl = -1;
};
} else {
if (!isNil "DZE_myVehicle") then {
@@ -151,6 +156,7 @@ if (_inVehicle && {_vehicleOwnerID != "0"} && {!(_vehicle isKindOf "Bicycle")})
};
};
+
if (DZE_HeliLift) then {
_hasAttached = _vehicle getVariable["hasAttached",false];
if (_inVehicle && {_vehicle isKindOf "Air"} && {(([_vehicle] call FNC_getPos) select 2) < 30} && {speed _vehicle < 5} && {typeName _hasAttached == "OBJECT"}) then {
@@ -421,8 +427,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
if(_isModular || _isModularDoor || {_typeOfCursorTarget in DZE_isDestroyableStorage}) then {
if(_hasToolbox && "ItemCrowbar" in _itemsPlayer) then {
- _isowner = [player, _cursorTarget] call FNC_check_access;
- if ((_isowner select 0) or (_isowner select 2) or (_isowner select 3)) then {
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
+ if ((_isOwner select 0) or (_isOwner select 2) or (_isOwner select 3)) then {
_player_deleteBuild = true;
};
};
@@ -502,7 +508,7 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
player removeAction s_player_sleep;
s_player_sleep = -1;
};
-
+
//Study Body
if (_isMan && {!_isAlive} && {!_isZombie} && {!_isAnimal}) then {
if (s_player_studybody < 0) then {
@@ -634,8 +640,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
if ((_cursorTarget isKindOf "Plastic_Pole_EP1_DZ") && {_canDo && speed player <= 1}) then {
if (DZE_permanentPlot) then {
if (s_player_plotManagement < 0) then {
- _isowner = [player, _cursorTarget] call FNC_check_access;
- if ((_isowner select 0) or (_isowner select 2) or (_isowner select 3) or (_isowner select 4)) then {
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
+ if ((_isOwner select 0) or (_isOwner select 2) or (_isOwner select 3) or (_isOwner select 4)) then {
s_player_plotManagement = player addAction [format["%1",localize "STR_EPOCH_ACTIONS_MANAGEPLOT"], "\z\addons\dayz_code\actions\plotManagement\initPlotManagement.sqf", [], 5, false];
};
};
@@ -659,8 +665,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
if (DZE_permanentPlot) then {
if (s_player_plot_take_ownership < 0) then {
if (DZE_PlotOwnership) then {
- _isowner = [player, _cursorTarget] call FNC_check_access;
- if (_isowner select 0) then {
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
+ if (_isOwner select 0) then {
s_player_plot_take_ownership = player addAction ["Take plot items ownership", "\z\addons\dayz_code\actions\A_Plot_for_Life\plot_take_ownership.sqf", "", 1, false];
};
};
@@ -769,15 +775,15 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
// Allow manage door
if( DZE_doorManagement && (_typeOfCursorTarget in DZE_DoorsLocked) ) then {
// Check player access
- _isowner = [player, _cursorTarget] call FNC_check_access;
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
if( (s_player_manageDoor < 0) && (
- ((_isowner select 0) && DZE_doorManagementAllowManage_owner) // door owner
- || ((_isowner select 1) && DZE_doorManagementAllowManage_ownerFriendlies) // door owner's friendly tagged
- || ((_isowner select 2) && DZE_doorManagementAllowManage_plotOwner) // plot owner
- || ((_isowner select 3) && DZE_doorManagementAllowManage_plotFriends) // plot friends
- || ((_isowner select 4) && DZE_doorManagementAllowManage_plotAdmins) // plot management admins
- || ((_isowner select 5) && DZE_doorManagementAllowManage_doorFriends) // door friends
- || ((_isowner select 6) && DZE_doorManagementAllowManage_doorAdmins) // door management admins
+ ((_isOwner select 0) && DZE_doorManagementAllowManage_owner) // door owner
+ || ((_isOwner select 1) && DZE_doorManagementAllowManage_ownerFriendlies) // door owner's friendly tagged
+ || ((_isOwner select 2) && DZE_doorManagementAllowManage_plotOwner) // plot owner
+ || ((_isOwner select 3) && DZE_doorManagementAllowManage_plotFriends) // plot friends
+ || ((_isOwner select 4) && DZE_doorManagementAllowManage_plotAdmins) // plot management admins
+ || ((_isOwner select 5) && DZE_doorManagementAllowManage_doorFriends) // door friends
+ || ((_isOwner select 6) && DZE_doorManagementAllowManage_doorAdmins) // door management admins
)) then {
s_player_manageDoor = player addAction [format["%1", localize "STR_EPOCH_ACTIONS_MANAGEDOOR"], "\z\addons\dayz_code\actions\doorManagement\initDoorManagement.sqf", _cursorTarget, 5, false];
};
@@ -885,9 +891,9 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
};
};
if (s_player_upgrade_build < 0) then {
- _isowner = [player, _cursorTarget] call FNC_check_access;
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
_upgrade = getArray (configFile >> "CfgVehicles" >> (typeOf _cursorTarget) >> "upgradeBuilding");
- if (((_isowner select 0) or (_isowner select 2) or (_isowner select 3)) && (count _upgrade) > 0) then {
+ if (((_isOwner select 0) or (_isOwner select 2) or (_isOwner select 3)) && (count _upgrade) > 0) then {
s_player_lastTarget set [0,_cursorTarget];
s_player_upgrade_build = player addAction [format[localize "str_upgrade",_text], "\z\addons\dayz_code\actions\player_upgrade.sqf",_cursorTarget, -1, false, true];
};
@@ -906,8 +912,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
};
};
if (s_player_downgrade_build < 0) then {
- _isowner = [player, _cursorTarget] call FNC_check_access;
- if ((_isowner select 0) or (_isowner select 2) or (_isowner select 3)) then {
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
+ if ((_isOwner select 0) or (_isOwner select 2) or (_isOwner select 3)) then {
s_player_lastTarget set [1,_cursorTarget];
s_player_downgrade_build = player addAction [format[localize "STR_EPOCH_ACTIONS_REMLOCK",_text], "\z\addons\dayz_code\actions\player_buildingDowngrade.sqf",_cursorTarget, -2, false, true];
};
@@ -926,8 +932,8 @@ if (!isNull _cursorTarget && !_inVehicle && !_isPZombie && (player distance _cur
};
};
if (s_player_maint_build < 0) then {
- _isowner = [player, _cursorTarget] call FNC_check_access;
- if ((_isowner select 0) or (_isowner select 2) or (_isowner select 3)) then {
+ _isOwner = [player, _cursorTarget] call FNC_check_access;
+ if ((_isOwner select 0) or (_isOwner select 2) or (_isOwner select 3)) then {
_text2 = _text + " (" + str(round ((damage _cursorTarget) * 100)) + "% damaged)";
s_player_lastTarget set [2,_cursorTarget];
s_player_maint_build = player addAction [format["%1 %2",localize "STR_EPOCH_ACTIONS_MAINTAIN",_text2], "\z\addons\dayz_code\actions\player_buildingMaint.sqf",_cursorTarget, -2, false, true];
diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml
index e76e99e04..49838988a 100644
--- a/SQF/dayz_code/stringtable.xml
+++ b/SQF/dayz_code/stringtable.xml
@@ -16024,7 +16024,7 @@
Транспорт
Vehículo
Véhicule
- Vozidlo
+ Vozidlo
Veicolo
Pojazd
Jármű
@@ -16119,7 +16119,7 @@
Nothing
- Ничего
+ Ничего
Rien
Nada
Niente
@@ -16208,6 +16208,15 @@
You can only buy %1 backpacks into your vehicle.
Вы можете купить рюкзаков в ваш транспорт: %1.
+
+ You can't fit anymore weapons into your vehicle.
+
+
+ You can't fit anymore magazines into your vehicle.
+
+
+ You can't fit anymore backpacks into your vehicle.
+
Total backpack space exceeded.
@@ -16275,7 +16284,7 @@
You need %1 %2 to buy all these items.
Вам нужно %1 %2 для покупки.
-
+
Cannot buy: Not enough money!
Kauf nicht möglich: Nicht genug Geld!
Impossibile comprare: servono più soldi!