Documentazione di Steamworks
Interfaccia ISteamFriends
Interfaccia per accedere a informazioni su singoli utenti e interagire con l'Overlay di Steam.

Funzioni membro

Le funzioni membro per ISteamFriends vengono chiamate tramite la funzione globale di accesso SteamFriends().

ActivateGameOverlay

void ActivateGameOverlay( const char *pchDialog );
NomeTipoDescrizione
pchDialogconst char *Il dialogo da aprire. Le opzioni valide sono: "friends", "community", "players", "settings", "officialgamegroup", "stats", "achievements".

Attiva l'Overlay di Steam per uno specifico dialogo.

Equivale a chiamare ActivateGameOverlayToUser con steamID impostato su ISteamUser::GetSteamID.

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

ActivateGameOverlayInviteDialog

void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby );
NomeTipoDescrizione
steamIDLobbyCSteamIDL'ID di Steam della lobby a cui saranno invitati gli utenti selezionati.

Attiva l'Overlay di Steam per aprire il dialogo di invito. Gli inviti mandati da questo dialogo saranno per la lobby fornita.

ActivateGameOverlayToStore

void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag );
NomeTipoDescrizione
nAppIDAppId_tL'appID per cui mostrare la pagina del Negozio.
eFlagEOverlayToStoreFlagContrassegni per modificare il comportamento quando la pagina si apre.

Attiva l'Overlay di Steam per la pagina del Negozio di Steam dell'app fornita.

Utilizzare k_uAppIdInvalid porterà l'utente alla pagina iniziale del Negozio di Steam.

ActivateGameOverlayToUser

void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID );
NomeTipoDescrizione
pchDialogconst char *Il dialogo da aprire.
steamIDCSteamIDL'ID di Steam del contesto su cui aprire questo dialogo.

Attiva l'Overlay di Steam per uno specifico dialogo.

Le opzioni pchDialog valide sono:
  • "steamid" - Apre l'overlay del browser web sul profilo dell'utente o del gruppo specificati.
  • "chat" - Apre una finestra di chat per l'utente specificato o si unisce alla chat di gruppo.
  • "jointrade" - Apre una finestra su una sessione di scambi di Steam avviata con l'API web ISteamEconomy/StartTrade.
  • "stats" - Apre l'overlay del browser web sulle statistiche dell'utente specificato.
  • "achievements" - Apre l'overlay del web browser sugli achievement dell'utente specificato.
  • "friendadd" - Apre l'overlay in modalità minima, chiedendo all'utente di aggiungere l'utente di riferimento ai suoi amici.
  • "friendadd" - Apre l'overlay in modalità minima, chiedendo all'utente di rimuovere l'utente di riferimento dai suoi amici.
  • "friendadd" - Apre l'overlay in modalità minima, chiedendo all'utente di accettare una richiesta di amicizia in arrivo.
  • "friendadd" - Apre l'overlay in modalità minima, chiedendo all'utente di accettare una richiesta di amicizia in arrivo.

ActivateGameOverlayToWebPage

void ActivateGameOverlayToWebPage( const char *pchURL );
NomeTipoDescrizione
pchURLconst char *La pagina web da aprire. Nel protocollo è richiesto un indirizzo pienamente qualificato, ad esempio: "http://www.steampowered.com"
eModeEActivateGameOverlayToWebPageModeModalità per la pagina web. Il valore predefinito è k_EActivateGameOverlayToWebPageMode_Default

Attiva l'Overlay di Steam del browser web direttamente sull'URL specificato.

ClearRichPresence

void ClearRichPresence();
Svuota tutte le coppie chiave/valore della rich presence dell'utente corrente.

CloseClanChatWindowInSteam

bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat );
NomeTipoDescrizione
steamIDClanChatCSteamIDL'ID di Steam del chat del gruppo di Steam da chiudere.

Chiude la chat di gruppo specificata nell'interfaccia utente di Steam.

Restituisce: bool
true se l'utente ha lasciato la chat di gruppo di Steam con successo.
false se l'utente non fa parte della chat di gruppo di Steam fornita.

Vedi anche: IsClanChatWindowOpenInSteam, OpenClanChatWindowInSteam

DownloadClanActivityCounts

SteamAPICall_t DownloadClanActivityCounts( CSteamID *psteamIDClans, int cClansToRequest );
NomeTipoDescrizione
psteamIDClansCSteamID *Una lista di gruppi di Steam per cui ottenere dati aggiornati.
cClansToRequestintDEVE essere il numero di gruppi in psteamIDClans.

Aggiorna i dati dell'attività di un gruppo di Steam oppure ottiene i dati di gruppi diversi da quello di cui fa parte l'utente.

Dopo aver ricevuto la callback, puoi utilizzare GetClanActivityCounts per ottenere il conteggio aggiornato degli utenti.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a DownloadClanActivityCountsResult_t.

EnumerateFollowingList

SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex );
NomeTipoDescrizione
unStartIndexuint32L'indice da cui iniziare a ricevere follower. Dovrebbe essere 0 nella chiamata iniziale.

Ottiene la lista degli utenti seguiti dall'utente corrente.

Puoi seguire persone che non sono tue amiche. Seguire qualcuno ti consente di ricevere aggiornamenti quando vengono pubblicati, ad esempio, nuovi contenuti sul Workshop di Steam.

NOTA: restituisce fino a k_cEnumerateFollowersMax utenti alla volta. Se l'utente corrente ne segue un numero più alto, dovrai effettuare questa chiamata ripetutamente e impostare unStartIndex sul numero di follower totali ricevuti finora.
Ad esempio, se hai ricevuto 50 follower e l'utente ne sta seguendo 105, dovrai effettuare di nuovo la chiamata con unStartIndex = 50 per ottenere i successivi 50 e poi effettuarla ancora una volta con unStartIndex = 100 per ottenere gli ultimi 5.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a FriendsEnumerateFollowingList_t.


Esempio:
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; // Ci sono altri follower! Ottieni l'insieme successivo! 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 );
NomeTipoDescrizione
steamIDClanCSteamIDDEVE essere la stessa fonte utilizzata nella chiamata precedente a GetClanChatMemberCount!
iUserintUn indice compreso tra 0 e GetClanChatMemberCount.

Ottiene l'ID di Steam dell'indice fornito in una chat di gruppo di Steam.

NOTA: Prima di effettuare questa chiamata, devi chiamare GetClanChatMemberCount.

Restituisce: CSteamID
Indici non validi restituiscono k_steamIDNil.

GetClanActivityCounts

bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting );
NomeTipoDescrizione
steamIDClanCSteamIDIl gruppo di Steam per cui ottenere l'attività.
pnOnlineint *Restituisce il numero di membri presenti online.
pnInGameint *Restituisce il numero di membri presenti in gioco (esclusi quelli che hanno il loro stato impostato su "offline").
pnChattingint *Restituisce il numero di membri presenti in una chat di gruppo.

Ottiene le informazioni più recenti in nostro possesso su cosa stiano facendo gli utenti in un gruppo di Steam.

Può recuperare solo i dati a conoscenza del client locale. Per aggiornare i dati o ottenerne di nuovi da un gruppo diverso da quello di cui fa parte l'utente corrente, devi chiamare DownloadClanActivityCounts.

Restituisce: bool
true se i dati sono stati restituiti con successo.
false se l'ID di Steam fornito non è valido o se il client locale non ha informazioni sul gruppo di Steam e imposta tutti gli altri parametri su 0.

GetClanByIndex

CSteamID GetClanByIndex( int iClan );
NomeTipoDescrizione
iClanintUn indice compreso tra 0 e GetClanCount.

Ottiene l'ID di Steam del gruppo di Steam all'indice fornito.

NOTA: prima di effettuare questa chiamata, devi chiamare GetClanCount.

Restituisce: CSteamID
Indici non validi restituiscono k_steamIDNil.

GetClanChatMemberCount

int GetClanChatMemberCount( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDIl gruppo di Steam per cui ottenere il conteggio della chat.

Ottiene il numero di utenti in una chat di gruppo di Steam.

NOTA: I gruppi di Steam di grandi dimensioni non possono essere iterati dall'utente locale.

NOTA: l'utente corrente deve essere in una lobby per recuperare l'ID di Steam degli altri utenti nella lobby.

Utilizzata per l'iterazione. Dopo la chiamata, GetChatMemberByIndex può essere utilizzata per ottenere l'ID di Steam di ogni persona nella chat.

Restituisce: int
0 Se l'ID di Steam fornito non è valido o se i dati non sono a disposizione dell'utente locale.

GetClanChatMessage

int GetClanChatMessage( CSteamID steamIDClanChat, int iMessage, void *prgchText, int cchTextMax, EChatEntryType *peChatEntryType, CSteamID *psteamidChatter );
NomeTipoDescrizione
steamIDClanChatCSteamIDL'ID di Steam della chat di gruppo di Steam.
iMessageintL'indice del messaggio. Dovrebbe essere il campo m_iMessageID di GameConnectedClanChatMsg_t.
prgchTextvoid *Il buffer in cui verranno copiati i messaggi della chat. Deve essere abbastanza grande da contenere 2048 caratteri UTF-8 ( quindi 8192 byte + 1 per "\0").
cchTextMaxintLe dimensioni di prgchText.
peChatEntryTypeEChatEntryType *Restituisce il tipo di elemento della chat ricevuto.
psteamidChatterCSteamID *Restituisce l'ID di Steam dell'utente che ha inviato il messaggio.

Ottiene i dati di un messaggio inviato in una chat di gruppo di Steam.

Dovrebbe essere chiamata solo in risposta a una callback GameConnectedClanChatMsg_t.

Restituisce: int
Il numero di byte copiati in prgchText.
Restituisce 0 e imposta peChatEntryType su k_EChatEntryTypeInvalid se l'utente corrente non è nella chat di gruppo di Steam specificata o se l'indice fornito in iMessage non è valido.

GetClanCount

int GetClanCount();
Ottiene il numero di gruppi di Steam di cui fa parte l'utente corrente.

Utilizzata per l'iterazione. Dopo la chiamata, GetClanByIndex può essere utilizzata per ottenere l'ID di Steam di ogni gruppo di Steam.

Restituisce: int
Il numero di gruppi di Steam di cui fa parte l'utente.

Esempio:
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 );
NomeTipoDescrizione
steamIDClanCSteamIDIl gruppo di Steam di cui ottenere il nome.

