如何获取 CS:GO 市场项目的浮动价值?
How to get the float value of CS:GO market items?
最近我发现您可以通过在 csgo.exchange 和 csgozone.net.[=18= 等网站上输入检查 link 来检查 Steam 市场中物品的浮动价值]
经过一些研究,我弄清楚了 inspect link 的语法。
steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561197973845818A3130594988D7956282211490500705
一个普通的inspectlink由拥有者的steamid和物品的assetid组成
steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S
<STEAM_ID>
A
<ASSET_ID>
D7956282211490500705
Steam 市场项目检查link:
steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M322366017503471651A4084214062D7521609830474722133
根据这些信息,您可以获得项目的浮点值。
但是从玩家库存中的物品检查 links 和从 Steam 市场上的物品检查 links 是有区别的。来自市场的检查 link 包含市场 listingid 而不是所有者的 steamid。
如何根据市场检验的信息得到商品的浮点值link?
为了完成一点答案,而不是只指向我的 npm module,将 inspect link 转换为 float 值的整个过程分解如下:
- 您需要连接
SteamClient
,为此,请提供您的登录信息。请注意,在此之前您可能会有几天的延迟(Steam 安全性)。
- 成功的身份验证意味着
SteamGameCoordinator
将以 4004 消息类型响应,基本上是通过将 header.msg
与 ~0x80000000
按位检索得到的。
- 之后,你可以有效地发送一个
CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest
到 GC
有 4 个参数:param_s
, param_a
, param_d
, param_m
可以通过分解检查 link 来检索,在您的情况下为 S:76561197973845818
、A:3130594988
和 D:7956282211490500705
,然后传递 0
对于 M.
- 然后您将收到一条
9157
消息,您可以使用 CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse
通过创建一个新的 4 字节 Buffer
和 writeUInt32LE response.iteminfo.paintwear
对其进行解码.
恭喜,你现在有了花车!
csgo-float 将所有内容抽象化,让您只需提供登录信息,然后发送您的 Steam 检查 link,这将 return 一个承诺,让一切变得简单:
client.requestFloat('S76561197973845818A3130594988D7956282211490500705')
.then(floatValue => console.log(floatValue))
.catch(err => console.log(err))
Aperçu has the solution, and rightfully, the accepted answer. However, if you want something that returns results much quicker there is a Chrome extension (Stmy's CS:GO Market Details) 正是这样做的。它 returns 浮点值(以及所有其他项目信息)自动用于整个页面。它还允许根据不同的标准对多页结果进行排序。我使用了其他几种解决方案,但您必须为每个值 and/or copy/paste 单击到第 3 方网站。
最近我发现您可以通过在 csgo.exchange 和 csgozone.net.[=18= 等网站上输入检查 link 来检查 Steam 市场中物品的浮动价值]
经过一些研究,我弄清楚了 inspect link 的语法。
steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S76561197973845818A3130594988D7956282211490500705
一个普通的inspectlink由拥有者的steamid和物品的assetid组成
steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20S
<STEAM_ID>
A
<ASSET_ID>
D7956282211490500705
Steam 市场项目检查link:
steam://rungame/730/76561202255233023/+csgo_econ_action_preview%20M322366017503471651A4084214062D7521609830474722133
根据这些信息,您可以获得项目的浮点值。 但是从玩家库存中的物品检查 links 和从 Steam 市场上的物品检查 links 是有区别的。来自市场的检查 link 包含市场 listingid 而不是所有者的 steamid。
如何根据市场检验的信息得到商品的浮点值link?
为了完成一点答案,而不是只指向我的 npm module,将 inspect link 转换为 float 值的整个过程分解如下:
- 您需要连接
SteamClient
,为此,请提供您的登录信息。请注意,在此之前您可能会有几天的延迟(Steam 安全性)。 - 成功的身份验证意味着
SteamGameCoordinator
将以 4004 消息类型响应,基本上是通过将header.msg
与~0x80000000
按位检索得到的。 - 之后,你可以有效地发送一个
CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockRequest
到GC
有 4 个参数:param_s
,param_a
,param_d
,param_m
可以通过分解检查 link 来检索,在您的情况下为 S:76561197973845818
、A:3130594988
和 D:7956282211490500705
,然后传递0
对于 M. - 然后您将收到一条
9157
消息,您可以使用CMsgGCCStrike15_v2_Client2GCEconPreviewDataBlockResponse
通过创建一个新的 4 字节Buffer
和 writeUInt32LEresponse.iteminfo.paintwear
对其进行解码.
恭喜,你现在有了花车!
csgo-float 将所有内容抽象化,让您只需提供登录信息,然后发送您的 Steam 检查 link,这将 return 一个承诺,让一切变得简单:
client.requestFloat('S76561197973845818A3130594988D7956282211490500705')
.then(floatValue => console.log(floatValue))
.catch(err => console.log(err))
Aperçu has the solution, and rightfully, the accepted answer. However, if you want something that returns results much quicker there is a Chrome extension (Stmy's CS:GO Market Details) 正是这样做的。它 returns 浮点值(以及所有其他项目信息)自动用于整个页面。它还允许根据不同的标准对多页结果进行排序。我使用了其他几种解决方案,但您必须为每个值 and/or copy/paste 单击到第 3 方网站。