Advanced trading changes

This changes a few things in Advanced trading, mainly cosmetically.

> Removes all the commented out lines that were the same in defines.sqf,
let me know if these are there for a reason?
> fixes the buying list to have localization support and has a total
item count that works properly.
> cosmetic change displaying backpack info on trader to bring it in line
with the other menus
> adds total item count to the selling list and added localization for
that
This commit is contained in:
oiad
2016-07-23 23:30:05 +12:00
parent 9c4e30ea08
commit 9efc671abb
7 changed files with 77 additions and 109 deletions

View File

@@ -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
//

View File

@@ -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";
};
};
};

View File

@@ -19,11 +19,11 @@ if(Z_Selling)then{
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) ctrlSetPosition [(0.21* safezoneW + safezoneX),(0.41 * 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
[2] call Z_getContainer; // default gear

View File

@@ -40,12 +40,12 @@ if ( Z_SingleCurrency ) then {
_sellCurrency = CurrencyName;
_formattedText = format [
"<img image='%1' size='3' align='center'/><br />" +
"<t color='#33BFFF'>%10: </t><t color='#ffffff'>%2</t><br />" +
"<t color='#33BFFF'>%11: </t><t color='#ffffff'>%3</t><br />" +
"<t color='#33BFFF'>%12: </t><t color='#ffffff'>%5 %7</t><br />" +
"<t color='#33BFFF'>%13: </t><t color='#ffffff'>%6 %4</t><br />" +
"<t color='#33BFFF'>%14: </t><t color='#ffffff'>%8</t><br />" +
"<t color='#33BFFF'>%15: </t><t color='#ffffff'>%9</t><br />"
"<t color='#33BFFF' size='0.8'>%10: </t><t color='#ffffff' size='0.8'>%2</t><br />" +
"<t color='#33BFFF' size='0.8'>%11: </t><t color='#ffffff' size='0.8'>%3</t><br />" +
"<t color='#33BFFF' size='0.8'>%13: </t><t color='#ffffff' size='0.8'>%6 %4</t><br />" +
"<t color='#33BFFF' size='0.8'>%12: </t><t color='#ffffff' size='0.8'>%5 %7</t><br />" +
"<t color='#33BFFF' size='0.8'>%14: </t><t color='#ffffff' size='0.8'>%8</t><br />" +
"<t color='#33BFFF' size='0.8'>%15: </t><t color='#ffffff' size='0.8'>%9</t><br />"
, _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 [
"<img image='%1' size='3' align='center'/><br />" +
"<t color='#33BFFF'>%10: </t><t color='#ffffff'>%2</t><br />" +
"<t color='#33BFFF'>%11: </t><t color='#ffffff'>%3</t><br />" +
"<t color='#33BFFF'>%12: </t><t color='#ffffff'>%5 <img image='%16' /> %7</t><br />" +
"<t color='#33BFFF'>%13: </t><t color='#ffffff'>%6 <img image='%17' /> %4</t><br />" +
"<t color='#33BFFF'>%14: </t><t color='#ffffff'>%8</t><br />" +
"<t color='#33BFFF'>%15: </t><t color='#ffffff'>%9</t><br />"
"<t color='#33BFFF' size='0.8'>%10: </t><t color='#ffffff' size='0.8'>%2</t><br />" +
"<t color='#33BFFF' size='0.8'>%11: </t><t color='#ffffff' size='0.8'>%3</t><br />" +
"<t color='#33BFFF' size='0.8'>%13: </t><t color='#ffffff' size='0.8'>%6 <img image='%17' /> %4</t><br />" +
"<t color='#33BFFF' size='0.8'>%12: </t><t color='#ffffff' size='0.8'>%5 <img image='%16' /> %7</t><br />" +
"<t color='#33BFFF' size='0.8'>%14: </t><t color='#ffffff' size='0.8'>%8</t><br />" +
"<t color='#33BFFF' size='0.8'>%15: </t><t color='#ffffff' size='0.8'>%9</t><br />"
, _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;

View File

@@ -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;

View File

@@ -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.";
};

View File

@@ -16228,9 +16228,23 @@
<English>Only %1 bags fit in the backpack.</English>
<Russian>В рюкзак поместится рюкзаков: %1.</Russian>
</Key>
<Key ID="STR_EPOCH_TRADE_IN_BACKPACK">
<English>Adding %1 items in backpack</English>
<Russian>Добавлено: %1 предметов в рюкзак</Russian>
<Key ID="STR_EPOCH_TRADE_BUY_IN_BACKPACK">
<English>Purchased %1 items into your backpack</English>
</Key>
<Key ID="STR_EPOCH_TRADE_BUY_IN_VEHICLE">
<English>Purchased %1 items into %2</English>
</Key>
<Key ID="STR_EPOCH_TRADE_BUY_IN_GEAR">
<English>Purchased %1 items into your gear</English>
</Key>
<Key ID="STR_EPOCH_TRADE_SELL_IN_BACKPACK">
<English>Sold %1 items from your backpack</English>
</Key>
<Key ID="STR_EPOCH_TRADE_SELL_IN_VEHICLE">
<English>Sold %1 items from %2</English>
</Key>
<Key ID="STR_EPOCH_TRADE_SELL_IN_GEAR">
<English>Sold %1 items from your gear</English>
</Key>
<Key ID="STR_EPOCH_TRADE_SUCCESSFUL">
<English>Trade successfull.</English>
@@ -16310,17 +16324,17 @@
<Russian>Деньги не требуются.</Russian>
</Key>
<Key ID="STR_EPOCH_PLOTMANAGEMENT_OBJECTS_MAINTAINED_SUCCESS">
<English>SUCCESS : Objects maintained: %1</English>
<English>SUCCESS: Objects maintained: %1</English>
</Key>
<Key ID="STR_EPOCH_PLOTMANAGEMENT_PRICE_MAINTAINED_SUCCESS">
<English>SUCCESS : Price maintained: %1 %2 !</English>
<English>SUCCESS: Price maintained: %1 %2 !</English>
</Key>
<Key ID="STR_EPOCH_PLOTMANAGEMENT_OBJECTS_MAINTAINED_FAILED">
<English>FAILED : Objects maintained: 0</English>
<English>FAILED: Objects maintained: 0</English>
</Key>
<Key ID="STR_EPOCH_PLOTMANAGEMENT_MONEY_NEEDED_FAILED">
<English>FAILED : Money needed: %1 %2 !</English>
<Russian>ОШИБКА : Требуется денег: %1 %2 !</Russian>
<English>FAILED: Money needed: %1 %2 !</English>
<Russian>ОШИБКА: Требуется денег: %1 %2 !</Russian>
</Key>
<Key ID="STR_EPOCH_PLOTMANAGEMENT_ADDFRIEND_ALREADYONTHELIST">
<English>Already on the list</English>