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 );
Nom | Type | Description |
pchDialog | const 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 );
Nom | Type | Description |
steamIDLobby | CSteamID | Le 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 );
Nom | Type | Description |
nAppID | AppId_t | AppID duquel afficher la page de la boutique. |
eFlag | EOverlayToStoreFlag | Marqueurs 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 );
Nom | Type | Description |
pchDialog | const char * | Dialogue à ouvrir. |
steamID | CSteamID | SteamID 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 );
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 );
Nom | Type | Description |
steamIDClanChat | CSteamID | SteamID 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,
OpenClanChatWindowInSteamDownloadClanActivityCounts
SteamAPICall_t DownloadClanActivityCounts( CSteamID *psteamIDClans, int cClansToRequest );
Nom | Type | Description |
psteamIDClans | CSteamID * | Liste des groupes Steam pour lesquels obtenir les données mises à jour. |
cClansToRequest | int | Cela 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 );
Nom | Type | Description |
unStartIndex | uint32 | Index à 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 );
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 : CSteamIDLes index non valides renvoient
k_steamIDNil.
GetClanActivityCounts
bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting );
Nom | Type | Description |
steamIDClan | CSteamID | Groupe Steam pour lequel obtenir l'activité. |
pnOnline | int * | Renvoie le nombre de membres en ligne. |
pnInGame | int * | Renvoie le nombre de membres en jeu (sauf ceux dont l'état est défini sur hors ligne). |
pnChatting | int * | 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 );
Nom | Type | Description |
iClan | int | Index 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 : CSteamIDLes index non valides renvoient
k_steamIDNil.
GetClanChatMemberCount
int GetClanChatMemberCount( CSteamID steamIDClan );
Nom | Type | Description |
steamIDClan | CSteamID | Groupe 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 );
Nom | Type | Description |
steamIDClanChat | CSteamID | SteamID de la salle de chat de groupe Steam. |
iMessage | int | Index du message. Il devrait s'agir du champ m_iMessageID de GameConnectedClanChatMsg_t. |
prgchText | void * | 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'.) |
cchTextMax | int | Taille de prgchText . |
peChatEntryType | EChatEntryType * | Renvoie le type de l'entrée de chat qui a été reçue. |
psteamidChatter | CSteamID * | 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 );
Nom | Type | Description |
steamIDClan | CSteamID | Groupe 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 : DownloadClanActivityCountsGetClanOfficerByIndex
CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer );
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 : CSteamIDk_steamIDNil si
steamIDClan
ou
iOfficer
ne sont pas valides.
GetClanOfficerCount
int GetClanOfficerCount( CSteamID steamIDClan );
Nom | Type | Description |
steamIDClan | CSteamID | Groupe 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 );
Nom | Type | Description |
steamIDClan | CSteamID | SteamID 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 : CSteamIDRenvoie
k_steamIDNil si
steamIDClan
n'est pas valide ou si
RequestClanOfficerList n'a pas été appelé.
GetClanTag
const char * GetClanTag( CSteamID steamIDClan );
Nom | Type | Description |
steamIDClan | CSteamID | Groupe 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 : DownloadClanActivityCountsGetCoplayFriend
CSteamID GetCoplayFriend( int iCoplayFriend );
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 : CSteamIDLes 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 );
Nom | Type | Description |
steamID | CSteamID | Compte 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 );
Nom | Type | Description |
iFriend | int | Index compris entre 0 et GetFriendCount. |
iFriendFlags | int | Combinaison (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 : CSteamIDLes index non valides renvoient
k_steamIDNil.
GetFriendCoplayGame
AppId_t GetFriendCoplayGame( CSteamID steamIDFriend );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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_tLes SteamID qui ne sont pas dans la liste des « Partenaires de jeu » renvoient
k_uAppIdInvalid.
GetFriendCoplayTime
int GetFriendCoplayTime( CSteamID steamIDFriend );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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 );
Nom | Type | Description |
iFriendFlags | int | Combinaison (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 );
Nom | Type | Description |
steamIDSource | CSteamID | Groupe 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 );
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 : CSteamIDLes index non valides renvoient
k_steamIDNil.
GetFriendGamePlayed
bool GetFriendGamePlayed( CSteamID steamIDFriend, FriendGameInfo_t *pFriendGameInfo );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID de l'autre compte. |
pFriendGameInfo | FriendGameInfo_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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID du contact qui a envoyé ce message. |
iMessageID | int | Index du message. Il devrait s'agir du champ m_iMessageID de GameConnectedFriendChatMsg_t. |
pvData | void * | Tampon où sera copié le message de chat. |
cubData | int | Taille de pvData . |
peChatEntryType | EChatEntryType * | 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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID de l'autre compte. |
iPersonaName | int | Index 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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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 : EPersonaStateL'état de contact du compte spécifié. (en ligne, hors ligne, en jeu, etc.).
GetFriendRelationship
EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID de l'autre compte. |
Obtient la relation avec un compte spécifié.
Éléments renvoyés : EFriendRelationshipComment se connaissent les deux propriétaires des comptes.
GetFriendRichPresence
const char * GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey );
Nom | Type | Description |
steamIDFriend | CSteamID | Contact pour lequel obtenir la valeur de présence enrichie. |
pchKey | const 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,
SetRichPresenceGetFriendRichPresenceKeyByIndex
const char * GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey );
É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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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 );
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_tLes index non valides renvoient
k_FriendsGroupID_Invalid.
GetFriendsGroupMembersCount
int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID );
Nom | Type | Description |
friendsGroupID | FriendsGroupID_t | ID 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 : GetFriendsGroupCountGetFriendsGroupMembersList
void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, CSteamID *pOutSteamIDMembers, int nMembersCount );
Nom | Type | Description |
friendsGroupID | FriendsGroupID_t | ID du groupe de contacts pour lequel obtenir la liste des membres. |
pOutSteamIDMembers | CSteamID * | Renvoie les SteamID des contacts en les définissant dans ce tableau. |
nMembersCount | int | Cela 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 : GetFriendsGroupCountGetFriendsGroupName
const char * GetFriendsGroupName( FriendsGroupID_t friendsGroupID );
Nom | Type | Description |
friendsGroupID | FriendsGroupID_t | ID 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 : GetFriendsGroupCountGetFriendSteamLevel
int GetFriendSteamLevel( CSteamID steamIDFriend );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDFriend | CSteamID | |
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,
GetSmallFriendAvatarGetMediumFriendAvatar
int GetMediumFriendAvatar( CSteamID steamIDFriend );
Nom | Type | Description |
steamIDFriend | CSteamID | |
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,
GetSmallFriendAvatarGetPersonaName
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 );
Nom | Type | Description |
steamIDPlayer | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDFriend | CSteamID | |
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,
GetMediumFriendAvatarGetUserRestrictions
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 : uint32Voir :
EUserRestrictionHasFriend
bool HasFriend( CSteamID steamIDFriend, int iFriendFlags );
Nom | Type | Description |
steamIDFriend | CSteamID | Compte Steam pour lequel vérifier l'état de contact. |
iFriendFlags | int | Une 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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID du contact à inviter. |
pchConnectString | const 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::InviteUserToLobbyIsClanChatAdmin
bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser );
Nom | Type | Description |
steamIDClanChat | CSteamID | SteamID de la salle de chat de groupe Steam. |
steamIDUser | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDClan | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDClan | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDClanChat | CSteamID | SteamID 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,
CloseClanChatWindowInSteamIsFollowing
SteamAPICall_t IsFollowing( CSteamID steamID );
Nom | Type | Description |
steamID | CSteamID | SteamID à 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 );
Nom | Type | Description |
steamIDUser | CSteamID | Compte à vérifier s'il se trouve dans la source. |
steamIDSource | CSteamID | Source à 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 );
Nom | Type | Description |
steamIDClan | CSteamID | SteamID 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,
IsClanChatWindowOpenInSteamLeaveClanChatRoom
bool LeaveClanChatRoom( CSteamID steamIDClan );
Nom | Type | Description |
steamIDClan | CSteamID | SteamID 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 );
Nom | Type | Description |
steamIDClanChat | CSteamID | SteamID 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,
CloseClanChatWindowInSteamReplyToFriendMessage
bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID du contact auquel envoyer le message. |
pchMsgToSend | const 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 );
Nom | Type | Description |
steamIDClan | CSteamID | Groupe 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,
GetClanOfficerByIndexExemple :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 );
Nom | Type | Description |
steamIDFriend | CSteamID | SteamID 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,
SetRichPresenceRequestUserInformation
bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly );
Nom | Type | Description |
steamIDUser | CSteamID | Compte pour lequel faire la requête d'informations. |
bRequireNameOnly | bool | Ré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 );
Nom | Type | Description |
steamIDClanChat | CSteamID | SteamID du chat de groupe auquel envoyer le message. |
pchText | const 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 );
Nom | Type | Description |
steamIDUser | CSteamID | Inutilisé. |
bSpeaking | bool | La 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 );
Nom | Type | Description |
bInterceptEnabled | bool | Souhaitez-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 );
Nom | Type | Description |
pchPersonaName | const 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 );
Nom | Type | Description |
steamIDUserPlayedWith | CSteamID | L'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 );
Nom | Type | Description |
pchKey | const char * | La clé de présence enrichie à définir. Ne peut pas dépasser la longueur spécifiée dans k_cchMaxRichPresenceKeyLength. |
pchValue | const 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);
Nom | Type | Description |
steamID | CSteamID | Compte 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);
Nom | Type | Description |
steamID | CSteamID | Compte pour lequel vous avez déjà récupéré les items équipés. |
itemType | ECommunityProfileItemType | Type 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, GetProfileItemPropertyUintGetProfileItemPropertyString
bool GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
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, GetProfileItemPropertyUintGetProfileItemPropertyUint
bool GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
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, GetProfileItemPropertyStringRappels
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.
Nom | Type | Description |
m_steamID | CSteamID | SteamID pour lequel l'avatar a été chargé. |
m_iImage | int | Handle d'image Steam de l'image désormais chargée. |
m_iWide | int | Largeur de l'image chargée. |
m_iTall | int | Hauteur de l'image chargée. |
Fonctions associées : GetLargeFriendAvatarClanOfficerListResponse_t
Marque le renvoi d'une requête d'appel de la liste de responsables.
Nom | Type | Description |
m_steamIDClan | CSteamID | Groupe Steam pour lequel obtenir la liste des responsables. |
m_cOfficers | int | Nombre de responsables dans le groupe. Identique à GetClanOfficerCount. |
m_bSuccess | uint8 | L'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 : RequestClanOfficerListDownloadClanActivityCountsResult_t
Appelée quand l'activité d'un groupe Steam a été reçue.
Nom | Type | Description |
m_bSuccess | bool | L'appel a-t-il réussi ? |
Fonctions associées : DownloadClanActivityCountsFriendRichPresenceUpdate_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.
Nom | Type | Description |
m_steamIDFriend | CSteamID | SteamID du compte dont la présence enrichie a été modifiée. |
m_nAppID | AppId_t | AppID du jeu. Cela doit toujours être le jeu actuel. |
Fonctions associées : RequestFriendRichPresenceFriendsEnumerateFollowingList_t
Renvoie le résultat de EnumerateFollowingList.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. |
m_rgSteamID | CSteamID[k_cEnumerateFollowersMax] | Liste des comptes suivis. |
m_nResultsReturned | int32 | Nombre de résultats renvoyés dans m_rgSteamID . |
m_nTotalResultCount | int32 | Nombre 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 : EnumerateFollowingListFriendsGetFollowerCount_t
Renvoie le résultat de GetFollowerCount.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. |
m_steamID | CSteamID | SteamID du compte pour lequel nous avons demandé le nombre d'abonné(e)s. |
m_nCount | int | Nombre d'abonné(e)s du compte. |
Fonctions associées : GetFollowerCountFriendsIsFollowing_t
Renvoie le résultat de IsFollowing.
Nom | Type | Description |
m_eResult | EResult | Résultat de l'opération. |
m_steamID | CSteamID | SteamID qui a été vérifié. |
m_bIsFollowing | bool | Suivons-nous ce compte ? (true) ou pas ? (false) |
Fonctions associées : IsFollowingGameConnectedChatJoin_t
Appelée quand une personne a rejoint un chat de groupe Steam dans lequel nous sommes.
Nom | Type | Description |
m_steamIDClanChat | CSteamID | SteamID du chat qu'un compte a rejoint. |
m_steamIDUser | CSteamID | SteamID du compte qui a rejoint le chat. |
Fonctions associées : JoinClanChatRoomGameConnectedChatLeave_t
Appelée quand quelqu'un a quitté un chat de groupe Steam dans lequel nous sommes.
Nom | Type | Description |
m_steamIDClanChat | CSteamID | SteamID du chat que quelqu'un a quitté. |
m_steamIDUser | CSteamID | SteamID du compte qui a quitté le chat. |
m_bKicked | bool | La personne a-t-elle été exclue par un responsable (true), ou non (false) ? |
m_bDropped | bool | La 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 : LeaveClanChatRoomGameConnectedClanChatMsg_t
Appelée quand un message de chat a été reçu dans un chat de groupe Steam dans lequel nous nous trouvons.
Nom | Type | Description |
m_steamIDClanChat | CSteamID | SteamID du chat dans lequel le message a été reçu. |
m_steamIDUser | CSteamID | SteamID du compte qui a envoyé le message. |
m_iMessageID | int | Index du message pour lequel obtenir les données effectives avec GetClanChatMessage. |
Fonctions associées : JoinClanChatRoomGameConnectedFriendChatMsg_t
Appelée quand un message de chat a été reçu d'un contact.
Nom | Type | Description |
m_steamIDUser | CSteamID | SteamID du contact qui a envoyé le message. |
m_iMessageID | int | Index du message pour lequel obtenir les données effectives avec GetFriendMessage. |
Fonctions associées : SetListenForFriendsMessagesGameLobbyJoinRequested_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>
.
Nom | Type | Description |
m_steamIDLobby | CSteamID | SteamID de la salle d'attente à laquelle se connecter. |
m_steamIDFriend | CSteamID | Contact 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.
Nom | Type | Description |
m_bActive | uint8 | 1 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.
Nom | Type | Description |
m_steamIDFriend | CSteamID | Contact 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_rgchConnect | char[k_cchMaxRichPresenceValueLength] | Valeur 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.
Nom | Type | Description |
m_rgchServer | char[64] | Adresse du serveur (par exemple, « 127.0.0.1:27015 », « tf2.valvesoftware.com ») |
m_rgchPassword | char[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.
Nom | Type | Description |
m_steamIDClanChat | CSteamID | SteamID du chat qu'un compte a rejoint. |
m_eChatRoomEnterResponse | EChatRoomEnterResponse | Résultat de l'opération. |
Fonctions associées : JoinClanChatRoomPersonaStateChange_t
Appelée à chaque modification de l'état d'un contact.
Nom | Type | Description |
m_ulSteamID | uint64 | SteamID du compte dont l'état a été modifié. |
m_nChangeFlags | int | Union bit à bit de valeurs EPersonaChange. |
Fonctions associées : RequestUserInformationSetPersonaNameResponse_t
Signale le résultat d'une tentative de modification du nom de profil du compte actuel.
Nom | Type | Description |
m_bSuccess | bool | true si la modification du nom a abouti. |
m_bLocalSuccess | bool | true si la modification du nom a été conservée localement. Il est possible que nous n'ayons pas pu communiquer avec Steam. |
m_result | EResult | Résultat de l'opération. |
Fonctions associées : SetPersonaNameStructures
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.
Nom | Type | Description |
m_gameID | CGameID | ID du jeu auquel joue le contact. |
m_unGameIP | uint32 | Adresse IP du serveur sur lequel joue le contact. |
m_usGamePort | uint16 | Port du serveur sur lequel joue le contact. |
m_usQueryPort | uint16 | Port de requête du serveur sur lequel joue le contact. |
m_steamIDLobby | CSteamID | SteamID de la salle d'attente dans laquelle se trouve le contact. |
FriendSessionStateInfo_t
Informations relatives aux sessions utilisateur. (Utilisation interne Steam uniquement.)
Nom | Type | Description |
m_uiOnlineSessionInstances | uint32 | |
m_uiPublishedToFriendsSessionInstance | uint8 | |
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.
EquippedProfileItems_t
Résultat d'appel depuis RequestEquippedProfileItems. Peut aussi être envoyé en tant que rappel.
Nom | Type | Description |
m_eResult | EResult | |
m_bHasAnimatedAvatar | CSteamID | |
m_bHasAvatarFrame | bool | |
m_bHasProfileModifier | bool | |
m_bHasProfileBackground | bool | |
m_bHasMiniProfileBackground | bool | |
É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.
Nom | Valeur | Description |
k_EFriendFlagNone | 0x00 | Aucun. |
k_EFriendFlagBlocked | 0x01 | Personnes pour lesquelles le compte actuel a bloqué tout contact. |
k_EFriendFlagFriendshipRequested | 0x02 | Personnes ayant envoyé une invitation de contact au compte actuel. |
k_EFriendFlagImmediate | 0x04 | Les contacts « habituels » du compte actuel. |
k_EFriendFlagClanMember | 0x08 | Personnes qui se trouvent dans un même (petit) groupe Steam que le compte actuel. |
k_EFriendFlagOnGameServer | 0x10 | Personnes sur le même serveur de jeu, comme défini par SetPlayedWith. |
k_EFriendFlagRequestingFriendship | 0x80 | Personnes pour lesquelles le compte actuel a envoyé des invitations de contact. |
k_EFriendFlagRequestingInfo | 0x100 | Personnes en train d'envoyer des informations supplémentaires les concernant après avoir appelé RequestUserInformation. |
k_EFriendFlagIgnored | 0x200 | Personnes dont tout contact a été ignoré par le compte actuel. |
k_EFriendFlagIgnoredFriend | 0x400 | Personnes ayant ignoré le compte actuel, mais que ce dernier connait cependant. |
k_EFriendFlagChatMember | 0x1000 | Personnes dans un même chat. |
k_EFriendFlagAll | 0xFFFF | Renvoie tous les marqueurs de contact. |
EFriendRelationship
Déclare l'ensemble des relations que les comptes Steam peuvent posséder.
Nom | Valeur | Description |
k_EFriendRelationshipNone | 0 | Ces personnes n'ont aucune relation. |
k_EFriendRelationshipBlocked | 1 | La personne vient de cliquer sur « Ignorer » pour une invitation de contact. Cette information n'est pas stockée. |
k_EFriendRelationshipRequestRecipient | 2 | La personne a demandé à devenir un contact du compte actuel. |
k_EFriendRelationshipFriend | 3 | Un contact « habituel ». |
k_EFriendRelationshipRequestInitiator | 4 | Le compte actuel a envoyé une invitation de contact. |
k_EFriendRelationshipIgnored | 5 | Le compte actuel a explicitement bloqué cet autre compte au niveau des commentaires, du chat, etc. Cette information est stockée. |
k_EFriendRelationshipIgnoredFriend | 6 | La personne a ignoré le compte actuel. |
k_EFriendRelationshipSuggested_DEPRECATED | 7 | Obsolète – Inutilisé. |
k_EFriendRelationshipMax | 8 | Nombre 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.
Nom | Valeur | Description |
k_EOverlayToStoreFlag_None | 0 | Non |
k_EOverlayToStoreFlag_AddToCart | 1 | Obsolète, fonctionne désormais de la même façon que K_EOverlayToStoreFlag_AddToCartandShow. |
k_EOverlayToStoreFlag_AddToCartAndShow | 2 | Ajoute 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.
Nom | Valeur | Description |
k_EPersonaChangeName | 0x0001 | |
k_EPersonaChangeStatus | 0x0002 | |
k_EPersonaChangeComeOnline | 0x0004 | |
k_EPersonaChangeGoneOffline | 0x0008 | |
k_EPersonaChangeGamePlayed | 0x0010 | |
k_EPersonaChangeGameServer | 0x0020 | |
k_EPersonaChangeAvatar | 0x0040 | |
k_EPersonaChangeJoinedSource | 0x0080 | |
k_EPersonaChangeLeftSource | 0x0100 | |
k_EPersonaChangeRelationshipChanged | 0x0200 | |
k_EPersonaChangeNameFirstSet | 0x0400 | |
k_EPersonaChangeFacebookInfo | 0x0800 | |
k_EPersonaChangeNickname | 0x1000 | |
k_EPersonaChangeSteamLevel | 0x2000 | |
EPersonaState
Liste des états qu'un contact Steam peut adopter.
Nom | Valeur | Description |
k_EPersonaStateOffline | 0 | Le contact n'est pas connecté actuellement. |
k_EPersonaStateOnline | 1 | Le contact est connecté. |
k_EPersonaStateBusy | 2 | Le contact est connecté, mais son statut est défini sur « Ne pas déranger ». |
k_EPersonaStateAway | 3 | Fonction automatique d'absence. |
k_EPersonaStateSnooze | 4 | Fonction automatique d'absence prolongée. |
k_EPersonaStateLookingToTrade | 5 | En ligne, échange. |
k_EPersonaStateLookingToPlay | 6 | En ligne, souhaite jouer. |
k_EPersonaStateMax | 7 | Nombre total d'états. Utilisé uniquement pour les boucles et les vérifications. |
EUserRestriction
Marqueurs de restriction utilisateur. Ils sont renvoyés par GetUserRestrictions.
Nom | Valeur | Description |
k_nUserRestrictionNone | 0 | Aucune restriction de chat/contenu. |
k_nUserRestrictionUnknown | 1 | Nous ne savons pas, la personne est hors ligne. |
k_nUserRestrictionAnyChat | 2 | Le compte n'est pas autorisé à (ou ne peut pas) envoyer/recevoir de chat. |
k_nUserRestrictionVoiceChat | 4 | Le compte n'est pas autorisé à (ou ne peut pas) envoyer/recevoir de chat vocal. |
k_nUserRestrictionGroupChat | 8 | Le compte n'est pas autorisé à (ou ne peut pas) envoyer/recevoir de chat de groupe. |
k_nUserRestrictionRating | 16 | L'utilisateur ou l'utilisatrice est trop jeune d'après la réglementation de sa région actuelle. |
k_nUserRestrictionGameInvites | 32 | Le compte ne peut pas envoyer ou recevoir d'invitations de jeu, par exemple s'il est sur mobile. |
k_nUserRestrictionTrading | 64 | Le 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
ECommunityProfileItemProperty
Propriétés pour un item d'un profil de la communauté Steam. Voir GetProfileItemPropertyString et GetProfileItemPropertyUint.
EActivateGameOverlayToWebPageMode
Modes des pages Web de l'overlay de jeux.
Nom | Valeur | Description |
k_EActivateGameOverlayToWebPageMode_Default | 0 | Le 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_Modal | 1 | Le 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.
Nom | Type de base | Description |
FriendsGroupID_t | int16 | Identifiant (tag) du groupe de contacts. |
Constantes
Voici les constantes destinées à être utilisées avec ISteamFriends.
Nom | Type | Valeur | Description |
k_cchMaxFriendsGroupName | int | 64 | Longueur maximale du nom d'un groupe de contacts (marque de fin null non comprise !). |
k_cchMaxRichPresenceKeyLength | int | 64 | Longueur maximale d'une clé de présence enrichie. |
k_cchMaxRichPresenceKeys | int | 20 | Nombre maximal de clés de présence enrichie qui peuvent être définies. |
k_cchMaxRichPresenceValueLength | int | 256 | Longueur maximale d'une valeur de présence enrichie. |
k_cchPersonaNameMax | int | 128 | Nombre maximal d'octets UTF-8 dans le nom de profil (affiché) d'un compte. |
k_cEnumerateFollowersMax | int | 50 | Nombre maximum d'abonné(e)s qui seront renvoyés à la fois dans un résultat d'appel FriendsEnumerateFollowingList_t. |
k_cFriendsGroupLimit | int | 100 | Obsolète – Inutilisé. |
k_cubChatMetadataMax | uint32 | 8192 | Taille 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_cwchPersonaNameMax | int | 32 | Nombre maximal de caractères UTF-16 dans le nom de profil (affiché) d'un compte. |
k_FriendsGroupID_Invalid | FriendsGroupID_t | -1 | Identifiant de groupe de contacts non valide. |
STEAMFRIENDS_INTERFACE_VERSION | const 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.
À 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é"
}
}
}