Ottiene il nome del gruppo di Steam specificato (se il client locale ne è a conoscenza).

Restituisce: const char *
Il nome dei gruppi di Steam in formato UTF-8. Se l'ID di Steam fornito non è valido o se l'utente non è a conoscenza del gruppo, restituisce una stringa vuota ("").

Vedi anche: DownloadClanActivityCounts

GetClanOfficerByIndex

CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer );
NomeTipoDescrizione
steamIDClanCSteamIDDeve essere lo stesso gruppo di Steam utilizzato nella precedente chiamata a GetClanOfficerCount!
iOfficerintUn indice compreso tra 0 e GetClanOfficerCount.

Ottiene l'ID di Steam dell'amministratore all'indice fornito in un gruppo di Steam.

NOTA: Prima di questa chiamata, devi chiamare GetClanOfficerCount.

Restituisce: CSteamID
k_steamIDNil se steamIDClan o iOfficer non sono validi.

GetClanOfficerCount

int GetClanOfficerCount( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDIl gruppo di Steam per cui ottenere il numero di amministratori e moderatori.

Ottiene il numero di amministratori (e moderatori) del gruppo di Steam specificato.

Il numero include il proprietario del gruppo di Steam.

Utilizzata per l'iterazione. Dopo la chiamata, GetClanOfficerByIndex può essere utilizzata per ottenere l'ID di Steam di ogni amministratore.

NOTA: Prima di ottenere i dati richiesti, dovrai chiamare RequestClanOfficerList!

Restituisce: int
Il numero di amministratori e moderatori nel gruppo di Steam. Restituisce 0 se steamIDClan non è valido o se RequestClanOfficerList non è stata chiamata.

GetClanOwner

CSteamID GetClanOwner( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDL'id di Steam del gruppo di Steam di cui ottenere il proprietario.

Ottiene il proprietario di un gruppo di Steam.

NOTA: Prima di ottenere i dati richiesti, dovrai chiamare RequestClanOfficerList!

Restituisce: CSteamID
Restituisce k_steamIDNil se steamIDClan non è valido o se RequestClanOfficerList non è stata chiamata.

GetClanTag

const char * GetClanTag( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDIl gruppo di Steam di cui ottenere l'etichetta.

Ottiene l'etichetta (abbreviazione) unica per il gruppo di Steam specificato, se il client locale ne è a conoscenza.

L'abbreviazione del gruppo di Steam è un modo unico per gli utenti di identificarlo e ha un limite massimo di 12 caratteri. In alcuni giochi, apparirà accanto al nome dei membri del gruppo.

Restituisce: const char *
L'etichetta dei gruppi di Steam in formato UTF-8. Se l'ID di Steam fornito non è valido o se l'utente non è a conoscenza del gruppo, restituisce una stringa vuota ("").

Vedi anche: DownloadClanActivityCounts

GetCoplayFriend

CSteamID GetCoplayFriend( int iCoplayFriend );
NomeTipoDescrizione
iCoplayFriendintUn indice compreso tra 0 e GetCoplayFriendCount.

Ottiene l'ID di Steam dell'amico di Steam con cui si è giocato di recente al dato indice.

NOTA: prima di effettuare questa chiamata, devi chiamare GetCoplayFriendCount.

Restituisce: CSteamID
Indici non validi restituiscono k_steamIDNil.

GetCoplayFriendCount

int GetCoplayFriendCount();
Ottiene il numero di giocatori con cui l'utente corrente ha giocato di recente, in tutti i giochi.

Utilizzata per l'iterazione. Dopo la chiamata, GetCoplayFriend può essere utilizzata per ottenere l'ID di Steam di ogni giocatore.

Questi giocatori sono stati impostati con le chiamate precedenti a SetPlayedWith.

Restituisce: int
Il numero di utenti con cui l'utente corrente ha giocato di recente.

Esempio:
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 );
NomeTipoDescrizione
steamIDCSteamIDL'utente di cui ottenere il numero di follower.

Ottiene il numero di utenti che seguono l'utente specificato.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a FriendsGetFollowerCount_t.


Esempio:
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 );
NomeTipoDescrizione
iFriendintUn indice compreso tra 0 e GetFriendCount.
iFriendFlagsintUn'unione (binaria "o") di EFriendFlags. Deve essere lo stesso valore utilizzato nella precedente chiamata a GetFriendCount.

Ottiene l'ID di Steam dell'utente all'indice specificato.

NOTA: prima di effettuare questa chiamata, devi chiamare GetFriendCount.

Restituisce: CSteamID
Indici non validi restituiscono k_steamIDNil.

GetFriendCoplayGame

AppId_t GetFriendCoplayGame( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'utente nella lista degli utenti con cui ha giocato di recente per ottenere il titolo giocato.

Ottiene l'appID del gioco che l'utente ha giocato di recente con qualcuno parte della sua lista degli utenti con cui ha giocato recentemente.

Restituisce: AppId_t
Gli ID di Steam che non fanno parte della lista restituiscono k_uAppIdInvalid.

GetFriendCoplayTime

int GetFriendCoplayTime( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'utente sulla lista degli utenti con cui ha giocato di recente per cui ottenere il timestamp.

Ottiene il timestamp che indica quando l'utente ha giocato con qualcuno presente sulla lista.

Restituisce: int
L'orario è nel formato epoch Unix (in secondi a partire dal 1 gennaio 1970).
Gli ID di Steam non presenti sulla lista restituiscono 0.

GetFriendCount

int GetFriendCount( int iFriendFlags );
NomeTipoDescrizione
iFriendFlagsintUn'unione (binaria "o") di uno o più EFriendFlags.

Ottiene il numero di utenti, di cui il client è a conoscenza, che corrispondono a un criterio specificato. Ad esempio amici, utenti bloccati, utenti sullo stesso server, ecc.).

Può essere utilizzata per l'iterazione su tutti gli utenti chiamando GetFriendByIndex, in modo da ottenere tutti i loro ID di Steam.

Restituisce: int
Il numero di utenti che corrispondono al criterio specificato.

NOTA: restituisce -1 se l'utente corrente non ha effettuato l'accesso.

Esempio:
int nFriends = SteamFriends()->GetFriendCount( k_EFriendFlagImmediate ); if ( nFriends == -1) { printf( "GetFriendCount returned -1, the current user is not logged in.\n" ); // Suggeriamo sempre di resettarlo su 0, nel caso tu stia allocando // una matrice con questo valore, oppure superalo in modo che non prenda in considerazione il -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 );
NomeTipoDescrizione
steamIDSourceCSteamIDIl gruppo di Steam, la chat, la lobby o il server di cui ottenere il conteggio degli utenti.

Ottiene il numero di utenti di una fonte (gruppo di Steam, chat, lobby o server di gioco).

NOTA: i gruppi di Steam di grandi dimensioni non possono essere iterati dall'utente locale.

NOTA: per ottenere il numero di membri all'interno di una lobby, usa ISteamMatchmaking::GetNumLobbyMembers.

Utilizzata per l'iterazione. Dopo la chiamata, GetFriendFromSourceByIndex può essere utilizzata per ottenere l'ID di Steam di ogni persona nella fonte.

Restituisce: int
0 Se l'ID di Steam fornito non è valido o se i dati non sono a disposizione dell'utente locale.

GetFriendFromSourceByIndex

CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend );
NomeTipoDescrizione
steamIDSourceCSteamIDDEVE essere la stessa fonte utilizzata nella chiamata precedente a GetFriendCountFromSource!
iFriendintUn indice compreso tra 0 e GetFriendCountFromSource.

Ottiene l'ID di Steam a un dato indice da una fonte (gruppo di Steam, chat, lobby o server di gioco).

NOTA: prima di effettuare questa chiamata, devi chiamare GetFriendCountFromSource.

Restituisce: CSteamID
Indici non validi restituiscono k_steamIDNil.

GetFriendGamePlayed

bool GetFriendGamePlayed( CSteamID steamIDFriend, FriendGameInfo_t *pFriendGameInfo );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'altro utente.
pFriendGameInfoFriendGameInfo_t *Completa i dettagli se l'utente è in gioco.

Verifica se l'amico specificato si trova in gioco e, se lo è, ottiene informazioni sul gioco.

Restituisce: bool
true se l'utente è un amico ed è in gioco. Altrimenti, false.

GetFriendMessage

int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'amico che ha inviato questo messaggio.
iMessageIDintL'indice del messaggio. Dovrebbe essere il campo m_iMessageID di GameConnectedFriendChatMsg_t.
pvDatavoid *Il buffer in cui verranno copiati i messaggi della chat.
cubDataintLe dimensioni di pvData.
peChatEntryTypeEChatEntryType *Restituisce il tipo di elemento della chat ricevuto.

Ottiene i dati da un messaggio di un amico di Steam.

Dovrebbe essere chiamata solo in risposta a una callback GameConnectedFriendChatMsg_t.

Restituisce: int
Il numero di byte copiati su pvData.
Restituisce 0 e imposta peChatEntryType su k_EChatEntryTypeInvalid se l'accesso alla chat dell'utente corrente è ristretto, se l'ID di Steam fornito non è quello di un amico, o se l'indice fornito in iMessageID non è valido.

GetFriendPersonaName

const char * GetFriendPersonaName( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'altro utente.

Ottiene l'alias dell'utente specificato.

Sarà noto all'utente corrente solo se l'altro utente è nella sua lista degli amici, sullo stesso server di gioco, in una chat o in una lobby, o in gruppo di Steam di ridotte dimensioni con l'utente locale.

NOTA: L'utente corrente non sarà automaticamente messo al corrente del nome degli altri utenti al momento in cui si unisce a una lobby, una chat o una server di gioco. Queste informazioni arriveranno in maniera asincrona attraverso callback PersonaStateChange_t.

Per ottenere l'alias dell'utente corrente, utilizza GetPersonaName.

Restituisce: const char *
L'alias dell'utente corrente in formato UTF-8. È garantito che non sia NULL.

Se l'ID di Steam non è valido o non è noto al caller, restituisce una stringa vuota (""), o "[unknown]".

GetFriendPersonaNameHistory

const char * GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'altro utente.
iPersonaNameintL'indice della cronologia da ricevere. 0 è il loro alias corrente, 1 è il secondo più recente, ecc..

Ottiene uno degli alias precedenti dell'utente specificato.

Funziona solo per gli alias che l'utente corrente ha usato sul computer locale.

Restituisce: const char *
L'alias precedente dell'utente al dato indice. Restituisce una stringa vuota quando non vi sono altri elementi nella cronologia.

GetFriendPersonaState

EPersonaState GetFriendPersonaState( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'altro utente.

Ottiene lo stato corrente dell'utente specificato.

Sarà noto all'utente corrente solo se l'altro utente è nella sua lista degli amici, sullo stesso server di gioco, in una chat o in una lobby, o in gruppo di Steam di ridotte dimensioni con l'utente locale.

Per ottenere lo stato dell'utente corrente, utilizza GetPersonaState.

Restituisce: EPersonaState
Lo stato dell'amico dell'utente specificato. Ad esempio online, offline, in gioco, ecc..

GetFriendRelationship

EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'altro utente.

Ottiene la relazione con un utente specificato.

Restituisce: EFriendRelationship
Come si conoscono fra di loro gli utenti.

GetFriendRichPresence

const char * GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey );
NomeTipoDescrizione
steamIDFriendCSteamIDL'amico di cui ottenere il valore della Rich Presence.
pchKeyconst char *La chiave della Rich Presence da richiedere.

Ottiene un valore della Rich Presence da un amico specificato.

Restituisce: const char *
Restituisce una stringa vuota ("") se la chiave specificata non è impostata.

Vedi anche: RequestFriendRichPresence, SetRichPresence

GetFriendRichPresenceKeyByIndex

const char * GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey );
NomeTipoDescrizione
steamIDFriendCSteamIDDeve essere lo stesso utente indicato nella chiamata precedente a GetFriendRichPresenceKeyCount!
iKeyintUn indice compreso tra 0 e GetFriendRichPresenceKeyCount.



Restituisce: const char *
Restituisce una stringa vuota ("") se l'indice non è valido o se non sono disponibili dati della Rich Presence per l'utente specificato.

GetFriendRichPresenceKeyCount

int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'utente per cui ottenere il conteggio delle chiavi della Rich Presence.

Ottiene il numero di chiavi della Rich Presence impostate sull'utente specificato.

Utilizzata per l'iterazione. Dopo questa chiamata, chiama GetFriendRichPresenceKeyByIndex per ottenere le chiavi della Rich Presence.

Di solito si utilizza solamente a scopi di debugging.

Restituisce: int
Restituisce 0 se non sono presenti informazioni della Rich Presence per l'utente specificato.

GetFriendsGroupCount

int GetFriendsGroupCount();
Ottiene il numero di gruppi di amici (etichette) creati dall'utente.

Utilizzata per l'iterazione. Dopo la chiamata, GetFriendsGroupIDByIndex può essere utilizzata per ottenere l'ID di tutti i gruppi di amici.

Da non confondere con i gruppi di Steam, che possono essere ottenuti tramite GetClanCount.

Restituisce: int
Il numero di gruppi di amici creati dall'utente corrente.

Esempio:
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 );
NomeTipoDescrizione
iFGintUn indice compreso tra 0 e GetFriendsGroupCount.

Ottiene l'ID del gruppo di amici per l'indice fornito.

NOTA: prima di effettuare questa chiamata, devi chiamare GetFriendGroupCount.

Restituisce: FriendsGroupID_t
Gli indici non validi restituiscono k_FriendsGroupID_Invalid.

GetFriendsGroupMembersCount

int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID );
NomeTipoDescrizione
friendsGroupIDFriendsGroupID_tL'ID del gruppo di amici di cui ottenere il numero di membri.

