Что такое структура данных Steamworks LobbyInvite_t? - PullRequest
0 голосов
/ 07 мая 2019

Я пытался выслушать событие, когда ваш друг приглашает вас, пока вы в вестибюле. Я все настроил правильно, поэтому могу принять событие.

Я использую 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?

...