Documentation Steamworks
Interface ISteamFriends
Interface qui permet d'accéder aux informations sur les utilisatrices et utilisateurs individuels et d'interagir avec l'Overlay Steam.

Fonctions membres

Les fonctions membres de ISteamFriends sont appelées par le biais de la fonction d'accesseur global SteamFriends().

ActivateGameOverlay

void ActivateGameOverlay( const char *pchDialog );
NomTypeDescription
pchDialogconst char *Dialogue à ouvrir. Les options possibles sont : « friends », « community », « players », « settings », « officialgamegroup », « stats », « achievements ».

Active l'Overlay Steam pour une boite de dialogue spécifique.

Cela équivaut à appeler ActivateGameOverlayToUser avec steamID réglé sur ISteamUser::GetSteamID.

Exemple :
SteamFriends()->ActivateGameOverlay( "friends" );

ActivateGameOverlayInviteDialog

void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby );
NomTypeDescription
steamIDLobbyCSteamIDLe SteamID de la salle d'attente à laquelle les personnes sélectionnées seront invitées.

Active l'Overlay Steam pour ouvrir la fenêtre de dialogue. Les invitations envoyées depuis cette boite de dialogue le seront pour la salle d'attente fournie.

ActivateGameOverlayToStore

void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag );
NomTypeDescription
nAppIDAppId_tAppID duquel afficher la page de la boutique.
eFlagEOverlayToStoreFlagMarqueurs pour modifier le comportement quand la page s'ouvre.

Active l'Overlay Steamvers la page du magasin Steam pour l'application fournie.

Utiliser k_uAppIdInvalid affiche la page principale de la boutique Steam.

ActivateGameOverlayToUser

void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID );
NomTypeDescription
pchDialogconst char *Dialogue à ouvrir.
steamIDCSteamIDSteamID du contexte dans lequel cette boite de dialogue doit s'ouvrir.

Active l'Overlay Steam pour une boite de dialogue spécifique.

Les options pchDialog valides sont :
  • « steamid » : ouvre l'overlay du navigateur web sur le profil du compte ou du groupe spécifié.
  • « chat » : ouvre une fenêtre de chat sur le compte spécifié ou rejoint le chat de groupe.
  • « jointrade » : ouvre une fenêtre sur une session d'échange Steam qui a été lancée avec l'API Web ISteamEconomy/StartTrade.
  • « stats » : ouvre l'overlay du navigateur Web sur les stats du compte spécifié.
  • « achievements » : ouvre l'overlay du navigateur web sur les succès du compte spécifié.
  • « friendadd » : ouvre l'overlay en mode minimal en demandant à la personne d'ajouter le compte ciblé comme contact.
  • « friendremove » : ouvre l'overlay en mode minimal en demandant à la personne de supprimer le compte ciblé de la liste de ses contacts.
  • « friendrequestaccept » : ouvre l'overlay en mode minimal en demandant à la personne d'accepter une invitation de contact entrante.
  • « friendrequestignore » : ouvre l'overlay en mode minimal en demandant à la personne d'ignorer une invitation de contact entrante.

ActivateGameOverlayToWebPage

void ActivateGameOverlayToWebPage( const char *pchURL );
NomTypeDescription
pchURLconst char *Page Web à ouvrir. (Une adresse complète contenant le protocole est requise, par ex. : http://www.steampowered.com.)
eModeEActivateGameOverlayToWebPageModeMode pour la page Web. Il est défini par défaut sur k_EActivateGameOverlayToWebPageMode_Default.

Active le navigateur Web Overlay Steam directement vers l'URL spécifiée.

ClearRichPresence

void ClearRichPresence();
Supprime toutes les clés/valeurs de présence enrichie du compte actuel.

CloseClanChatWindowInSteam

bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat );
NomTypeDescription
steamIDClanChatCSteamIDSteamID de la salle de chat de groupe Steam à fermer.

Ferme la salle de chat de groupe Steam dans l'interface Steam.

Éléments renvoyés : bool
true si la personne a bien quitté la salle de chat de groupe Steam.
false si la personne n'est pas dans la salle de chat de groupe Steam fournie.

Consulter également : IsClanChatWindowOpenInSteam, OpenClanChatWindowInSteam

DownloadClanActivityCounts

SteamAPICall_t DownloadClanActivityCounts( CSteamID *psteamIDClans, int cClansToRequest );
NomTypeDescription
psteamIDClansCSteamID *Liste des groupes Steam pour lesquels obtenir les données mises à jour.
cClansToRequestintCela DOIT être le nombre de groupes dans psteamIDClans.

Actualise les données d'activité du groupe Steam ou obtient les données des groupes autres que ceux dont le compte actuel est membre.

Après avoir reçu le rappel, vous pouvez alors utiliser GetClanActivityCounts pour obtenir des décomptes de personnes à jour.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel DownloadClanActivityCountsResult_t.

EnumerateFollowingList

SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex );
NomTypeDescription
unStartIndexuint32Index à partir duquel vous commencez à recevoir des abonné(e)s. Il doit être égal à 0 lors du premier appel.

Obtient la liste des comptes suivis par le compte actuel.

Vous pouvez suivre des personnes qui ne sont pas vos contacts. Le suivi vous permet de recevoir des mises à jour lorsque la personne effectue des actions comme la publication d'un nouveau contenu sur le Workshop Steam.

REMARQUE : cela renvoie jusqu'à k_cEnumerateFollowersMax comptes en même temps. Si le compte actuel en suit davantage, vous devrez effectuer cet appel de manière répétée, avec unStartIndex défini sur le nombre total d'abonné(e)s que vous avez reçu jusqu'ici.
Par exemple : si vous avez reçu 50 abonné(e)s et que le compte en suit 105, vous devrez effectuer cet appel à nouveau avec unStartIndex = 50 pour obtenir les 50 suivants, puis à nouveau avec unStartIndex = 100 pour recevoir les 5 comptes restants.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel FriendsEnumerateFollowingList_t.