Ottiene il numero di amici in un dato gruppo di amici.

Da chiamare prima di ottenere la lista degli amici tramite GetFriendsGroupMembersList.

Restituisce: int
Il numero di amici nel gruppo di amici specificato.

Vedi anche: GetFriendsGroupCount

GetFriendsGroupMembersList

void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, CSteamID *pOutSteamIDMembers, int nMembersCount );
NomeTipoDescrizione
friendsGroupIDFriendsGroupID_tL'ID del gruppo di amici per cui ottenere la lista dei membri.
pOutSteamIDMembersCSteamID *Restituisce gli ID di Steam degli amici inserendoli in questa matrice.
nMembersCountintDovrebbe corrispondere al numero di elementi allocati in pOutSteamIDMembers e al valore restituito da GetFriendsGroupMembersCount.

Ottiene il numero di amici nel gruppo di amici fornito.

Se sono presenti meno amici di quelli richiesti, le posizioni di quegli ID di Steam non sarà valida.

Prima di questa chiamata, devi chiamare GetFriendsGroupMembersCount per impostare le dimensioni corrette della matrice pOutSteamIDMembers!

Vedi anche: GetFriendsGroupCount

GetFriendsGroupName

const char * GetFriendsGroupName( FriendsGroupID_t friendsGroupID );
NomeTipoDescrizione
friendsGroupIDFriendsGroupID_tL'ID del gruppo di amici di cui ottenere il nome.

Ottiene il nome del gruppo di amici fornito.

Restituisce: const char *
Il nome del gruppo di amici in formato UTF-8. Se l'ID del gruppo non è valido, restituisce NULL.

Vedi anche: GetFriendsGroupCount

GetFriendSteamLevel

