Steam API получает имя персонажа

Я внимательно следил за документацией Steam, но дошел до того, что мне нужно получить имена игроков на основе идентификатора Steam, и Steam имеет для этого функцию в своей документации:

const char *pchName = SteamFriends()->GetPersonaName(steamID);

Однако Visual Studio сообщает, что функции с таким количеством аргументов не существует. Единственная приемлемая функция - это

const char *pchName = SteamFriends()->GetPersonaName();

Который должен вернуть персональное имя локального игрока (что он и делает). Я могу найти способ получить это от каждого пользователя и сохранить его на моем сервере при входе в систему, но похоже, что это должно сработать. Как мне получить имя пользователя для SteamID uint64 друга? Изменили ли они эту функцию недавно?

Я использую Unreal Engine 4.7.6 из исходников со Steam API 1.30.


person David    schedule 19.05.2015    source источник


Ответы (1)


Видимо Steam плохо обновляет свою документацию. Я открыл заголовок isteamfriends.h и обнаружил эту функцию, которая никогда не упоминается в документации Steam:

// returns the name another user - guaranteed to not be NULL.
// same rules as GetFriendPersonaState() apply as to whether or not the user knowns the name of the other user
// note that on first joining a lobby, chat room or game server the local user will not known the name of the other users automatically; that information will arrive asyncronously
// 
virtual const char *GetFriendPersonaName( CSteamID steamIDFriend ) = 0;

Давай, Steam ... Я буквально вытащил эту строчку прямо из их живых документов около 30 минут назад, и она не работает.

const char *pchName = SteamFriends()->GetPersonaName(steamID);

Итак, правильный способ:

const char *pchName = SteamFriends()->GetFriendsPersonaName(steamID);
person David    schedule 19.05.2015