Подскажите как получить STEAM ID 3

Diversant

Участник
Сообщения
9
Реакции
0
Доброе утро. Столкнулся с такой проблемой нужна функция которая из STEAM_0:0:XXXXXXX или STEAM_0:1:XXXXXXX генерирует вот такой STEAM ID - U:1:XXXXXXXXX а если можно чтобы генерировал уже без этого U:1: а только ХХХХХХХХХ
Понимаю чтобы получить из такого STEAM_0:0:XXXXXXX есть формула [U:1:Z*2+Y] вот как написать функцию php для автоматического конвертирования не пойму.
 

G.R.I.L.F.I.K.S

Участник
Сообщения
219
Реакции
60
Доброе утро. Столкнулся с такой проблемой нужна функция которая из STEAM_0:0:XXXXXXX или STEAM_0:1:XXXXXXX генерирует вот такой STEAM ID - U:1:XXXXXXXXX а если можно чтобы генерировал уже без этого U:1: а только ХХХХХХХХХ
Понимаю чтобы получить из такого STEAM_0:0:XXXXXXX есть формула [U:1:Z*2+Y] вот как написать функцию php для автоматического конвертирования не пойму.
Вот сайт заходишь вбиваешь ссылку на stean профиль и тебе даст все виды SteanID и копируй который тебе надо.
 

Diversant

Участник
Сообщения
9
Реакции
0
Спасибо это я знаю. Вы меня наверно не поняли мне нужен php код который генерирует.
 

xtance

Участник
Сообщения
513
Реакции
743
PHP:
$s = "STEAM_0:0:74914769";
$myarray = explode(":",$s,3);
if ($myarray[1] === "1") $s = intval($myarray[2]) * 2 + 1;
else $s = intval($myarray[2]) * 2;
echo $s; // 149829538

Ещё было бы неплохо сделать проверку, что там в этой строке $s, и точно ли оно похоже на SteamID

Оффтоп
 

Diversant

Участник
Сообщения
9
Реакции
0
Гуглил ни чего не нашел там только steamID 64 в steamid
 

HooLIGUN

MatchMaking CS:S / RGMIX.ru
Сообщения
1,062
Реакции
267
Ещё было бы неплохо сделать проверку, что там в этой строке $s, и точно ли оно похоже на SteamID
PHP:
if (preg_match("/^STEAM_[01]:[01]:[0-9]{1,12}$/i", $steam)) {
///код получения STEAM 3 из Steam32
} elseif (preg_match("/^(7656119)([0-9]{10})$/", $steam)) {
///код получения STEAM 3 из Steam64
}
 
Сверху Снизу