Add attachments compatibility list to trader

Also reduced item info size a bit to better fit normal and large
interface sizes.
This commit is contained in:
ebaydayz
2016-05-07 19:29:00 -04:00
parent 3d4d6f6544
commit 41e653136f
4 changed files with 123 additions and 47 deletions

View File

@@ -1,4 +1,4 @@
private ["_item","_picture","_class","_display","_buyPrice","_sellPrice","_magazines","_magText","_formattedText","_buyCurrency","_sellCurrency"];
private ["_item","_picture","_class","_display","_buyPrice","_sellPrice","_magazines","_magText","_formattedText","_buyCurrency","_sellCurrency","_attachments","_attachText","_config","_text","_attach","_type"];
#include "defines.sqf";
_item = _this select 0;
@@ -22,9 +22,33 @@ if (Z_Selling) then {
_sellCurrency = _item select 8;
};
_attachments = [];
_config = configFile >> "CfgWeapons" >> _class >> "Attachments";
if (isClass _config) then {
for "_i" from 0 to (count _config)-1 do {
_attach = _config select _i;
_type = configName _attach;
_text = getText (configFile >> "CfgMagazines" >> _type >> "displayName");
_attachments set [count _attachments,_text];
};
};
if (count _attachments < 1) then {_attachments = [localize "STR_EPOCH_NONE"];};
_attachText = "";
{
if (_forEachIndex > 0) then {
_attachText = _attachText + ", " + _x;
} else {
_attachText = _attachText + _x;
};
} forEach _attachments;
_magazines = [];
if( isArray (configFile >> 'CfgWeapons' >> _class >> 'magazines')) then {
_magazines = getArray (configFile >> 'CfgWeapons' >> _class >> 'magazines');
{
_magazines set [count _magazines, getText (configFile >> "CfgMagazines" >> _x >> "displayName")];
} forEach (getArray (configFile >> 'CfgWeapons' >> _class >> 'magazines'));
};
_magText = "";
@@ -40,12 +64,11 @@ _magText = "";
if (Z_SingleCurrency) then {
_formattedText = format [
"<img image='%1' size='3' align='center' /><br />" +
"<t color='#33BFFF'>%8: </t><t color='#ffffff'>%2</t><br />" +
"<t color='#33BFFF'>%9: </t><t color='#ffffff'>%3</t><br />" +
"<t color='#33BFFF'>%10: </t><t color='#ffffff'>%5 %7</t><br />" +
"<t color='#33BFFF'>%11: </t><t color='#ffffff'>%6 %7</t><br />" +
"<t color='#33BFFF'>%12: </t><br /><t color='#ffffff' size='0.5'>%4</t>"
, _picture, _display, _class, _magText, _sellPrice, _buyPrice, CurrencyName, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291", localize "STR_EPOCH_MAGS"
"<t color='#33BFFF' size='0.8'>%8: </t><t color='#ffffff' size='0.8'>%2</t><br />" +
"<t color='#33BFFF' size='0.8'>%9: </t><t color='#ffffff' size='0.8'>%3</t><br />" +
"<t color='#33BFFF' size='0.8'>%10: </t><t color='#ffffff' size='0.8'>%5 %7</t><br />" +
"<t color='#33BFFF' size='0.8'>%11: </t><t color='#ffffff' size='0.8'>%6 %7</t><br />"
, _picture, _display, _class, _magText, _sellPrice, _buyPrice, CurrencyName, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291"
];
}else {
_picSell = getText (configFile >> 'CfgMagazines' >> _sellCurrency >> 'picture');
@@ -55,15 +78,22 @@ if (Z_SingleCurrency) then {
_formattedText = format [
"<img image='%1' size='3' align='center' /><br />" +
"<t color='#33BFFF'>%11: </t><t color='#ffffff'>%2</t><br />" +
"<t color='#33BFFF'>%12: </t><t color='#ffffff'>%3</t><br />" +
"<t color='#33BFFF'>%13: </t><t color='#ffffff'>%5 <img image='%9' /> %7</t><br />" +
"<t color='#33BFFF'>%14: </t><t color='#ffffff'>%6 <img image='%10' /> %8</t><br />" +
"<t color='#33BFFF'>%15: </t><br /><t color='#ffffff' size='0.5'>%4</t>"
, _picture, _display, _class, _magText, _sellPrice, _buyPrice, _sellCurrency, _buyCurrency, _picSell, _picBuy, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291", localize "STR_EPOCH_MAGS"
"<t color='#33BFFF' size='0.8'>%11: </t><t color='#ffffff' size='0.8'>%2</t><br />" +
"<t color='#33BFFF' size='0.8'>%12: </t><t color='#ffffff' size='0.8'>%3</t><br />" +
"<t color='#33BFFF' size='0.8'>%13: </t><t color='#ffffff' size='0.8'>%5 <img image='%9' /> %7</t><br />" +
"<t color='#33BFFF' size='0.8'>%14: </t><t color='#ffffff' size='0.8'>%6 <img image='%10' /> %8</t><br />"
, _picture, _display, _class, _magText, _sellPrice, _buyPrice, _sellCurrency, _buyCurrency, _picSell, _picBuy, localize "STR_EPOCH_NAME", localize "STR_EPOCH_CLASS", localize "STR_EPOCH_PLAYER_292", localize "STR_EPOCH_PLAYER_291"
];
};
_parentClasses = [(configFile >> "CfgWeapons" >> _class),true] call BIS_fnc_returnParents;
if !("ItemCore" in _parentClasses or "Binocular" in _parentClasses) then {
_formattedText = _formattedText + format [
"<t color='#33BFFF' size='0.8'>%1: </t><t color='#ffffff' size='0.7'>%2</t><br />" +
"<t color='#33BFFF' size='0.8'>%3: </t><t color='#ffffff' size='0.7'>%4</t>"
,localize "STR_EPOCH_ATTACHMENTS",_attachText,localize "STR_EPOCH_MAGS",_magText
];
};
(findDisplay Z_AT_DIALOGWINDOW displayCtrl Z_AT_ITEMINFO) ctrlSetStructuredText parseText _formattedText;