public void Initialize() { if (!SteamManager.initializedMain) { return; } m_GameRichPresenceJoinRequested = Steamworks.Callback <GameRichPresenceJoinRequested_t> .Create(OnGameRichPresenceJoinRequested); m_PersonaStateChange = Steamworks.Callback <PersonaStateChange_t> .Create(OnPersonaStateChange); EFriendFlags friendFlags = EFriendFlags.k_EFriendFlagImmediate; int friendsCount = SteamFriends.GetFriendCount(friendFlags); for (int friendIndex = 0; friendIndex < friendsCount; ++friendIndex) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(friendIndex, friendFlags); if (!friendSteamId.IsValid()) { continue; } SteamFriend steamFriend = new SteamFriend(friendSteamId); m_Friends.Add(friendSteamId, steamFriend); } }
// Update is called once per frame public void ListFriends() { int n = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); FriendStatus = new FriendStatusID[n]; for (int i = 0; i < n; i++) { FriendStatus[i].id = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); FriendStatus[i].status = (int)SteamFriends.GetFriendPersonaState(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate)); var fgi = new FriendGameInfo_t(); bool StoGiocando = SteamFriends.GetFriendGamePlayed(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate), out fgi); FriendStatus[i].game = StoGiocando ? 1 : 0; } FriendStatus = FriendStatus.OrderByDescending(go => go.game).ThenByDescending(go => go.status).ToArray(); for (int i = 0; i < n; i++) // Each RoomInfo "game" in the amount of games created "rooms" display the fallowing. { friendsList.Add((GameObject)Instantiate(FriendListButton)); friendsList[friendsAmount].transform.SetParent(FriendListPanel.transform); friendsList[friendsAmount].GetComponent <RectTransform>().transform.localScale = new Vector3(1, 1, 1); friendsList[friendsAmount].GetComponent <FriendButton>().m_Friend = FriendStatus[i].id; friendsAmount++; } contatoreFriends = 0; }
public static Dictionary <CSteamID, string[]> GetOnlineFriends() { var friends = new Dictionary <CSteamID, string[]>(); if (!SteamManager.Initialized) { Logger.Error("CONNECTION FAILED"); return(friends); } try { int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; ++i) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); string friendName = SteamFriends.GetFriendPersonaName(friendSteamId); EPersonaState friendState = SteamFriends.GetFriendPersonaState(friendSteamId); if (friendState != EPersonaState.k_EPersonaStateOffline) { var fgi = new FriendGameInfo_t(); bool ret = SteamFriends.GetFriendGamePlayed(friendSteamId, out fgi); friends.Add(friendSteamId, new string[] { friendName, "" + fgi.m_gameID }); } } } catch (Exception e) { Logger.Error(e); } return(friends); }
void OnFriendsList(SteamFriends.FriendsListCallback callback) { // at this point, the client has received it's friends list int friendCount = steamFriends.GetFriendCount(); Console.WriteLine("We have {0} friends", friendCount); for (int x = 0; x < friendCount; x++) { // steamids identify objects that exist on the steam network, such as friends, as an example SteamID steamIdFriend = steamFriends.GetFriendByIndex(x); string friendPersonaName = steamFriends.GetFriendPersonaName(steamIdFriend); string friendRender = steamIdFriend.Render(); // we'll just display the STEAM_ rendered version Console.WriteLine("Friend: {0} - {1}", friendPersonaName, friendRender); } // we can also iterate over our friendslist to accept or decline any pending invites foreach (var friend in callback.FriendList) { if (friend.Relationship == EFriendRelationship.RequestRecipient) { // this user has added us, let's add him back Console.WriteLine("Friend Request: {0}", friend.SteamID); steamFriends.AddFriend(friend.SteamID); Console.WriteLine("Accepting Friend request."); } } }
public static void FindFriendLobbies(Action <bool> OnFind) { s_OnFindLobbies = OnFind; s_nLobbiesFound = 0; s_nFriendLobbiesFound = 0; //if ( SteamMatchmaking() == 0 ) return; InteropHelp.TestIfAvailableClient(); int cFriends = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < cFriends; i++) { FriendGameInfo_t friendGameInfo; CSteamID steamIDFriend = (CSteamID)SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); if (SteamFriends.GetFriendGamePlayed(steamIDFriend, out friendGameInfo) && friendGameInfo.m_steamIDLobby.IsValid()) { m_friendLobbies[s_nFriendLobbiesFound++] = friendGameInfo.m_steamIDLobby; SteamMatchmaking.RequestLobbyData(friendGameInfo.m_steamIDLobby); //int cap = SteamMatchmaking().GetLobbyMemberLimit( friendGameInfo.m_steamIDLobby ); //Console.WriteLine("Found friend lobby with capacity {0}", cap); } } if (s_OnFindLobbies != null) { s_OnFindLobbies(false); } }
public static void RequestLobbies() { if (!SteamManager.Initialized) { Logger.Error("CONNECTION FAILED"); return; } Logger.Debug($"Requesting list of all lobbies from steam"); LobbyData.Clear(); MultiplayerListing.refreshLobbyList(); SteamMatchmaking.AddRequestLobbyListFilterSlotsAvailable(1); SteamMatchmaking.AddRequestLobbyListStringFilter("version", PACKET_VERSION, ELobbyComparison.k_ELobbyComparisonEqual); SteamAPICall_t apiCall = SteamMatchmaking.RequestLobbyList(); OnLobbyMatchListCallResult.Set(apiCall); int cFriends = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < cFriends; i++) { FriendGameInfo_t friendGameInfo; CSteamID steamIDFriend = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); SteamFriends.GetFriendGamePlayed(steamIDFriend, out friendGameInfo); if (friendGameInfo.m_gameID == GetGameID() && friendGameInfo.m_steamIDLobby.IsValid()) { SteamMatchmaking.RequestLobbyData(friendGameInfo.m_steamIDLobby); } } }
} //Checking the last time that the games list with names has been updated and pushing an update if needed private void Form1_Load(object sender, EventArgs e) { try { //Start of Initialization shit SteamAPI.Init(); //Must initialise SteamApi before using steamwork functions ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; FreeGamesListFnc(); Steamnamesuptodatecheck(); steamid = SteamUser.GetSteamID().ToString(); string name = SteamFriends.GetPersonaName(); string steamlevel = SteamUser.GetPlayerSteamLevel().ToString(); int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); SteamFriendCountBox.Text = friendCount.ToString(); SteamNameBox.Text = name; SteamLevelBox.Text = steamlevel; SteamIDBox.Text = steamid; GetOwnedSteamGames(steamid, OwnedGamesLBox); OwnedGamesBox.Text = OwnedGamesLBox.Items.Count.ToString(); //End of initialization shit } catch (Exception) { MessageBox.Show("Steam not running!" + "\n" + "Terminating program", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //Error messagebox Application.Exit(); //Used to Exit program } } //Initializing everything
void OnFriendsList(SteamFriends.FriendsListCallback callback) { // at this point, the client has received it's friends list int friendCount = steamFriends.GetFriendCount(); Console.WriteLine("We have {0} friends", friendCount); lstLog.Items.Add(String.Format("{0} 명의 친구 목록을 불러옵니다.", friendCount)); for (int x = 0; x < friendCount; x++) { // steamids identify objects that exist on the steam network, such as friends, as an example SteamID steamIdFriend = steamFriends.GetFriendByIndex(x); // we'll just display the STEAM_ rendered version Console.WriteLine("Friend: {0}", steamIdFriend.Render()); //lstLog.Items.Add(String.Format("친구: {0}", steamIdFriend.Render())); lstFriendList.Items.Add(steamIdFriend.AccountID); } // we can also iterate over our friendslist to accept or decline any pending invites foreach (var friend in callback.FriendList) { if (friend.Relationship == EFriendRelationship.RequestRecipient) { // this user has added us, let's add him back steamFriends.AddFriend(friend.SteamID); } } }
void PrintAllFriends() { for (int i = 0; i < SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); i++) { print(SteamFriends.GetFriendPersonaName(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll)) + " " + SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll).m_SteamID); } }
/// <summary> /// Check if any of the current user's friends play this game and add the lobby to the server list if they do. /// </summary> private void GetFriendGamesList() { // Get the number of regular friends of the current local user var friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); if (friendCount == -1) { return; } for (int i = 0; i < friendCount; ++i) { // Get the Steam ID of the friend var friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); // Get what game the friend is playing FriendGameInfo_t gameInfo; if (SteamFriends.GetFriendGamePlayed(friendSteamId, out gameInfo)) { // If they are playing this game as well then get their lobby id if (gameInfo.m_gameID.AppID() == SteamUtils.GetAppID()) { AddServer(gameInfo.m_steamIDLobby); } } } }
public static IEnumerable <SteamID> GetFriends(this SteamFriends friends) { // yuk for (int i = 0; i < friends.GetFriendCount(); i++) { yield return(friends.GetFriendByIndex(i)); } }
public void ResetFriendsList() { _friends = new List <SteamID>(); for (int i = 0; i < SteamFriends.GetFriendCount(); i++) { _friends.Add(SteamFriends.GetFriendByIndex(i)); } Log.Debug("Created friends list."); }
public static string GetFriendCount() { // gets the current number of friends for the currently logged in // steam account via the SteamFriends interface, using the friend flag // k_EFriendFlagAll, this will display EVERYONE, pending invites, requests sent // blocked friends(including people which have been blocked and unfriended) int iFriends = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); return(string.Format("Friend Count: {0}\n", iFriends)); }
public void OnEnable() { if (SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate) == 0) { Debug.LogError("You must have atleast one friend to use the SteamFriends test!"); enabled = false; return; } if (SteamFriends.GetClanCount() == 0) { Debug.LogError("You must have atleast one clan to use the SteamFriends test!"); enabled = false; return; } m_PersonaStateChange = Callback <PersonaStateChange_t> .Create(OnPersonaStateChange); m_GameOverlayActivated = Callback <GameOverlayActivated_t> .Create(OnGameOverlayActivated); m_GameServerChangeRequested = Callback <GameServerChangeRequested_t> .Create(OnGameServerChangeRequested); m_GameLobbyJoinRequested = Callback <GameLobbyJoinRequested_t> .Create(OnGameLobbyJoinRequested); m_AvatarImageLoaded = Callback <AvatarImageLoaded_t> .Create(OnAvatarImageLoaded); m_FriendRichPresenceUpdate = Callback <FriendRichPresenceUpdate_t> .Create(OnFriendRichPresenceUpdate); m_GameRichPresenceJoinRequested = Callback <GameRichPresenceJoinRequested_t> .Create(OnGameRichPresenceJoinRequested); m_GameConnectedClanChatMsg = Callback <GameConnectedClanChatMsg_t> .Create(OnGameConnectedClanChatMsg); m_GameConnectedChatJoin = Callback <GameConnectedChatJoin_t> .Create(OnGameConnectedChatJoin); m_GameConnectedChatLeave = Callback <GameConnectedChatLeave_t> .Create(OnGameConnectedChatLeave); m_GameConnectedFriendChatMsg = Callback <GameConnectedFriendChatMsg_t> .Create(OnGameConnectedFriendChatMsg); m_UnreadChatMessagesChanged = Callback <UnreadChatMessagesChanged_t> .Create(OnUnreadChatMessagesChanged); OnClanOfficerListResponseCallResult = CallResult <ClanOfficerListResponse_t> .Create(OnClanOfficerListResponse); OnDownloadClanActivityCountsResultCallResult = CallResult <DownloadClanActivityCountsResult_t> .Create(OnDownloadClanActivityCountsResult); OnJoinClanChatRoomCompletionResultCallResult = CallResult <JoinClanChatRoomCompletionResult_t> .Create(OnJoinClanChatRoomCompletionResult); OnFriendsGetFollowerCountCallResult = CallResult <FriendsGetFollowerCount_t> .Create(OnFriendsGetFollowerCount); OnFriendsIsFollowingCallResult = CallResult <FriendsIsFollowing_t> .Create(OnFriendsIsFollowing); OnFriendsEnumerateFollowingListCallResult = CallResult <FriendsEnumerateFollowingList_t> .Create(OnFriendsEnumerateFollowingList); OnSetPersonaNameResponseCallResult = CallResult <SetPersonaNameResponse_t> .Create(OnSetPersonaNameResponse); }
public List <ulong> GetFriends() { var ret = new List <ulong>(); var cnt = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < cnt; i++) { ret.Add(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate).m_SteamID); } return(ret); }
void GetFriends(EFriendFlags flags) { int numFriends = SteamFriends.GetFriendCount(flags); for (int i = 0; i < numFriends; ++i) { var friend = CreateSteamPlayer(SteamFriends.GetFriendByIndex(i, flags)); _friends.Add(friend); _friendSet.Add(friend.id.uuid); } }
static void OnFriendsList(SteamFriends.FriendsListCallback callback) { int friendCount = steamFriends.GetFriendCount(); Console.WriteLine("We have {0} friends", friendCount); foreach (var friend in callback.FriendList) { friendList.Add(friend.SteamID); } }
private string GetFriends() { int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); string friends = SteamUser.GetSteamID().m_SteamID.ToString() + ","; for (int i = 0; i < friendCount; i++) { CSteamID friendSteamId = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); friends = friends + friendSteamId.m_SteamID.ToString() + ","; } return(friends); }
public override void OnEnter() { steamIDList.Resize(0); int count = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < count; i++) { CSteamID ID = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); steamIDList.Resize(steamIDList.Length + 1); steamIDList.Set(steamIDList.Length - 1, ID.ToString()); } Finish(); }
/// <summary> /// Gets the steam friendslist /// </summary> /// <returns>a list of friends list names</returns> public string[] getfriendslist() { friendslisttemp.Clear(); int friendscount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); string[] output = new string[friendscount]; for (int i = 0; i < friendscount; i++) { output[i] = SteamFriends.GetFriendPersonaName(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagAll)); friendslisttemp.Add(output[i]); } return(output); }
public override void RequestFriendLobbyData() { EFriendFlags flags = EFriendFlags.k_EFriendFlagImmediate; int count = SteamFriends.GetFriendCount(flags); for (int i = 0; i < count; i++) { if (SteamFriends.GetFriendGamePlayed(SteamFriends.GetFriendByIndex(i, flags), out FriendGameInfo_t gameInfo) && !(gameInfo.m_gameID.AppID() != SteamUtils.GetAppID())) { SteamMatchmaking.RequestLobbyData(gameInfo.m_steamIDLobby); } } }
private void CreateFriendsListIfNecessary() { if (friends != null) { return; } friends = new List <SteamID>(); for (int i = 0; i < SteamFriends.GetFriendCount(); i++) { friends.Add(SteamFriends.GetFriendByIndex(i)); } }
// Token: 0x06000005 RID: 5 RVA: 0x0000235C File Offset: 0x0000055C private static void GetFriendList() { int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); Console.WriteLine(friendCount); for (int i = 0; i < friendCount; i++) { CSteamID friendByIndex = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); Console.WriteLine(friendByIndex); Console.WriteLine(SteamFriends.GetFriendPersonaName(friendByIndex)); } Program.finished = true; }
private void OnFriendsList(SteamFriends.FriendsListCallback callback) { Console.WriteLine($"We have {SteamFriends.GetFriendCount()} friends"); foreach (var friend in callback.FriendList) { SteamID steamIdFriend = friend.SteamID; if (friend.Relationship == EFriendRelationship.RequestRecipient) { SteamFriends.AddFriend(steamIdFriend); } Console.WriteLine($"Friend: {steamIdFriend.Render()}"); } }
static void onFriendList(SteamFriends.FriendsListCallback callback) { int friendCount = steamFriends.GetFriendCount(); Console.WriteLine("You have {0} friends", friendCount); foreach (var friend in callback.FriendList) { if (friend.Relationship == EFriendRelationship.RequestRecipient) { steamFriends.AddFriend(friend.SteamID); } } }
private List <ulong> GetFriends() { if (IsOnline) { var ret = new List <ulong>(); var cnt = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (var i = 0; i < cnt; i++) { ret.Add(SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate).m_SteamID); } return(ret); } return(null); }
private void UpdateSteam() { if (Multiplayer.Clock.ElapsedMilliseconds - lastFriendUpdate < 2000) { return; } friends.Clear(); int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; i++) { CSteamID friend = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); SteamFriends.GetFriendGamePlayed(friend, out FriendGameInfo_t friendGame); bool playingRimworld = friendGame.m_gameID.AppID() == SteamIntegration.RimWorldAppId; if (!playingRimworld) { continue; } int avatar = SteamFriends.GetSmallFriendAvatar(friend); string username = SteamFriends.GetFriendPersonaName(friend); string connectValue = SteamFriends.GetFriendRichPresence(friend, "connect"); CSteamID serverHost = CSteamID.Nil; if (connectValue != null && connectValue.Contains(SteamIntegration.SteamConnectStart) && ulong.TryParse(connectValue.Substring(SteamIntegration.SteamConnectStart.Length), out ulong hostId)) { serverHost = (CSteamID)hostId; } friends.Add(new SteamPersona() { id = friend, avatar = avatar, username = username, playingRimworld = playingRimworld, serverHost = serverHost, }); } friends.SortByDescending(f => f.serverHost != CSteamID.Nil); lastFriendUpdate = Multiplayer.Clock.ElapsedMilliseconds; }
private void Start() { if (!SteamManager.Initialized) { return; } string myName = SteamFriends.GetPersonaName(); int friendCount = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagImmediate); for (int i = 0; i < friendCount; i++) { CSteamID friend = SteamFriends.GetFriendByIndex(i, EFriendFlags.k_EFriendFlagImmediate); string friendName = SteamFriends.GetFriendPersonaName(friend); print(myName + " is friends with " + friendName); } }
/// <summary> /// A function that repeats every second to check games status. /// </summary> void refreshrep() { if (PhotonNetwork.connectedAndReady) { PhotonVoiceNetwork.Connect(); if (steammangercheck.issteamversion == true && SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll) > 0) { getfriendslist(); } if (PhotonNetwork.playerName != null) { namedisplaytext.text = "Player Name: " + PhotonNetwork.playerName; } if (steammangercheck.issteamversion == false) { steamconnectiontext.text = "Oculus Connected"; } else { steamconnectiontext.text = "SteamConnection: " + SteamAPI.IsSteamRunning().ToString(); } refresh(); } else if (PhotonNetwork.connectionStateDetailed != ClientState.JoinedLobby) { counter++; if (counter == 3) { PhotonNetwork.ConnectUsingSettings("1.0"); counter = 0; } } statustext.text = "status: " + PhotonNetwork.connectionStateDetailed; MainMenuValueHolder manvalueholder = GameObject.Find("MainMenuHolder").GetComponent <MainMenuValueHolder>(); MainMenuValueHolder manvalueholder2 = GameObject.Find("MainMenuHolder").GetComponent <MainMenuValueHolder>(); if ((manvalueholder.testarea == true || manvalueholder.tutorial == true || manvalueholder.campaign == true)) { Loading.SetActive(true); } if ((manvalueholder.testarea == true || manvalueholder.tutorial == true || manvalueholder.campaign == true) && joinedyet == false) { joinedyet = true; onevone(); Debug.Log("1v1"); } }
public override bool UseItem(Player player) { int count = SteamFriends.GetFriendCount(EFriendFlags.k_EFriendFlagAll); Main.NewText("Hello... " + SteamFriends.GetPersonaName()); //Main.NewText("I see you have friends:"); for (int friend = 0; friend < Math.Min(count, 10); friend += 1) { CSteamID steamid = SteamFriends.GetFriendByIndex(friend, EFriendFlags.k_EFriendFlagAll); Main.NewText(SteamFriends.GetFriendPersonaName(steamid)); } SteamMusicRemote.EnableShuffled(true); SteamMusicRemote.UpdateShuffled(true); SteamMusic.PlayNext(); return(false); }