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