int GetFriendSteamLevel( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'utente.

Ottiene il livello di Steam dell'utente specificato.

Per ottenere il loro livello, puoi utilizzare l'ID di Steam dell'utente locale (ISteamUser::GetSteamID).

Restituisce: int
Il livello di Steam, se disponibile.

Se il livello di Steam non è immediatamente disponibile per l'utente specificato, restituisce 0 e il livello viene messo in coda per il download dai server di Steam. Una volta scaricato, verrà pubblicata una callback PersonaStateChange_t con m_nChangeFlags che include k_EPersonaChangeSteamLevel.

GetLargeFriendAvatar

int GetLargeFriendAvatar( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamID

Ottiene un handle per l'avatar di grandi dimensioni (128x128 px) dell'utente specificato.

Puoi passare ISteamUser::GetSteamID per ottenere l'avatar dell'utente corrente.

NOTA: funziona solo per gli utenti di cui l'utente locale è a conoscenza. L'utente locale sarà automaticamente a conoscenza dei suoi amici, degli utenti parte della classifica richiesta o degli utenti parte della loro stessa fonte (gruppo di Steam, chat, lobby o server di gioco). Se non ne sono a conoscenza, devi chiamare RequestUserInformation per memorizzare l'avatar nella cache locale.

Restituisce: int
Provoca una callback AvatarImageLoaded_t.
Un handle di un'immagine di Steam utilizzato con ISteamUtils::GetImageSize e ISteamUtils::GetImageRGBA.
Restituisce 0 se per l'utente non è impostato nessun avatar.
Restituisce -1 se i dati dell'immagine dell'avatar non sono ancora stati caricati e bisogna eseguirne il download. In quel caso, aspetta una callback AvatarImageLoaded_t e poi effettua di nuovo la chiamata.

Vedi anche: GetMediumFriendAvatar, GetSmallFriendAvatar

GetMediumFriendAvatar

int GetMediumFriendAvatar( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamID

Ottiene un handle dell'avatar di medie dimensioni (64x64 px) dell'utente specificato.

Puoi passare ISteamUser::GetSteamID per ottenere l'avatar dell'utente corrente.

NOTA: funziona solo per gli utenti di cui l'utente locale è a conoscenza. L'utente locale sarà automaticamente a conoscenza dei suoi amici, degli utenti parte della classifica richiesta o degli utenti parte della loro stessa fonte (gruppo di Steam, chat, lobby o server di gioco). Se non ne sono a conoscenza, devi chiamare RequestUserInformation per memorizzare l'avatar nella cache locale.

Restituisce: int
Un handle di un'immagine di Steam utilizzato con ISteamUtils::GetImageSize e ISteamUtils::GetImageRGBA.
Restituisce 0 se per l'utente non è impostato nessun avatar.

Vedi anche: GetLargeFriendAvatar, GetSmallFriendAvatar

GetPersonaName

const char * GetPersonaName();
Ottiene l'alias dell'utente corrente.

Si tratta dello stesso nome che viene mostrato sulla pagina del profilo della Comunità dell'utente.

Per ottenere l'alias di altri utenti, utilizza GetFriendPersonaName.

Restituisce: const char *
L'alias dell'utente corrente in formato UTF-8. È garantito che non sia NULL.

GetPersonaState

EPersonaState GetPersonaState();
Ottiene lo stato per gli amici dell'utente corrente.

Per ottenere lo stato per altri utenti, utilizza GetFriendPersonaState.

Restituisce: EPersonaState
Lo stato per gli amici dell'utente corrente. Ad esempio online, offline, in gioco, ecc..

GetPlayerNickname

const char * GetPlayerNickname( CSteamID steamIDPlayer );
NomeTipoDescrizione
steamIDPlayerCSteamIDL'ID di Steam dell'utente.

Ottiene il soprannome che l'utente corrente ha impostato per l'utente specificato.

Restituisce: const char *
NULL se non è stato impostato nessun soprannome per quell'utente.

GetSmallFriendAvatar

int GetSmallFriendAvatar( CSteamID steamIDFriend );
NomeTipoDescrizione
steamIDFriendCSteamID

Ottiene un handle per l'avatar di piccole dimensioni (32x32 px) dell'utente specificato.

Puoi passare ISteamUser::GetSteamID per ottenere l'avatar dell'utente corrente.

NOTA: funziona solo per gli utenti di cui l'utente locale è a conoscenza. L'utente locale sarà automaticamente a conoscenza dei suoi amici, degli utenti parte della classifica richiesta o degli utenti parte della loro stessa fonte (gruppo di Steam, chat, lobby o server di gioco). Se non ne sono a conoscenza, devi chiamare RequestUserInformation per memorizzare l'avatar nella cache locale.

Restituisce: int
Un handle di un'immagine di Steam utilizzato con ISteamUtils::GetImageSize e ISteamUtils::GetImageRGBA.
Restituisce 0 se per l'utente non è impostato nessun avatar.

Vedi anche: GetLargeFriendAvatar, GetMediumFriendAvatar

GetUserRestrictions

uint32 GetUserRestrictions();
Verifica se l'utente corretto non ha pieno accesso alla chat.

Se hanno un accesso ristretto, non possono inviare o ricevere messaggi di testo e vocali e non possono vedere avatar personalizzati.
Un utente con accesso ristretto alla chat non può aggiungere amici o unirsi a gruppi.
Gli utenti con accesso ristretto possono ancora comparire online e inviare/ricevere inviti a giocare.

Restituisce: uint32
Vedi: EUserRestriction

HasFriend

bool HasFriend( CSteamID steamIDFriend, int iFriendFlags );
NomeTipoDescrizione
steamIDFriendCSteamIDL'utente di Steam per cui verificare lo stato per gli amici.
iFriendFlagsintUn'unione (binaria "o") di uno o più EFriendFlags.

Verifica se l'utente rispetta il criterio specificato. Ad esempio: amici, bloccato, utenti sullo stesso server, ecc..

Restituisce: bool
true se l'utente specificato rispetta uno qualunque dei criteri specificati in iFriendFlags. Altrimenti, restituisce false.

InviteUserToGame

bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'amico da invitare.
pchConnectStringconst char *Una stringa che consente all'amico di capire come unirsi al gioco, ad esempio l'indirizzo IP del server di gioco. Non può più essere specificato in k_cchMaxRichPresenceValueLength.

Invita un amico o un membro di un clan al gioco corrente utilizzando una stringa di invito speciale.

Se l'utente invitato accetta l'invito, pchConnectString viene aggiunta alla riga di comando quando si lancia il gioco.
Se l'utente è già in una sessione di quel gioco, riceverà una callback GameRichPresenceJoinRequested_t con la stringa di connessione.

Restituisce: bool
Provoca una callback GameRichPresenceJoinRequested_t.
true se l'invito è stato inviato con successo.
false nelle seguenti circostanze:
  • L'ID di Steam fornito a steamIDFriend non era valido.
  • L'ID di Steam fornito a steamIDFriend non tra gli amici o non fa parte dello stesso gruppo di Steam dell'utente corrente.
  • Il valore fornito a pchConnectString era troppo lungo.

Vedi anche: ISteamMatchmaking::InviteUserToLobby

IsClanChatAdmin

bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser );
NomeTipoDescrizione
steamIDClanChatCSteamIDL'ID di Steam della chat di gruppo di Steam.
steamIDUserCSteamIDL'ID di Steam dell'utente di cui controllare lo stato di amministratore.

Verifica se un utente è l'amministratore di una chat di gruppo di Steam.

Restituisce: bool
true se l'utente specificato è un amministratore.
false se l'utente non è un amministratore e se l'utente corrente e quello specificato non fanno parte della chat.

IsClanPublic

bool IsClanPublic( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClan CSteamIDL'ID di Steam del gruppo di Steam.

Verifica se il gruppo di Steam è pubblico.

Restituisce: bool
true se il gruppo specificato è pubblico.
false se il gruppo specificato non è pubblico.

IsClanOfficialGameGroup

bool IsClanOfficialGameGroup( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClan CSteamIDL'ID di Steam del gruppo di Steam.

Verifica se il gruppo di Steam è un hub ufficiale del gruppo/della Comunità.

Restituisce: bool
true se il gruppo specificato è un hub ufficiale del gruppo/della Comunità.
false se non lo è.

IsClanChatWindowOpenInSteam

bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat );
NomeTipoDescrizione
steamIDClanChatCSteamIDL'ID di Steam della chat del gruppo di Steam da verificare.

Verifica se la chat del gruppo di Steam è aperta nell'interfaccia utente di Steam.

Restituisce: bool
true se la chat del gruppo di Steam specificata è aperta. Altrimenti, false.
Restituisce false se la chat di gruppo di Steam è sconosciuta.

Vedi anche: OpenClanChatWindowInSteam, CloseClanChatWindowInSteam

IsFollowing

SteamAPICall_t IsFollowing( CSteamID steamID );
NomeTipoDescrizione
steamIDCSteamIDVerifica se l'ID di Steam è seguito.

Verifica se l'utente corrente è un follower dell'utente specificato.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a FriendsIsFollowing_t.


Esempio:
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() ); // Recursively check our whole friends list. m_iFriendIndex++; CheckWhichFriendsWeAreFollowing(); }

IsUserInSource

bool IsUserInSource( CSteamID steamIDUser, CSteamID steamIDSource );
NomeTipoDescrizione
steamIDUserCSteamIDL'utente di cui verificare la presenza nella fonte.
steamIDSourceCSteamIDLa fonte da verificare per l'utente.

Verifica se l'utente specificato fa parte di una fonte (gruppo di Steam, chat, lobby o server di gioco).

Restituisce: bool
true se l'utente locale può vedere che steamIDUser è un membro di steamIDSource. Altrimenti, restituisce false.

JoinClanChatRoom

SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDL'ID di Steam del gruppo di Steam a cui unirsi.

Consente all'utente di unirsi alle chat di un gruppo (clan) di Steam dall'interno del gioco.

Il comportamento è piuttosto complicato, poiché l'utente potrebbe essere o non essere all'interno della chat di gruppo attraverso l'overlay o comunque non dall'interno del gioco.

Per aprire la versione dell'overlay in gioco della chat, puoi utilizzare ActivateGameOverlayToUser.

Se ti sei unito a una chat di gruppo di Steam, aspettati le seguenti callback:

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata JoinClanChatRoomCompletionResult_t.
Provoca una callback GameConnectedChatJoin_t.
Provoca una callback GameConnectedClanChatMsg_t.


Vedi anche: LeaveClanChatRoom, GetClanChatMemberCount, GetChatMemberByIndex, SendClanChatMessage, GetClanChatMessage, IsClanChatAdmin, IsClanChatWindowOpenInSteam

LeaveClanChatRoom

bool LeaveClanChatRoom( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDL'ID di Steam della chat di gruppo di Steam da abbandonare.

Abbandona una chat di gruppo di Steam a cui l'utente si era precedentemente unito tramite JoinClanChatRoom.

Restituisce: bool
Provoca una callback GameConnectedChatLeave_t.
true se l'utente fa parte della chat specificata. Altrimenti, restituisce false.

OpenClanChatWindowInSteam

bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat );
NomeTipoDescrizione
steamIDClanChatCSteamIDL'ID di Steam della chat di gruppo di Steam da aprire.

Apre la chat di gruppo di Steam specificata nell'interfaccia utente di Steam.

Restituisce: bool
true se l'utente ha effettuato l'accesso alla chat di gruppo di Steam con successo.
false in una delle seguenti situazioni:
  • La chat di gruppo di Steam non esiste o l'utente non può accedervi.
  • La quota dell'utente corrente è limitata.
  • L'utente corrente ha un accesso ristretto alla chat.

Vedi anche: IsClanChatWindowOpenInSteam, CloseClanChatWindowInSteam

ReplyToFriendMessage

bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'amico a cui inviare il messaggio.
pchMsgToSendconst char *Il messaggio da inviare in formato UTF-8.

Invia un messaggio a un amico di Steam.

Restituisce: bool
true se il messaggio è stato inviato con successo.
false se la quota dell'utente è limitata, o se l'utente ha restrizioni all'accesso alla chat.

RequestClanOfficerList

SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan );
NomeTipoDescrizione
steamIDClanCSteamIDIl gruppo di Steam per cui ottenere la lista di amministratori e moderatori.

Richiede informazioni su amministratori e moderatori di un gruppo di Steam.

NOTA: puoi chiede informazioni solo sui gruppi di Steam di cui fa parte un utente.
NOTA: gli avatar di amministratori e moderatori non saranno scaricati automaticamente. Se l'avatar di un amministratore o moderatore non è disponibile, chiama RequestUserInformation per scaricarlo.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a ClanOfficerListResponse_t.


Vedi anche: GetClanOwner, GetClanOfficerCount, GetClanOfficerByIndex

Esempio:
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 );
NomeTipoDescrizione
steamIDFriendCSteamIDL'ID di Steam dell'utente di cui viene richiesta la Rich Presence.

