在 Dota2 模式中,项目被分配了一个“defindex”,这似乎是一个唯一的 id。我使用以下调用来获取架构。 http://api.steampowered.com/IEconItems_570/GetSchema/v0001/?key=XXXX
然而,当人们从 Steam 中读取用户的背包时,具有相同“defindex”的物品具有不同的品质。这里用于获取用户项目的调用 http://api.steampowered.com/IEconItems_570/GetPlayerItems/v0001?key=XXX&SteamID=YYY
例如,这里是 GetSchema 调用中 defindex = 4122 项的定义。
{ "name": "Seafarer's Shoes", "defindex": 4122, "item_class": "dota_item_wearable", "item_type_name": "#DOTA_WearableType_Shoes", "item_name": "#DOTA_Item_Seafarers_Shoes", "item_description": "#DOTA_Item_Desc_Seafarers_Shoes", "proper_name": false, "item_quality": 4, "image_inventory": "econ/items/kunkka/legs_admirableadmiral", "min_ilevel": 1, "max_ilevel": 1, "image_url": "http://cdn.dota2.com/apps/570/icons/econ/items/kunkka/legs_admirableadmiral.e679e41f99350070d812fe5cd57acda4c83a99a0.png", "image_url_large": "http://cdn.dota2.com/apps/570/icons/econ/items/kunkka/legs_admirableadmiral_large.5a9acb228f9cae6c2d6cb1199ad2bba2f54955d6.png", "item_set": "kunkka_admirable_admiral", "capabilities": { "nameable": true, "can_craft_mark": true, "can_be_restored": true, "strange_parts": true, "paintable_unusual": true, "autograph": true, "can_consume": true, "can_have_sockets": true } }, { "name": "Seafarer's Shoes", "defindex": 4122, "item_class": "dota_item_wearable", "item_type_name": "#DOTA_WearableType_Shoes", "item_name": "#DOTA_Item_Seafarers_Shoes", "item_description": "#DOTA_Item_Desc_Seafarers_Shoes", "proper_name": false, "item_quality": 4, "image_inventory": "econ/items/kunkka/legs_admirableadmiral", "min_ilevel": 1, "max_ilevel": 1, "image_url": "http://cdn.dota2.com/apps/570/icons/econ/items/kunkka/legs_admirableadmiral.e679e41f99350070d812fe5cd57acda4c83a99a0.png", "image_url_large": "http://cdn.dota2.com/apps/570/icons/econ/items/kunkka/legs_admirableadmiral_large.5a9acb228f9cae6c2d6cb1199ad2bba2f54955d6.png", "item_set": "kunkka_admirable_admiral", "capabilities": { "nameable": true, "can_craft_mark": true, "can_be_restored": true, "strange_parts": true, "paintable_unusual": true, "autograph": true, "can_consume": true, "can_have_sockets": true } },
这里有两个项目实例,用户背包中的 defindex = 4122:
{ "id": xxxx, "original_id": yyyy, "defindex": 4122, "level": 1, "quality": 4, "inventory": 157, "quantity": 1 }, { "id": zzzz, "original_id": wwww, "defindex": 4122, "level": 1, "quality": 12, "inventory": 172, "quantity": 1, "attributes": [ { "defindex": 185, "value": 1374925866, "float_value": 130837463040 }, { "defindex": 312, "value": 95566398, "float_value": 1.6760434356454931e-035, "account_info": { "steamid": fffff, "personaname": "fly fly" } }, { "defindex": 313, "value": 86741690, "float_value": 8.0673307729579346e-036, "account_info": { "steamid": ggggg, "personaname": "???????" } }, { "defindex": 315, "value": 0, "float_value": 0 }, { "defindex": 316, "value": 0, "float_value": 0 }, { "defindex": 317, "value": 2, "float_value": 2.8025969286496341e-045 }, { "defindex": 318, "value": 254535695, "float_value": 8.4756437840051154e-030 }, { "defindex": 320, "value": 1155752210, "float_value": 1819.033447265625 }, { "defindex": 389, "value": 59, "float_value": 8.2676609395164207e-044 }, { "defindex": 396, "value": 1115, "float_value": 1.562447787722171e-042 }, { "defindex": 397, "value": 1073741824, "float_value": 2 } ]
},
您可能会注意到用户背包中的两个项目具有不同的品质(分别为 4 和 12,可能是由于第二个项目具有引用其他项目的属性。
问题是如何准确地定义用户的项目以达到交易目的?
仅仅说我提供了一个 defindex=4122 的项目是不够的。从上面的示例中,我似乎需要说:“我提供的商品 defindex=4122 且质量 = 12。” 但这足够了吗?可能需要指定其他特征才能准确定义 Dota2 项目。
有谁知道在哪里可以找到此类信息/文件?