Я пытался выслушать событие, когда ваш друг приглашает вас, пока вы в вестибюле. Я все настроил правильно, поэтому могу принять событие.
Я использую API SteamWorks v139
Проблема в том, что обратный вызов события получает указатель на структуру LobbyInvite_t, которая в соответствии с API-интерфейсом steamworks (и фактической структурой в заголовке) определяется как:
struct LobbyInvite_t {
const int k_iCallback = Constants.k_iSteamMatchmakingCallbacks + 3;
uint64 m_ulSteamIDUser;
uint64 m_ulSteamIDLobby;
uint64 m_ulGameID;
}
Это не дает мне действительные steamid. m_ulSteamIDLobby похож на «2», а m_ulSteamIDUser на 4 цифры короче, чем все идентификаторы пользователя steam в моем списке друзей
Я попытался преобразовать в CSteamId и FUniqueNetId безуспешно, он всегда недействителен
Другие обратные вызовы правильно получают идентификатор Steam, но только не этот. Этот также является одним из немногих, которые по какой-то причине нереальная система нереального движка onlinesubsystems не реализует. Интересно, если это связано с этим, они, вероятно, не могли понять, какой фактически должна быть передаваемая структура данных.
Я думаю, что это возможно ошибка в steamworks sdk.
Кто-нибудь знает, как интерпретировать данные, передаваемые в обратный вызов для LobbyInvite_t?