Richiede i dati della Rich Presence da un utente specificato.

Utilizzata per ottenere le informazioni della Rich Presence di un utente che non è amico con l'utente corrente, ad esempio qualcuno nella stessa lobby o server di gioco.

La quota di questa funzione è limitata. Se la chiami troppo spesso per un utente in particolare, invierà immediatamente una callback senza richiedere nuovi dati dal server.

Restituisce: void
Provoca una callback FriendRichPresenceUpdate_t.


Vedi anche: GetFriendRichPresence, SetRichPresence

RequestUserInformation

bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly );
NomeTipoDescrizione
steamIDUserCSteamIDL'utente di cui richiedere le informazioni.
bRequireNameOnlyboolRecuperare solo l'alias (true)? Recuperare sia l'alias che l'avatar (false)?

Richiede l'alias e, opzionalmente, l'avatar di un utente specificato.

NOTA: Scaricare gli avatar è un'operazione molto lenta che mette sotto sforzo la cache locale, quindi non richiederli se non ti servono.

Restituisce: bool
Provoca una callback PersonaStateChange_t.
true significa che i dati sono stati richiesti e che sarà inviata una callback PersonaStateChange_t una volta recuperati.
false significa che abbiamo già ottenuto i dettagli di quell'utente e che le funzioni che li richiedono possono essere utilizzate immediatamente.

SendClanChatMessage

bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText );
NomeTipoDescrizione
steamIDClanChatCSteamIDL'ID di Steam della chat di gruppo a cui inviare il messaggio.
pchTextconst char *Il messaggio da inviare in formato UTF-8. Lunghezza massima: 2048 caratteri.

Invia un messaggio a una chat di gruppo di Steam.

Restituisce: bool
true se il messaggio è stato inviato con successo.
false se si verifica una delle seguenti condizioni:
  • L'utente corrente non fa parte della chat di gruppo specificata.
  • L'utente corrente non ha effettuato l'accesso a Steam.
  • La quota dell'utente corrente è limitata.
  • L'utente corrente ha un accesso ristretto alla chat.
  • Il messaggio in pchText è più lungo di 2048 caratteri.

SetInGameVoiceSpeaking

void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking );
NomeTipoDescrizione
steamIDUserCSteamIDNon utilizzato.
bSpeakingboolL'utente ha iniziato (true) o ha finito (false) di parlare in gioco?

Fa sapere a Steam che l'utente sta usando la chat vocale in gioco.

Silenzierà il microfono per tutte le comunicazioni vocali nell'interfaccia utente di Steam.

SetListenForFriendsMessages

bool SetListenForFriendsMessages( bool bInterceptEnabled );
NomeTipoDescrizione
bInterceptEnabledboolAttiva (true) o meno (false) l'intercettazione dei messaggi degli amici?

Si mette in ascolto di messaggi nella chat degli amici di Steam.

Potrai poi mostrare questi messaggi all'interno del gioco, come ad esempio il sistema di chat di Dota 2.

Dopo avere abilitato questa funzione, riceverai callback GameConnectedFriendChatMsg_t ogni volta che l'utente riceve un messaggio in chat. Puoi ottenere i dati del messaggio proveniente da questa callback con GetFriendMessage. Puoi inviare messaggi con ReplyToFriendMessage.

Restituisce: bool
Provoca una callback GameConnectedFriendChatMsg_t.
Restituisce sempre true.

SetPersonaName

SteamAPICall_t SetPersonaName( const char *pchPersonaName );
NomeTipoDescrizione
pchPersonaNameconst char *Il nuovo alias dell'utente. Non può essere più lungo di k_cchPersonaNameMax byte.

Imposta l'alias dell'utente corrente, lo memorizza sul server e ne pubblica i cambiamenti per tutti gli amici che sono online.

I cambiamenti a livello locale avvengono immediatamente e viene inviata una callback PersonaStateChange_t, dando per scontato un esito positivo.

Se la modifica all'alias non appare sul server, verrà inviata una callback aggiuntiva PersonaStateChange_t per modificarlo nuovamente, oltre al risultato finale disponibile nel risultato della chiamata.

Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a SetPersonaNameResponse_t.

SetPlayedWith

void SetPlayedWith( CSteamID steamIDUserPlayedWith );
NomeTipoDescrizione
steamIDUserPlayedWithCSteamIDL'altro utente con cui abbiamo giocato.

Contrassegna un utente come uno con cui si è giocato.

NOTA: perché l'associazione funzioni, l'utente corrente deve essere in gioco con l'altro utente.

Puoi visualizzare gli utenti con cui hai giocato di recente sulla Comunità di Steam qui e nell'Overlay di Steam.

SetRichPresence

bool SetRichPresence( const char *pchKey, const char *pchValue );
NomeTipoDescrizione
pchKeyconst char *La "chiave" della rich presence da impostare. Non può essere più lunga di quella specificata in k_cchMaxRichPresenceKeyLength.
pchValueconst char *Il "valore" della rich presence da associare a pchKey. Non può essere più lungo di quello specificato in k_cchMaxRichPresenceValueLength.
Se la chiave è già impostata, verrà rimossa se la funzione è impostata su una stringa vuota ("") o su NULL.

Imposta una coppia chiave/valore per l'utente corrente che è condivisa automaticamente con tutti gli amici che stanno giocando allo stesso titolo.

Ogni utente può avere impostate fino a 20 chiavi, come definito da k_cchMaxRichPresenceKeys.

Per visualizzare/unirsi alle partite sono utilizzate due chiavi speciali:
  • "status" - una stringa in formato UTF-8 che apparirà nella finestra di dialogo "Informazioni sulla partita" nella lista degli amici di Steam.
  • "connect" - una stringa in formato UTF-8 che contiene la riga di comando che indica come un amico possa connettersi a una partita. Abilita il pulsante "Unisciti alla partita" nella finestra di dialogo "Informazioni sulla partita" sia sul menu che si apre cliccando con il destro sulla lista degli amici sia sul profilo della Comunità di Steam del giocatore. Assicurati che la tua applicazione implementi ISteamApps::GetLaunchCommandLine così che tu possa disabilitare il popup di avviso quando questa viene avviata tramite una riga di comando.

