string GetItemName(Schema.Item schemaItem, Inventory.Item inventoryItem, out string price, bool id = false) { price = "Unknown"; bool isGifted = false; bool isUnusual = false; var currentItem = Trade.CurrentSchema.GetItem(schemaItem.Defindex); string name = ""; var type = Convert.ToInt32(inventoryItem.Quality.ToString()); if (QualityToName(type) != "Unique") { name += QualityToName(type) + " "; } name += currentItem.ItemName; if (QualityToName(type) == "Unusual") { isUnusual = true; try { for (int count = 0; count < inventoryItem.Attributes.Length; count++) { if (inventoryItem.Attributes[count].Defindex == 134) { name += " (Effect: " + EffectToName(inventoryItem.Attributes[count].FloatValue) + ")"; price = Util.GetPrice(schemaItem.Defindex, type, inventoryItem, false, (int)inventoryItem.Attributes[count].FloatValue); } } } catch (Exception) { } } if (currentItem.CraftMaterialType == "supply_crate") { for (int count = 0; count < inventoryItem.Attributes.Length; count++) { name += " #" + (inventoryItem.Attributes[count].FloatValue); } } name += " (Level " + inventoryItem.Level + ")"; try { int size = inventoryItem.Attributes.Length; for (int count = 0; count < size; count++) { if (inventoryItem.Attributes[count].Defindex == 261) { string paint = ShowBackpack.PaintToName(inventoryItem.Attributes[count].FloatValue); name += " (Painted: " + paint + ")"; } if (inventoryItem.Attributes[count].Defindex == 186) { isGifted = true; name += " (Gifted)"; } } } catch { // Item has no attributes... or something. } if (inventoryItem.IsNotCraftable) { name += " (Uncraftable)"; } if (currentItem.Name == "Wrapped Gift") { isGifted = true; // Untested! try { int size = inventoryItem.Attributes.Length; for (int count = 0; count < size; count++) { var containedItem = Trade.CurrentSchema.GetItem(inventoryItem.ContainedItem.Defindex); var containedName = GetItemName(containedItem, inventoryItem.ContainedItem, out price, false); price = Util.GetPrice(inventoryItem.ContainedItem.Defindex, Convert.ToInt32(inventoryItem.ContainedItem.Quality.ToString()), inventoryItem, true); name += " (Contains: " + containedName + ")"; } } catch { // Item has no attributes... or something. } } if (id) { name += " :" + inventoryItem.Id; } if (!isGifted && !isUnusual) { price = Util.GetPrice(currentItem.Defindex, type, inventoryItem); ListBackpack.Add(name, inventoryItem.Defindex, currentItem.ImageURL, price); } else { ListBackpack.Add(name, inventoryItem.Defindex, currentItem.ImageURL, price); } return(name); }
string GetItemName(Schema.Item schemaItem, Inventory.Item inventoryItem, out string price, bool id = false) { price = "Unknown"; bool isGifted = false; bool isUnusual = false; var currentItem = Trade.CurrentSchema.GetItem(schemaItem.Defindex); string name = ""; var type = Convert.ToInt32(inventoryItem.Quality.ToString()); if (Util.QualityToName(type) != "Unique") { name += Util.QualityToName(type) + " "; } name += currentItem.ItemName; name += " (" + SteamTrade.Trade.CurrentItemsGame.GetItemRarity(schemaItem.Defindex.ToString()) + ")"; if (Util.QualityToName(type) == "Unusual") { isUnusual = true; try { for (int count = 0; count < inventoryItem.Attributes.Length; count++) { if (inventoryItem.Attributes[count].Defindex == 134) { name += " (Effect: " + Trade.CurrentSchema.GetEffectName(inventoryItem.Attributes[count].FloatValue) + ")"; } } } catch (Exception) { } } if (currentItem.CraftMaterialType == "supply_crate") { for (int count = 0; count < inventoryItem.Attributes.Length; count++) { name += " #" + (inventoryItem.Attributes[count].FloatValue); } } try { int size = inventoryItem.Attributes.Length; for (int count = 0; count < size; count++) { if (inventoryItem.Attributes[count].Defindex == 261) { string paint = ShowBackpack.PaintToName(inventoryItem.Attributes[count].FloatValue); name += " (Painted: " + paint + ")"; } if (inventoryItem.Attributes[count].Defindex == 186) { isGifted = true; name += " (Gifted)"; } } } catch { // Item has no attributes... or something. } if (inventoryItem.IsNotCraftable) { name += " (Uncraftable)"; } if (!string.IsNullOrWhiteSpace(inventoryItem.CustomName)) { name += " (Custom Name: " + inventoryItem.CustomName + ")"; } if (!string.IsNullOrWhiteSpace(inventoryItem.CustomDescription)) { name += " (Custom Desc.: " + inventoryItem.CustomDescription + ")"; } if (id) { name += " :" + inventoryItem.Id; } if (!isGifted && !isUnusual) { ListBackpack.Add(name, inventoryItem.Defindex, currentItem.ImageURL, price); } else { ListBackpack.Add(name, inventoryItem.Defindex, currentItem.ImageURL, price); } return(name); }