From 9fd2f2270bb5ec6c53eff7ecf72e31b771bbf471 Mon Sep 17 00:00:00 2001 From: oiad Date: Mon, 3 Oct 2016 06:06:31 +1300 Subject: [PATCH] Advance trading gem fixes/localizations (#1771) * Advanced trading combine/return change Fixes combining/returnChange to squash gems into usable currency so they can properly be used in the economy Stringtable fixes for duplicates * Localization additions More localizations --- .../Configs/RscDisplay/advancedTrading.hpp | 2 +- .../functions/z_at_payDefault.sqf | 2 +- .../functions/z_at_returnChange.sqf | 32 ++++- .../functions/z_at_sellItems.sqf | 2 +- SQF/dayz_code/stringtable.xml | 136 ++++-------------- 5 files changed, 56 insertions(+), 118 deletions(-) diff --git a/SQF/dayz_code/Configs/RscDisplay/advancedTrading.hpp b/SQF/dayz_code/Configs/RscDisplay/advancedTrading.hpp index 28322a3b9..bbb9a8eb1 100644 --- a/SQF/dayz_code/Configs/RscDisplay/advancedTrading.hpp +++ b/SQF/dayz_code/Configs/RscDisplay/advancedTrading.hpp @@ -455,7 +455,7 @@ class AdvancedTrading x = 0.63 * safezoneW + safezoneX; y = 0.77 * safezoneH + safezoneY; w = 0.13 * safezoneW; - onButtonClick = "[[],0] call epoch_returnChange; ((ctrlParent (_this select 0)) closeDisplay 9000); localize ""STR_EPOCH_PLAYER_307"" call dayz_rollingMessages;"; + onButtonClick = "[[],0,false,0,[],[],true] call Z_returnChange; ((ctrlParent (_this select 0)) closeDisplay 9000); localize ""STR_EPOCH_PLAYER_307"" call dayz_rollingMessages;"; colorBackground[] = {1,1,1,1}; color[] = {0,0,0,1}; text = $STR_EPOCH_PLAYER_306; diff --git a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_payDefault.sqf b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_payDefault.sqf index 742bc3e6d..e489ce86a 100644 --- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_payDefault.sqf +++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_payDefault.sqf @@ -28,7 +28,7 @@ if (!_justChecking) then { if (_totalWorth - _toPay == 0) then { // Money in inventory was exact amount _success = true; } else { - _success = [_toPay,_totalWorth,_justChecking,_regularMagsToBuy,_moneyInGear,_moneyInBackpack] call Z_returnChange; + _success = [_toPay,_totalWorth,_justChecking,_regularMagsToBuy,_moneyInGear,_moneyInBackpack,false] call Z_returnChange; }; _success 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 4a974a320..1726ae384 100644 --- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_returnChange.sqf +++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_returnChange.sqf @@ -4,20 +4,46 @@ private ["_return_change","_ItemTopaz","_GemTotal","_GemTotal2","_ItemObsidian", "_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", -"_regularMagsToBuy","_moneyInGear","_moneyInBackpack"]; +"_regularMagsToBuy","_moneyInGear","_moneyInBackpack","_part","_worth","_findGem","_combine","_combineOk"]; + -_successful = false; _trade_total = _this select 0; _total_currency = _this select 1; _justChecking = _this select 2; _regularMagsToBuy = _this select 3; _moneyInGear = _this select 4; _moneyInBackpack = _this select 5; +_combine = _this select 6; + _moneyAdded = 0; +_return_change = 0; +_successful = false; Z_ChangeInBackpack = false; Z_ChangeOverflow = false; -_return_change = 0; +if (_combine) then { + _trade_total = 0; + _total_currency = 0; + _inventoryMoney = []; + _combineOk = 1; + { + _part = (configFile >> "CfgMagazines" >> _x); + _worth = (_part >> "worth"); + if isNumber (_worth) then { + _combineOk = [player,_part,1] call BIS_fnc_invRemove; + _total_currency = _total_currency + getNumber(_worth); + } else { + _findGem = DZE_GemList find _x; + if (_findGem >= 0) then { + _worth = DZE_GemWorthList select _findGem; + _total_currency = _total_currency + _worth; + _combineOk = [player,_part,1] call BIS_fnc_invRemove; + }; + }; + if (_combineOk == 0) exitWith { localize "STR_EPOCH_PLAYER_307_FAIL" call dayz_rollingMessages; }; + } forEach (magazines player); // Needs to be forEach otherwise count throws a hissy fit with BIS_fnc_invRemove returning a 0 +}; + if (!Z_Selling) then { _return_change = _total_currency - _trade_total; } else { 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 005bf6ef7..32b8cfce5 100644 --- a/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf +++ b/SQF/dayz_code/actions/AdvancedTrading/functions/z_at_sellItems.sqf @@ -225,7 +225,7 @@ if (typeName _money == "SCALAR") then { _success = [player,_money] call SC_fnc_addCoins; systemChat format[localize "STR_EPOCH_TRADE_SUCCESS_CHANGE",[_money] call BIS_fnc_numberText,CurrencyName]; } else { - _success = [_money,0,false,0,[],[]] call Z_returnChange; + _success = [_money,0,false,0,[],[],false] call Z_returnChange; _tCost = ""; _tCost = _money call z_calcDefaultCurrencyNoImg; if (_tCost != "") then { systemChat format[localize "STR_EPOCH_TRADE_SELL_SUCCESS",_tCost]; }; diff --git a/SQF/dayz_code/stringtable.xml b/SQF/dayz_code/stringtable.xml index 7994b0d21..cd16c14da 100644 --- a/SQF/dayz_code/stringtable.xml +++ b/SQF/dayz_code/stringtable.xml @@ -771,8 +771,6 @@ Transfusion failed. Missing Transfusion Kit! Transfusion fehlgeschlagen! Transfusionsbesteck fehlt! Переливание отменено. Отсутствует набор для переливания! - Transfusion failed. Missing Transfusion Kit! - Transfusion failed. Missing Transfusion Kit! Transfúze selhala, chybí transfúzní souprava! @@ -843,7 +841,6 @@ Destroy %1 %1 zerstören Уничтожить %1 - Destroy %1 Détruire %1 Zničit %1 @@ -941,10 +938,8 @@ Bandit - Bandit Бандит Bandido - Bandit Bandita @@ -1111,12 +1106,12 @@ Nepodařilo se vytvořit %1 - Not enough inventory space to make items... + Not enough inventory space to make items. Du hast nicht genug Platz im Inventar, um den Gegenstand herzustellen. - В инвентаре уже нет места... - No hay espacio suficiente en tu inventario para crear objetos... - Espace insuffisant pour créer les éléments... - Nemáte dostatek místa v inventáři pro vyrobení předmětu... + В инвентаре уже нет места. + No hay espacio suficiente en tu inventario para crear objetos. + Espace insuffisant pour créer les éléments. + Nemáte dostatek místa v inventáři pro vyrobení předmětu. Successfully created %1 @@ -1516,12 +1511,10 @@ Missing %1 to do this. Не хватает %1. - Missing %1 to do this. K tomuto vám chybí %1. Il manque %1 pour ce faire. Dir fehlt %1, um dies auszuführen. - Missing Knife to gut animal. Не хватает ножа для разделки животного. @@ -1642,11 +1635,11 @@ Du benötigst einen Werkzeugkasten und eine Brechstange, um an diesem Fahrzeug einen Sprengsatz anzubringen! - \n\nChopping down tree. + Chopping down tree. Рубим дерево - \n\nAbattage de l'arbre - \n\nPorážíte strom. - \n\nBaum wird gefällt + Abattage de l'arbre + Porážíte strom. + Baum wird gefällt You have only one %1, there's nothing to combine. @@ -2001,7 +1994,6 @@ Connector i - Connector i I коннектор I-spojka Connecteur i @@ -2017,7 +2009,6 @@ Connector L - Connector L L коннектор L-spojka Connecteur L @@ -2033,7 +2024,6 @@ Connector T - Connector T T коннектор T-spojka Connecteur T @@ -2388,8 +2378,6 @@ Laserpointer Лазер Láser - Laser - Laser A red laser @@ -2717,11 +2705,8 @@ M4A1 AIM - M4A1 AIM - M4A1 AIM M4A1 à viseur laser M4A1 s CCO - M4A1 AIM Blueprint to create a M4A1_AIM. Required - 1 M4A1, 1 Attachment_AIM. - ToolBox @@ -2734,7 +2719,6 @@ M4A1 HWS GL Camo Камуфлированный M4A1 HWS GL - M4A1 HWS GL Camo M4A1 HWS GL Kamufláž M4A1 HWS GL Camouflage M4A1 HWS GL Tarn @@ -2748,8 +2732,9 @@ Blaupause für eine M4A1 HWS GL Tarn. Gebraucht werden: 1x M4A1 HWS GL, 1x Tarnmaterial, Werkzeugkasten. - M9SD + M9 SD M9 с глушителем + M9 Silenciada M9 Silencieux M9 s tlumičem M9 SD @@ -2763,9 +2748,8 @@ Blaupause für eine M9 SD. Gebraucht werden: 1x M9, 1x Schalldämpfer, Werkzeugkasten. - MAKAROVSD + Makarov SD ПМ с глушителем - MakarovSD Makarov Silencieux Makarov s tlumičem Makarow SD @@ -3851,7 +3835,6 @@ Schachtel mit Kräutern Коробка трав hierbas Caja - Herb Box Krabice bylinek @@ -3859,7 +3842,6 @@ Коробка лекарственных трав Box of medicinal herbs Krabice plná nejrůznějších léčivých rostlin. Sen každé babky kořenářky. - Box of medicinal herbs Eine Schachtel mit medizinischen Kräutern. @@ -4243,7 +4225,6 @@ Chemlight Knicklicht Химсвет - Chemlight Bâton lumineux Chemické světlo @@ -4485,10 +4466,8 @@ Machete Мачете - Machete Mačeta Machette - Machete An agricultural tool turned into a weapon, the Machete may be less versatile than the common hatchet, but it packs a punch. @@ -4548,11 +4527,6 @@ M16A2 - M16A2 - M16A2 - M16A2 - M16A2 - M16A2 Assault rifle <br/>Caliber: 5.56x45mm NATO @@ -4564,11 +4538,6 @@ M16A2 M203 - M16A2 M203 - M16A2 M203 - M16A2 M203 - M16A2 M203 - M16A2 M203 Assault rifle with grenade launcher <br/>Caliber: 5.56x45mm NATO @@ -4580,11 +4549,6 @@ M16A4 - M16A4 - M16A4 - M16A4 - M16A4 - M16A4 Assault rifle <br/>Caliber: 5.56x45mm NATO @@ -4596,11 +4560,6 @@ M16A4 ACOG - M16A4 ACOG - M16A4 ACOG - M16A4 ACOG - M16A4 ACOG - M16A4 ACOG Assault rifle <br/>Caliber: 5.56x45mm NATO @@ -4612,11 +4571,6 @@ M16A4 M203 ACOG - M16A4 M203 ACOG - M16A4 M203 ACOG - M16A4 M203 ACOG - M16A4 M203 ACOG - M16A4 M203 ACOG Assault rifle with grenade luncher <br/>Caliber: 5.56x45mm NATO @@ -4628,11 +4582,6 @@ M16A4 M203 - M16A4 M203 - M16A4 M203 - M16A4 M203 - M16A4 M203 - M16A4 M203 Assault rifle with grenade luncher <br/>Caliber: 5.56x45mm NATO @@ -4644,11 +4593,6 @@ M9 - M9 - M9 - M9 - M9 - M9 Semi-automatic pistol <br/>Caliber: 9x19mm @@ -4664,7 +4608,6 @@ M9 Silenciada M9 Silenciada M9 s tlumičem - M9 SD Suppressed semi-automatic pistol <br/>Caliber: 9x19mm @@ -4676,11 +4619,6 @@ M1911 - M1911 - M1911 - M1911 - M1911 - M1911 Semi-automatic pistol <br/>Caliber: .45 ACP @@ -4693,9 +4631,6 @@ Makarov ПМ - Makarov - Makarov - Makarov Makarow @@ -4724,11 +4659,6 @@ PDW - PDW - PDW - PDW - PDW - PDW Submachine gun <br/>Caliber: 9x19mm @@ -4742,9 +4672,6 @@ Revolver Револьвер Revólver - Revolver - Revolver - Revolver Revolver <br/>Caliber: .45 ACP @@ -4756,11 +4683,6 @@ G17 - G17 - G17 - G17 - G17 - G17 Semi-automatic pistol<br/>Caliber: 9x19mm @@ -5087,7 +5009,6 @@ Gebratener Speck Готовый бекон Panceta - Bacon Opečená slanina @@ -5333,11 +5254,10 @@ Toulec, do kterého se vejde až dvanáct šipek do kuše. - Soda + Soda (Mountain Green) Limonade Газировка Gaseosa - Soda Sodovka @@ -5349,11 +5269,10 @@ Čistá a ještě neotevřená plechovka Mountain Green. Dobrá volba na dlouhou cestu. - Soda + Soda (R4ZOR) Limonade Газировка Gaseosa - Soda Sodovka @@ -5369,7 +5288,6 @@ Eistee Холодный чай Gaseosa (Té Helado) - Soda (Iced Tea) Nápoj (Ledový čaj) @@ -5401,7 +5319,6 @@ Cola Газировка (Кола) Gaseosa (Cola) - Soda (Cola) Nápoj (Kola) @@ -5417,7 +5334,6 @@ Limonade (Orange) Газировка (Апельсин) Gaseosa (Naranja) - Soda (Orange) Nápoj (Pomeranč) @@ -5449,7 +5365,6 @@ Cola Газировка (Кола) Fernet con Coca - Soda (Cola) Nápoj (Kola) @@ -5477,11 +5392,10 @@ Čistá a ještě neotevřená plechovka piva LVG. - Soda + Soda (mZLY yZLY) Limonade Газировка Gaseosa - Soda Sodovka @@ -5497,7 +5411,6 @@ Cola Газировка (Кола) Gaseosa (Cola) - Soda (Cola) Nápoj (Kola) @@ -5525,11 +5438,10 @@ Čistá a ještě neotevřená plechovka piva Rabbitman. - Soda + Soda (Sacrite) Limonade Газировка Gaseosa - Soda Sodovka @@ -5541,11 +5453,10 @@ Čistá a ještě neotevřená plechovka sodovky Sacrite. - Soda + Soda (Rocket Fuel) Limonade Газировка Gaseosa - Soda Sodovka @@ -5557,11 +5468,10 @@ Čistá a ještě neotevřená plechovka sodovky Gagarin Rocket Fuel od Papa. Vyrobeno v Černarusi. - Soda + Soda (Sparkling Grape) Limonade Газировка Gaseosa - Soda Sodovka @@ -5584,7 +5494,6 @@ MRE EPa Паёк MRE - MRE Repas instantané Vojenská dávka @@ -6718,7 +6627,7 @@ Du versuchst %1 zu essen, musst aber das meiste wieder ausspucken. Du bist einfach zu satt, um noch mehr zu essen. Вы съели %1, но выплюнули большую часть.\nВы слишком сыты, чтобы проглотить что-нибуть еще. Comiste %1 pero escupiste la mayor parte. Estás demasiado lleno para seguir comiendo. - \n\nVous n'avez pas pu terminer votre %1. Vous avez trop mangé. + Vous n'avez pas pu terminer votre %1. Vous avez trop mangé. Snědli jste %1, ale většinu jste vyplivnul. Jste plný a víc toho už nesníte. @@ -12971,12 +12880,15 @@ Объединить слитки Skombinovat cihly - - Combined all bars in your inventory to highest denomination. + + Combined all currency in your inventory to the highest denomination. Alle Barren in deinem Inventar wurden zum höchsten Wert kombiniert. Все слитки в вашем инвентаре объединены. Skombinovány cihly ve vašem inventáři na maximum. + + Failed to combine one or more items into currency in your inventory. + To driver's seat Para el asiento del conductor