diff --git a/SQF/dayz_code/Configs/CfgCrafting/Recipes/Medical/woodensplint.hpp b/SQF/dayz_code/Configs/CfgCrafting/Recipes/Medical/woodensplint.hpp
index 451d2c29c..a349c55f4 100644
--- a/SQF/dayz_code/Configs/CfgCrafting/Recipes/Medical/woodensplint.hpp
+++ b/SQF/dayz_code/Configs/CfgCrafting/Recipes/Medical/woodensplint.hpp
@@ -2,8 +2,9 @@ class Blueprint_woodensplint : Recipe {
displayName = $STR_ITEM_NAME_WOODENSPLINT;
input[] =
{
- {"PartWoodPile","CfgMagazines",1},
- {"equip_string","CfgMagazines",1}
+ {"ItemPlank","CfgMagazines",1},
+ {"equip_string","CfgMagazines",1},
+ {"equip_duct_tape","CfgMagazines",1}
};
output[] =
{
diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp
index de6fcb599..bc0ddfd3b 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Attachments.hpp
@@ -10,8 +10,7 @@ AttachmentsEast[] =
{
{Loot_MAGAZINE, 2, Attachment_Kobra},
{Loot_MAGAZINE, 1, Attachment_PSO1},
- {Loot_MAGAZINE, 3, Attachment_SupMakarov},
- {Loot_MAGAZINE, 2, Attachment_SupBizon},
+ {Loot_MAGAZINE, 3, Attachment_Sup9},
{Loot_MAGAZINE, 1, Attachment_Sup545},
{Loot_MAGAZINE, 2, Attachment_GP25},
{Loot_MAGAZINE, 2, Attachment_Ghillie},
diff --git a/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp b/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp
index 5cffd3a5f..fe42c3d67 100644
--- a/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp
+++ b/SQF/dayz_code/Configs/CfgLoot/Groups/Weapons.hpp
@@ -80,7 +80,7 @@ assaultrifles[] = {
{Loot_WEAPON, 0.5, G36K_Camo_DZ}, //G36K_camo
{Loot_WEAPON, 0.3, G36_C_SD_camo},
{Loot_WEAPON, 0.5, M16A2_DZ}, //M16A2
- {Loot_WEAPON, 0.2, M16A2_GL_DZ}, //M16A2GL
+ //{Loot_WEAPON, 0.2, M16A2_GL_DZ}, //M16A2GL //added to attachments system
{Loot_WEAPON, 0.1, M16A4_ACOG_DZ}, //M16A4_ACG (has slightly different scope)
{Loot_WEAPON, 0.5, M4A1_DZ}, //M4A1
{Loot_WEAPON, 0.4, M4A1_CCO_DZ}, //M4A1_Aim
diff --git a/SQF/dayz_code/Configs/CfgMagazines/Crafting/equip_rope.hpp b/SQF/dayz_code/Configs/CfgMagazines/Crafting/equip_rope.hpp
index fe183980d..e8a94488b 100644
--- a/SQF/dayz_code/Configs/CfgMagazines/Crafting/equip_rope.hpp
+++ b/SQF/dayz_code/Configs/CfgMagazines/Crafting/equip_rope.hpp
@@ -14,7 +14,7 @@ class equip_rope : CA_Magazine {
script = "spawn player_craftItem;";
neednearby[] = {};
requiretools[] = {""};
- output[] = {{"equip_string","CfgMagazines",3}};
+ output[] = {{"equip_string","CfgMagazines",2}};
input[] = {{"equip_rope","CfgMagazines",1}};
};
};
diff --git a/SQF/dayz_code/Configs/CfgMagazines/Medical/Antibiotic.hpp b/SQF/dayz_code/Configs/CfgMagazines/Medical/Antibiotic.hpp
index 19ac89946..3b5ed435f 100644
--- a/SQF/dayz_code/Configs/CfgMagazines/Medical/Antibiotic.hpp
+++ b/SQF/dayz_code/Configs/CfgMagazines/Medical/Antibiotic.hpp
@@ -28,6 +28,10 @@ class ItemAntibiotic : ItemAntibiotic_base
text = $STR_TAKE_ANTIBIOTIC;
script = "spawn player_useMeds;";
};
+ class Combine {
+ text = $STR_ANTIBIOTICS_COMBINE;
+ script = "spawn player_combineAntibiotics;";
+ };
};
};
diff --git a/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp b/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp
index 45ae518bf..07a7dade8 100644
--- a/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp
+++ b/SQF/dayz_code/Configs/CfgServerTrader/Category/Attachments.hpp
@@ -59,16 +59,6 @@ class Category_693 {
buy[] = {4,"ItemGoldBar"};
sell[] = {2,"ItemGoldBar"};
};
- class Attachment_SupMakarov {
- type = "trade_items";
- buy[] = {4,"ItemGoldBar"};
- sell[] = {2,"ItemGoldBar"};
- };
- class Attachment_SupBizon {
- type = "trade_items";
- buy[] = {6,"ItemGoldBar"};
- sell[] = {3,"ItemGoldBar"};
- };
class Attachment_Sup545 {
type = "trade_items";
buy[] = {6,"ItemGoldBar"};
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Pistols/Makarov.hpp b/SQF/dayz_code/Configs/CfgWeapons/Pistols/Makarov.hpp
index bdcc9bc52..efa737324 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Pistols/Makarov.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Pistols/Makarov.hpp
@@ -9,7 +9,8 @@ class Makarov_DZ : Makarov
class Attachments
{
- Attachment_SupMakarov = "Makarov_SD_DZ";
+ Attachment_SupMakarov = "Makarov_SD_DZ"; //left to maintain old suppressor attachment
+ Attachment_Sup9 = "Makarov_SD_DZ";
};
};
@@ -27,7 +28,7 @@ class Makarov_SD_DZ : MakarovSD
class RemoveSuppressor
{
text = $STR_ATTACHMENT_RMVE_Silencer;
- script = "; ['Attachment_SupMakarov',_id,'Makarov_DZ'] call player_removeAttachment";
+ script = "; ['Attachment_Sup9',_id,'Makarov_DZ'] call player_removeAttachment";
};
};
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Bizon.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Bizon.hpp
index 8e3c62f13..68d77e501 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/Bizon.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/Bizon.hpp
@@ -15,7 +15,8 @@ class Bizon_DZ : bizon
class Attachments
{
- Attachment_SupBizon = "Bizon_SD_DZ";
+ Attachment_SupBizon = "Bizon_SD_DZ";//left to maintain old attachment suppressor
+ Attachment_Sup9 = "Bizon_SD_DZ";
};
};
@@ -39,7 +40,7 @@ class Bizon_SD_DZ : bizon_silenced
class RemoveSuppressor
{
text = $STR_ATTACHMENT_RMVE_Silencer;
- script = "; ['Attachment_SupBizon',_id,'Bizon_DZ'] call player_removeAttachment";
+ script = "; ['Attachment_Sup9',_id,'Bizon_DZ'] call player_removeAttachment";
};
};
};
\ No newline at end of file
diff --git a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A2.hpp b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A2.hpp
index 407696e7d..a0bfa550a 100644
--- a/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A2.hpp
+++ b/SQF/dayz_code/Configs/CfgWeapons/Rifles/M16A2.hpp
@@ -6,6 +6,10 @@ class M16A2_DZ : M16A2
30Rnd_556x45_Stanag,
30Rnd_556x45_StanagSD
};
+ class Attachments
+ {
+ Attachment_M203 = "M16A2_GL_DZ";
+ };
};
class M16A2_GL_DZ : M16A2GL
@@ -15,4 +19,12 @@ class M16A2_GL_DZ : M16A2GL
30Rnd_556x45_Stanag,
30Rnd_556x45_StanagSD
};
+ class ItemActions
+ {
+ class RemoveGL
+ {
+ text = $STR_DZ_ATT_M203_RMVE;
+ script = "; ['Attachment_M203',_id,'M16A2_DZ'] call player_removeAttachment";
+ };
+ };
};
\ No newline at end of file
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/defines.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/defines.sqf
index 734aa0b47..a2a8011c5 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/defines.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/defines.sqf
@@ -1,87 +1,30 @@
-// #define Z_AT_DIALOGWINDOW 711197
#define Z_AT_DIALOGWINDOW 711197
-
-// #define Z_AT_SELLABLELIST 7401
#define Z_AT_SELLABLELIST 7401
-
-// #define Z_AT_SELLINGLIST 7402
#define Z_AT_SELLINGLIST 7402
-
-// #define Z_AT_BUYABLELIST 7421
#define Z_AT_BUYABLELIST 7421
-
-// #define Z_AT_BUYINGLIST 7422
#define Z_AT_BUYINGLIST 7422
-
-// #define Z_AT_CONTAINERINDICATOR 7408
#define Z_AT_CONTAINERINDICATOR 7408
-
-// #define Z_AT_ITEMINFO 7445
#define Z_AT_ITEMINFO 7445
-
-// #define Z_AT_SLOTSDISPLAY 7404
#define Z_AT_SLOTSDISPLAY 7404
-
-// #define Z_AT_TRADERLINE1 7412
#define Z_AT_TRADERLINE1 7412
-
-// #define Z_AT_TRADERLINE2 7413
#define Z_AT_TRADERLINE2 7413
-
-// #define Z_AT_PRICEDISPLAY 7410
#define Z_AT_PRICEDISPLAY 7410
-
-// #define Z_AT_SELLBUYTOGGLE 7416
#define Z_AT_SELLBUYTOGGLE 7416
-
-// #define Z_AT_RIGHTLISTTITLE 7409
#define Z_AT_RIGHTLISTTITLE 7409
-
-// #define Z_AT_REMOVESELLITEMBUTTON 7432
#define Z_AT_REMOVESELLITEMBUTTON 7432
-
-// #define Z_AT_REMOVEALLSELLITEMBUTTON 7433
#define Z_AT_REMOVEALLSELLITEMBUTTON 7433
-
-// #define Z_AT_REMOVEBUYITEMBUTTON 7432
#define Z_AT_REMOVEBUYITEMBUTTON 7442
-
-// #define Z_AT_REMOVEALLBUYITEMBUTTON 7433
#define Z_AT_REMOVEALLBUYITEMBUTTON 7443
-
-// #define Z_AT_BUYINGAMOUNT 7441
#define Z_AT_BUYINGAMOUNT 7441
-
-// #define Z_AT_BUYBUTTON 7436
#define Z_AT_BUYBUTTON 7436
-
-// #define Z_AT_SELLBUTTON 7435
#define Z_AT_SELLBUTTON 7435
-
-// #define Z_AT_ADDBUYITEMBUTTON 7440
#define Z_AT_ADDBUYITEMBUTTON 7440
-
-// #define Z_AT_ADDSELLITEMBUTTON 7430
#define Z_AT_ADDSELLITEMBUTTON 7430
-
-// #define Z_AT_ADDALLSELLITEMBUTTON 7431
#define Z_AT_ADDALLSELLITEMBUTTON 7431
-
-// #define Z_AT_TOGGLECURRENCYBUTTON 7450
#define Z_AT_TOGGLECURRENCYBUTTON 7450
-
-// #define Z_AT_CONTAINERINFO 7446
#define Z_AT_CONTAINERINFO 7446
-
-// #define Z_AT_PRICEINFO 7451
#define Z_AT_PRICEINFO 7451
-
#define Z_AT_FILTERBOX 7444
-
#define Z_AT_FILTERBUTTON 7498
-
#define Z_AT_DETAILSTEXT 7488
-
#define Z_AT_BACKBUTTON 7449
-
-//
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf
index 06b988fee..52511090e 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_buyItems.sqf
@@ -1,5 +1,5 @@
private ["_magazinesToBuy", "_weaponsToBuy", "_backpacksToBuy", "_toolsToBuy", "_sidearmToBuy", "_primaryToBuy", "_priceToBuy"
-,"_enoughMoney", "_myMoney", "_canBuy", "_moneyInfo","_count","_success","_backpack","_toolClasses","_itemsToLog","_tcost"
+,"_enoughMoney", "_myMoney", "_canBuy", "_moneyInfo","_count","_success","_backpack","_toolClasses","_itemsToLog","_tCost","_bTotal"
];
_magazinesToBuy = 0;
@@ -9,6 +9,7 @@ _toolsToBuy = 0;
_sidearmToBuy = 0;
_primaryToBuy = 0;
_vehiclesToBuy = 0;
+_bTotal = 0;
_priceToBuy = 0;
_toolClasses = [];
@@ -147,53 +148,60 @@ if(_enoughMoney) then {
if(Z_SellingFrom == 0) then { //backpack
_backpack = unitBackpack player;
- systemChat format[localize "STR_EPOCH_TRADE_IN_BACKPACK",count (Z_BuyingArray)];
{
if( _x select 1 == "trade_weapons")then{
_backpack addWeaponCargoGlobal [_x select 0, _x select 9];
+ _bTotal = _bTotal + (_x select 9);
};
if( _x select 1 == "trade_items")then{
_backpack addMagazineCargoGlobal [_x select 0, _x select 9];
+ _bTotal = _bTotal + (_x select 9);
};
if((_x select 1) in ["trade_any_vehicle", "trade_any_vehicle_free", "trade_any_vehicle_old", "trade_any_bicycle", "trade_any_bicycle_old", "trade_any_boat", "trade_any_boat_old"])then{
_item2Add = [(_x select 0), (_x select 1)] call _buyVehicle;
+ _bTotal = _bTotal + (_x select 9);
if (_item2Add != "0") then {
_backpack addWeaponCargoGlobal [_item2Add, 1];
};
};
} count Z_BuyingArray;
+ systemChat format[localize "STR_EPOCH_TRADE_BUY_IN_BACKPACK",_bTotal];
};
- if(Z_SellingFrom == 1)then{ //vehicle
+ if(Z_SellingFrom == 1) then { //vehicle
{
- systemChat format["Adding %1 items in %2",count (Z_BuyingArray), typeOf Z_vehicle];
if( _x select 1 == "trade_weapons")then{
Z_vehicle addWeaponCargoGlobal [_x select 0, _x select 9];
+ _bTotal = _bTotal + (_x select 9);
};
if( _x select 1 == "trade_items")then{
Z_vehicle addMagazineCargoGlobal [_x select 0, _x select 9];
+ _bTotal = _bTotal + (_x select 9);
};
if( _x select 1 == "trade_backpacks")then{
Z_vehicle addBackpackCargoGlobal [_x select 0, _x select 9];
+ _bTotal = _bTotal + (_x select 9);
};
if((_x select 1) in ["trade_any_vehicle", "trade_any_vehicle_free", "trade_any_vehicle_old", "trade_any_bicycle", "trade_any_bicycle_old", "trade_any_boat", "trade_any_boat_old"])then{
_item2Add = [(_x select 0), (_x select 1)] call _buyVehicle;
+ _bTotal = _bTotal + (_x select 9);
if (_item2Add != "0") then {
Z_vehicle addWeaponCargoGlobal [_item2Add, 1];
};
};
} count Z_BuyingArray;
+ systemChat format[localize "STR_EPOCH_TRADE_BUY_IN_VEHICLE",_bTotal,typeOf Z_vehicle];
};
- if(Z_SellingFrom == 2)then{ //gear
- systemChat format["Adding %1 items in gear",count (Z_BuyingArray)];
+ if(Z_SellingFrom == 2) then { //gear
{
if( _x select 1 == "trade_weapons") then {
_count = 0;
while{ _count < (_x select 9)}do{
- player addWeapon (_x select 0);
+ player addWeapon (_x select 0);
_count = _count + 1;
};
+ _bTotal = _bTotal + (_x select 9);
};
if( _x select 1 == "trade_items" ) then {
_count = 0;
@@ -201,24 +209,28 @@ if(_enoughMoney) then {
player addMagazine (_x select 0);
_count = _count + 1;
};
+ _bTotal = _bTotal + (_x select 9);
};
if( _x select 1 == "trade_backpacks")then{
player addBackpack (_x select 0);
+ _bTotal = _bTotal + (_x select 9);
};
if((_x select 1) in ["trade_any_vehicle", "trade_any_vehicle_free", "trade_any_vehicle_old", "trade_any_bicycle", "trade_any_bicycle_old", "trade_any_boat", "trade_any_boat_old"])then{
_item2Add = [(_x select 0), (_x select 1)] call _buyVehicle;
+ _bTotal = _bTotal + (_x select 9);
if (_item2Add != "0") then {
player addWeapon _item2Add;
};
};
} count Z_BuyingArray;
+ systemChat format[localize "STR_EPOCH_TRADE_BUY_IN_GEAR",_bTotal];
};
if (!Z_SingleCurrency) then {
_success = [player,_priceToBuy, _moneyInfo] call Z_payDefault;
if (_success) then {
- _tcost = "";
- _tcost = _priceToBuy call z_calcDefaultCurrencyNoImg;
- systemChat format[localize "STR_EPOCH_TRADE_BUY_SUCCESS", _tcost];
+ _tCost = "";
+ _tCost = _priceToBuy call z_calcDefaultCurrencyNoImg;
+ systemChat format[localize "STR_EPOCH_TRADE_BUY_SUCCESS", _tCost];
} else {
systemChat localize "STR_EPOCH_TRADE_DEBUG";
};
@@ -234,10 +246,10 @@ if(_enoughMoney) then {
} else {
systemChat localize "STR_EPOCH_TRADE_CONTAINER_FULL";
};
-}else{
+} else {
if( Z_SingleCurrency) then {
systemChat format[localize "STR_EPOCH_TRADE_NEED_COINS",_priceToBuy,CurrencyName];
} else {
systemChat localize "STR_EPOCH_TRADE_NEED_MONEY";
};
-};
\ No newline at end of file
+};
diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_changeBuySell.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_changeBuySell.sqf
index beaec60d6..bdddaab8b 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_changeBuySell.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_changeBuySell.sqf
@@ -13,17 +13,15 @@ if(Z_Selling)then{
{ctrlShow [_x,true];} forEach [Z_AT_BUYABLELIST,Z_AT_BUYINGLIST,Z_AT_BUYBUTTON,Z_AT_ADDBUYITEMBUTTON,Z_AT_BUYINGAMOUNT,Z_AT_REMOVEBUYITEMBUTTON,Z_AT_REMOVEALLBUYITEMBUTTON,Z_AT_SLOTSDISPLAY,Z_AT_FILTERBOX,Z_AT_BACKBUTTON]; // show
{ctrlShow [_x,false];} forEach [Z_AT_SELLABLELIST,Z_AT_SELLINGLIST,Z_AT_SELLBUTTON,Z_AT_ADDSELLITEMBUTTON,Z_AT_ADDALLSELLITEMBUTTON,Z_AT_REMOVESELLITEMBUTTON,Z_AT_REMOVEALLSELLITEMBUTTON]; // hide
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_BUYABLELIST) ctrlSetFontHeight 0.023; // reset
- (findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_BUYABLELIST) ctrlSetPosition [(0.21* safezoneW + safezoneX),(0.41 * safezoneH + safezoneY),(0.13 * safezoneW),(0.30 * safezoneH)]; //reset
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_BUYABLELIST) ctrlCommit 0;
if (Z_CategoryView) then {
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_FILTERBUTTON) ctrlSetText localize "STR_EPOCH_VIEW";
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_BUYABLELIST) ctrlSetFontHeight 0.026; // Slightly bigger in category view
- (findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_BUYABLELIST) ctrlSetPosition [(0.21* safezoneW + safezoneX),(0.43 * safezoneH + safezoneY),(0.13 * safezoneW),(0.30 * safezoneH)];
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_BUYABLELIST) ctrlCommit 0;
{ctrlShow [_x,false];} forEach [Z_AT_ADDBUYITEMBUTTON,Z_AT_BUYINGAMOUNT,Z_AT_REMOVEBUYITEMBUTTON,Z_AT_REMOVEALLBUYITEMBUTTON,Z_AT_FILTERBOX,Z_AT_BACKBUTTON]; // hide
call Z_fillCategories;
};
};
-[2] call Z_getContainer; // default gear
\ No newline at end of file
+[2] call Z_getContainer; // default gear
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 37386ed15..a98e3038d 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayBackpackInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayBackpackInfo.sqf
@@ -40,12 +40,12 @@ if ( Z_SingleCurrency ) then {
_sellCurrency = CurrencyName;
_formattedText = format [
"![]()
" +
- "%10: %2
" +
- "%11: %3
" +
- "%12: %5 %7
" +
- "%13: %6 %4
" +
- "%14: %8
" +
- "%15: %9
"
+ "%10: %2
" +
+ "%11: %3
" +
+ "%13: %6 %4
" +
+ "%12: %5 %7
" +
+ "%14: %8
" +
+ "%15: %9
"
, _picture, _display, _class, _buyCurrency , _sellPrice, _buyPrice, _sellCurrency, _transportMaxWeapons,_transportMaxMagazines, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291", localize "STR_EPOCH_WEPS", localize "STR_EPOCH_MAGS"
];
} else {
@@ -56,16 +56,14 @@ if ( Z_SingleCurrency ) then {
_formattedText = format [
"![]()
" +
- "%10: %2
" +
- "%11: %3
" +
- "%12: %5
%7
" +
- "%13: %6
%4
" +
- "%14: %8
" +
- "%15: %9
"
+ "%10: %2
" +
+ "%11: %3
" +
+ "%13: %6
%4
" +
+ "%12: %5
%7
" +
+ "%14: %8
" +
+ "%15: %9
"
, _picture, _display, _class, _buyCurrency , _sellPrice, _buyPrice, _sellCurrency, _transportMaxWeapons,_transportMaxMagazines, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291", localize "STR_EPOCH_WEPS", localize "STR_EPOCH_MAGS", _picSell, _picBuy
];
};
-
-
(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 e77e9f568..a902cc77d 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayVehicleInfo.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_displayVehicleInfo.sqf
@@ -89,7 +89,7 @@ if (isArray (_config >> 'weapons')) then {
};
} forEach ["hasDriver","hasGunner","hasCommander"];
} forEach ["MainTurret","BackTurret","SideTurret","RightDoorGun","BackDoorGun","LeftDoorGun","AGS30_Turret","PK_Turret"];
-
+
// Get weapon display names
_weapons2 = [];
{
@@ -130,8 +130,7 @@ if (Z_SingleCurrency) then {
localize "STR_EPOCH_ARMOR",_armor,localize "STR_EPOCH_FUEL",_fuelCapacity,localize "STR_EPOCH_MAX",localize "STR_EPOCH_SPEED",_maxSpeed,localize "STR_EPOCH_SEATS",_seats,localize "STR_EPOCH_WEAPONS",_wepText
];
-
-}else {
+} else {
_picSell = getText (configFile >> 'CfgMagazines' >> _sellCurrency >> 'picture');
_sellCurrency = getText (configFile >> 'CfgMagazines' >> _sellCurrency >> 'displayName');
_picBuy = getText (configFile >> 'CfgMagazines' >> _buyCurrency >> 'picture');
@@ -150,10 +149,6 @@ if (Z_SingleCurrency) then {
, _picture, _display, _class, _transportmaxBackpacks, _sellPrice, _buyPrice, _buyCurrency, _transportMaxWeapons,_transportMaxMagazines, _sellCurrency, _picSell,_picBuy, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291", localize "STR_EPOCH_WEPS", localize "STR_EPOCH_MAGS", localize "STR_EPOCH_BAGS",
localize "STR_EPOCH_ARMOR",_armor,localize "STR_EPOCH_FUEL",_fuelCapacity,localize "STR_EPOCH_MAX",localize "STR_EPOCH_SPEED",_maxSpeed,localize "STR_EPOCH_SEATS",_seats,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_sellItems.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf
index 7213f5b6f..2c8cdc635 100644
--- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf
+++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf
@@ -1,4 +1,4 @@
-private ["_tempArray","_outcome","_vehCheckArray","_vehArray","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray","_VehKey","_wA","_mA","_money","_itemData","_success","_bag","_itemsToLog","_tcost"];
+private ["_tempArray","_outcome","_vehCheckArray","_vehArray","_weaponsArray","_itemsArray","_bpArray","_bpCheckArray","_weaponsCheckArray","_itemsCheckArray","_VehKey","_wA","_mA","_money","_itemData","_success","_bag","_itemsToLog","_tCost","_tSold"];
_tempArray = Z_SellArray;
closeDialog 2;
@@ -128,17 +128,21 @@ _sellVehicle = {
};
}forEach Z_SellArray;
-if(Z_SellingFrom == 0)then{
+_tSold = _itemsArray + _weaponsArray + _bpArray + _vehArray;
+
+if (Z_SellingFrom == 0) then {
_outcome = [unitBackpack player,_itemsArray,_weaponsArray, _vehArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
+ systemchat format[localize "STR_EPOCH_TRADE_SELL_IN_BACKPACK",count _tSold];
};
-if(Z_SellingFrom == 1)then{
+if (Z_SellingFrom == 1) then {
_outcome = [Z_vehicle,_itemsArray,_weaponsArray,_bpArray, _vehArray] call ZUPA_fnc_removeWeaponsAndMagazinesCargo;
+ systemchat format[localize "STR_EPOCH_TRADE_SELL_IN_VEHICLE",count _tSold,typeOf Z_vehicle];
};
_itemsToLog set [0,(_itemsArray + _weaponsArray + _bpArray + [typeOf Z_vehicle])];
//gear
-if(Z_SellingFrom == 2)then{
+if (Z_SellingFrom == 2)then{
private ["_localResult", "_vehTraded"];
_wA = [];
_mA = [];
@@ -189,6 +193,7 @@ if(Z_SellingFrom == 2)then{
if (_bagTraded) then {
_outcome set [2,[1]];
};
+ systemchat format[localize "STR_EPOCH_TRADE_SELL_IN_GEAR",count _tSold];
};
{ _itemsToLog set [1, (_itemsToLog select 1) + _x] } forEach _outcome;
@@ -234,18 +239,19 @@ if (Z_SingleCurrency) then {
_itemsToLog set [2, (_itemsToLog select 2) + [((_itemData select 0) * (_itemData select 1))]];
};
};
-if(typeName _money == "SCALAR") then {
+
+if (typeName _money == "SCALAR") then {
if (Z_SingleCurrency) then {
_success = [player,_money] call SC_fnc_addCoins;
systemChat format[localize "STR_EPOCH_TRADE_SUCCESS_CHANGE", _money , CurrencyName];
} else {
_success = [_money, 0] call Z_returnChange;
- _tcost = "";
- _tcost = _money call z_calcDefaultCurrencyNoImg;
- systemChat format[localize "STR_EPOCH_TRADE_SELL_SUCCESS",_tcost];
+ _tCost = "";
+ _tCost = _money call z_calcDefaultCurrencyNoImg;
+ systemChat format[localize "STR_EPOCH_TRADE_SELL_SUCCESS",_tCost];
};
_itemsToLog call Z_logTrade;
-}else{
+} else {
systemChat localize "STR_EPOCH_TRADE_DEBUG";
diag_log "Money is not a number. Something went wrong.";
};
diff --git a/SQF/dayz_code/actions/player_combineAntibiotics.sqf b/SQF/dayz_code/actions/player_combineAntibiotics.sqf
new file mode 100644
index 000000000..ac48a1968
--- /dev/null
+++ b/SQF/dayz_code/actions/player_combineAntibiotics.sqf
@@ -0,0 +1,21 @@
+private ["_total", "_full", "_remain", "_amount"];
+_total = 0;
+{
+ if(configName inheritsFrom (configfile >> "CfgMagazines" >> _x) == "ItemAntibiotic") then {
+ _amount = getNumber(configFile >> "CfgMagazines" >> _x >> "medical" >> "amount");
+ if(_amount > 0) then {
+ _total = _total + _amount;
+ player removeMagazine _x;
+ };
+ };
+} count (magazines player);
+_full = floor(_total / 6);
+_remain = _total % 6;
+for "_i" from 1 to _full do
+{
+ player addMagazine "ItemAntibiotic6";
+};
+
+if(_remain > 0 ) then {
+ player addMagazine "ItemAntibiotic" + str(_remain);
+};
diff --git a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp
index 3eff5f1ba..74bfc9c1b 100644
--- a/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp
+++ b/SQF/dayz_code/external/R3F_Realism/R3F_Weight/Magazines/Attachments.hpp
@@ -71,12 +71,4 @@ class Attachment_Sup545
class Attachment_Sup556
{
weight = 0.1;
-};
-class Attachment_SupBizon
-{
- weight = 0.1;
-};
-class Attachment_SupMakarov
-{
- weight = 0.05;
};
\ No newline at end of file
diff --git a/SQF/dayz_code/gui/status/status_temp_border_down1_ca.paa b/SQF/dayz_code/gui/status/status_temp_border_down1_ca.paa
index 39bf27022..1eec9a8b5 100644
Binary files a/SQF/dayz_code/gui/status/status_temp_border_down1_ca.paa and b/SQF/dayz_code/gui/status/status_temp_border_down1_ca.paa differ
diff --git a/SQF/dayz_code/gui/status/status_temp_border_down2_ca.paa b/SQF/dayz_code/gui/status/status_temp_border_down2_ca.paa
index ef1461766..ad2d794dd 100644
Binary files a/SQF/dayz_code/gui/status/status_temp_border_down2_ca.paa and b/SQF/dayz_code/gui/status/status_temp_border_down2_ca.paa differ
diff --git a/SQF/dayz_code/gui/status/status_temp_border_down3_ca.paa b/SQF/dayz_code/gui/status/status_temp_border_down3_ca.paa
index f5a3603b4..b72c538c7 100644
Binary files a/SQF/dayz_code/gui/status/status_temp_border_down3_ca.paa and b/SQF/dayz_code/gui/status/status_temp_border_down3_ca.paa differ
diff --git a/SQF/dayz_code/gui/status/status_temp_border_up1_ca.paa b/SQF/dayz_code/gui/status/status_temp_border_up1_ca.paa
index f5959ea5c..5bdf811f1 100644
Binary files a/SQF/dayz_code/gui/status/status_temp_border_up1_ca.paa and b/SQF/dayz_code/gui/status/status_temp_border_up1_ca.paa differ
diff --git a/SQF/dayz_code/gui/status/status_temp_border_up2_ca.paa b/SQF/dayz_code/gui/status/status_temp_border_up2_ca.paa
index bd17415c4..136d4f3b0 100644
Binary files a/SQF/dayz_code/gui/status/status_temp_border_up2_ca.paa and b/SQF/dayz_code/gui/status/status_temp_border_up2_ca.paa differ
diff --git a/SQF/dayz_code/gui/status/status_temp_border_up3_ca.paa b/SQF/dayz_code/gui/status/status_temp_border_up3_ca.paa
index 3e83daf59..a97d3c478 100644
Binary files a/SQF/dayz_code/gui/status/status_temp_border_up3_ca.paa and b/SQF/dayz_code/gui/status/status_temp_border_up3_ca.paa differ
diff --git a/SQF/dayz_code/init/compiles.sqf b/SQF/dayz_code/init/compiles.sqf
index 8050a5a95..3ce47c7bd 100644
--- a/SQF/dayz_code/init/compiles.sqf
+++ b/SQF/dayz_code/init/compiles.sqf
@@ -107,6 +107,7 @@ if (!isDedicated) then {
//player_flipvehicle = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_flipvehicle.sqf";
//player_sleep = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_sleep.sqf";
player_combineMag = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_combineMags.sqf";
+ player_combineAntibiotics = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_combineAntibiotics.sqf";
player_createquiver = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_createQuiver.sqf";
player_fillquiver = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_fillQuiver.sqf";
//player_takearrow = compile preprocessFileLineNumbers "\z\addons\dayz_code\actions\player_takeArrow.sqf";
diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml
index 33b5f2a52..b865b2593 100644
--- a/SQF/dayz_code/stringtable.xml
+++ b/SQF/dayz_code/stringtable.xml
@@ -6647,6 +6647,12 @@
Tato sada obsahuje tětivu a lučiště. Součást nutná pro výrobu kuše.
Ein Armbrust-Selbstbau-Kit zum Herstellen einer Armbrust.
+
+ Combine
+ Объединить
+ Kombinovat
+ Vereinigen
+
@@ -16228,9 +16234,23 @@
Only %1 bags fit in the backpack.
В рюкзак поместится рюкзаков: %1.
-
- Adding %1 items in backpack
- Добавлено: %1 предметов в рюкзак
+
+ Purchased %1 items into your backpack
+
+
+ Purchased %1 items into %2
+
+
+ Purchased %1 items into your gear
+
+
+ Sold %1 items from your backpack
+
+
+ Sold %1 items from %2
+
+
+ Sold %1 items from your gear
Trade successfull.
@@ -16310,17 +16330,17 @@
Деньги не требуются.
- SUCCESS : Objects maintained: %1
+ SUCCESS: Objects maintained: %1
- SUCCESS : Price maintained: %1 %2 !
+ SUCCESS: Price maintained: %1 %2 !
- FAILED : Objects maintained: 0
+ FAILED: Objects maintained: 0
- FAILED : Money needed: %1 %2 !
- ОШИБКА : Требуется денег: %1 %2 !
+ FAILED: Money needed: %1 %2 !
+ ОШИБКА: Требуется денег: %1 %2 !
Already on the list
diff --git a/SQF/dayz_server/compile/server_playerSync.sqf b/SQF/dayz_server/compile/server_playerSync.sqf
index 883f4e153..0b89f43f5 100644
--- a/SQF/dayz_server/compile/server_playerSync.sqf
+++ b/SQF/dayz_server/compile/server_playerSync.sqf
@@ -25,15 +25,12 @@ if (_characterID == "0") exitWith {
_Achievements = [];
-/*
- //No longer used
- private["_debug","_distance"];
- _debug = getMarkerpos "respawn_west";
- _distance = _debug distance _charPos;
- if (_distance < 2000) exitWith {
- // diag_log format["ERROR: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3",name _character,_characterID,_charPos];
- };
-*/
+private["_debug","_distance"];
+_debug = getMarkerpos "respawn_west";
+_distance = _debug distance _charPos;
+if (_distance < 1500) exitWith {
+ diag_log format["ERROR: server_playerSync: Cannot Sync Player %1 [%2]. Position in debug! %3",_name,_characterID,_charPos];
+};
//Check for server initiated updates
_isNewMed = _character getVariable ["medForceUpdate",false]; //Med update is forced when a player receives some kind of med incident
diff --git a/Server Files/SQL/1.0.6_Updates.sql b/Server Files/SQL/1.0.6_Updates.sql
index 00c361396..be812ca98 100644
--- a/Server Files/SQL/1.0.6_Updates.sql
+++ b/Server Files/SQL/1.0.6_Updates.sql
@@ -78,8 +78,6 @@ INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_SCOPED",1]', 10, '[6,"Item
INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_Sup9",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items');
INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_Sup545",1]', 10, '[6,"ItemGoldBar",1]', '[3,"ItemGoldBar",1]', 0, 693, 'trade_items');
INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_Sup556",1]', 10, '[8,"ItemGoldBar",1]', '[4,"ItemGoldBar",1]', 0, 693, 'trade_items');
-INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_SupBizon",1]', 10, '[6,"ItemGoldBar",1]', '[3,"ItemGoldBar",1]', 0, 693, 'trade_items');
-INSERT INTO `Traders_DATA` VALUES(null, '["Attachment_SupMakarov",1]', 10, '[4,"ItemGoldBar",1]', '[2,"ItemGoldBar",1]', 0, 693, 'trade_items');
-- ----------------------------
-- ItemMatchbox_DZE was removed because it was identical to ItemMatchbox, use dayz_matchboxCount config variable for match stick count