Exemple :
class CEnumerateFollowingListExample { public: void GetWhoWeFollow(); private: void OnFriendsEnumerateFollowingList( FriendsEnumerateFollowingList_t *pCallback, bool bIOFailure ); CCallResult< CEnumerateFollowingListExample, FriendsEnumerateFollowingList_t > m_SteamCallResultFriendsEnumerateFollowingList; int m_nFollowersParsed; }; void CEnumerateFollowingListExample::GetWhoWeFollow() { m_nFollowersParsed = 0; printf( "Getting the list of users that we follow.\n" ); SteamAPICall_t handle = SteamFriends()->EnumerateFollowingList( 0 ); m_SteamCallResultFriendsEnumerateFollowingList.Set( handle, this, &CEnumerateFollowingListExample::OnFriendsEnumerateFollowingList ); } void CEnumerateFollowingListExample::OnFriendsEnumerateFollowingList( FriendsEnumerateFollowingList_t *pCallback, bool bIOFailure ) { if ( pCallback->m_eResult != k_EResultOK || bIOFailure ) { printf( "OnFriendsEnumerateFollowingList failed with m_eResult: %d and bIOFailure: %d!", pCallback->m_eResult, bIOFailure ); return; } printf( "FriendsEnumerateFollowingList retrieved %d of %d people that we follow.\n", pCallback->m_nResultsReturned, pCallback->m_nTotalResultCount ); for ( int i = 0; i < pCallback->m_nResultsReturned; ++i ) { printf( " %d: %lld\n", i, pCallback->m_rgSteamID[i].ConvertToUint64() ); } [/i] m_nFollowersParsed += pCallback->m_nResultsReturned; // Il y a plus d'abonné(e)s ! Récupérez la prochaine série ! if ( m_nFollowersParsed < pCallback->m_nTotalResultCount ) { SteamAPICall_t handle = SteamFriends()->EnumerateFollowingList( pCallback->m_nResultsReturned ); m_SteamCallResultFriendsEnumerateFollowingList.Set( handle, this, &CEnumerateFollowingListExample::OnFriendsEnumerateFollowingList ); } }

GetChatMemberByIndex

CSteamID GetChatMemberByIndex( CSteamID steamIDClan, int iUser );
NomTypeDescription
steamIDClanCSteamIDLa source DOIT être identique à celle utilisée dans l'appel précédent à GetClanChatMemberCount !
iUserintIndex compris entre 0 et GetClanChatMemberCount.

Obtient le SteamID à l'index donné dans un chat de groupe Steam.

REMARQUE : vous devez appeler GetClanChatMemberCount avant d'appeler cette fonction.

Éléments renvoyés : CSteamID
Les index non valides renvoient k_steamIDNil.

GetClanActivityCounts

bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting );
NomTypeDescription
steamIDClanCSteamIDGroupe Steam pour lequel obtenir l'activité.
pnOnlineint *Renvoie le nombre de membres en ligne.
pnInGameint *Renvoie le nombre de membres en jeu (sauf ceux dont l'état est défini sur hors ligne).
pnChattingint *Renvoie le nombre de membres dans la salle de chat de groupe.

Obtient les informations les plus récentes dont nous disposons sur les activités des comptes d'un groupe Steam.

Cela permet uniquement de récupérer les données que connait le client local. Pour actualiser les données ou obtenir les données d'un groupe autre que celui dont le compte actuel est membre, vous devez appeler DownloadClanActivityCounts.

Éléments renvoyés : bool
true si les données ont été renvoyées avec succès.
false si le SteamID fourni n'est pas valide ou si le client local n'a aucune information à propos du groupe Steam et définit tous les autres paramètres sur 0.

GetClanByIndex

CSteamID GetClanByIndex( int iClan );
NomTypeDescription
iClanintIndex compris entre 0 et GetClanCount.

Obtient le SteamID du groupe Steam à l'index donné.

REMARQUE : vous devez appeler GetClanCount avant d'appeler cette fonction.

Éléments renvoyés : CSteamID
Les index non valides renvoient k_steamIDNil.

GetClanChatMemberCount

int GetClanChatMemberCount( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDGroupe Steam pour lequel obtenir le nombre de personnes dans le chat.

Obtient le nombre de personnes dans un chat de groupe Steam.

REMARQUE : les groupes Steam volumineux ne peuvent pas être itérés par le compte local.

REMARQUE : le compte actuel doit se trouver dans la salle d'attente pour récupérer les SteamID d'autres comptes dans cette salle d'attente.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetChatMemberByIndex peut être utilisé pour obtenir le SteamID de chaque personne dans le chat.

Éléments renvoyés : int
0 si le SteamID fourni n'est pas valide ou si le compte local ne dispose pas des données.

GetClanChatMessage

int GetClanChatMessage( CSteamID steamIDClanChat, int iMessage, void *prgchText, int cchTextMax, EChatEntryType *peChatEntryType, CSteamID *psteamidChatter );
NomTypeDescription
steamIDClanChatCSteamIDSteamID de la salle de chat de groupe Steam.
iMessageintIndex du message. Il devrait s'agir du champ m_iMessageID de GameConnectedClanChatMsg_t.
prgchTextvoid *Tampon où sera copié le message de chat. (Il doit être suffisamment volumineux pour accueillir 2048 caractères UTF-8. C'est-à-dire 8192 octets + 1 pour '\0'.)
cchTextMaxintTaille de prgchText.
peChatEntryTypeEChatEntryType *Renvoie le type de l'entrée de chat qui a été reçue.
psteamidChatterCSteamID *Renvoie le SteamID du compte qui a envoyé le message.

Obtient les données d'un message de salle de chat de groupe Steam.

Cet appel ne devrait être effectué qu'en réponse à un rappel GameConnectedClanChatMsg_t.

Éléments renvoyés : int
La quantité d'octets copiés dans prgchText.
Renvoie 0 et ajuste peChatEntryType sur k_EChatEntryTypeInvalid si le compte actuel n'est pas dans la salle de chat de groupe Steam ou si l'index fourni dans iMessage n'est pas valide.

GetClanCount

int GetClanCount();
Obtient le nombre de groupes Steam dont le compte actuel est membre.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetClanByIndex peut être utilisé pour obtenir le SteamID de chaque groupe Steam.

Éléments renvoyés : int
Nombre de groupes Steam dont le compte est membre.

Exemple :
void ListSteamGroups() { int nGroups = SteamFriends()->GetClanCount(); printf( "Listing %d Steam Groups\n", nGroups ); for ( int i = 0; i < nGroups; ++i ) { CSteamID groupSteamID = SteamFriends()->GetClanByIndex( i ); const char *szGroupName = SteamFriends()->GetClanName( groupSteamID ); const char *szGroupTag = SteamFriends()->GetClanTag( groupSteamID ); int nOnline, nInGame, nChatting; bool success = SteamFriends()->GetClanActivityCounts( groupSteamID, &nOnline, &nInGame, &nChatting ); printf( "Group %d - ID: %lld - Name: '%s' - Tag: '%s'\n", i, groupSteamID.ConvertToUint64(), szGroupName, szGroupTag ); printf( " - Online: %d, In Game: %d, Chatting: %d\n", nOnline, nInGame, nChatting ); } }

GetClanName

const char * GetClanName( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDGroupe Steam pour lequel obtenir le nom.

Obtient le nom affiché pour le groupe Steam spécifié, si le client local le connait.

Éléments renvoyés : const char *
Nom du groupe Steam au format UTF-8. Renvoie une chaine vide («  ») si le SteamID fourni n'est pas valide ou si le compte ne connait pas le groupe.

Consulter également : DownloadClanActivityCounts

GetClanOfficerByIndex

CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer );
NomTypeDescription
steamIDClanCSteamIDLe groupe Steam doit être identique à celui utilisé dans l'appel précédent à GetClanOfficerCount !
iOfficerintIndex compris entre 0 et GetClanOfficerCount.

Obtient le SteamID du responsable à l'index donné dans un groupe Steam.

REMARQUE : vous devez appeler GetClanOfficerCount avant d'appeler cette fonction.

Éléments renvoyés : CSteamID
k_steamIDNil si steamIDClan ou iOfficer ne sont pas valides.

GetClanOfficerCount

int GetClanOfficerCount( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDGroupe Steam pour lequel obtenir le nombre de responsables dans le chat.

Obtient le nombre de responsables (d'administration et de modération) dans un groupe Steam spécifié.

Cela inclut également le ou la propriétaire du groupe Steam.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetClanOfficerByIndex peut être utilisé pour obtenir le SteamID de chaque responsable.

REMARQUE : vous devez appeler RequestClanOfficerList avant cette fonction pour obtenir les données requises !

Éléments renvoyés : int
Nombre de responsables dans le groupe Steam. Renvoie 0 si steamIDClan n'est pas valide ou si RequestClanOfficerList n'a pas été appelé.

GetClanOwner

CSteamID GetClanOwner( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDSteamID du groupe Steam pour lequel obtenir le ou la propriétaire.

Obtient le ou la propriétaire d'un groupe Steam.

REMARQUE : vous devez appeler RequestClanOfficerList avant cette fonction pour obtenir les données requises !

Éléments renvoyés : CSteamID
Renvoie k_steamIDNil si steamIDClan n'est pas valide ou si RequestClanOfficerList n'a pas été appelé.

GetClanTag

const char * GetClanTag( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDGroupe Steam pour lequel obtenir le tag.

Obtient le tag (abréviation) unique pour le groupe Steam spécifié, si le client local le connait.

L'abréviation du groupe Steam est un moyen unique pour les personnes d'identifier le groupe ; elle est limitée à 12 caractères. Dans certains jeux, elle apparaitra en regard du nom des membres du groupe.

Éléments renvoyés : const char *
Tag du groupe Steam au format UTF-8. Renvoie une chaine vide («  ») si le SteamID fourni n'est pas valide ou si le compte ne connait pas le groupe.

Consulter également : DownloadClanActivityCounts

GetCoplayFriend

CSteamID GetCoplayFriend( int iCoplayFriend );
NomTypeDescription
iCoplayFriendintIndex compris entre 0 et GetCoplayFriendCount.

Obtient le SteamID du compte avec lequel vous avez joué récemment à l'index donné.

REMARQUE : vous devez appeler GetCoplayFriendCount avant d'appeler cette fonction.

Éléments renvoyés : CSteamID
Les index non valides renvoient k_steamIDNil.

GetCoplayFriendCount

int GetCoplayFriendCount();
Obtient le nombre de personnes avec lequel l'utilisatrice ou l'utilisateur actuel a joué récemment, dans tous les jeux.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetCoplayFriend peut être utilisé pour obtenir le SteamID de chaque compte.

Ces personnes ont été définies avec des appels précédents sur SetPlayedWith.

Éléments renvoyés : int
Nombre de comptes avec lequel le compte actuel a joué récemment.

Exemple :
void ListRecentlyPlayedWithList() { int nPlayers = SteamFriends()->GetCoplayFriendCount(); printf( "Listing %d Recently Played with Players\n", nPlayers ); for ( int i = 0; i < nPlayers; ++i ) { CSteamID playerSteamID = SteamFriends()->GetCoplayFriend( i ); int iTimeStamp = SteamFriends()->GetFriendCoplayTime( playerSteamID ); AppId_t app = SteamFriends()->GetFriendCoplayGame( playerSteamID ); printf( "Player %d - ID: %lld - Time: %d - App: %d\n", i, playerSteamID.ConvertToUint64(), iTimeStamp, app ); } }

GetFollowerCount

SteamAPICall_t GetFollowerCount( CSteamID steamID );
NomTypeDescription
steamIDCSteamIDCompte pour lequel obtenir le nombre d'abonné(e)s.

Obtient le nombre de personnes qui suivent le compte spécifié.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel FriendsGetFollowerCount_t.


Exemple :
class GetFollowerCountExample { public: void GetFollowerCount(); private: void OnFriendsGetFollowerCount( FriendsGetFollowerCount_t *pCallback, bool bIOFailure ); CCallResult< GetFollowerCountExample, FriendsGetFollowerCount_t > m_SteamCallResultFriendsGetFollowerCount; }; void GetFollowerCountExample::GetFollowerCount() { printf( "Getting the number of users who follow us.\n" ); SteamAPICall_t handle = SteamFriends()->GetFollowerCount( SteamUser()->GetSteamID() ); m_SteamCallResultFriendsGetFollowerCount.Set( handle, this, &GetFollowerCountExample::OnFriendsGetFollowerCount ); } void GetFollowerCountExample::OnFriendsGetFollowerCount( FriendsGetFollowerCount_t *pCallback, bool bIOFailure ) { if ( pCallback->m_eResult != k_EResultOK || bIOFailure ) { printf( "OnFriendsGetFollowerCount failed for %lld with m_eResult: %d and bIOFailure: %d!", pCallback->m_steamID.ConvertToUint64(), pCallback->m_eResult, bIOFailure ); return; } printf( "Got a FriendsGetFollowerCount_t, we have %d followers.\n", pCallback->m_nCount ); }

GetFriendByIndex

CSteamID GetFriendByIndex( int iFriend, int iFriendFlags );
NomTypeDescription
iFriendintIndex compris entre 0 et GetFriendCount.
iFriendFlagsintCombinaison (binaire « or ») de EFriendFlags. Il doit s'agir de la même valeur utilisée dans l'appel précédent à GetFriendCount.

Obtient le SteamID du compte à l'index donné.

REMARQUE : vous devez appeler GetFriendCount avant d'appeler cette fonction.

Éléments renvoyés : CSteamID
Les index non valides renvoient k_steamIDNil.

GetFriendCoplayGame

AppId_t GetFriendCoplayGame( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID du compte dans la liste des « Partenaires de jeu » pour lequel obtenir le nom du titre joué.

Obtient l'AppID du jeu auquel cette personne a joué avec quelqu'un dans sa liste des « Partenaires de jeu ».

Éléments renvoyés : AppId_t
Les SteamID qui ne sont pas dans la liste des « Partenaires de jeu » renvoient k_uAppIdInvalid.

GetFriendCoplayTime

int GetFriendCoplayTime( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID du compte dans la liste des « Partenaires de jeu » pour lequel obtenir l'horodatage.

Obtient l'horodatage du moment où la personne a joué avec quelqu'un dans sa liste des « Partenaires de jeu ».

Éléments renvoyés : int
L'heure est au format « depuis l'époque Unix » (secondes écoulées depuis le 1ᵉʳ janvier 1970).
Les SteamID qui ne sont pas dans la liste des « Partenaires de jeu » renvoient 0.

GetFriendCount

int GetFriendCount( int iFriendFlags );
NomTypeDescription
iFriendFlagsintCombinaison (binaire « or ») d'un ou plus EFriendFlags.

Obtient le nombre de comptes que le client connait et qui répond à un critère spécifié. (Contacts, comptes bloqués, personnes sur le même serveur, etc.)

Elle peut être utilisée pour effectuer une itération sur tous les comptes en appelant GetFriendByIndex pour obtenir les SteamID de chacun.

Éléments renvoyés : int
Nombre de comptes répondant au critère spécifié.

REMARQUE : renvoie -1 si le compte actuel n'est pas connecté.

Exemple :
int nFriends = SteamFriends()->GetFriendCount( k_EFriendFlagImmediate ); if ( nFriends == -1) { printf( "GetFriendCount returned -1, the current user is not logged in.\n" ); // Nous recommandons de toujours ramener ce chiffre à 0, au cas où vous souhaiteriez faire autre chose, comme allouer // un tableau à cette valeur, ou effectuer un cycle qui ne prendrait pas en compte la valeur -1. nFriends = 0; } for ( int i = 0; i < nFriends; ++i ) { CSteamID friendSteamID = SteamFriends()->GetFriendByIndex( i, k_EFriendFlagImmediate ); const char *friendName = SteamFriends()->GetFriendPersonaName( friendSteamID ); printf( "Friend %d: %lld - %s\n", i, friendSteamID.ConvertToUint64(), friendName ); }

GetFriendCountFromSource

int GetFriendCountFromSource( CSteamID steamIDSource );
NomTypeDescription
steamIDSourceCSteamIDGroupe Steam, la salle de chat, la salle d'attente ou le serveur de jeu pour lequel obtenir le nombre de personnes.

Obtient le nombre de comptes dans une source (groupe Steam, salle de chat, salle d'attente ou serveur de jeu).

REMARQUE : les groupes Steam volumineux ne peuvent pas être itérés par le compte local.

REMARQUE : si vous voulez obtenir le nombre de membres dans la salle d'attente, utilisez plutôt ISteamMatchmaking::GetNumLobbyMembers.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetFriendFromSourceByIndex peut être utilisé pour obtenir le SteamID de chaque personne dans la source.

Éléments renvoyés : int
0 si le SteamID fourni n'est pas valide ou si le compte local ne dispose pas des données.

GetFriendFromSourceByIndex

CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend );
NomTypeDescription
steamIDSourceCSteamIDLa source DOIT être identique à celle utilisée dans l'appel précédent à GetFriendCountFromSource !
iFriendintIndex compris entre 0 et GetFriendCountFromSource.

Obtient le SteamID à l'index donné d'une source (groupe Steam, salle de chat, salle d'attente ou serveur de jeu).

REMARQUE : vous devez appeler GetFriendCountFromSource avant d'appeler cette fonction.

Éléments renvoyés : CSteamID
Les index non valides renvoient k_steamIDNil.

GetFriendGamePlayed

bool GetFriendGamePlayed( CSteamID steamIDFriend, FriendGameInfo_t *pFriendGameInfo );
NomTypeDescription
steamIDFriendCSteamIDSteamID de l'autre compte.
pFriendGameInfoFriendGameInfo_t *Renseigne les informations si la personne est en train de jouer.

Vérifie si le contact spécifié est en train de jouer et, si c'est le cas, obtient les informations du jeu.

Éléments renvoyés : bool
true si la personne est un contact et est en jeu. Sinon, renvoie false.

GetFriendMessage

int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType );
NomTypeDescription
steamIDFriendCSteamIDSteamID du contact qui a envoyé ce message.
iMessageIDintIndex du message. Il devrait s'agir du champ m_iMessageID de GameConnectedFriendChatMsg_t.
pvDatavoid *Tampon où sera copié le message de chat.
cubDataintTaille de pvData.
peChatEntryTypeEChatEntryType *Renvoie le type de l'entrée de chat qui a été reçue.

Obtient les données d'un message d'un contact Steam.

Cet appel ne devrait être effectué qu'en réponse à un rappel GameConnectedFriendChatMsg_t.

Éléments renvoyés : int
La quantité d'octets copiés dans pvData.
Renvoie 0 et ajuste peChatEntryType sur k_EChatEntryTypeInvalid si le compte actuel est restreint au niveau du chat, si le SteamID fourni n'est pas un contact ou si l'index fourni dans iMessageID n'est pas valide.

GetFriendPersonaName

const char * GetFriendPersonaName( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID de l'autre compte.

Obtient le nom de profil (affiché) du compte spécifié.

Il sera connu uniquement de l'utilisatrice ou utilisateur actuel si l'autre personne se trouve dans sa liste de contacts, sur le même serveur de jeu, dans une salle de chat ou une salle d'attente, ou dans un petit groupe Steam avec le compte local.

REMARQUE : en rejoignant une salle d'attente, une salle de chat ou un serveur de jeu pour la première fois, le ou la titulaire du compte actuel n'obtiendra pas automatiquement le nom des autres personnes. Cette information arrivera de manière asynchrone via les rappels PersonaStateChange_t .

Pour obtenir le nom de profil du compte actuel, utilisez GetPersonaName.

Éléments renvoyés : const char *
Nom de profil du compte actuel au format UTF-8. Ne peut pas être NULL.

Renvoie une chaine vide («  »), ou « [unknown] » si le SteamID n'est pas valide ou inconnu de l'appelant.

GetFriendPersonaNameHistory

const char * GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName );
NomTypeDescription
steamIDFriendCSteamIDSteamID de l'autre compte.
iPersonaNameintIndex de l'historique à recevoir. 0 est son nom de profil actuel, 1 est son nom de profil le plus récent avant modification, etc.

Obtient l'un des pseudos précédents pour le compte spécifié.

Cela fonctionne uniquement avec les pseudos que l'utilisatrice ou l'utilisateur actuel a vus sur l'ordinateur local.

Éléments renvoyés : const char *
L'ancien nom de profil du compte à l'index donné. Renvoie une chaine vide lorsqu'il n'y a plus d'autres éléments dans l'historique.

GetFriendPersonaState

EPersonaState GetFriendPersonaState( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID de l'autre compte.

Obtient l'état actuel du compte spécifié.

Il sera connu uniquement de l'utilisatrice ou utilisateur actuel si l'autre personne se trouve dans sa liste de contacts, sur le même serveur de jeu, dans une salle de chat ou une salle d'attente, ou dans un petit groupe Steam avec le compte local.

Pour obtenir l'état du compte actuel, utilisez GetPersonaState.

Éléments renvoyés : EPersonaState
L'état de contact du compte spécifié. (en ligne, hors ligne, en jeu, etc.).

GetFriendRelationship

EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID de l'autre compte.

Obtient la relation avec un compte spécifié.

Éléments renvoyés : EFriendRelationship
Comment se connaissent les deux propriétaires des comptes.

GetFriendRichPresence

const char * GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey );
NomTypeDescription
steamIDFriendCSteamIDContact pour lequel obtenir la valeur de présence enrichie.
pchKeyconst char *Clé de présence enrichie à demander.

Obtient la valeur de présence enrichie pour un contact spécifié.

Éléments renvoyés : const char *
Renvoie une chaine vide («  ») si la clé spécifiée n'est pas définie.

Consulter également : RequestFriendRichPresence, SetRichPresence

GetFriendRichPresenceKeyByIndex

const char * GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey );
NomTypeDescription
steamIDFriendCSteamIDLe compte doit être le même que celui utilisé dans l'appel précédent à GetFriendRichPresenceKeyCount !
iKeyintIndex compris entre 0 et GetFriendRichPresenceKeyCount.



Éléments renvoyés : const char *
Renvoie une chaine vide («  ») si l'index n'est pas valide ou si aucune donnée de présence enrichie n'est disponible pour le compte spécifié.

GetFriendRichPresenceKeyCount

int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID du compte pour lequel obtenir le nombre de clés de présence enrichie.

Obtient le nombre de clés de présence enrichie définies pour le compte spécifié.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetFriendRichPresenceKeyByIndex peut être utilisé pour obtenir les clés de présence enrichie.

Cette fonction n'est généralement utilisée qu'à des fins de débogage.

Éléments renvoyés : int
Renvoie 0 s'il n'y a aucune information de présence enrichie pour le compte spécifié.

GetFriendsGroupCount

int GetFriendsGroupCount();
Obtient le nombre de groupes de contacts (tags) que le compte a créés.

Cette fonction est utilisée pour l'itération. Après l'avoir appelée, GetFriendsGroupIDByIndex peut être utilisé pour obtenir l'ID de chaque groupe de contacts.

À ne pas confondre avec les groupes Steam. Ils peuvent être obtenus avec GetClanCount.

Éléments renvoyés : int
Nombre de groupes de contacts du compte actuel.

Exemple :
void ListFriendsGroups() { int nGroups = SteamFriends()->GetFriendsGroupCount(); for ( int i = 0; i < nGroups; ++i ) { FriendsGroupID_t friendsGroupID = SteamFriends()->GetFriendsGroupIDByIndex( i ); const char *szFriendsGroupName = SteamFriends()->GetFriendsGroupName( friendsGroupID ); int nFriendsGroupMembers = SteamFriends()->GetFriendsGroupMembersCount( friendsGroupID ); printf( "Group %d - ID: %d - Name: '%s' - Members: %d\n", i, friendsGroupID, szFriendsGroupName, nFriendsGroupMembers ); std::vector<CSteamID> friends( nFriendsGroupMembers ); SteamFriends()->GetFriendsGroupMembersList( friendsGroupID, friends.data(), nFriendsGroupMembers ); for ( int j = 0; j < nFriendsGroupMembers; ++j ) { printf( " - Member %d - ID: %lld\n", j, friends[j].ConvertToUint64() ); } } }

GetFriendsGroupIDByIndex

FriendsGroupID_t GetFriendsGroupIDByIndex( int iFG );
NomTypeDescription
iFGintIndex compris entre 0 et GetFriendsGroupCount.

Obtient l'ID du groupe de contacts pour l'index donné.

Remarque : vous devez appeler GetFriendsGroupCount avant d'appeler cette fonction.

Éléments renvoyés : FriendsGroupID_t
Les index non valides renvoient k_FriendsGroupID_Invalid.

GetFriendsGroupMembersCount

int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID );
NomTypeDescription
friendsGroupIDFriendsGroupID_tID du groupe de contacts pour lequel obtenir le nombre de contacts.

Obtient le nombre de contacts dans un groupe de contacts donné.

Avant d'obtenir la liste de contacts, effectuez un appel avec GetFriendsGroupMembersList.

Éléments renvoyés : int
Nombre de contacts dans le groupe de contacts spécifié.

Consultez également : GetFriendsGroupCount

GetFriendsGroupMembersList

void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, CSteamID *pOutSteamIDMembers, int nMembersCount );
NomTypeDescription
friendsGroupIDFriendsGroupID_tID du groupe de contacts pour lequel obtenir la liste des membres.
pOutSteamIDMembersCSteamID *Renvoie les SteamID des contacts en les définissant dans ce tableau.
nMembersCountintCela doit correspondre au nombre d'éléments alloués dans pOutSteamIDMembers et à la valeur renvoyée par GetFriendsGroupMembersCount.

Obtient le nombre de contacts dans un groupe de contacts donné.

S'il y a moins de contacts que prévu, les SteamID de ces positions ne seront pas valides.

Vous devez appeler GetFriendsGroupMembersCount avant d'appeler cette fonction pour obtenir un tableau de pOutSteamIDMembers à la bonne taille !

Consulter également : GetFriendsGroupCount

GetFriendsGroupName

const char * GetFriendsGroupName( FriendsGroupID_t friendsGroupID );
NomTypeDescription
friendsGroupIDFriendsGroupID_tID du groupe de contacts pour lequel obtenir le nom.

Obtient le nom pour le groupe de contacts donné.

Éléments renvoyés : const char *
Nom du groupe de contacts au format UTF-8. Renvoie NULL si l'ID du groupe n'est pas valide.

Consulter également : GetFriendsGroupCount

GetFriendSteamLevel

int GetFriendSteamLevel( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID du compte.

Obtient le niveau Steam du compte spécifié.

Vous pouvez utiliser le SteamID du compte local (ISteamUser::GetSteamID) pour obtenir son niveau.

Éléments renvoyés : int
Niveau Steam s'il est disponible.

Si le niveau Steam n'est pas disponible immédiatement pour le compte spécifié, cela renvoie 0 et le place en file d'attente de téléchargement auprès des serveurs Steam. Après son téléchargement, un rappel PersonaStateChange_t sera publié avec m_nChangeFlags, dont k_EPersonaChangeSteamLevel.

GetLargeFriendAvatar

int GetLargeFriendAvatar( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamID

Obtient un handle de l'avatar grand format (128 x 128 px) pour le compte spécifié.

Vous pouvez passer ISteamUser::GetSteamID pour obtenir l'avatar du compte actuel.

REMARQUE : cela ne fonctionne qu'avec les personnes que connait l'utilisatrice ou l'utilisateur local. La personne connaitra automatiquement ses contacts, les personnes présentes dans les classements demandés ou les personnes présentes dans la même source que lui (groupe Steam, salle de chat, salle d'attente ou serveur de jeu). Si elle ne les connait pas, vous devez appeler RequestUserInformation pour mettre en cache l'avatar en local.

Éléments renvoyés : int
Déclenche un rappel AvatarImageLoaded_t.
Handle d'image Steam utilisé avec ISteamUtils::GetImageSize et ISteamUtils::GetImageRGBA.
Renvoie 0 si aucun avatar n'est défini pour le compte.
Renvoie -1 si les données d'image de l'avatar n'ont pas encore été chargées et demande son téléchargement. Dans ce cas, attendez un rappel AvatarImageLoaded_t puis effectuez un nouvel appel.

Consultez également : GetMediumFriendAvatar, GetSmallFriendAvatar

GetMediumFriendAvatar

int GetMediumFriendAvatar( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamID

Obtient un handle de l'avatar de format intermédiaire (64 x 64 px) pour le compte spécifié.

Vous pouvez passer ISteamUser::GetSteamID pour obtenir l'avatar du compte actuel.

REMARQUE : cela ne fonctionne qu'avec les personnes que connait l'utilisatrice ou l'utilisateur local. La personne connaitra automatiquement ses contacts, les personnes présentes dans les classements demandés ou les personnes présentes dans la même source que lui (groupe Steam, salle de chat, salle d'attente ou serveur de jeu). Si elle ne les connait pas, vous devez appeler RequestUserInformation pour mettre en cache l'avatar en local.

Éléments renvoyés : int
Handle d'image Steam utilisé avec ISteamUtils::GetImageSize et ISteamUtils::GetImageRGBA.
Renvoie 0 si aucun avatar n'est défini pour le compte.

Consulter également : GetLargeFriendAvatar, GetSmallFriendAvatar

GetPersonaName

const char * GetPersonaName();
Obtient le nom de profil (affiché) du compte actuel.

Il s'agit du même nom affiché sur la page de profil de la communauté du compte.

Pour obtenir les noms de profil d'autres comptes, utilisez GetFriendPersonaName.

Éléments renvoyés : const char *
Nom de profil du compte actuel au format UTF-8. Ne peut pas être NULL.

GetPersonaState

EPersonaState GetPersonaState();
Obtient l'état de contact du compte actuel.

Pour obtenir l'état d'autres comptes, utilisez GetFriendPersonaState.

Éléments renvoyés : EPersonaState
État de contact du compte actuel. (en ligne, hors ligne, en jeu, etc.).

GetPlayerNickname

const char * GetPlayerNickname( CSteamID steamIDPlayer );
NomTypeDescription
steamIDPlayerCSteamIDSteamID du compte.

Obtient le pseudonyme que l'utilisatrice ou utilisateur actuel a défini pour la personne spécifiée.

Éléments renvoyés : const char *
NULL si aucun pseudonyme n'a été défini pour cette personne.

GetSmallFriendAvatar

int GetSmallFriendAvatar( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamID

Obtient un handle de l'avatar petit format (32 x 32 px) pour le compte spécifié.

Vous pouvez passer ISteamUser::GetSteamID pour obtenir l'avatar de l'utilisatrice ou de l'utilisateur actuel.

REMARQUE : cela ne fonctionne qu'avec les personnes connues du compte local. Le ou la titulaire du compte connaitra automatiquement ses contacts, les personnes présentes dans les classements demandés ou les personnes présentes dans la même source que lui (groupe Steam, salle de chat, salle d'attente ou serveur de jeu). Si ce n'est pas le cas, vous devez appeler RequestUserInformation pour mettre en cache l'avatar en local.

Éléments renvoyés : int
Handle d'image Steam utilisé avec ISteamUtils::GetImageSize et ISteamUtils::GetImageRGBA.
Renvoie 0 si aucun avatar n'est défini pour le compte.

Consulter également : GetLargeFriendAvatar, GetMediumFriendAvatar

GetUserRestrictions

uint32 GetUserRestrictions();
Vérifie si le compte actuel est restreint au niveau du chat.

S'il est restreint, il ne peut pas envoyer ou recevoir de messages de chat texte/vocal et ne peut pas voir les avatars personnalisés.
Un compte restreint au niveau du chat ne peut pas ajouter de contact ou rejoindre d'autres groupes.
Les comptes restreints peuvent cependant être connectés et envoyer et recevoir des invitations à un jeu.

Éléments renvoyés : uint32
Voir : EUserRestriction

HasFriend

bool HasFriend( CSteamID steamIDFriend, int iFriendFlags );
NomTypeDescription
steamIDFriendCSteamIDCompte Steam pour lequel vérifier l'état de contact.
iFriendFlagsintUne combinaison (binaire « or ») d'un ou plus EFriendFlags.

Vérifie si le compte répond aux critères spécifiés. (Contacts, comptes bloqués, personnes sur le même serveur, etc.)

Éléments renvoyés : bool
true si le compte spécifié répond à l'un des critères indiqués dans iFriendFlags. Sinon, renvoie false.

InviteUserToGame

bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString );
NomTypeDescription
steamIDFriendCSteamIDSteamID du contact à inviter.
pchConnectStringconst char *Une chaine qui permet au contact de savoir comment rejoindre le jeu (par exemple, l'adresse IP du serveur de jeu). Ne peut pas dépasser la longueur spécifiée dans k_cchMaxRichPresenceValueLength.

Invite un contact ou membre de clan dans la partie actuelle à l'aide d'une chaine d'invitation spéciale.

Si le compte cible accepte l'invitation, la chaine pchConnectString est ajoutée à la ligne de commande au lancement du jeu.
Si le jeu est déjà lancé pour celui-ci, il recevra un rappel GameRichPresenceJoinRequested_t avec la chaine de connexion.

Éléments renvoyés : bool
Déclenche un rappel GameRichPresenceJoinRequested_t.
true si l'invitation a été envoyée avec succès.
false dans les conditions suivantes :
  • le SteamID fourni pour steamIDFriend n'était pas valide ;
  • le SteamID fourni pour steamIDFriend n'est pas un contact ou ne partage pas le même groupe Steam que le compte actuel ;
  • la valeur fournie pour pchConnectString était trop longue.

Consulter également : ISteamMatchmaking::InviteUserToLobby

IsClanChatAdmin

bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser );
NomTypeDescription
steamIDClanChatCSteamIDSteamID de la salle de chat de groupe Steam.
steamIDUserCSteamIDSteamID du compte pour lequel vérifier l'état d'administrateur.

Vérifie si un compte dans la salle de chat d'un groupe Steam possède des droits d'administration.

Éléments renvoyés : bool
true si le compte spécifié jouit de droits d'administration.
false si le compte n'est pas administrateur, si le compte actuel ne se trouve pas dans la salle de chat spécifiée ou si le compte spécifié n'est pas dans la salle de chat.

IsClanPublic

bool IsClanPublic( CSteamID steamIDClan );
NomTypeDescription
steamIDClan CSteamIDSteamID du groupe Steam.

Vérifie si le groupe Steam est public.

Éléments renvoyés : bool
true si le groupe spécifié est public.
false si le groupe spécifié n'est pas public.

IsClanOfficialGameGroup

bool IsClanOfficialGameGroup( CSteamID steamIDClan );
NomTypeDescription
steamIDClan CSteamIDSteamID du groupe Steam.

Vérifie si le groupe Steam est un groupe du jeu ou un hub de la communauté officiels.

Éléments renvoyés : bool
true si le groupe Steam est un groupe du jeu ou un hub de la communauté officiels.
false si le groupe Steam n'est pas un groupe du jeu ou un hub de la communauté officiels.

IsClanChatWindowOpenInSteam

bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat );
NomTypeDescription
steamIDClanChatCSteamIDSteamID de la salle de chat de groupe Steam à vérifier.

Vérifie si la salle de chat de groupe Steam est ouverte dans l'interface utilisateur Steam.

Éléments renvoyés : bool
true si la salle de chat de groupe Steam spécifiée est ouverte ; sinon, false.
Renvoie également false si la salle de chat de groupe Steam spécifiée est inconnue.

Consulter également : OpenClanChatWindowInSteam, CloseClanChatWindowInSteam

IsFollowing

SteamAPICall_t IsFollowing( CSteamID steamID );
NomTypeDescription
steamIDCSteamIDSteamID à vérifier en cas de suivi.

Vérifie si le compte actuel suit le compte spécifié.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel FriendsIsFollowing_t.


Exemple :
class CIsFollowingExample { public: CIsFollowingExample(); void CheckWhichFriendsWeAreFollowing(); private: void OnFriendsIsFollowing( FriendsIsFollowing_t *pCallback, bool bIOFailure ); CCallResult< CIsFollowingExample, FriendsIsFollowing_t > m_SteamCallResultFriendsIsFollowing; int m_nFriends; int m_iFriendIndex; }; CIsFollowingExample::CIsFollowingExample() { m_nFriends = SteamFriends()->GetFriendCount( k_EFriendFlagImmediate ); if ( m_nFriends == -1 ) { printf( "GetFriendCount returned -1, the current user is not logged in.\n" ); m_nFriends = 0; } m_iFriendIndex = 0; } void CIsFollowingExample::CheckWhichFriendsWeAreFollowing() { if ( m_iFriendIndex < m_nFriends ) { CSteamID steamID = SteamFriends()->GetFriendByIndex( m_iFriendIndex, k_EFriendFlagImmediate ); printf( "Checking if we follow %lld (%d of %d).\n", steamID.ConvertToUint64(), m_iFriendIndex, m_nFriends ); SteamAPICall_t handle = SteamFriends()->IsFollowing( steamID ); m_SteamCallResultFriendsIsFollowing.Set( handle, this, &CIsFollowingExample::OnFriendsIsFollowing ); } } void CIsFollowingExample::OnFriendsIsFollowing( FriendsIsFollowing_t *pCallback, bool bIOFailure ) { if ( pCallback->m_eResult != k_EResultOK || bIOFailure ) { printf( "OnFriendsIsFollowing failed for %lld with m_eResult: %d and bIOFailure: %d!\n", pCallback->m_steamID.ConvertToUint64(), pCallback->m_eResult, bIOFailure ); return; } if ( pCallback->m_bIsFollowing ) printf( "We are following %lld\n", pCallback->m_steamID.ConvertToUint64() ); // Vérifie récursivement toute la liste de contacts. m_iFriendIndex++; CheckWhichFriendsWeAreFollowing(); }

IsUserInSource

bool IsUserInSource( CSteamID steamIDUser, CSteamID steamIDSource );
NomTypeDescription
steamIDUserCSteamIDCompte à vérifier s'il se trouve dans la source.
steamIDSourceCSteamIDSource à vérifier pour le compte.

Vérifie si le compte spécifié se trouve dans une source (groupe Steam, salle de chat, salle d'attente ou serveur de jeu).

Éléments renvoyés : bool
true si le compte local peut voir que steamIDUser est membre ou fait partie de steamIDSource ; sinon, renvoie false.

JoinClanChatRoom

SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDSteamID du groupe Steam à rejoindre.

Autorise la personne à rejoindre les chats de groupe (clan) Steam dans le jeu.

Le comportement est quelque peu complexe car la personne peut déjà se trouver ou non dans le chat de groupe à l'extérieur du jeu ou dans l'overlay.

Vous pouvez utiliser ActivateGameOverlayToUser pour ouvrir la version overlay en jeu du chat.

Si vous avez rejoint un chat de groupe Steam, vous devez surveiller les rappels suivants :

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel JoinClanChatRoomCompletionResult_t.
Déclenche un rappel GameConnectedChatJoin_t.
Déclenche un rappel GameConnectedClanChatMsg_t.


Consultez également : LeaveClanChatRoom, GetClanChatMemberCount, GetChatMemberByIndex, SendClanChatMessage, GetClanChatMessage, IsClanChatAdmin, IsClanChatWindowOpenInSteam

LeaveClanChatRoom

bool LeaveClanChatRoom( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDSteamID du chat de groupe Steam à quitter.

Quitte un chat de groupe Steam que le compte a précédemment rejoint avec JoinClanChatRoom.

Éléments renvoyés : bool
Déclenche un rappel GameConnectedChatLeave_t.
true si le compte se trouve dans la salle de chat spécifiée, sinon renvoie false.

OpenClanChatWindowInSteam

bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat );
NomTypeDescription
steamIDClanChatCSteamIDSteamID de la salle de chat de groupe Steam à ouvrir.

Ouvre la salle de chat de groupe Steam spécifiée dans l'interface utilisateur Steam.

Éléments renvoyés : bool
true si la personne a bien rejoint la salle de chat de groupe Steam.
false dans l'une des circonstances suivantes.
  • La salle de chat de groupe Steam n'existe pas ou le compte n'a pas l'autorisation de la rejoindre.
  • Le débit du compte actuel est actuellement limité.
  • Le compte actuel est restreint au niveau du chat.

Consultez également : IsClanChatWindowOpenInSteam, CloseClanChatWindowInSteam

ReplyToFriendMessage

bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend );
NomTypeDescription
steamIDFriendCSteamIDSteamID du contact auquel envoyer le message.
pchMsgToSendconst char *Le message au format UTF-8 à envoyer.

Envoie un message à un contact Steam.

Éléments renvoyés : bool
true si le message a été envoyé avec succès.
false si le débit du compte actuel est limité ou si celui-ci est restreint au niveau du chat.

RequestClanOfficerList

SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan );
NomTypeDescription
steamIDClanCSteamIDGroupe Steam pour lequel obtenir la liste des responsables.

Demande les informations relatives aux responsables (en matière d'administration et de modération) d'un groupe Steam.

REMARQUE : vous pouvez uniquement demander les informations des groupes Steam dont une personne est membre.
REMARQUE : ceci ne téléchargera pas automatiquement les avatars des responsables. Si aucune image d'avatar n'est disponible pour un ou une responsable, appelez RequestUserInformation pour télécharger l'avatar.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel ClanOfficerListResponse_t.


Consulter également : GetClanOwner, GetClanOfficerCount, GetClanOfficerByIndex

Exemple :
class CClanOfficerListExample { public: void RequestOfficerList(); private: void OnClanOfficerListResponse( ClanOfficerListResponse_t *pCallback, bool bIOFailure ); CCallResult< CClanOfficerListExample, ClanOfficerListResponse_t > m_SteamCallResultClanOfficerListResponse; }; void CClanOfficerListExample::RequestOfficerList() { printf( "Requesting the Clan Officer List\n" ); const CSteamID SteamworksDevGroup = 103582791433474333ull; SteamAPICall_t handle = SteamFriends()->RequestClanOfficerList( SteamworksDevGroup ); m_SteamCallResultClanOfficerListResponse.Set( handle, this, &CClanOfficerListExample::OnClanOfficerListResponse ); } void CClanOfficerListExample::OnClanOfficerListResponse( ClanOfficerListResponse_t *pCallback, bool bIOFailure ) { if ( !pCallback->m_bSuccess || bIOFailure ) { printf( "ClanOfficerListResponse failed for %lld!", pCallback->m_steamIDClan.ConvertToUint64() ); return; } printf( "Got a ClanOfficerListResponse for: %s (%lld)\n", SteamFriends()->GetClanName( pCallback->m_steamIDClan ), pCallback->m_steamIDClan.ConvertToUint64() ); CSteamID ownerSteamID = SteamFriends()->GetClanOwner(pCallback->m_steamIDClan); printf( " The owner of the clan is: %s (%lld) and there are %d officers.\n", SteamFriends()->GetFriendPersonaName( ownerSteamID ), ownerSteamID.ConvertToUint64(), pCallback->m_cOfficers ); int nOfficers = SteamFriends()->GetClanOfficerCount( pCallback->m_steamIDClan ); printf( " GetClanOfficerCount reports: %d", nOfficers ); for ( int i = 0; i < nOfficers; ++i ) { CSteamID officerSteamID = SteamFriends()->GetClanOfficerByIndex( pCallback->m_steamIDClan, i ); printf( " Officer %d: %s (%lld)\n", i, SteamFriends()->GetFriendPersonaName(officerSteamID), officerSteamID.ConvertToUint64() ); } }

RequestFriendRichPresence

void RequestFriendRichPresence( CSteamID steamIDFriend );
NomTypeDescription
steamIDFriendCSteamIDSteamID du compte pour lequel faire la requête de la présence enrichie.

Demande les données de présence enrichie pour un compte spécifique.

Cette fonction s'utilise pour obtenir les informations de présence enrichie d'un compte qui n'est pas contact du compte actuel, comme par exemple une personne présente dans la même salle d'attente ou sur le même serveur de jeu.

La fréquence de cette fonction est limitée ; si vous l'appelez trop souvent pour un compte spécifique, elle publiera immédiatement un rappel sans demander de nouvelles données du serveur.

Éléments renvoyés : void
Déclenche un rappel FriendRichPresenceUpdate_t.


Consulter également : GetFriendRichPresence, SetRichPresence

RequestUserInformation

bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly );
NomTypeDescription
steamIDUserCSteamIDCompte pour lequel faire la requête d'informations.
bRequireNameOnlyboolRécupérer uniquement le nom de profil (true) ? Ou bien le nom et l'avatar (false) ?

Demande le nom de profil et optionnellement l'avatar d'un compte spécifié.

REMARQUE : le téléchargement d'avatars est très lent et encombre le cache local. Si vous n'avez pas besoin des avatars, n'en faites pas la requête.

Éléments renvoyés : bool
Déclenche un rappel PersonaStateChange_t.
true signifie que les données ont été demandées, et un rappel PersonaStateChange_t sera publié au moment de leur récupération.
false signifie que nous avons déjà toutes les informations relatives à ce compte, et les fonctions nécessitant ces informations peuvent être utilisées immédiatement.

SendClanChatMessage

bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText );
NomTypeDescription
steamIDClanChatCSteamIDSteamID du chat de groupe auquel envoyer le message.
pchTextconst char *Le message au format UTF-8 à envoyer. Il peut comprendre jusqu'à 2048 caractères.

Envoie un message à une salle de chat de groupe Steam.

Éléments renvoyés : bool
true si le message a été envoyé avec succès.
false dans l'une des circonstances suivantes.
  • Le compte actuel n'est pas dans le chat de groupe spécifié.
  • Le compte actuel n'est pas connecté à Steam.
  • Le débit du compte actuel est actuellement limité.
  • Le compte actuel est restreint au niveau du chat.
  • Le message dans pchText dépasse 2048 caractères.

SetInGameVoiceSpeaking

void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking );
NomTypeDescription
steamIDUserCSteamIDInutilisé.
bSpeakingboolLa personne parle-t-elle en jeu (true) ou s'est-elle arrêtée de parler (false) ?

Permet à Steam de savoir que le compte emploie actuellement le chat vocal dans le jeu.

Cela coupera le microphone pour toutes les communications vocales dans l'interface utilisateur Steam.

SetListenForFriendsMessages

bool SetListenForFriendsMessages( bool bInterceptEnabled );
NomTypeDescription
bInterceptEnabledboolSouhaitez-vous activer l'interception des messages (true) des contacts ou non (false) ?

Écoute les messages de chat de contacts Steam.

Vous pouvez ensuite afficher ces chats en ligne dans le jeu, par exemple dans le système de chat de Dota 2.

Après son activation, vous recevrez des rappels GameConnectedFriendChatMsg_t à chaque fois que la personne recevra un message de chat. Vous pouvez obtenir les données de ce message par le biais de ce rappel avec GetFriendMessage. Vous pouvez envoyer des messages avec ReplyToFriendMessage.

Éléments renvoyés : bool
Déclenche un rappel GameConnectedFriendChatMsg_t.
Renvoie toujours true.

SetPersonaName

SteamAPICall_t SetPersonaName( const char *pchPersonaName );
NomTypeDescription
pchPersonaNameconst char *Nouveau nom de profil du compte. Ne peut pas être plus long que k_cchPersonaNameMax octets.

Définit le nom du compte actuel, le stocke sur le serveur et publie les modifications auprès de tous les contacts en ligne.

Les modifications s'effectuent en local immédiatement et un rappel PersonaStateChange_t est publié, supposant une réussite.

Si le changement de nom ne s'est pas fait sur le serveur, un rappel PersonaStateChange_t supplémentaire sera publié pour modifier à nouveau le nom, en plus du résultat final disponible dans le résultat d'appel.

Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel SetPersonaNameResponse_t.

SetPlayedWith

void SetPlayedWith( CSteamID steamIDUserPlayedWith );
NomTypeDescription
steamIDUserPlayedWithCSteamIDL'autre personne avec qui l'on a joué.

Marque un compte cible comme « Partenaire de jeu ».

REMARQUE : le compte actuel doit être en jeu avec l'autre personne pour que l'association fonctionne.

Vous pouvez afficher les personnes avec lesquelles vous avez joué récemment ici dans la communauté Steam et dans Overlay Steam.

SetRichPresence

bool SetRichPresence( const char *pchKey, const char *pchValue );
NomTypeDescription
pchKeyconst char *La clé de présence enrichie à définir. Ne peut pas dépasser la longueur spécifiée dans k_cchMaxRichPresenceKeyLength.
pchValueconst char *La valeur de présence enrichie à associer à pchKey. Ne peut pas dépasser la valeur spécifiée dans k_cchMaxRichPresenceValueLength.0>
Si elle est configurée sur une chaine vide («  ») ou NULL1>, la clé est supprimée si elle est définie.

Définit une clé/valeur de présence enrichie pour le compte actuel qui est automatiquement partagée avec tous les contacts jouant au même jeu.

Chaque compte peut posséder jusqu'à 20 clés comme définies par k_cchMaxRichPresenceKeys.

Deux touches spéciales sont utilisées pour visualiser/joindre les parties :
  • "status" : une chaine UTF-8 qui s'affichera dans la fenêtre de dialogue « Afficher les informations du jeu » dans la liste de contacts Steam.
  • "connect" : une chaine UTF-8 qui contient la ligne de commande sur la façon dont un contact peut se connecter à une partie. Cela active le bouton « Rejoindre la partie » dans la boite de dialogue « Afficher les informations du jeu », dans le menu de clic droit de la liste de contacts Steam et dans le profil de la communauté Steam. Assurez-vous que votre application exécute ISteamApps::GetLaunchCommandLine afin de pouvoir désactiver le message d'avertissement lors du lancement via une ligne de commande.

Trois clés spéciales supplémentaires sont utilisées par le nouveau chat Steam.
  • "steam_display" : nomme un jeton de traduction de présence enrichie qui sera affiché dans l'interface utilisateur Steam dans la langue sélectionnée par la personne. Pour plus d'informations, veuillez consulter l'article sur la traduction de la présence enrichie, qui comprend un lien vers une page où vous pourrez tester les données de présence enrichie. Si steam_display n'est pas associé à un tag de traduction valide, la présence enrichie ne sera pas affichée dans le client Steam.
  • "steam_player_group" : une fois sélectionné, indique au client Steam que le compte est membre d'un groupe spécifique. Les membres d'un même groupe peuvent être regroupés dans différentes sections de l'interface utilisateur de Steam. Cette chaine peut identifier un groupe, un serveur ou tout type de regroupement approprié pour votre jeu. La chaine de caractères en elle-même n'est pas visible pour les utilisateurs et utilisatrices.
  • "steam_player_group_size" : une fois activé, indique le nombre total de personnes dans steam_player_group. Le client Steam peut utiliser ce numéro pour afficher des données supplémentaires sur le groupe lorsque l'ensemble des membres ne figure pas dans la liste de contacts du compte en question. (Par exemple, « Pierre, Paul et 4 autres ».)



    Vous pouvez supprimer toutes les clés du compte actuel avec ClearRichPresence.

    Pour obtenir les clés de présence enrichie de vos contacts, consultez : GetFriendRichPresence.

    Éléments renvoyés : bool
    true si la présence enrichie a été définie avec succès.
    false dans les conditions suivantes.

    RequestEquippedProfileItems

    SteamAPICall_t RequestEquippedProfileItems( CSteamID steamID);
    NomTypeDescription
    steamIDCSteamIDCompte pour lequel vous souhaitez récupérer les items équipés.

    Demande à Steam la liste des items équipés du profil de la communauté Steam pour le compte spécifié.

    Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel EquippedProfileItems_t.

    BHasEquippedProfileItem

    bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType);
    NomTypeDescription
    steamIDCSteamIDCompte pour lequel vous avez déjà récupéré les items équipés.
    itemTypeECommunityProfileItemTypeType d'item pour lequel vous souhaitez voir s'il est équipé ou non.

    Après avoir appelé RequestEquippedProfileItems, vous pouvez utiliser cette fonction pour vérifier si le compte ciblé a un type d'item équippé ou non.

    Éléments renvoyés : bool
    true si le type d'item spécifié est équipé par le compte
    false si le type d'item spécifié n'est pas équipé par le compte

    Consultez également : RequestEquippedProfileItems, GetProfileItemPropertyString, GetProfileItemPropertyUint

    GetProfileItemPropertyString

    bool GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
    NomTypeDescription
    steamIDCSteamIDCompte pour lequel vous avez déjà récupéré les items équipés.
    itemTypeECommunityProfileItemTypeType d'item pour lequel vous retirez les propriétés
    propECommunityProfileItemPropertyLa propriété sur la chaine de caractères que vous souhaitez récupérer

    Renvoie une propriété de la chaine de caractères pour l'item équipé du profil d'un compte.

    Éléments renvoyés : const char *

    Consultez également : RequestEquippedProfileItems, GetProfileItemPropertyUint

    GetProfileItemPropertyUint

    bool GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
    NomTypeDescription
    steamIDCSteamIDCompte pour lequel vous avez déjà récupéré les items équipés.
    itemTypeECommunityProfileItemTypeType d'item pour lequel vous récupérez la propriété
    propECommunityProfileItemPropertyPropriété de l'entier non signé que vous souhaitez récupérer.

    Renvoie une propriété de l'entier non signé pour l'item équipé du profil d'un compte.

    Éléments renvoyés : uint32

    Consultez également : RequestEquippedProfileItems, GetProfileItemPropertyString

    Rappels

    Voici les rappels qui peuvent être activés en appelant SteamAPI_RunCallbacks. La plupart seront activés directement en réponse aux fonctions membres de ISteamFriends.

    AvatarImageLoaded_t

    Appelé lorsqu'un avatar grand format est chargé si vous avez essayé de le demander quand il n'était pas disponible.

    NomTypeDescription
    m_steamIDCSteamIDSteamID pour lequel l'avatar a été chargé.
    m_iImageintHandle d'image Steam de l'image désormais chargée.
    m_iWideintLargeur de l'image chargée.
    m_iTallintHauteur de l'image chargée.

    Fonctions associées : GetLargeFriendAvatar

    ClanOfficerListResponse_t

    Marque le renvoi d'une requête d'appel de la liste de responsables.

    NomTypeDescription
    m_steamIDClanCSteamIDGroupe Steam pour lequel obtenir la liste des responsables.
    m_cOfficersintNombre de responsables dans le groupe. Identique à GetClanOfficerCount.
    m_bSuccessuint8L'appel a-t-il réussi ? S'il a échoué, cela peut indiquer une perte de connexion temporaire à Steam.
    S'il renvoie true, cela ne signifie pas nécessairement que toutes les informations de ce groupe Steam ont été téléchargées.

    Fonctions associées : RequestClanOfficerList

    DownloadClanActivityCountsResult_t

    Appelée quand l'activité d'un groupe Steam a été reçue.

    NomTypeDescription
    m_bSuccessboolL'appel a-t-il réussi ?

    Fonctions associées : DownloadClanActivityCounts

    FriendRichPresenceUpdate_t

    Appelée quand des données de présence enrichie ont été mises à jour pour un compte. Cela peut se passer automatiquement lorsque des contacts se trouvant dans le même jeu mettent à jour leur présence enrichie, ou après un appel à RequestFriendRichPresence.

    NomTypeDescription
    m_steamIDFriendCSteamIDSteamID du compte dont la présence enrichie a été modifiée.
    m_nAppIDAppId_tAppID du jeu. Cela doit toujours être le jeu actuel.

    Fonctions associées : RequestFriendRichPresence

    FriendsEnumerateFollowingList_t

    Renvoie le résultat de EnumerateFollowingList.

    NomTypeDescription
    m_eResultEResultRésultat de l'opération.
    m_rgSteamIDCSteamIDk_cEnumerateFollowersMaxListe des comptes suivis.
    m_nResultsReturnedint32Nombre de résultats renvoyés dans m_rgSteamID.
    m_nTotalResultCountint32Nombre total de personnes que nous suivons. Si ce nombre est supérieur à m_nResultsReturned effectuez un autre appel à EnumerateFollowingList avec m_nResultsReturned en tant qu'index pour obtenir le groupe suivant d'abonné(e)s.

    Fonctions associées : EnumerateFollowingList

    FriendsGetFollowerCount_t

    Renvoie le résultat de GetFollowerCount.

    NomTypeDescription
    m_eResultEResultRésultat de l'opération.
    m_steamIDCSteamIDSteamID du compte pour lequel nous avons demandé le nombre d'abonné(e)s.
    m_nCountintNombre d'abonné(e)s du compte.

    Fonctions associées : GetFollowerCount

    FriendsIsFollowing_t

    Renvoie le résultat de IsFollowing.

    NomTypeDescription
    m_eResultEResultRésultat de l'opération.
    m_steamIDCSteamIDSteamID qui a été vérifié.
    m_bIsFollowingboolSuivons-nous ce compte ? (true) ou pas ? (false)

    Fonctions associées : IsFollowing

    GameConnectedChatJoin_t

    Appelée quand une personne a rejoint un chat de groupe Steam dans lequel nous sommes.

    NomTypeDescription
    m_steamIDClanChatCSteamIDSteamID du chat qu'un compte a rejoint.
    m_steamIDUserCSteamIDSteamID du compte qui a rejoint le chat.

    Fonctions associées : JoinClanChatRoom

    GameConnectedChatLeave_t

    Appelée quand quelqu'un a quitté un chat de groupe Steam dans lequel nous sommes.

    NomTypeDescription
    m_steamIDClanChatCSteamIDSteamID du chat que quelqu'un a quitté.
    m_steamIDUserCSteamIDSteamID du compte qui a quitté le chat.
    m_bKickedboolLa personne a-t-elle été exclue par un responsable (true), ou non (false) ?
    m_bDroppedboolLa connexion à Steam du compte en question s'est-elle interrompue (true), ou la personne est-elle partie d'une autre manière (false) ?

    Fonctions associées : LeaveClanChatRoom

    GameConnectedClanChatMsg_t

    Appelée quand un message de chat a été reçu dans un chat de groupe Steam dans lequel nous nous trouvons.

    NomTypeDescription
    m_steamIDClanChatCSteamIDSteamID du chat dans lequel le message a été reçu.
    m_steamIDUserCSteamIDSteamID du compte qui a envoyé le message.
    m_iMessageIDintIndex du message pour lequel obtenir les données effectives avec GetClanChatMessage.

    Fonctions associées : JoinClanChatRoom

    GameConnectedFriendChatMsg_t

    Appelée quand un message de chat a été reçu d'un contact.

    NomTypeDescription
    m_steamIDUserCSteamIDSteamID du contact qui a envoyé le message.
    m_iMessageIDintIndex du message pour lequel obtenir les données effectives avec GetFriendMessage.

    Fonctions associées : SetListenForFriendsMessages

    GameLobbyJoinRequested_t

    Appelée quand le compte essaye de rejoindre une salle d'attente via sa liste de contacts ou une invitation. Le client du jeu doit tenter de se connecter à la salle d'attente spécifiée lorsqu'il reçoit l'appel. Si le jeu n'est pas encore lancé, celui-ci se lancera automatiquement avec la ligne de commande +connect_lobby <64-bit lobby Steam ID>.

    NomTypeDescription
    m_steamIDLobbyCSteamIDSteamID de la salle d'attente à laquelle se connecter.
    m_steamIDFriendCSteamIDContact via lequel la salle d'attente a été rejointe. Non valide si cela n'est pas fait directement par le biais d'un contact.

    REMARQUE : ce rappel est effectué lorsqu'on rejoint une salle d'attente. Si le compte tente de rejoindre un jeu et non une salle d'attente, alors le rappel GameRichPresenceJoinRequested_t sera envoyé.

    GameOverlayActivated_t

    Publié lorsque Overlay Steam s'active ou se désactive. Le jeu peut utiliser ce rappel pour mettre en pause ou reprendre le jeu dans les jeux en solo.

    NomTypeDescription
    m_bActiveuint81 si ce paramètre vient d'être activé, sinon 0.

    GameRichPresenceJoinRequested_t

    Appelée quand le compte essaye de rejoindre une partie figurant dans sa liste de contacts ou après qu'il a accepté l'invitation d'un contact avec InviteUserToGame.

    NomTypeDescription
    m_steamIDFriendCSteamIDContact via lequel la salle d'attente a été rejointe. Non valide si cela n'est pas fait directement par le biais d'un contact.
    m_rgchConnectchar[k_cchMaxRichPresenceValueLengthValeur associée à la clé de présence enrichie « connect ».

    Fonctions associées : InviteUserToGame

    REMARQUE : ce rappel est effectué lorsque vous rejoignez un jeu. Si le compte tente de rejoindre une salle d'attente, alors le rappel GameLobbyJoinRequested_t sera envoyé.

    GameServerChangeRequested_t

    Appelée quand le compte essaye de rejoindre un serveur de jeu différent via sa liste de contacts. Le client du jeu doit tenter de se connecter au serveur spécifié lorsqu'il reçoit l'appel.

    NomTypeDescription
    m_rgchServerchar[64]Adresse du serveur (par exemple, « 127.0.0.1:27015 », « tf2.valvesoftware.com »)
    m_rgchPasswordchar[64]Mot de passe du serveur, le cas échéant.

    JoinClanChatRoomCompletionResult_t

    Publié lorsque le compte a tenté de rejoindre un chat de groupe Steam en utilisant JoinClanChatRoom.

    NomTypeDescription
    m_steamIDClanChatCSteamIDSteamID du chat qu'un compte a rejoint.
    m_eChatRoomEnterResponseEChatRoomEnterResponseRésultat de l'opération.

    Fonctions associées : JoinClanChatRoom

    PersonaStateChange_t

    Appelée à chaque modification de l'état d'un contact.

    NomTypeDescription
    m_ulSteamIDuint64SteamID du compte dont l'état a été modifié.
    m_nChangeFlagsintUnion bit à bit de valeurs EPersonaChange.

    Fonctions associées : RequestUserInformation

    SetPersonaNameResponse_t

    Signale le résultat d'une tentative de modification du nom de profil du compte actuel.

    NomTypeDescription
    m_bSuccessbooltrue si la modification du nom a abouti.
    m_bLocalSuccessbooltrue si la modification du nom a été conservée localement. Il est possible que nous n'ayons pas pu communiquer avec Steam.
    m_resultEResultRésultat de l'opération.

    Fonctions associées : SetPersonaName

    Structures

    Voici les structures que les fonctions de ISteamFriends peuvent renvoyer et/ou avec lesquelles elles peuvent interagir.

    FriendGameInfo_t

    Informations concernant le jeu auquel un contact est en train de jouer.
    Accessibles via : GetFriendGamePlayed.

    NomTypeDescription
    m_gameIDCGameIDID du jeu auquel joue le contact.
    m_unGameIPuint32Adresse IP du serveur sur lequel joue le contact.
    m_usGamePortuint16Port du serveur sur lequel joue le contact.
    m_usQueryPortuint16Port de requête du serveur sur lequel joue le contact.
    m_steamIDLobbyCSteamIDSteamID de la salle d'attente dans laquelle se trouve le contact.

    FriendSessionStateInfo_t

    Informations relatives aux sessions utilisateur. (Utilisation interne Steam uniquement.)

    NomTypeDescription
    m_uiOnlineSessionInstancesuint32
    m_uiPublishedToFriendsSessionInstanceuint8

    EquippedProfileItemsChanged_t

    Fonction de rappel qui s'active quand les items de profil de la communauté Steam équipés par une personne changent. Cela peut concerner le compte actuel ou ses contacts.

    NomTypeDescription
    m_steamIDCSteamID

    EquippedProfileItems_t

    Résultat d'appel depuis RequestEquippedProfileItems. Peut aussi être envoyé en tant que rappel.

    NomTypeDescription
    m_eResultEResult
    m_bHasAnimatedAvatarCSteamID
    m_bHasAvatarFramebool
    m_bHasProfileModifierbool
    m_bHasProfileBackgroundbool
    m_bHasMiniProfileBackgroundbool

    Énumérations

    Ces énumérations sont destinées à être utilisées avec ISteamFriends.

    EFriendFlags

    Marqueurs pour répertorier la liste de contacts ou vérifier rapidement la relation entre les comptes.

    NomValeurDescription
    k_EFriendFlagNone0x00Aucun.
    k_EFriendFlagBlocked0x01Personnes pour lesquelles le compte actuel a bloqué tout contact.
    k_EFriendFlagFriendshipRequested0x02Personnes ayant envoyé une invitation de contact au compte actuel.
    k_EFriendFlagImmediate0x04Les contacts « habituels » du compte actuel.
    k_EFriendFlagClanMember0x08Personnes qui se trouvent dans un même (petit) groupe Steam que le compte actuel.
    k_EFriendFlagOnGameServer0x10Personnes sur le même serveur de jeu, comme défini par SetPlayedWith.
    k_EFriendFlagRequestingFriendship0x80Personnes pour lesquelles le compte actuel a envoyé des invitations de contact.
    k_EFriendFlagRequestingInfo0x100Personnes en train d'envoyer des informations supplémentaires les concernant après avoir appelé RequestUserInformation.
    k_EFriendFlagIgnored0x200Personnes dont tout contact a été ignoré par le compte actuel.
    k_EFriendFlagIgnoredFriend0x400Personnes ayant ignoré le compte actuel, mais que ce dernier connait cependant.
    k_EFriendFlagChatMember0x1000Personnes dans un même chat.
    k_EFriendFlagAll0xFFFFRenvoie tous les marqueurs de contact.

    EFriendRelationship

    Déclare l'ensemble des relations que les comptes Steam peuvent posséder.

    NomValeurDescription
    k_EFriendRelationshipNone0Ces personnes n'ont aucune relation.
    k_EFriendRelationshipBlocked1La personne vient de cliquer sur « Ignorer » pour une invitation de contact. Cette information n'est pas stockée.
    k_EFriendRelationshipRequestRecipient2La personne a demandé à devenir un contact du compte actuel.
    k_EFriendRelationshipFriend3Un contact « habituel ».
    k_EFriendRelationshipRequestInitiator4Le compte actuel a envoyé une invitation de contact.
    k_EFriendRelationshipIgnored5Le compte actuel a explicitement bloqué cet autre compte au niveau des commentaires, du chat, etc. Cette information est stockée.
    k_EFriendRelationshipIgnoredFriend6La personne a ignoré le compte actuel.
    k_EFriendRelationshipSuggested_DEPRECATED7Obsolète – Inutilisé.
    k_EFriendRelationshipMax8Nombre total de relations de contacts utilisé pour les boucles et les vérifications.

    EOverlayToStoreFlag

    Ces valeurs sont transférées comme paramètres au magasin avec ActivateGameOverlayToStore et modifient le comportement à l'ouverture de la page.

    NomValeurDescription
    k_EOverlayToStoreFlag_None0Non
    k_EOverlayToStoreFlag_AddToCart1Obsolète, fonctionne désormais de la même façon que K_EOverlayToStoreFlag_AddToCartandShow.
    k_EOverlayToStoreFlag_AddToCartAndShow2Ajoute l'AppID spécifié au panier du compte et affiche la page du magasin.

    EPersonaChange

    Utilisé dans PersonaStateChange_t::m_nChangeFlags pour décrire les modifications apportées à un compte.
    Ces marqueurs décrivent les modifications récentes connues du client. Au démarrage, vous verrez s'afficher les modifications de nom, d'avatar et de relation pour chaque contact.

    NomValeurDescription
    k_EPersonaChangeName0x0001
    k_EPersonaChangeStatus0x0002
    k_EPersonaChangeComeOnline0x0004
    k_EPersonaChangeGoneOffline0x0008
    k_EPersonaChangeGamePlayed0x0010
    k_EPersonaChangeGameServer0x0020
    k_EPersonaChangeAvatar0x0040
    k_EPersonaChangeJoinedSource0x0080
    k_EPersonaChangeLeftSource0x0100
    k_EPersonaChangeRelationshipChanged0x0200
    k_EPersonaChangeNameFirstSet0x0400
    k_EPersonaChangeFacebookInfo0x0800
    k_EPersonaChangeNickname0x1000
    k_EPersonaChangeSteamLevel0x2000

    EPersonaState

    Liste des états qu'un contact Steam peut adopter.

    NomValeurDescription
    k_EPersonaStateOffline0Le contact n'est pas connecté actuellement.
    k_EPersonaStateOnline1Le contact est connecté.
    k_EPersonaStateBusy2Le contact est connecté, mais son statut est défini sur « Ne pas déranger ».
    k_EPersonaStateAway3Fonction automatique d'absence.
    k_EPersonaStateSnooze4Fonction automatique d'absence prolongée.
    k_EPersonaStateLookingToTrade5En ligne, échange.
    k_EPersonaStateLookingToPlay6En ligne, souhaite jouer.
    k_EPersonaStateMax7Nombre total d'états. Utilisé uniquement pour les boucles et les vérifications.

    EUserRestriction

    Marqueurs de restriction utilisateur. Ils sont renvoyés par GetUserRestrictions.

    NomValeurDescription
    k_nUserRestrictionNone0Aucune restriction de chat/contenu.
    k_nUserRestrictionUnknown1Nous ne savons pas, la personne est hors ligne.
    k_nUserRestrictionAnyChat2Le compte n'est pas autorisé à (ou ne peut pas) envoyer/recevoir de chat.
    k_nUserRestrictionVoiceChat4Le compte n'est pas autorisé à (ou ne peut pas) envoyer/recevoir de chat vocal.
    k_nUserRestrictionGroupChat8Le compte n'est pas autorisé à (ou ne peut pas) envoyer/recevoir de chat de groupe.
    k_nUserRestrictionRating16L'utilisateur ou l'utilisatrice est trop jeune d'après la réglementation de sa région actuelle.
    k_nUserRestrictionGameInvites32Le compte ne peut pas envoyer ou recevoir d'invitations de jeu, par exemple s'il est sur mobile.
    k_nUserRestrictionTrading64Le compte ne peut pas participer à un échange, par exemple s'il est sur console ou mobile.

    ECommunityProfileItemType

    Type d'items pour les profils de la communauté Steam

    NomValeurDescription
    k_ECommunityProfileItemType_AnimatedAvatar0Image d'avatar animé (GIF)
    k_ECommunityProfileItemType_AvatarFrame1Cadre d'avatar (peut être un fichier PNG animé)
    k_ECommunityProfileItemType_ProfileModifier2Item modificateur de profil spécial, tel qu'un profil saisonnier ou un profil d'artiste
    k_ECommunityProfileItemType_ProfileBackground3Image ou vidéo d'arrière-plan de profil.
    k_ECommunityProfileItemType_MiniProfileBackground4Image ou vidéo d'arrière-plan pour le menu volant qui apparait lorsque la personne y survole sa souris.

    ECommunityProfileItemProperty

    Propriétés pour un item d'un profil de la communauté Steam. Voir GetProfileItemPropertyString et GetProfileItemPropertyUint.

    NomValeurDescription
    k_ECommunityProfileItemProperty_ImageSmall0URL de la version animée ou plus petite de l'image.
    k_ECommunityProfileItemProperty_ImageLarge1URL de la version statique ou plus grande de l'image.
    k_ECommunityProfileItemProperty_InternalName2Nom interne saisi sur le site des partenaires (pour le débogage).
    k_ECommunityProfileItemProperty_Title3Nom traduit de l'item.
    k_ECommunityProfileItemProperty_Description4Description traduite de l'item.
    k_ECommunityProfileItemProperty_AppID5AppID de l'item (entier non signé)
    k_ECommunityProfileItemProperty_TypeID6Type d'ID de l'item, unique à l'AppID (entier non signé).
    k_ECommunityProfileItemProperty_Class7« Classe » ou type d'item (donnée interne, entier non signé).
    k_ECommunityProfileItemProperty_MovieWebM8URL du fichier vidéo WebM
    k_ECommunityProfileItemProperty_MovieMP49URL du fichier vidéo MP4
    k_ECommunityProfileItemProperty_MovieWebMSmall10URL du petit fichier vidéo WebM
    k_ECommunityProfileItemProperty_MovieMP4Small11URL du petit fichier vidéo MP4

    EActivateGameOverlayToWebPageMode

    Modes des pages Web de l'overlay de jeux.

    NomValeurDescription
    k_EActivateGameOverlayToWebPageMode_Default0Le navigateur s'ouvrira à côté de toutes les autres fenêtres déjà ouvertes dans l'overlay. La fenêtre restera ouverte même si l'overlay est fermé puis rouvert.
    k_EActivateGameOverlayToWebPageMode_Modal1Le navigateur sera ouvert dans une configuration de l'overlay spéciale qui masquera toutes les autres fenêtres déjà ouvertes. À la fermeture de l'overlay, la fenêtre du navigateur se fermera elle aussi. À la fermeture de la fenêtre du navigateur, l'overlay se fermera automatiquement.

    Typedefs

    Voici les définitions de type destinées à être utilisées avec ISteamFriends.

    NomType de baseDescription
    FriendsGroupID_tint16Identifiant (tag) du groupe de contacts.

    Constantes

    Voici les constantes destinées à être utilisées avec ISteamFriends.

    NomTypeValeurDescription
    k_cchMaxFriendsGroupNameint64Longueur maximale du nom d'un groupe de contacts (marque de fin null non comprise !).
    k_cchMaxRichPresenceKeyLengthint64Longueur maximale d'une clé de présence enrichie.
    k_cchMaxRichPresenceKeysint20Nombre maximal de clés de présence enrichie qui peuvent être définies.
    k_cchMaxRichPresenceValueLengthint256Longueur maximale d'une valeur de présence enrichie.
    k_cchPersonaNameMaxint128Nombre maximal d'octets UTF-8 dans le nom de profil (affiché) d'un compte.
    k_cEnumerateFollowersMaxint50Nombre maximum d'abonné(e)s qui seront renvoyés à la fois dans un résultat d'appel FriendsEnumerateFollowingList_t.
    k_cFriendsGroupLimitint100Obsolète – Inutilisé.
    k_cubChatMetadataMaxuint328192Taille maximale, en octets, des métadonnées d'une salle de chat, d'une salle d'attente ou d'un membre de salle de chat ou de salle d'attente.
    k_cwchPersonaNameMaxint32Nombre maximal de caractères UTF-16 dans le nom de profil (affiché) d'un compte.
    k_FriendsGroupID_InvalidFriendsGroupID_t-1Identifiant de groupe de contacts non valide.
    STEAMFRIENDS_INTERFACE_VERSIONconst char *"SteamFriends015"

    Traduction de présence enrichie


    La traduction d'un texte de présence enrichie consiste en une liste de valeurs et de noms fournis pour chaque langue prise en charge. Les noms de jeton commencent par un signe « # » et peuvent contenir n'importe quel caractère alphabétique et tiret bas. Les valeurs de jetons contiennent du texte traduit et peuvent contenir des substitutions, qui spécifient les parties de la chaine à remplacer par d'autres valeurs de présence enrichie.

  • Le jeton le plus simple est purement du texte traduit :
    "#Status_AtMainMenu" "At the Main Menu"
    Dans cet exemple, si steam_display est réglé sur #Status_AtMainMenu en utilisant SetRichPresence, alors "At the Main Menu" sera affiché avec les informations du joueur ou de la joueuse dans le client Steam.

  • Une substitution ressemble à cela :
    "#StatusWithScore" "Score: %score%"
    Dans ce cas, si steam_display est réglé sur "#StatusWithScore" en utilisant SetRichPresence et que "score" est réglé sur "3" en utilisant la même API, alors "Score: 3" sera affiché avec les information de la personne dans le client Steam.

  • Les substitutions peuvent également déclencher des traductions supplémentaires en incluant une sous-chaine de caractères entre accolades. Par exemple :
    "#PlayingHero" "Playing: {#Hero_%hero%}" "#Hero_Tidehunter" "Tidehunter"
    Tout d'abord, des substitutions sont effectuées sur les sous-chaines délimitées par des accolades, puis le tag qui en découle est traduit. Dans ce cas, si steam_display est réglé sur "#PlayingHero" et que "hero" est réglé sur "Tidehunter", le client Steam traduira "#Hero_Tidehunter" et affichera "Playing: Tidehunter".

    Remarque : les clés de présence enrichie utilisées dans les substitutions ne peuvent contenir que des caractères alphanumériques, des tirets bas et des deux-points.

    Si aucun jeton de traduction n'est trouvé, le système tentera de revenir à l'anglais. Si l'anglais ne peut être trouvé, alors la présence enrichie ne sera pas affichée dans le client Steam. De même, si un jeton spécifie une substitution à l'aide d'une clé de présence enrichie qui n'est pas définie, elle ne sera pas affichée sur le client Steam.

    Les équipes de développement fournissent les fichiers de traduction de présence enrichie dans la section Présence enrichie de l'onglet Communauté, sur la page Modifier les paramètres Steamworks.

    rpedit.jpg

    À des fins de test, il est possible d'utiliser http://www.steamcommunity.com/dev/testrichpresence pour afficher la chaine de caractères traduite de présence riche pour la personne connectée et quelques informations sur les erreurs dues à des données incomplètes ou incorrectes. Celle-ci sera traduite dans la langue qui aura été réglée sur le site Steam.

    Chaque langue peut être téléchargée individuellement dans des fichiers qui se présentent ainsi :

    "lang" { "english" { "tokens" { "#StatusWithoutScore" "{#Status_%gamestatus%}" "#StatusWithScore" "{#Status_%gamestatus%}: %score%" "#Status_AtMainMenu" "At the main menu" "#Status_WaitingForMatch" "Waiting for match" "#Status_Winning" "Winning" "#Status_Losing" "Losing" "#Status_Tied" "Tied" } } }

    Plusieurs langues peuvent aussi être incluses en un seul téléchargement. Seules les langues présentes dans le fichier sont écrasées.
    "lang" { "english" { "tokens" { "#StatusWithoutScore" "{#Status_%gamestatus%}" "#StatusWithScore" "{#Status_%gamestatus%}: %score%" "#Status_AtMainMenu" "At the main menu" "#Status_WaitingForMatch" "Waiting for match" "#Status_Winning" "Winning" "#Status_Losing" "Losing" "#Status_Tied" "Tied" } } "french" { "tokens" { "#Status_AtMainMenu" "Au menu principal" "#Status_WaitingForMatch" "En attente de match" "#Status_Winning" "Gagnant" "#Status_Losing" "Perdant" "#Status_Tied" "Egalité" } } }