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 0401a1c92..3f77ac3f9 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_allowBuying.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_allowBuying.sqf
@@ -3,6 +3,7 @@ private ["_selection","_return","_toBuyWeaps","_toBuyTotalMags","_toBuyBags","_t
,"_allowedPrimary","_allowedTools","_allowedSidearm","_allowedBackpacks","_toolClasses"
,"_duplicate","_quantity","_tool","_totalBagSlots","_pistolMags","_regularMags","_toBuyPistolMags"
,"_toBuyRegularMags","_type","_freeSpace","_backpack","_totalSpace","_toolAmounts","_allowedBinocular","_message"
+,"_vehiclesToBuy","_allowedWeapons","_allowedPistolMags","_allowedRegularMags","_typeW"
];
_selection = Z_SellingFrom;
_return = false;
@@ -28,20 +29,20 @@ if (_vehiclesToBuy > 0) then {
if (_selection == 2) then { //gear
_pistolMags = 0;
- _regularMags = 0;
+ _regularMags = 0;
{
_type = getNumber (configFile >> "CfgMagazines" >> _x >> "type");
if (_type == 16) then {_pistolMags = _pistolMags + 1;}; // WeaponSlotHandGunItem (pistol ammo slot)
if (_type == 256) then {_regularMags = _regularMags + 1;}; // WeaponSlotItem (normal magazine)
} count (magazines player);
-
+
_allowedPistolMags = 8 - _pistolMags;
_allowedRegularMags = 12 - _regularMags;
_p = primaryWeapon player;
_allowedPrimary = if (_p != "") then {0} else {1};
if (DZE_TwoPrimaries == 2 && dayz_onBack == "") then { _allowedPrimary = _allowedPrimary + 1; };
-
+
_b = unitBackpack player;
_allowedBackpacks = if (isNull _b) then {1} else {0};
@@ -50,15 +51,16 @@ if (_selection == 2) then { //gear
_allowedBinocular = 2;
_duplicate = false;
{
- switch getNumber (configFile >> "CfgWeapons" >> _x >> "type") do {
- case 2: {_allowedSidearm = 0;}; //Pistol
- case 4: {_allowedBackpacks = 0;}; //Launcher
- case 4096: {_allowedBinocular = _allowedBinocular - 1;}; //Binocular slot
- case 131072: {_allowedTools = _allowedTools - 1;}; //Toolbelt slot
+ _typeW = getNumber (configFile >> "CfgWeapons" >> _x >> "type");
+ call {
+ if (_typeW == 2) exitwith {_allowedSidearm = 0;}; //Pistol
+ if (_typeW == 4) exitwith {_allowedBackpacks = 0;}; //Launcher
+ if (_typeW == 4096) exitwith {_allowedBinocular = _allowedBinocular - 1;}; //Binocular slot
+ if (_typeW == 131072) exitwith {_allowedTools = _allowedTools - 1;}; //Toolbelt slot
};
if (_x in _toolClasses) exitWith {_duplicate = true;}; // Forbid purchasing duplicate tools into gear
} count (weapons player);
-
+
{
_tool = _x;
_quantity = {(_tool == _x)} count _toolClasses; // Buying same tool multiple times with 1x quantity
@@ -68,7 +70,7 @@ if (_selection == 2) then { //gear
_toolsToBuy = _toolsToBuy - 1; //Not counting binoculars in tool total (12) when buying in gear
};
} forEach _toolClasses;
-
+
{
if (_x > 1) exitWith {_duplicate = true;}; // Buying >1x quantity of a tool
} count _toolAmounts;
@@ -80,11 +82,11 @@ if (_selection == 2) then { //gear
if (_allowedPrimary >= _primaryToBuy && _allowedSidearm >= _sidearmToBuy && _allowedTools >= _toolsToBuy && !_duplicate && _allowedBinocular > -1) then {
_check1 = true;
} else {
- _message = switch (true) do {
- case (_duplicate): {localize "STR_EPOCH_TRADE_DUPLICATE_TOOL"};
- case (_allowedBinocular < 0): {localize "STR_EPOCH_TRADE_BINOCULARS_FULL"};
- case (_allowedTools < _toolsToBuy): {localize "STR_EPOCH_PLAYER_107"};
- default {format[localize "STR_EPOCH_TRADE_GEAR_FULL",_allowedPrimary,_allowedSidearm,_allowedTools]};
+ _message = call {
+ if (_duplicate) exitWith {localize "STR_EPOCH_TRADE_DUPLICATE_TOOL"};
+ if (_allowedBinocular < 0) exitWith {localize "STR_EPOCH_TRADE_BINOCULARS_FULL"};
+ if (_allowedTools < _toolsToBuy) exitWith {localize "STR_EPOCH_PLAYER_107"};
+ format[localize "STR_EPOCH_TRADE_GEAR_FULL",_allowedPrimary,_allowedSidearm,_allowedTools];
};
systemChat _message;
};
@@ -96,13 +98,13 @@ if (_selection == 2) then { //gear
if (_allowedBackpacks >= _toBuyBags) then {
_check3 = true;
} else {
- if (_allowedBackpacks == 0) then {
+ if (_allowedBackpacks == 0) then {
systemChat localize "STR_EPOCH_TRADE_HAVE_BACKPACK";
} else {
systemChat localize "STR_EPOCH_TRADE_ONE_BACKPACK";
};
};
-
+
if (_check1 && _check2 && _check3) then { _return = true; };
};
@@ -180,7 +182,7 @@ if (_selection == 0) then { //backpack
systemChat localize "STR_EPOCH_TRADE_BACKPACK_FULL";
};
};
-
+
if (_allowedMags >= _toBuyTotalMags) then {
_check2 = true;
} else {
@@ -206,4 +208,4 @@ if (_selection == 0) then { //backpack
if (_check0 && _check1 && _check2 && _check3 && _check4) then { _return = true; };
};
-_return
\ No newline at end of file
+_return
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcBuyableList.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcBuyableList.sqf
index 3776d1030..ce1061796 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcBuyableList.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcBuyableList.sqf
@@ -1,9 +1,9 @@
-private ["_arrayOfTraderCat","_counter","_cat","_cfgtraders","_y","_type","_buy","_sell","_pic","_text","_worth","_buyCurrency","_sellCurrency","_ignore","_categoryNumber","_BcurrencyQty","_ScurrencyQty"];
+private ["_arrayOfTraderCat","_part","_cat","_cfgtraders","_y","_type","_buy","_sell","_pic","_text","_worth","_buyCurrency","_sellCurrency","_ignore","_categoryNumber","_BcurrencyQty","_ScurrencyQty"];
call Z_clearBuyList;
Z_BuyableArray = [];
_arrayOfTraderCat = Z_traderData;
-_counter = 0;
+
{
_categoryNumber = _x select 1;
if (_categoryNumber == _this) exitWith {
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcCurrency.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcCurrency.sqf
index 7fbec6c1e..9fabc2372 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcCurrency.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_calcCurrency.sqf
@@ -20,50 +20,50 @@ _GemTotal2 = _total;
{
_gem = _x;
_value = DZE_GemWorthList select _forEachIndex;
- switch(_gem) do {
- case 'ItemTopaz': {
+ call {
+ if (_gem == 'ItemTopaz') exitwith {
_ItemTopaz = floor(_GemTotal2 / _value);
if (_ItemTopaz >= 1) then {
_GemTotal = (_value * _ItemTopaz) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemObsidian': {
+ if (_gem == 'ItemObsidian') exitwith {
_ItemObsidian = floor(_GemTotal2 / _value);
if (_ItemObsidian >= 1) then {
_GemTotal = (_value * _ItemObsidian) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemSapphire': {
+ if (_gem == 'ItemSapphire') exitwith {
_ItemSapphire = floor(_GemTotal2 / _value);
if (_ItemSapphire >= 1) then {
_GemTotal = (_value * _ItemSapphire) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemAmethyst': {
+ if (_gem == 'ItemAmethyst') exitwith {
_ItemAmethyst = floor(_GemTotal2 / _value);
if (_ItemAmethyst >= 1) then {
_GemTotal = (_value * _ItemAmethyst) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemEmerald': {
+ if (_gem == 'ItemEmerald') exitwith {
_ItemEmerald = floor(_GemTotal2 / _value);
if (_ItemEmerald >= 1) then {
_GemTotal = (_value * _ItemEmerald) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemCitrine': {
+ if (_gem == 'ItemCitrine') exitwith {
_ItemCitrine = floor(_GemTotal2 / _value);
if (_ItemCitrine >= 1) then {
_GemTotal = (_value * _ItemCitrine) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemRuby': {
+ if (_gem == 'ItemRuby') exitwith {
_ItemRuby = floor(_GemTotal2 / _value);
if (_ItemRuby >= 1) then {
_GemTotal = (_value * _ItemRuby) + _GemTotal;
@@ -166,4 +166,4 @@ if (_noIMG) then {
} forEach _array;
};
-_string
\ No newline at end of file
+_string
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkArrayInConfig.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkArrayInConfig.sqf
index 74b531e89..b6fa074e2 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkArrayInConfig.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_checkArrayInConfig.sqf
@@ -8,7 +8,7 @@
*
* Fills up the sellable list if the item has a valid config.
**/
-private ["_weaps","_mags","_extraText","_arrayOfTraderCat","_totalPrice","_backUpText","_bags","_baseVehicle","_currencyQty","_swap","_swap2","_myVehType"];
+private ["_weaps","_mags","_extraText","_arrayOfTraderCat","_totalPrice","_backUpText","_bags","_baseVehicle","_currencyQty","_swap","_swap2","_myVehType","_processGear","_HasKeyCheck","_vehTrade"];
#include "defines.hpp"
_weaps = _this select 0;
@@ -37,7 +37,7 @@ _HasKeyCheck = {
_totalPrice = 0;
_processGear = {
- private ["_configType","_passedType","_cat","_pic","_text","_sell","_buy","_buyCurrency","_sellCurrency","_worth"];
+ private ["_configType","_passedType","_cat","_pic","_text","_sell","_buy","_buyCurrency","_sellCurrency","_worth","_y","_HasKey","_part"];
_passedType = _this select 1; //Check for items that have the same magazine and weapon classname (PipeBomb, Stinger, Igla, etc.)
{
@@ -65,22 +65,22 @@ _processGear = {
_text = "";
_configType = getText(missionConfigFile >> "CfgTraderCategory" >> _cat >> _y >> "type");
if (_passedType == "find") then {_passedType = _configType;};
-
+
_sell = getArray(missionConfigFile >> "CfgTraderCategory" >> _cat >> _y >> "sell");
_buy = getArray(missionConfigFile >> "CfgTraderCategory" >> _cat >> _y >> "buy");
if (_swap) then {_y = "ItemBloodbag"};
- switch (true) do {
- case (_passedType == "trade_items") :
+ call {
+ if (_passedType == "trade_items") exitwith
{
_pic = getText (configFile >> 'CfgMagazines' >> _y >> 'picture');
_text = getText (configFile >> 'CfgMagazines' >> _y >> 'displayName');
};
- case (_passedType == "trade_weapons") :
+ if (_passedType == "trade_weapons") exitwith
{
_pic = getText (configFile >> 'CfgWeapons' >> _y >> 'picture');
_text = getText (configFile >> 'CfgWeapons' >> _y >> 'displayName');
};
- case (_passedType in DZE_tradeObject) :
+ if (_passedType in DZE_tradeObject) exitwith
{
_pic = getText (configFile >> 'CfgVehicles' >> _y >> 'picture');
_text = getText (configFile >> 'CfgVehicles' >> _y >> 'displayName');
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayBackpackInfo.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayBackpackInfo.sqf
index e5c1ba5fc..2125db50d 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayBackpackInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayBackpackInfo.sqf
@@ -88,4 +88,14 @@ if (Z_SingleCurrency) then {
];
};
+if (DZE_R3F_WEIGHT) then {
+ private "_weight";
+
+ _weight = getNumber(configFile >> "CfgWeight" >> "Backpacks" >> _class >> "weight");
+ _formattedText = _formattedText + format [
+ "%1: %2 %3"
+ ,localize "STR_EPOCH_WEIGHT",_weight,localize "STR_R3F_WEIGHT_English"
+ ];
+};
+
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText parseText _formattedText;
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayFreeSpace.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayFreeSpace.sqf
index 2d86dc792..6e4410b12 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayFreeSpace.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayFreeSpace.sqf
@@ -1,4 +1,4 @@
-private ["_selection","_returnArray","_allowedMags","_allowedWeapons","_allowedBackpacks","_pic","_backpack","_actualMags","_freeSpace","_allowedPrimary","_allowedSidearm","_p"];
+private ["_selection","_returnArray","_allowedMags","_allowedWeapons","_allowedBackpacks","_pic","_backpack","_actualMags","_freeSpace","_allowedPrimary","_allowedSidearm","_p","_nr","_totalBagSlots", "_totalSpace"];
#include "defines.hpp"
_selection = _this select 0;
@@ -10,21 +10,22 @@ if (_selection == 2) then { //gear
// Don't show pistol mag slots as item slots in gear. Player is informed of pistol mag slots count in systemChat.
_actualMags = {(getNumber (configFile >> "CfgMagazines" >> _x >> "type") == 256)} count (magazines player); // 256 = WeaponSlotItem (normal magazine)
_allowedMags = 12 - _actualMags;
-
+
_p = primaryWeapon player;
_allowedPrimary = if (_p != "") then {0} else {1};
if (DZE_TwoPrimaries == 2 && dayz_onBack == "") then { _allowedPrimary = _allowedPrimary + 1; };
-
+
_backpack = unitBackpack player;
_allowedBackpacks = if (isNull _backpack) then {1} else {0};
_allowedSidearm = 1;
{
- switch getNumber (configFile >> "CfgWeapons" >> _x >> "type") do {
- case 2: {_allowedSidearm = 0;}; //Pistol
- case 4: {_allowedBackpacks = 0;}; //Launcher
+ _nr = getNumber (configFile >> "CfgWeapons" >> _x >> "type");
+ call {
+ if (_nr == 2) exitwith {_allowedSidearm = 0;}; //Pistol
+ if (_nr == 4) exitwith {_allowedBackpacks = 0;}; //Launcher
};
} count (weapons player);
-
+
// 12 toolbelt + 1 Binoculars + 1 NVG + 1 Pistol + 1 Primary = 16 (onBack isn't counted in weapons player)
//_allowedWeapons = 16 - count(weapons player);
// Don't show tool slots as weapon slots in gear. Player is informed of tool slots count in systemChat.
@@ -50,7 +51,7 @@ if (_selection == 1) then { //vehicle
_allowedMags = _freeSpace select 1;
_allowedWeapons = _freeSpace select 2;
_allowedBackpacks = _freeSpace select 3;
-
+
_pic = getText (configFile >> "CfgVehicles" >> (typeOf DZE_myVehicle) >> "picture");
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_CONTAINERINFO) ctrlSetStructuredText parseText format [
@@ -69,7 +70,7 @@ if (_selection == 0) then { //backpack
_freeSpace = [_backpack,0,0,0,0] call Z_calcFreeSpace;
_totalSpace = _freeSpace select 0;
_totalBagSlots = _freeSpace select 4;
-
+
_pic = getText (configFile >> "CfgVehicles" >> (typeOf _backpack) >> "picture");
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_CONTAINERINFO) ctrlSetStructuredText parseText format [
@@ -87,4 +88,4 @@ if (_selection == 0) then { //backpack
"\z\addons\dayz_code\gui\gear\gear_ui_slots_weapons_white.paa",_returnArray select 1,
"\z\addons\dayz_code\gui\gear\gear_ui_slots_items_white.paa",_returnArray select 0,
"\z\addons\dayz_code\gui\gear\gear_ui_slots_backpacks_white.paa",_returnArray select 2
-];
\ No newline at end of file
+];
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayItemInfo.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayItemInfo.sqf
index 984e63739..1aac58bbc 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayItemInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayItemInfo.sqf
@@ -1,4 +1,4 @@
-private ["_item","_picture","_class","_display","_buyPrice","_sellPrice","_formattedText","_buyCurrency","_sellCurrency","_compatible","_weapon","_attach","_config","_compatibleText","_type","_text","_displayText"];
+private ["_picBuy","_picSell","_item","_picture","_class","_display","_buyPrice","_sellPrice","_formattedText","_buyCurrency","_sellCurrency","_compatible","_weapon","_attach","_config","_compatibleText","_type","_text","_displayText"];
#include "defines.hpp"
_item = _this select 0;
@@ -114,9 +114,19 @@ if (count _compatible > 0) then {
if (_displayText != "") then {
_formattedText = _formattedText + format [
- "%1: %2"
+ "%1: %2
"
,localize "STR_EPOCH_DESCRIPTION",_displayText
];
};
+if (DZE_R3F_WEIGHT) then {
+ private "_weight";
+
+ _weight = [getNumber(configFile >> "CfgWeight" >> "Magazines" >> _class >> "weight"),1] select ((configName(inheritsFrom(configFile >> "cfgMagazines" >> _class))) == "SkinBase");
+ _formattedText = _formattedText + format [
+ "%1: %2 %3"
+ ,localize "STR_EPOCH_WEIGHT",_weight,localize "STR_R3F_WEIGHT_English"
+ ];
+};
+
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText parseText _formattedText;
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayVehicleInfo.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayVehicleInfo.sqf
index de082d0af..faed7eabd 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayVehicleInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayVehicleInfo.sqf
@@ -1,6 +1,6 @@
-private ['_item', '_type','_picture',"_class","_display","_transportMaxWeapons","_transportMaxMagazines","_transportmaxBackpacks"
+private ['_item','_picture',"_class","_display","_transportMaxWeapons","_transportMaxMagazines","_transportmaxBackpacks"
,"_buyPrice","_sellPrice","_buyCurrency","_sellCurrency","_formattedText","_fuelCapacity","_maxSpeed","_armor","_seats","_weapons",
-"_weapons2","_config","_wepText","_turret","_text"];
+"_weapons2","_config","_wepText","_turret","_text","_index","_picSell","_picBuy"];
#include "defines.hpp"
@@ -208,5 +208,5 @@ if (count _weapons2 > 0) then {
localize "STR_EPOCH_WEAPONS",_wepText
];
};
-
+
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText parseText _formattedText;
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayWeaponInfo.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayWeaponInfo.sqf
index 5a22edf12..497ae2a91 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayWeaponInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayWeaponInfo.sqf
@@ -1,4 +1,4 @@
-private ["_item","_picture","_class","_display","_buyPrice","_sellPrice","_magazines","_magText","_formattedText","_buyCurrency","_sellCurrency","_attachments","_attachText","_config","_text","_attach","_type"];
+private ["_parentClasses","_picBuy","_picSell","_item","_picture","_class","_display","_buyPrice","_sellPrice","_magazines","_magText","_formattedText","_buyCurrency","_sellCurrency","_attachments","_attachText","_config","_text","_attach","_type"];
#include "defines.hpp"
_item = _this select 0;
@@ -124,4 +124,14 @@ if !("ItemCore" in _parentClasses or "Binocular" in _parentClasses) then {
];
};
+if (DZE_R3F_WEIGHT) then {
+ private "_weight";
+
+ _weight = getNumber(configFile >> "CfgWeight" >> "Weapons" >> _class >> "weight");
+ _formattedText = _formattedText + format [
+ "%1: %2 %3"
+ ,localize "STR_EPOCH_WEIGHT",_weight,localize "STR_R3F_WEIGHT_English"
+ ];
+};
+
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText parseText _formattedText;
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getContainer.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getContainer.sqf
index 261f639ed..e6b5d1203 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getContainer.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getContainer.sqf
@@ -22,8 +22,8 @@ _backpack = unitBackpack player;
call Z_calcPrice;
if (Z_Selling) then {
- switch (_lbIndex) do {
- case 0: { //backpack
+ call {
+ if (_lbIndex == 0) exitwith { //backpack
if (!isNull _backpack) then {
[localize "STR_EPOCH_TRADE_SELLING_BACKPACK"] call Z_fillTradeTitle;
Z_SellingFrom = 0;
@@ -33,7 +33,7 @@ if (Z_Selling) then {
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_SLOTSDISPLAY) ctrlSetStructuredText parseText " ";
};
};
- case 1: { //vehicle
+ if (_lbIndex == 1) exitwith { //vehicle
_canBuyInVehicle = true call Z_checkCloseVehicle;
if (_canBuyInVehicle) then {
[localize "STR_EPOCH_TRADE_SELLING_VEHICLE"] call Z_fillTradeTitle;
@@ -44,7 +44,7 @@ if (Z_Selling) then {
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_SLOTSDISPLAY) ctrlSetStructuredText parseText " ";
};
};
- case 2: { //gear
+ if (_lbIndex == 2) exitwith { //gear
[localize "STR_EPOCH_TRADE_SELLING_GEAR"] call Z_fillTradeTitle;
Z_SellingFrom = 2;
call Z_getGearItems;
@@ -53,8 +53,8 @@ if (Z_Selling) then {
} else {
ctrlSetText [Z_AT_TRADERLINE2, " "];
ctrlSetText [Z_AT_TRADERLINE1, localize "STR_EPOCH_TRADE_SELLING_ALL"];
- switch (_lbIndex) do {
- case 0: { //backpack
+ call {
+ if (_lbIndex == 0) exitwith { //backpack
if (!isNull _backpack) then {
Z_SellingFrom = 0;
[localize "STR_EPOCH_TRADE_BUYING_BACKPACK"] call Z_fillTradeTitle;
@@ -64,7 +64,7 @@ if (Z_Selling) then {
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_SLOTSDISPLAY) ctrlSetStructuredText parseText " ";
};
};
- case 1: { //vehicle
+ if (_lbIndex == 1) exitwith { //vehicle
_canBuyInVehicle = true call Z_checkCloseVehicle;
if (_canBuyInVehicle) then {
Z_SellingFrom = 1;
@@ -75,7 +75,7 @@ if (Z_Selling) then {
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_SLOTSDISPLAY) ctrlSetStructuredText parseText " ";
};
};
- case 2: { //gear
+ if (_lbIndex == 2) exitwith { //gear
Z_SellingFrom = 2;
[localize "STR_EPOCH_TRADE_BUYING_GEAR"] call Z_fillTradeTitle;
[2] call Z_displayFreeSpace;
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemConfig.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemConfig.sqf
index 11713204c..38f0925d0 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemConfig.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemConfig.sqf
@@ -4,24 +4,22 @@ private ['_item', '_type'];
_item = _this select 0;
_type = _item select 1;
-switch (true) do {
- case (_type == "trade_items") :
+call {
+ if (_type == "trade_items") exitwith
{
[_item] call Z_displayItemInfo;
};
- case (_type == "trade_weapons") :
+ if (_type == "trade_weapons") exitwith
{
[_item] call Z_displayWeaponInfo;
};
- case (_type == "trade_backpacks") :
+ if (_type == "trade_backpacks") exitwith
{
[_item] call Z_displayBackpackInfo;
};
- case (_type in DZE_tradeVehicle) :
+ if (_type in DZE_tradeVehicle) exitwith
{
[_item] call Z_displayVehicleInfo;
};
- default {
- (findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText (parseText format["%1",localize "STR_EPOCH_TRADE_NO_INFO"]);
- }
+ (findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText (parseText format["%1",localize "STR_EPOCH_TRADE_NO_INFO"]);
};
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemInfo.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemInfo.sqf
index 83e5836d4..9dcce1dfc 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_getItemInfo.sqf
@@ -8,20 +8,20 @@ private ['_item','_selectedList','_selectedIndex'];
_selectedList = _this select 0;
_selectedIndex = _this select 1;
-_item = [];
+_item = [];
if (_selectedIndex >= 0) then {
- switch (_selectedList) do {
- case 'sellable': {
+ call {
+ if (_selectedList == 'sellable') exitwith {
_item = Z_SellableArray select _selectedIndex;
};
- case 'selling': {
+ if (_selectedList == 'selling') exitwith {
_item = Z_SellArray select _selectedIndex;
};
- case 'buyable': {
+ if (_selectedList == 'buyable') exitwith {
_item = Z_BuyableArray select _selectedIndex;
};
- case 'buying': {
+ if (_selectedList == 'buying') exitwith {
_item = Z_BuyingArray select _selectedIndex;
};
};
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_logTrade.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_logTrade.sqf
index 296eaf80d..4c0a9baa7 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_logTrade.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_logTrade.sqf
@@ -7,10 +7,10 @@ _Z_logTrade = {
_quantity = _this select 1;
_buyOrSell = _this select 2;
_price = _this select 3;
- _container = switch (Z_SellingFrom) do {
- case 0 : {"backpack"};
- case 1 : {"vehicle"};
- case 2 : {"gear"};
+ _container = call {
+ if (Z_SellingFrom == 0) exitwith {"backpack"};
+ if (Z_SellingFrom == 1) exitwith {"vehicle"};
+ if (Z_SellingFrom == 2) exitwith {"gear"};
};
_price = if (Z_singleCurrency) then {format ["%1 %2",[_price] call BIS_fnc_numberText,CurrencyName]} else {[_price,true,1,1] call Z_calcCurrency};
@@ -20,7 +20,7 @@ _Z_logTrade = {
} else {
diag_log format["%1: Sold %2x %3 from %4 at %5 for %6",localize "STR_EPOCH_PLAYER_289",_quantity,_className,_container,inTraderCity,_price];
};
-
+
// Log to server RPT
if (DZE_serverLogTrades) then {
PVDZE_obj_Trade = [player,0,if (_buyOrSell == "buy") then {0} else {1},_className,inTraderCity,false,_price,_quantity,_container,false];
@@ -48,7 +48,7 @@ for "_i" from 0 to (count _prices)-1 do {
_amount = _amounts select _i;
_price = _prices select _i;
_quantity = {(_className == _x)} count _classNames;
-
+
if (_quantity > 1) then {
if !(_className in _queueNames) then {_queueNames set [count _queueNames,_className];};
_index = _queueNames find _className;
@@ -63,4 +63,4 @@ if (count _queueNames > 0) then {
for "_i" from 0 to (count _queueNames)-1 do {
[_queueNames select _i, _queueAmounts select _i, _buyOrSell, _queuePrices select _i] call _Z_logTrade;
};
-};
\ No newline at end of file
+};
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_returnChange.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_returnChange.sqf
index c50414c72..0e4d59296 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_returnChange.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_returnChange.sqf
@@ -1,6 +1,6 @@
// Made for DayZ Epoch by vbawol edited for AdvancedTrading by Zupa
private ["_return_change","_ItemTopaz","_GemTotal","_GemTotal2","_ItemObsidian","_ItemSapphire",
-"_ItemAmethyst","_ItemEmerald","_ItemCitrine","_ItemRuby","_gem","_value","_total","_briefcase_100oz_a",
+"_ItemAmethyst","_ItemEmerald","_ItemCitrine","_ItemRuby","_gem","_value","_total",
"_gold_10oz_a","_gold_10oz_b","_briefcase_100oz","_gold_10oz","_gold_1oz_a","_gold_1oz_b","_gold_1oz",
"_silver_10oz_a","_silver_10oz_b","_silver_10oz","_silver_1oz_a","_silver_1oz_b","_silver_1oz",
"_successful","_trade_total","_total_currency","_addRegularMag","_justChecking","_moneyAdded",
@@ -51,7 +51,7 @@ if (!Z_Selling) then {
_addRegularMag = {
private ["_backpack","_freeBagSpace","_freeSpace","_regularMags","_justChecking","_moneyAdded","_item","_enoughRoom","_regularMagsToBuy","_moneyInGear","_moneyInBackpack","_freeGearSlots"];
-
+
_moneyAdded = _this select 0; // Return change
_justChecking = _this select 1;
_item = _this select 2;
@@ -64,10 +64,10 @@ _addRegularMag = {
_moneyInGear = 0; // All money was removed in Z_payDefault
_moneyInBackpack = 0; // All money was removed in Z_payDefault
};
-
+
_regularMags = {(getNumber (configFile >> "CfgMagazines" >> _x >> "type") == 256)} count (magazines player); // 256 = WeaponSlotItem (normal magazine)
_freeGearSlots = 12 - ((_regularMags + _regularMagsToBuy + _moneyAdded) - _moneyInGear);
-
+
if (_justChecking or _freeGearSlots < 0) then {
_freeBagSpace = 0;
_backpack = unitBackpack player;
@@ -78,9 +78,9 @@ _addRegularMag = {
_enoughRoom = (_freeGearSlots + _freeBagSpace + _moneyInBackpack) >= 0;
// Return change into vehicle or on ground is not advised due to potential for theft
};
-
+
if (_justChecking) exitWith {_enoughRoom};
-
+
if (_freeGearSlots >= 0) then {
player addMagazine _item;
} else {
@@ -113,50 +113,50 @@ if (_return_change > 0) then {
{
_gem = _x;
_value = DZE_GemWorthList select _forEachIndex;
- switch(_gem) do {
- case 'ItemTopaz': {
+ call {
+ if (_gem == 'ItemTopaz') exitwith {
_ItemTopaz = floor(_GemTotal2 / _value);
if (_ItemTopaz >= 1) then {
_GemTotal = (_value * _ItemTopaz) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemObsidian': {
+ if (_gem == 'ItemObsidian') exitwith {
_ItemObsidian = floor(_GemTotal2 / _value);
if (_ItemObsidian >= 1) then {
_GemTotal = (_value * _ItemObsidian) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemSapphire': {
+ if (_gem == 'ItemSapphire') exitwith {
_ItemSapphire = floor(_GemTotal2 / _value);
if (_ItemSapphire >= 1) then {
_GemTotal = (_value * _ItemSapphire) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemAmethyst': {
+ if (_gem == 'ItemAmethyst') exitwith {
_ItemAmethyst = floor(_GemTotal2 / _value);
if (_ItemAmethyst >= 1) then {
_GemTotal = (_value * _ItemAmethyst) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemEmerald': {
+ if (_gem == 'ItemEmerald') exitwith {
_ItemEmerald = floor(_GemTotal2 / _value);
if (_ItemEmerald >= 1) then {
_GemTotal = (_value * _ItemEmerald) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemCitrine': {
+ if (_gem == 'ItemCitrine') exitwith {
_ItemCitrine = floor(_GemTotal2 / _value);
if (_ItemCitrine >= 1) then {
_GemTotal = (_value * _ItemCitrine) + _GemTotal;
_GemTotal2 = _total - _GemTotal;
};
};
- case 'ItemRuby': {
+ if (_gem == 'ItemRuby') exitwith {
_ItemRuby = floor(_GemTotal2 / _value);
if (_ItemRuby >= 1) then {
_GemTotal = (_value * _ItemRuby) + _GemTotal;
@@ -254,13 +254,13 @@ if (_return_change > 0) then {
if (_justChecking) then { _moneyAdded = _moneyAdded + 1; } else { [1,false,format["ItemSilverBar%1oz",_silver_1oz]] call _addRegularMag; };
};
};
-
+
if (_justChecking) then {
_successful = [_moneyAdded,true,"",_regularMagsToBuy,_moneyInGear,_moneyInBackpack] call _addRegularMag;
} else {
_successful = true;
};
-
+
if (_combine) then {call player_forceSave;};
};
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf
index cff1fa0b4..76c77aed0 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf
@@ -1,9 +1,8 @@
-private ["_tempArray","_outcome","_vehCheckArray","_vehArray","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray","_VehKey","_wA","_mA","_money","_itemData","_success","_bag","_itemsToLog","_tCost","_tSold","_wealth"];
+private ["_sellVehicle","_outcome","_vehCheckArray","_vehArray","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray","_VehKey","_wA","_mA","_money","_itemData","_bag","_itemsToLog","_tCost","_tSold","_wealth"];
if (count Z_SellArray < 1) exitWith { systemChat localize "STR_EPOCH_TRADE_SELL_NO_ITEMS"; };
if (Z_SellingFrom == 1 && (isNull DZE_myVehicle or !local DZE_myVehicle)) exitWith { systemChat localize "STR_EPOCH_PLAYER_245"; };
-_tempArray = Z_SellArray;
closeDialog 2;
_outcome = [];
_weaponsArray = [];
@@ -17,7 +16,7 @@ _itemsCheckArray = [];
_itemsToLog = [[],[],[],"sell"];
_sellVehicle = {
- private ["_damage","_tireDmg","_tires","_okToSell","_returnInfo","_hitpoints","_objectID","_objectUID","_objectCharacterId","_notSetup","_vehicle"];
+ private ["_damage","_tireDmg","_tires","_okToSell","_returnInfo","_hitpoints","_objectID","_objectUID","_objectCharacterId","_notSetup","_vehicle","_sellType"];
_vehicle = _this select 0;
_sellType = _this select 1;
_returnInfo = [];
@@ -66,24 +65,20 @@ _sellVehicle = {
_type = _x select 1;
_name = _x select 0;
- switch (true) do {
- case (_type == "trade_items") :
- {
+ call {
+ if (_type == "trade_items") exitwith {
_itemsArray set [count(_itemsArray),_name];
_itemsCheckArray set [count(_itemsCheckArray),[_x select 2, _x select 11]];
};
- case (_type == "trade_weapons") :
- {
+ if (_type == "trade_weapons") exitwith {
_weaponsArray set [count(_weaponsArray),_name];
_weaponsCheckArray set [count(_weaponsCheckArray),[_x select 2, _x select 11]];
};
- case (_type == "trade_backpacks") :
- {
+ if (_type == "trade_backpacks") exitwith {
_bpArray set [count(_bpArray),_name];
_bpCheckArray set [count(_bpCheckArray),[_x select 2, _x select 11]];
};
- case (_type in DZE_tradeVehicle) :
- {
+ if (_type in DZE_tradeVehicle) exitwith {
if (local DZE_myVehicle) then {
_VehKey = [DZE_myVehicle, _type] call _sellVehicle;
if (count _VehKey > 0) then {
@@ -112,7 +107,7 @@ _itemsToLog set [0,(_itemsArray + _weaponsArray + _bpArray + [typeOf DZE_myVehic
//gear
if (Z_SellingFrom == 2) then {
- private ["_localResult", "_vehTraded"];
+ private ["_localResult", "_vehTraded","_bagTraded","_name","_type"];
_wA = [];
_mA = [];
_vehTraded = false;
@@ -185,7 +180,7 @@ if (Z_SingleCurrency) then {
_money = _money + ((((_bpCheckArray select _forEachIndex) select 0)) * _x);
_itemsToLog set [2, (_itemsToLog select 2) + [((((_bpCheckArray select _forEachIndex) select 0)) * _x)]];
} forEach (_outcome select 2);
-
+
if (count _outcome > 3) then {
_money = _money + ((_vehCheckArray select 0) select 0);
_itemsToLog set [2, (_itemsToLog select 2) + [((_vehCheckArray select 0) select 0)]];
@@ -219,7 +214,7 @@ if (typeName _money == "SCALAR") then {
player setVariable[(["cashMoney","globalMoney"] select Z_persistentMoney),(_wealth + _money),true];
systemChat format[localize "STR_EPOCH_TRADE_SUCCESS_CHANGE",[_money] call BIS_fnc_numberText,CurrencyName];
} else {
- _success = [_money,0,false,0,[],[],false] call Z_returnChange;
+ [_money,0,false,0,[],[],false] call Z_returnChange;
_tCost = "";
_tCost = [_money,true] call z_calcCurrency;
if (_tCost != "") then { systemChat format[localize "STR_EPOCH_TRADE_SELL_SUCCESS",_tCost]; };
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/zupa_fnc_removeWeaponsAndMagazinesCargo.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/zupa_fnc_removeWeaponsAndMagazinesCargo.sqf
index 1c63edc39..6d0fac18b 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/zupa_fnc_removeWeaponsAndMagazinesCargo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/zupa_fnc_removeWeaponsAndMagazinesCargo.sqf
@@ -6,7 +6,7 @@
Author:
Zupa 2014-09-30
---------------------------------------------------------------------------- */
-private ["_vehInfo","_inCargo","_object","_mags","_weaps","_normalMags","_normalWeaps","_returnVar","_returnMag","_returnWeap","_freeSpace"];
+private ["_vehInfo","_inCargo","_object","_mags","_weaps","_normalMags","_normalWeaps","_returnVar","_returnMag","_returnWeap","_freeSpace","_sell"];
_object = _this select 0;
_mags = _this select 1;
@@ -65,4 +65,4 @@ _returnVar set [0,_returnMag];
_returnVar set [1,_returnWeap];
_returnVar set [2,[]];
-_returnVar
\ No newline at end of file
+_returnVar