c# steam64 ID to steam32 ID
вопрос таков:
Как конвертировать steam64 ID в steam32 ID?
Ну или может где-то на копме лежит файл стима где можно узнать SteamID 32?
Или можно написать конвертер на другом языке, только чтоб его можно было портировать в WPF C# и желательно с гайдом как его портировать )
Примеры:
steam64 ID - 76561198192371814
конвертировать в
steam32 ID - U:1:232106086
id3 - то что нужно
steam32 ID - такой чтоб совпадал как Steam/userdata/...
Пробовал библиотеку steamkit2, но там нужно входить в аккаунт чтобы получить steam32 ID.
Пробовал SteamUserInfo, там можно получить всю информацию о некоторых аккаунтах, о каких точно я так и не понял. У меня аккаунтов около 200, библиотека показывает же только 9.
Облазил кучу сайтов, но там почему-то большинство это как 32 в 64 конвертировать.
И так. Можно как-то составить код чтобы можно было конвертировать id? Могу ответить на вопросы которые вы зададите.
Возможно это может помочь - https://developer.valvesoftware.com/wiki/SteamID
Ответы (1 шт):
Я вообще не понимаю, что я творю, но, судя вот по этой ссылке https://developer.valvesoftware.com/wiki/SteamID
Another commonly used representation, referred to as a "Steam3 ID," is represented as: "[letter:1:W]". Many games will use this format for player SteamIDs (e.g., [U:1:1234]) when printed from a status command for example.
W=Z*2+Y
можно получить следующее
string ConvertToSteam3(long steamId)
{
long acc = steamId >> 1 & 0b11111111111111111111111111111L;
long y = steamId & 0b1;
return $"U:1:{acc*2+y}";
}
Альтернативная, более короткая версия
string ConvertToSteam3(long steamId) => $"U:1:{steamId & 0x1FFFFFFF}";
Проверка
Console.WriteLine(ConvertToSteam3(76561198192371814));
Вывод
U:1:232106086
ЗЫ: я так понял, буковку U надо подбирать ещё в зависимости о типа аккаунта.