Vi sono tre ulteriori chiavi speciali utilizzata dalla nuova chat di Steam:
  • "steam_display" - nomina un token di localizzazione della rich presence che verrà mostrato nell'interfaccia utente di Steam nella lingua selezionata dall'utente. Vedi Localizzazione della rich presence per ulteriori informazioni, tra cui un link a una pagina per testarne i dati. Se steam_display non è impostato su un'etichetta di localizzazione valida, la rich presence non sarà visualizzata nel client di Steam.
  • "steam_player_group" - quando è impostata, indica al client di Steam che il giocatore fa parte di un determinato gruppo. I giocatori nello stesso gruppo possono essere raggruppati in varie sezioni dell'interfaccia utente di Steam. Questa stringa potrebbe identificare un gruppo, un server o qualunque tipo di raggruppamento che sia adeguato al tuo gioco. La stringa in sé non viene mostrata agli utenti.
  • "steam_player_group_size" - Quando è impostata, indica il numero totale di giocatori in steam_player_group. Il client di Steam può utilizzare questo numero per mostrare informazioni aggiuntive su di un gruppo quando non tutti i suoi membri fanno parte della lista degli amici di un utente. Ad esempio: "Bob, Pete e altri 4".



    Puoi rimuovere tutte le chiavi dall'utente corrente con ClearRichPresence.

    Per ottenere le chiavi della rich presence di un amico, vedi GetFriendRichPresence.

    Restituisce: bool
    true se la rich presence è stata impostata con successo.
    false nelle seguenti circostanze:

    RequestEquippedProfileItems

    SteamAPICall_t RequestEquippedProfileItems( CSteamID steamID);
    NomeTipoDescrizione
    steamIDCSteamIDL'utente per il quale desideri recuperare gli oggetti equipaggiati.

    Richiede a Steam l'elenco degli oggetti equipaggiati del profilo della Comunità di Steam per il dato utente.

    Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a EquippedProfileItems_t.

    BHasEquippedProfileItem

    bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType);
    NomeTipoDescrizione
    steamIDCSteamIDL'utente per il quale avevi già recuperato gli oggetti equipaggiati
    itemTypeECommunityProfileItemTypeIl tipo di oggetto che desideri vedere se è stato equipaggiato o meno

    Dopo la chiamata a RequestEquippedProfileItems, puoi usare questa funzione per controllare se l'utente ha equipaggiato un tipo di oggetto del profilo o meno.

    Restituisce: bool
    true se l'itemType è equipaggiato per l'utente
    false se l'itemType non è equipaggiato per l'utente

    Vedi anche: RequestEquippedProfileItems, GetProfileItemPropertyString, GetProfileItemPropertyUint

    GetProfileItemPropertyString

    bool GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
    NomeTipoDescrizione
    steamIDCSteamIDL'utente per il quale avevi già recuperato gli oggetti equipaggiati
    itemTypeECommunityProfileItemTypeIl tipo di oggetto per il quale stai recuperando la proprietà
    propECommunityProfileItemPropertyLa proprietà della stringa che desideri recuperare

    Restituisce la proprietà di una stringa per l'oggetto equipaggiato del profilo di un utente.

    Restituisce: const char *

    Vedi anche: RequestEquippedProfileItems, GetProfileItemPropertyUint

    GetProfileItemPropertyUint

    bool GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
    NomeTipoDescrizione
    steamIDCSteamIDL'utente per il quale avevi già recuperato gli oggetti equipaggiati
    itemTypeECommunityProfileItemTypeIl tipo di oggetto per il quale stai recuperando la proprietà
    propECommunityProfileItemPropertyLa proprietà del valore intero non firmato che desideri recuperare

    Restituisce la proprietà di un valore intero non firmato per l'oggetto equipaggiato del profilo di un utente.

    Restituisce: uint32

    Vedi anche: RequestEquippedProfileItems, GetProfileItemPropertyString

    Callback

    Queste sono callback che possono essere attivate chiamando SteamAPI_RunCallbacks. Molte di queste saranno attivate automaticamente in risposta alle funzioni membro di ISteamFriends.

    AvatarImageLoaded_t

    Chiamata quando viene caricato un avatar di grandi dimensioni, se avevi cercato di richiederlo quando non era disponibile.

    NomeTipoDescrizione
    m_steamIDCSteamIDL'ID di Steam per cui è stato caricato l'avatar.
    m_iImageintL'handle dell'immagine di Steam che adesso è stata caricata.
    m_iWideintLa larghezza dell'immagine caricata.
    m_iTallintL'altezza dell'immagine caricata.

    Funzioni associate: GetLargeFriendAvatar

    ClanOfficerListResponse_t

    Segnala il ritorno di una chiamata che ha richiesto una lista di amministratori e moderatori.

    NomeTipoDescrizione
    m_steamIDClanCSteamIDIl gruppo di Steam di cui abbiamo appena ottenuto la lista di amministratori e moderatori.
    m_cOfficersintIl numero di amministratori e moderatori nel gruppo. È lo stesso che in GetClanOfficerCount.
    m_bSuccessuint8La chiamata ha avuto esito positivo? Se non lo ha avuto, potrebbe significare un'interruzione momentanea della connessione a Steam.
    Se restituisce true, non significa necessariamente che tutte le informazioni su questo gruppo di Steam siano state scaricate.

    Funzioni associate: RequestClanOfficerList

    DownloadClanActivityCountsResult_t

    Chiamata quando viene ricevuta l'attività di un gruppo di Steam.

    NomeTipoDescrizione
    m_bSuccessboolLa chiamata ha avuto esito positivo?

    Funzioni associate: DownloadClanActivityCounts

    FriendRichPresenceUpdate_t

    Chiamata quando sono stati aggiornati i dati della rich presence di un utente. Può avvenire automaticamente quando gli amici nello stesso gioco aggiornano la loro rich presence o dopo una chiamata a RequestFriendRichPresence.

    NomeTipoDescrizione
    m_steamIDFriendCSteamIDL'ID di Steam dell'utente la cui è cambiata la rich presence.
    m_nAppIDAppId_tApp ID del gioco. Dovrebbe essere sempre quella del gioco corrente.

    Associated Functions: RequestFriendRichPresence

    FriendsEnumerateFollowingList_t

    Restituisce il risultato di EnumerateFollowingList.

    NomeTipoDescrizione
    m_eResultEResultIl risultato dell'operazione.
    m_rgSteamIDCSteamIDk_cEnumerateFollowersMaxLa lista di utenti che seguiamo.
    m_nResultsReturnedint32Il numero di risultati restituito in m_rgSteamID.
    m_nTotalResultCountint32Il numero totale di utenti che seguiamo. Se è maggiore di m_nResultsReturned, effettua una chiamata successiva a EnumerateFollowingList con m_nResultsReturned come indice per ottenere l'insieme successivo di follower.

    Funzioni associate: EnumerateFollowingList

    FriendsGetFollowerCount_t

    Restituisce il risultato di GetFollowerCount.

    NomeTipoDescrizione
    m_eResultEResultIl risultato dell'operazione.
    m_steamIDCSteamIDL'ID di Steam dell'utente per cui abbiamo richiesto il conteggio dei follower.
    m_nCountintIl numero di follower dell'utente.

    Funzioni associate: GetFollowerCount

    FriendsIsFollowing_t

    Restituisce il risultato di IsFollowing.

    NomeTipoDescrizione
    m_eResultEResultIl risultato dell'operazione.
    m_steamIDCSteamIDL'ID di Steam che è stato controllato.
    m_bIsFollowingboolStiamo seguendo l'utente, (true) o no (false)?

    Funzioni associate: IsFollowing

    GameConnectedChatJoin_t

    Chiamata quando un utente si è unito a una chat di gruppo di Steam di cui facciamo parte.

    NomeTipoDescrizione
    m_steamIDClanChatCSteamIDL'ID di Steam della chat a cui si è unito l'utente.
    m_steamIDUserCSteamIDL'ID di Steam dell'utente che si è unito alla chat.

    Funzioni associate: JoinClanChatRoom

    GameConnectedChatLeave_t

    Chiamata quando un utente ha abbandonato una chat di gruppo di Steam di cui facciamo parte.

    NomeTipoDescrizione
    m_steamIDClanChatCSteamIDL'ID di Steam della chat abbandonata dall'utente.
    m_steamIDUserCSteamIDL'ID di Steam dell'utente che ha abbandonato la chat.
    m_bKickedboolL'utente è stato rimosso da un amministratore/moderatore (true), o no (false)?
    m_bDroppedboolLa connessione dell'utente a Steam è stata interrotta (true), o l'utente è uscito dalla chat in altri modi (false)?

    Funzioni associate: LeaveClanChatRoom

    GameConnectedClanChatMsg_t

    Chiamata quando è stato ricevuto un messaggio in una chat di Steam di cui facciamo parte.

    NomeTipoDescrizione
    m_steamIDClanChatCSteamIDL'ID di Steam della chat in cui è stato ricevuto il messaggio.
    m_steamIDUserCSteamIDL'ID di Steam dell'utente che ha inviato il messaggio.
    m_iMessageIDintL'indice del messaggio da cui ottenere i dati con GetClanChatMessage.

    Funzioni associate: JoinClanChatRoom

    GameConnectedFriendChatMsg_t

    Chiamata quando è stato ricevuto un messaggio in chat da un amico.

    NomeTipoDescrizione
    m_steamIDUserCSteamIDL'ID di Steam dell'amico che ha inviato il messaggio.
    m_iMessageIDintL'indice del messaggio da cui ottenere i dati con GetFriendMessage.

    Funzioni associate: SetListenForFriendsMessages

    GameLobbyJoinRequested_t

    Chiamata quando un utente cerca di unirsi a una lobby dalla sua lista degli amici o da un invito. Il client di gioco dovrebbe cercare di connettersi alla lobby specificata quando riceve questa callback. Se il gioco non è ancora in esecuzione, verrà lanciato automaticamente con il parametro +connect_lobby <64-bit lobby Steam ID>.

    NomeTipoDescrizione
    m_steamIDLobbyCSteamIDL'ID di Steam della lobby a cui connettersi.
    m_steamIDFriendCSteamIDL'amico attraverso cui si sono uniti. Non sarà valido se non si sono uniti alla lobby attraverso un amico.

    NOTA: questa callback avviene quando ci si unisce a una lobby. Se l'utente sta cercando di unirsi a una partita ma non a una lobby, sarà effettuata invece la callback GameRichPresenceJoinRequested_t.

    GameOverlayActivated_t

    Inviata quando viene attivato o disattivato l'Overlay di Steam. Questa funzione può essere utilizzata per mettere in pausa o riprendere i giochi per giocatore singolo.

    NomeTipoDescrizione
    m_bActiveuint81 se è appena stata attivata, altrimenti 0.

    GameRichPresenceJoinRequested_t

    Chiamata quando l'utente cerca di unirsi a una partita dalla sua lista degli amici, o dopo che un utente accetta un invito da un amico con InviteUserToGame.

    NomeTipoDescrizione
    m_steamIDFriendCSteamIDL'amico attraverso cui si sono uniti. Non sarà valido se non si sono uniti alla lobby attraverso un amico.
    m_rgchConnectchar[k_cchMaxRichPresenceValueLengthIl valore associato alla chiave della rich presence "connect".

    Funzioni associate: InviteUserToGame

    NOTA: questa callback avviene quando ci si unisce a una partita. Se l'utente sta cercando di unirsi a una lobby, sarà effettuata invece la callback GameLobbyJoinRequested_t.

    GameServerChangeRequested_t

    Chiamata quando l'utente cerca di unirsi a un server di gioco differente dalla sua lista amici. Il client di gioco dovrebbe cercare di connettersi alla lobby specificata quando riceve questa callback.

    NomeTipoDescrizione
    m_rgchServerchar[64]L'indirizzo del server, ad esempio "127.0.0.1:27015", "tf2.valvesoftware.com".
    m_rgchPasswordchar[64]La password del server, se presente.

    JoinClanChatRoomCompletionResult_t

    Inviata quando l'utente ha cercato di unirsi a una chat di gruppo di Steam attraverso JoinClanChatRoom.

    NomeTipoDescrizione
    m_steamIDClanChatCSteamIDL'ID di Steam della chat a cui si è unito l'utente.
    m_eChatRoomEnterResponseEChatRoomEnterResponseIl risultato dell'operazione.

    Funzioni associate: JoinClanChatRoom

    PersonaStateChange_t

    Chiamata a ogni cambio di stato di un amico.

    NomeTipoDescrizione
    m_ulSteamIDuint64L'ID di Steam dell'utente il cui stato è cambiato.
    m_nChangeFlagsintUn unione dei bit dei valori di EPersonaChange.

    Funzioni associate: RequestUserInformation

    SetPersonaNameResponse_t

    Riporta il risultato di un tentativo di cambiare l'alias corrente di un utente.

    NomeTipoDescrizione
    m_bSuccessbooltrue se è stato cambiato con successo.
    m_bLocalSuccessbooltrue se la modifica è stata salvata localmente. Potremmo non essere riusciti a comunicare con Steam.
    m_resultEResultIl risultato dell'operazione.

    Funzioni associate: SetPersonaName

    Strutture

    Queste sono strutture che le funzioni all'interno di ISteamFriends possono restituire o con cui possono interagire.

    FriendGameInfo_t

    Informazioni sul titolo a cui sta giocando un amico.
    Si può ottenere da GetFriendGamePlayed.

    NomeTipoDescrizione
    m_gameIDCGameIDL'ID del titolo a cui sta giocando l'amico.
    m_unGameIPuint32L'IP del server su cui sta giocando l'amico.
    m_usGamePortuint16La porta del server su cui sta giocando l'amico.
    m_usQueryPortuint16La porta della query del server su cui sta giocando l'amico.
    m_steamIDLobbyCSteamIDL'ID di Steam della lobby in cui si trova l'amico.

    FriendSessionStateInfo_t

    Informazioni sulle sessioni dell'utente (solo per uso interno di Steam).

    NomeTipoDescrizione
    m_uiOnlineSessionInstancesuint32
    m_uiPublishedToFriendsSessionInstanceuint8

    EquippedProfileItemsChanged_t

    Callback quando gli oggetti equipaggiati del profilo della Comunità di Steam di un utente vengono modificati. Può essere per l'utente corrente o per i suoi amici.

    NomeTipoDescrizione
    m_steamIDCSteamID

    EquippedProfileItems_t

    CallResult from RequestEquippedProfileItems. Inviata anche come Callback.

    NomeTipoDescrizione
    m_eResultEResult
    m_bHasAnimatedAvatarCSteamID
    m_bHasAvatarFramebool
    m_bHasProfileModifierbool
    m_bHasProfileBackgroundbool
    m_bHasMiniProfileBackgroundbool

    Enums

    Queste sono enumerazioni definite per l'utilizzo con ISteamFriends.

    EFriendFlags

    Contrassegni per enumerare la lista amici o controllare velocemente la relazione tra utenti.

    NomeValoreDescrizione
    k_EFriendFlagNone0x00Nessuna.
    k_EFriendFlagBlocked0x01Gli utenti bloccati dall'utente corrente.
    k_EFriendFlagFriendshipRequested0x02Gli utenti che hanno inviato una richiesta di amicizia all'utente corrente.
    k_EFriendFlagImmediate0x04Gli amici "regolari" dell'utente corrente.
    k_EFriendFlagClanMember0x08Gli utenti che si trovano in uno degli stessi piccoli gruppi di Steam dell'utente corrente.
    k_EFriendFlagOnGameServer0x10Utenti che si trovano nello stesso server di gioco, come impostato da SetPlayedWith.
    k_EFriendFlagRequestingFriendship0x80Utenti a cui l'utente corrente ha inviato richieste di amicizia.
    k_EFriendFlagRequestingInfo0x100Utenti che stanno inviando informazioni aggiuntive su di loro dopo una chiamata a RequestUserInformation.
    k_EFriendFlagIgnored0x200Utenti che l'utente corrente ha evitato di contattare.
    k_EFriendFlagIgnoredFriend0x400Utenti che hanno ignorato l'utente corrente, ma di cui l'utente corrente è comunque a conoscenza.
    k_EFriendFlagChatMember0x1000Gli utenti in una delle stesse chat.
    k_EFriendFlagAll0xFFFFRestituisce tutti i contrassegni degli amici.

    EFriendRelationship

    Dichiara l'insieme di relazioni che potrebbero avere gli utenti di Steam.

    NomeValoreDescrizione
    k_EFriendRelationshipNone0Gli utenti non hanno alcuna relazione.
    k_EFriendRelationshipBlocked1L'utente ha appena cliccato "Ignora" su una richiesta di amicizia. Questa informazione non viene memorizzata.
    k_EFriendRelationshipRequestRecipient2L'utente ha richiesto l'amicizia all'utente corrente.
    k_EFriendRelationshipFriend3Un amico "regolare".
    k_EFriendRelationshipRequestInitiator4L'utente corrente ha inviato una richiesta di amicizia.
    k_EFriendRelationshipIgnored5L'utente corrente ha esplicitamente bloccato l'altro utente da ogni comunicazione. Questa informazione viene memorizzata.
    k_EFriendRelationshipIgnoredFriend6L'utente ha ignorato l'utente corrente.
    k_EFriendRelationshipSuggested_DEPRECATED7Non più in uso.
    k_EFriendRelationshipMax8Il numero totale di relazioni trra amici, utilizzato per iterazioni e verifiche.

    EOverlayToStoreFlag

    Questi valori vengono inviati come parametri da memorizzare con ActivateGameOverlayToStore e modificano il comportamento all'apertura della pagina.

    NomeValoreDescrizione
    k_EOverlayToStoreFlag_None0No
    k_EOverlayToStoreFlag_AddToCart1Non più in uso, ora funziona allo stesso modo di K_EOverlayToStoreFlag_AddToCartAndShow.
    k_EOverlayToStoreFlag_AddToCartAndShow2Aggiunge l'appID specificato al carrello dell'utente e mostra la pagina del Negozio.

    EPersonaChange

    Utilizzato in PersonaStateChange_t::m_nChangeFlags per descrivere cosa è cambiato a proposito di un utente.
    Questi contrassegni descrivono cambiamenti a elementi imparati di recente dall'utente, quindi all'avvio vedrai i cambiamenti al nome, all'avatar e alla relazione per ogni amico.

    NomeValoreDescrizione
    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

    Elenca gli stati in cui si può trovare un amico di Steam.

    NomeValoreDescrizione
    k_EPersonaStateOffline0L'amico non ha effettuato l'accesso.
    k_EPersonaStateOnline1L'amico ha effettuato l'accesso.
    k_EPersonaStateBusy2L'amico ha effettuato l'accesso, ma il suo stato è impostato su "Non disturbare".
    k_EPersonaStateAway3Funzionalità automatica di cambio stato su "assente".
    k_EPersonaStateSnooze4Funzionalità automatica di cambio stato su "assente" per un periodo prolungato.
    k_EPersonaStateLookingToTrade5Online, sta effettuando uno scambio.
    k_EPersonaStateLookingToPlay6Online, vuole giocare.
    k_EPersonaStateMax7Il numero totale di stati. Utilizzato solo per l'iterazione e la validazione.

    EUserRestriction

    Utilizza contrassegni di restrizione che vengono restituiti da GetUserRestrictions.

    NomeValoreDescrizione
    k_nUserRestrictionNone0Nessuna restrizione alla chat o al contenuto nota.
    k_nUserRestrictionUnknown1L'informazione non è ancora disponibile, l'utente è offline.
    k_nUserRestrictionAnyChat2L'utente non ha il permesso o non riesce a ricevere/inviare messaggi in chat.
    k_nUserRestrictionVoiceChat4L'utente non ha il permesso o non riesce a ricevere/inviare messaggi vocali in chat.
    k_nUserRestrictionGroupChat8L'utente non ha il permesso o non riesce a ricevere/inviare messaggi in chat di gruppo.
    k_nUserRestrictionRating16L'utente è al di sotto del limite di età per la regione corrente.
    k_nUserRestrictionGameInvites32L'utente non può inviare o ricevere inviti a giocare, ad esempio se sono collegati su un dispositivo mobile.
    k_nUserRestrictionTrading64L'utente non può partecipare agli scambi, ad esempio se sono collegati su console o dispositivo mobile.

    ECommunityProfileItemType

    Tipi di oggetti per i profili della Comunità di Steam

    NomeValoreDescrizione
    k_ECommunityProfileItemType_AnimatedAvatar0Immagine dell'avatar animato (GIF)
    k_ECommunityProfileItemType_AvatarFrame1Cornice dell'avatar (può essere o meno una PNG animata)
    k_ECommunityProfileItemType_ProfileModifier2Oggetto speciale modificatore del profilo, come il profilo stagionale o il profilo d'artista
    k_ECommunityProfileItemType_ProfileBackground3Immagine o filmato dello sfondo del profilo
    k_ECommunityProfileItemType_MiniProfileBackground4Immagine o filmato dello sfondo per il riquadro a comparsa al passaggio del mouse per un utente

    ECommunityProfileItemProperty

    Proprietà di un oggetto del profilo della Comunità di Steam. Vedi GetProfileItemPropertyString e GetProfileItemPropertyUint.

    NomeValoreDescrizione
    k_ECommunityProfileItemProperty_ImageSmall0URL della versione piccola o animata dell'immagine
    k_ECommunityProfileItemProperty_ImageLarge1URL della versione grande o statica dell'immagine
    k_ECommunityProfileItemProperty_InternalName2Nome interno inserito sul sito per i partner (per il debug)
    k_ECommunityProfileItemProperty_Title3Nome localizzato dell'oggetto
    k_ECommunityProfileItemProperty_Description4Descrizione localizzata dell'oggetto
    k_ECommunityProfileItemProperty_AppID5AppID dell'oggetto (valore intero non firmato)
    k_ECommunityProfileItemProperty_TypeID6Tipo di ID dell'oggetto, univoco per l'appID (valore intero non firmato)
    k_ECommunityProfileItemProperty_Class7"Classe" o tipo di oggetto (valore interno, valore intero non firmato)
    k_ECommunityProfileItemProperty_MovieWebM8URL del file video webm
    k_ECommunityProfileItemProperty_MovieMP49URL del file video mp4
    k_ECommunityProfileItemProperty_MovieWebMSmall10URL del file video piccolo webm
    k_ECommunityProfileItemProperty_MovieMP4Small11URL del file video piccolo mp4

    EActivateGameOverlayToWebPageMode

    Modalità della pagina web dell'Overlay di gioco

    NomeValoreDescrizione
    k_EActivateGameOverlayToWebPageMode_Default0Il browser si aprirà accanto a tutte le altre finestre aperte dall'utente nell'Overlay. La finestra rimarrà aperta, anche se l'utente chiude e riapre l'Overlay.
    k_EActivateGameOverlayToWebPageMode_Modal1Il browser verrà aperto in una speciale configurazione dell'Overlay che nasconde tutte le altre finestre che l'utente ha aperto nell'Overlay. Quando l'utente chiude l'Overlay, si chiude anche la finestra del browser. Quando l'utente chiude la finestra del browser, l'Overlay si chiude automaticamente.

    Typedefs

    Queste sono definizioni di tipo stabilite per l'utilizzo con ISteamFriends.

    NomeTipo baseDescrizione
    FriendsGroupID_tint16Identificatore di un gruppo di amici (etichette).

    Costanti

    Queste sono costanti definite per l'utilizzo con ISteamFriends.

    NomeTipoValoreDescrizione
    k_cchMaxFriendsGroupNameint64Il limite massimo di caratteri nel nome di un gruppo di amici (non include il terminatore NULL!).
    k_cchMaxRichPresenceKeyLengthint64Il limite massimo di caratteri di una chiave della rich presence.
    k_cchMaxRichPresenceKeysint20Il numero massimo di chiavi della rich presence che possono essere impostate.
    k_cchMaxRichPresenceValueLengthint256Il limite massimo di un valore della rich presence.
    k_cchPersonaNameMaxint128Il numero massimo di byte in formato UTF-8 nell'alias di un utente.
    k_cEnumerateFollowersMaxint50Il numero massimo di follower che saranno restituiti da un'unica chiamata FriendsEnumerateFollowingList_t.
    k_cFriendsGroupLimitint100Non più in uso.
    k_cubChatMetadataMaxuint328192Numero massimo di byte dei metadati di una chat, lobby o membro di una chat o lobby.
    k_cwchPersonaNameMaxint32Il numero massimo di caratteri in formato UTF-16 nell'alias di un utente.
    k_FriendsGroupID_InvalidFriendsGroupID_t-1Identificatore non valido di un gruppo di amici.
    STEAMFRIENDS_INTERFACE_VERSIONconst char *"SteamFriends015"

    Localizzazione della rich presence


    La localizzazione della rich presence consiste in una lista di token di valori e nomi forniti per ogni lingua supportata. I nomi dei token iniziano con un # e possono contenere qualunque tipo di carattere alfanumerico e di sottolineatura. I valori dei token contengono testo localizzato e possono contenere substitutions (sostituzioni), le quali specificano le parti della stringa da sostituire con altri valori della rich presence.

  • Un token di base è costituito da semplice testo localizzato:
    "#Status_AtMainMenu" "At the Main Menu"
    In questo esempio, se steam_display è impostato su #Status_AtMainMenu utilizzando SetRichPresence, allora "At the Main Menu" sarà mostrato insieme sul client di Steam insieme alle informazioni sul giocatore.

  • Le sostituzioni hanno questo aspetto:
    "#StatusWithScore" "Score: %score%"
    In questo caso, se if steam_display è impostato su "#StatusWithScore" utilizzando SetRichPresence e "score" impostato su "3" utilizzando la stessa API, allora "Score: 3" sarà mostrato sul client di Steam insieme alle informazioni sul giocatore.

  • Le sostituzioni possono causare anche localizzazioni ulteriori includendo una sottostringa con parantesi graffe. Ad esempio:
    "#PlayingHero" "Playing: {#Hero_%hero%}" "#Hero_Tidehunter" "Tidehunter"
    Prima vengono effettuate le sostituzioni sulle sottostringhe delimitate da parentesi graffe e poi viene localizzata l'etichetta risultante. In questo caso, se steam_display è impostato su "#PlayingHero" e "hero" è impostato su "Tidehunter", il client di Steam localizzerà "#Hero_Tidehunter" e mostrerà "Playing: Tidehunter".

    NOTA: le chiavi della rich presence utilizzate nelle sostituzioni possono contenere solo caratteri alfanumerici, caratteri di sottolineatura e i due punti (":").

    Se non vengono trovati token di localizzazione, il sistema farà riferimento alla lingua inglese. Se non vengono trovati nemmeno token in inglese, la rich presence non verrà mostrata sul client di Steam. Allo stesso modo, se un token specifica una sostituzione utilizzando una chiave della rich presence non impostata, questa non verrà mostrata sul client di Steam.

    Gli sviluppatori forniscono i file di localizzazione della rich presence nella sezione Rich Presence della scheda della Community, che può essere trovata sulla pagina Modifica impostazioni di Steamworks.

    rpedit.jpg

    Per scopi di testing, è possibile utilizzare http://www.steamcommunity.com/dev/testrichpresence per mostrare la stringa localizzata della rich presence per l'utente che ha effettuato l'accesso e alcune informazioni su errori dovuti a dati incompleti o non corretti. La stringa sarà localizzata nella lingua impostata per il sito web di Steam.

    Ogni lingua può essere caricata individualmente su file simili a questo:

    "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" } } }

    Possono essere incluse molteplici lingue in un singolo caricamento. Vengono sovrascritte solo le lingue presenti nel file.
    "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é" } } }