如何通过 Steam 交易获取 SteamID64 ID Url

How to Getting SteamID64 ID with Steam Trade Url

我正在做一个项目,我知道我可以通过某种方式将 Steam 交易 url 转到 steamid64 id,我想出了类似

的东西

$split = explode(":", $steamid); // STEAM_?:?:??????? format

$x = substr($split[0], 6, 1);
$y = $split[1];
$z = $split[2];

$w = ($z * 2) + 0x0110000100000000 + $y;

此代码非常成功地将“steamid”id 转换为“steamid64”id。

交易示例url如下

https://steamcommunity.com/tradeoffer/new/?partner=487364592&token=xxxxxxxx

"partner=487364592" 这部分实际上是一个 steamid3 id,我知道我们可以使用这个 id 并将其转换为 steamid64

示例:[U:1:487364592]

我知道有不止一种方法可以做到这一点,但无论我尝试哪种方法,我都无法成功。数学运算太多了。

我的全部目标是在 php

的交易 url 中使用合作伙伴 ID 达到 steamid64 ID

在 php 上执行此操作的最简单方法是什么?

从AccountID(合作伙伴ID)计算SteamID64的公式为:

(universe << 56) | (type << 52) | (instance << 32) | account_id

你的情况:

(1 << 56) | (1 << 52) | (1 << 32) | 487364592

结果:

76561198447630320

对于交易报价(合作伙伴 ID),universetypeinstance 的值始终为 1

可以在此处找到其他可能的值:https://github.com/DoctorMcKay/node-steamid/blob/master/index.js#L2-L50