如何获取CS:GO市场物品的浮动价值?

问题描述 投票:0回答:3

最近我发现你可以通过在csgo.exchange和csgozone.net等网站上输入检查链接来检查Steam市场中物品的浮动价值。

经过一些研究,我弄清楚了检查链接的语法。

steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561197973845818A3130594988D7956282211490500705

正常的检查链接由所有者的steamid和项目的assetid组成

steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S
<STEAM_ID>
A
<ASSET_ID>
D7956282211490500705

Steam市场物品查看链接:

steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M322366017503471651A4084214062D7521609830474722133

通过此信息,您可以获得该项目的浮点值。 但检查玩家库存中物品的链接和检查 Steam 市场上物品的链接之间存在差异。来自市场的检查链接包含市场listingid,而不是所有者的steamid。

如何通过市场检查链接的信息获得该物品的浮动价值?

steam steam-web-api
3个回答
12
投票

为了完成一点答案,而不是仅仅指向我的npm模块,将检查链接转换为浮点值的整个过程被分解如下:

  • 您需要连接
    SteamClient
    ,为此,请提供您的登录信息。请注意,在此之前您可能会延迟几天(Steam 安全)。
  • 成功的身份验证意味着
    SteamGameCoordinator
    将响应 4004 消息类型,基本上通过将
    header.msg
    ~0x80000000
    按位进行检索。
  • 之后,您可以有效地将
    CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest
    发送到
    GC
    ,其中包含 4 个参数:
    param_s
    param_a
    param_d
    param_m
    ,可以通过分解检查链接来检索,在您的情况下为 S :
    76561197973845818
    ,A:
    3130594988
    和 D:
    7956282211490500705
    ,然后通过
    0
    表示 M。
  • 然后您将收到一条
    9157
    消息,您可以通过创建 4 个字节的新
    CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse
    writeUInt32LE
    Buffer 来使用
    response.iteminfo.paintwear
    进行解码。

你现在已经有了漂浮物,恭喜!


csgo-float 正在抽象所有内容,让您只需提供登录信息,并发送将返回承诺的 Steam 检查链接,使其变得简单:

client.requestFloat('S76561197973845818A3130594988D7956282211490500705')
  .then(floatValue => console.log(floatValue))
  .catch(err => console.log(err))

1
投票

Aperçu 有解决方案,并且正确地得到了公认的答案。但是,如果您想要更快地返回结果,可以使用 Chrome 扩展程序(Stmy 的 CS:GO 市场详细信息)来完成此操作。它自动返回整个页面的浮点值(以及所有其他项目信息)。它还允许根据不同的标准对多页结果进行排序。我使用了一些其他解决方案,但您被迫单击每个值和/或复制/粘贴到第三方网站。


0
投票

你知道 d 参数代表什么吗?它是恒定的还是随时间变化? 对我来说,似乎有一些变化。 steam inv ui 返回另一个检查链接作为来自 steam 的库存端点,并且看起来来自 steam web ui 的检查链接也会随着时间(2-3 天)而变化。至少 d 参数

© www.soinside.com 2019 - 2024. All rights reserved.