Documentation Steamworks
Interface ISteamUserStats
Fournit des fonctions permettant de soumettre et d'accéder à des stats, des succès et des classements.

Fonctions membres

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

AttachLeaderboardUGC

SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tUn handle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.
hUGCUGCHandle_tHandle vers un élément de contenu généré par la communauté partagé avec ISteamRemoteStorage::FileShare.

Joint un élément de contenu généré par la communauté à l'entrée du compte actuel sur le tableau des scores.

Ce contenu pourrait être une rediffusion de l'utilisateur ou l'utilisatrice qui réussit à atteindre le score ou un fantôme avec lequel on peut faire la course. Le handle joint sera disponible lorsque l'entrée sera récupérée et peut être téléchargé par d'autres personnes via GetDownloadedLeaderboardEntry, qui contient LeaderboardEntry_t.m_hUGC. Pour créer et télécharger un contenu généré par la communauté, consultez la documentation du Workshop Steam.

Une fois joint, le contenu sera disponible même si le fichier du Cloud sous-jacent est modifié ou supprimé par le compte.

Vous devez appeler FindLeaderboard ou FindOrCreateLeaderboard pour obtenir SteamLeaderboard_t avant d'appeler cette fonction.

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

ClearAchievement

bool ClearAchievement( const char *pchName );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès à réinitialiser.

Réinitialise l'état Déverrouillé d'un succès.

Cette fonction n'est principalement utilisée qu'à des fins de test.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour envoyer le statut de déverrouillage vers le serveur et pour déclencher la notification de l'overlay Steam, vous devez appeler StoreStats.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • Le « nom de l'API » pour le succès spécifié existe dans l'onglet d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.

Consulter également : ResetAllStats, GetAchievementAndUnlockTime, GetAchievement, SetAchievement

DownloadLeaderboardEntries

SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.
eLeaderboardDataRequestELeaderboardDataRequestType de la demande de données à effectuer.
nRangeStartintIndex pour commencer à télécharger des entrées relatives à eLeaderboardDataRequest.
nRangeEndintDernier index pour lequel il faut récupérer les entrées relatives à eLeaderboardDataRequest.

Va chercher une série d'entrées de classement pour un classement spécifique.

Vous pouvez demander plus d'entrées que celles existantes, et ceci en renverra autant que celles qui existent.

Si vous voulez télécharger des entrées pour un ensemble arbitraire de comptes, comme par exemple toutes les personnes présentes sur un serveur, vous pouvez utiliser DownloadLeaderboardEntriesForUsers qui dresse un tableau des SteamID.

Vous devez appeler FindLeaderboard ou FindOrCreateLeaderboard pour obtenir SteamLeaderboard_t avant d'appeler cette fonction.

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


Consulter également : GetDownloadedLeaderboardEntry, UploadLeaderboardScore

DownloadLeaderboardEntriesForUsers

SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard, CSteamID *prgUsers, int cUsers );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.
prgUsersCSteamID *Tableau des SteamID pour lequel obtenir les entrées du classement.
cUsersintNombre d'éléments dans le tableau prgUsers.

Va chercher les entrées du classement pour un ensemble arbitraire de comptes sur un classement spécifié.

Un maximum de 100 comptes peut être téléchargé à la fois, avec seulement un appel en attente à la fois. Si un compte n'a pas d'entrée sur le classement spécifié, il ne sera pas inclus dans le résultat.

Si vous voulez télécharger des entrées en fonction du classement ou des contacts du compte actuel, alors vous devriez utiliser DownloadLeaderboardEntries.

Vous devez appeler FindLeaderboard ou FindOrCreateLeaderboard pour obtenir SteamLeaderboard_t avant d'appeler cette fonction.

Éléments renvoyés : SteamAPICall_t à utiliser avec un résultat d'appel LeaderboardScoresDownloaded_t.
Renvoie k_uAPICallInvalid qui indique une erreur si le nombre de comptes dépasse 100 ou si l'un des SteamID n'est pas valide.

Consultez également : GetDownloadedLeaderboardEntry, UploadLeaderboardScore

FindLeaderboard

SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName );
NomTypeDescription
pchLeaderboardNameconst char *Nom du classement à trouver. Ne doit pas être plus long que k_cchLeaderboardNameMax.

Obtient un classement par nom.

Vous devez soit effectuer cet appel soit FindOrCreateLeaderboard pour obtenir le handle du classement qui est valide pour la session de jeu pour chaque classement auquel vous souhaitez accéder avant d'appeler n'importe quelle autre fonction de classement.

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


Consulter également : GetLeaderboardEntryCount, DownloadLeaderboardEntries, UploadLeaderboardScore

FindOrCreateLeaderboard

SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType );
NomTypeDescription
pchLeaderboardNameconst char *Nom du classement à trouver ou créer. Ne doit pas être plus long que k_cchLeaderboardNameMax.
eLeaderboardSortMethodELeaderboardSortMethodOrdre de tri du nouveau classement s'il est créé.
eLeaderboardDisplayTypeELeaderboardDisplayTypeType d'affichage (utilisé par le site Web de la communauté Steam) du nouveau classement s'il est créé.

Obtient un classement par nom, il va le créer si ce n'a pas déjà été fait.

Vous devez soit effectuer cet appel soit FindLeaderboard pour obtenir le handle du classement qui est valide pour la session de jeu pour chaque classement auquel vous souhaitez accéder avant d'appeler n'importe quelle autre fonction de classement.

Les classements créés avec cette fonction ne s'afficheront pas automatiquement dans la communauté Steam. Vous devez définir manuellement le champ du nom de la communauté dans l'onglet « Application » du panneau d'administration sur le site Web de Steamworks. Ainsi, il est généralement recommandé de préférer la création de classement dans le panneau d'administration de l'application sur le site Web de Steamworks et d'utiliser FindLeaderboard, à moins que vous ne vous attendiez à avoir une grande quantité de classements créés dynamiquement.

Ne passez jamais k_ELeaderboardSortMethodNone pour eLeaderboardSortMethod ou k_ELeaderboardDisplayTypeNone pour eLeaderboardDisplayType, car il s'agit d'un comportement non défini.

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


Consulter également : GetLeaderboardEntryCount, DownloadLeaderboardEntries, UploadLeaderboardScore

GetAchievement

bool GetAchievement( const char *pchName, bool *pbAchieved );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès.
pbAchievedbool *Renvoie l'état déverrouillé du succès.

Obtient l'état déverrouillé du succès.

Pour les autres comptes, GetUserAchievement est une fonction équivalente.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le « Nom d'API » du succès spécifié existe dans l'onglet « Application » du panneau d'administration sur le site Web de Steamworks et les changements ont été publiés.

Si la fonction est utilisée avec succès, alors l'état déverrouillé est renvoyé via le paramètre pbAchieved.

Consulter également : GetAchievementDisplayAttribute, GetAchievementName, GetAchievementIcon, GetAchievementAndUnlockTime, GetAchievementAchievedPercent

GetAchievementAchievedPercent

bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès.
pflPercentfloat *Variable pour renvoyer le pourcentage de personnes qui ont déverrouillé ce succès de 0 à 100.

Renvoie le pourcentage de personnes qui ont déverrouillé le succès spécifié.

Vous devez avoir appelé RequestGlobalAchievementPercentages et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

Éléments renvoyés : bool
Renvoie true en cas de réussite, et false si RequestGlobalAchievementPercentages n'a pas été appelé ou si le « Nom d'API » spécifié n'existe pas dans les pourcentages de succès.

Consulter également : GetMostAchievedAchievementInfo, GetNextMostAchievedAchievementInfo

GetAchievementAndUnlockTime

bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès.
pbAchievedbool *Indique si l'utilisatrice ou l'utilisateur actuel a déverrouillé ou non le succès.
punUnlockTimeuint32 *Renvoie la date à laquelle le succès a été déverrouillé, si pbAchieved renvoie true.

Obtient le statut du succès et la date à laquelle il a été déverrouillé le cas échéant.

Si la valeur renvoyée est true, mais que la date de déverrouillage est zéro, cela signifie qu'il a été déverrouillé avant que Steam ne commence à suivre les dates de déverrouillage des succès (décembre 2009). L'heure est au format « depuis l'époque Unix » (secondes écoulées depuis le 1ᵉʳ janvier 1970).

Pour les autres comptes, GetUserAchievementAndUnlockTime est une fonction équivalente.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le « Nom de l'API » pour le succès spécifié existe dans l'onglet Admin. de l'application sur le site Web de Steamworks et les changements ont été publiés.

Si l'appel aboutit, l'état d'avancement et l'heure de déverrouillage sont fournis à l'aide des arguments pbAchieved et punUnlockTime.

Consulter également : GetAchievement, GetAchievementDisplayAttribute, GetAchievementName, GetAchievementIcon

GetAchievementDisplayAttribute

const char * GetAchievementDisplayAttribute( const char *pchName, const char *pchKey );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès.
pchKeyconst char *Clé pour laquelle obtenir la valeur.

Obtient les attributs généraux pour un succès. Fournit actuellement : le nom, la description et l'état masqué.

Ceci obtient la valeur à partir d'un dictionnaire ou d'une carte de valeurs, et il est donc nécessaire d'entrer l'une des clés suivantes.
  • "name" permet de récupérer le nom traduit du succès en encodage UTF8.
  • "desc" permet de récupérer la description traduite du succès en encodage UTF8.
  • "hidden" permet de récupérer l'état d'un succès si celui-ci est masqué. Renvoie « 0 » lorsqu'il n'est pas masqué, « 1 » lorsqu'il l'est.

Cette traduction est fournie en fonction de la langue du jeu, si elle est définie, sinon, la fonction vérifie si une traduction est disponible pour la langue de l'interface Steam du compte. Si cela échoue également, alors la langue par défaut est l'anglais.

Éléments renvoyés : const char *
En cas de succès, cette fonction renvoie une chaine de caractères si toutes les conditions suivantes sont remplies, sinon elle renvoie une chaine vide : "".
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le succès spécifié existe dans Admin. de l'application sur le site Web de Steamworks, et les changements ont été publiés.
  • La clé pchKey spécifiée est valide.

Consulter également : GetAchievement, GetAchievementName, GetAchievementIcon, GetAchievementAndUnlockTime

GetAchievementIcon

int GetAchievementIcon( const char *pchName );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès.

Obtient l'icône d'un succès.

Éléments renvoyés : int
Déclenche un rappel UserAchievementIconFetched_t.
Cette image est renvoyée comme handle à utiliser avec ISteamUtils::GetImageRGBA pour obtenir les données de l'image.

Un handle invalide de 0 sera renvoyé dans les conditions suivantes.
  • RequestCurrentStats n'est pas terminé et n'a pas renvoyé avec succès son rappel.
  • Le succès spécifié n'existe pas dans Admin. de l'application sur le site Web de Steamworks, ou les changements ont été publiés.
  • Steam est encore en train d'aller chercher les données de l'image sur le serveur. Cela déclenchera un rappel UserAchievementIconFetched_t qui vous préviendra lorsque les données de l'image seront prêtes et vous fournira un nouveau handle. Si le m_nIconHandle du rappel est toujours sur 0, alors aucune image n'est définie pour le succès spécifié.

Consultez également : GetAchievement, GetAchievementName, GetAchievementAndUnlockTime, GetAchievementAchievedPercent, GetAchievementDisplayAttribute

GetAchievementName

const char * GetAchievementName( uint32 iAchievement );
NomTypeDescription
iAchievementuint32Index du succès.

Obtient le « nom de l'API » pour l'index d'un succès entre 0 et GetNumAchievements.

Cette fonction doit être utilisée avec GetNumAchievements pour faire défiler la liste des succès.

En général, les jeux ne devraient pas avoir besoin de ces fonctions, car la liste des succès existants est compilée dans le jeu lui-même.

Éléments renvoyés : const char *
« Nom de l'API » pour le succès, renvoie une chaine de caractères vide si iAchievement n'est pas un index valide. RequestCurrentStats doit avoir été appelé et doit avoir renvoyé avec succès son rappel. L'AppID actuel doit avoir des succès.

Exemples
int numAchievements = SteamUserStats()->GetNumAchievements(); for ( int i = 0; i < numAchievements; ++i ) { const char *achName = SteamUserStats()->GetAchievementName( i ); if ( achName ) { printf( "%s", achName ); } }

GetDownloadedLeaderboardEntry

bool GetDownloadedLeaderboardEntry( SteamLeaderboardEntries_t hSteamLeaderboardEntries, int index, LeaderboardEntry_t *pLeaderboardEntry, int32 *pDetails, int cDetailsMax );
NomTypeDescription
hSteamLeaderboardEntriesSteamLeaderboardEntries_tHandle d'entrée de classement obtenu avec le dernier résultat d'appel reçu LeaderboardScoresDownloaded_t.
indexintIndex du classement à réceptionner, doit être compris entre 0 et LeaderboardScoresDownloaded_t.m_cEntryCount.
pLeaderboardEntryLeaderboardEntry_t *Variable dans laquelle l'entrée va être renvoyée.
pDetailsint32 *Tableau préalloué dans lequel sont renvoyés les détails de cette entrée.
cDetailsMaxintTaille du tableau pDetails.

Récupère les données pour une seule entrée de classement.

Vous devriez utiliser une boucle comprise entre 0 et LeaderboardScoresDownloaded_t.m_cEntryCount pour obtenir toutes les entrées téléchargées. Une fois que vous aurez accès à toutes les entrées, les données seront libérées et le handle SteamLeaderboardEntries_t sera alors invalide.

Il est également possible de renvoyer les informations concernant cette entrée via pDetails. Si NULL, alors cDetailsMax DOIT être 0.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • hSteamLeaderboardEntries doit être un handle valide du dernier résultat d'appel LeaderboardScoresDownloaded_t reçu.
  • index doit être compris entre 0 et LeaderboardScoresDownloaded_t.m_cEntryCount.

Si l'appel est effectué avec succès, alors l'entrée est renvoyée via le paramètre pLeaderboardEntry. Si cDetailsMax n'est pas défini sur 0 alors pDetails contiendra les informations de déverrouillage.

Consultez également : DownloadLeaderboardEntries, UploadLeaderboardScore

Exemples
void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pCallback ) { for ( int i = 0; i < pCallback->m_cEntryCount; i++ ) { LeaderboardEntry_t leaderboardEntry; int32 details[3]; // On sait que nous devons commencer par stocker cette quantité. SteamUserStats()->GetDownloadedLeaderboardEntry( pCallback->m_hSteamLeaderboardEntries, i, &leaderboardEntry, details, 3 ); assert( leaderboardEntry.m_cDetails == 3 ); //... } }

GetGlobalStat

bool GetGlobalStat( const char *pchStatName, int64 *pData ); bool GetGlobalStat( const char *pchStatName, double *pData );
NomTypeDescription
pchStatNameconst char *Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
pDataint64 * / double *Variable dans laquelle renvoyer la valeur de la statistique.

Obtient les totaux généraux pour une stat globale.

Vous devez avoir appelé RequestGlobalStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestGlobalStats est terminé et renvoyé avec succès son rappel.
  • Le type correspond au type listé dans l'onglet d'administration de l'application sur le site Steamworks.

Consulter également : GetGlobalStatHistory

GetGlobalStatHistory

int32 GetGlobalStatHistory( const char *pchStatName, int64 *pData, uint32 cubData ); int32 GetGlobalStatHistory( const char *pchStatName, double *pData, uint32 cubData );
NomTypeDescription
pchStatNameconst char *Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
pDatadouble *Tableau dans lequel sera renvoyé l'historique quotidien.
cubDatauint32Taille totale en octets du tableau pData.

Obtient les totaux généraux pour une stat globale.

pData contiendra les valeurs journalières, depuis aujourd'hui.
Une fois appelé, pData[0] sera défini sur la date d'aujourd'hui, pData[1] sur hier, pData[2] sur avant-hier, etc.

Vous devez avoir appelé RequestGlobalStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

Éléments renvoyés : int32
Le nombre d'éléments renvoyés dans le tableau pData.

La valeur 0 indique un échec pour l'une des raisons suivantes :
  • La statistique spécifiée n'existe pas dans Admin. de l'application sur le site Web de Steamworks, ou les changements ont été publiés.
  • RequestGlobalStats n'a pas été appelé ou n'a pas renvoyé son rappel, avec au moins 1 jour d'historique.
  • Le type ne correspond pas au type listé dans l'onglet Admin. de l'application du site de Steamworks.
  • Il n'y a aucun historique disponible.

Consulter également : GetGlobalStat

GetLeaderboardDisplayType

ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.

Renvoie le type d'affichage d'un handle de classement.

Éléments renvoyés : ELeaderboardDisplayType
Le type d'affichage du classement. Renvoie k_ELeaderboardDisplayTypeNone si le handle de classement n'est pas valide.

Consultez également : GetLeaderboardName, GetLeaderboardSortMethod, GetLeaderboardEntryCount

GetLeaderboardEntryCount

int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.

Renvoie le nombre total d'entrées dans un classement.

Cela est mis en cache en fonction du classement dès le premier appel vers FindLeaderboard ou FindOrCreateLeaderboard et est rafraichi après chaque appel réussi vers DownloadLeaderboardEntries, DownloadLeaderboardEntriesForUsers, et UploadLeaderboardScore.

Éléments renvoyés : int
Nombre d'entrées dans le classement. Renvoie 0 si le handle du classement n'est pas valide.

Consultez également : GetLeaderboardName, GetLeaderboardSortMethod, GetLeaderboardDisplayType

GetLeaderboardName

const char * GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.

Renvoie le nom d'un handle de classement.

Éléments renvoyés : const char *
Nom du classement. Renvoie une chaine vide si le handle du classement n'est pas valide.

Consulter également : GetLeaderboardEntryCount, GetLeaderboardSortMethod, GetLeaderboardDisplayType

GetLeaderboardSortMethod

ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.

Renvoie l'ordre de tri d'un handle de classement.

Éléments renvoyés : ELeaderboardSortMethod
Méthode de sélection du classement. Renvoie k_ELeaderboardSortMethodNone si le handle de classement n'est pas valide.

Consulter également : GetLeaderboardName, GetLeaderboardDisplayType, GetLeaderboardEntryCount

GetMostAchievedAchievementInfo

int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved );
NomTypeDescription
pchNamechar *Tampon de chaine vers lequel renvoyer le « nom d'API » du succès.
unNameBufLenuint32Taille en octets de pchName qui doit être au moins aussi long que votre « nom d'API » de succès le plus long.
pflPercentfloat *Variable pour renvoyer le pourcentage de personnes qui ont déverrouillé ce succès de 0 à 100.
pbAchievedbool *Variable à renvoyer indiquant si le compte actuel a déverrouillé ou non ce succès.

Obtient les informations du succès le plus obtenu pour le jeu.

Vous devez avoir appelé RequestGlobalAchievementPercentages et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

Éléments renvoyés : int
Renvoie -1 si RequestGlobalAchievementPercentages n'a pas été appelé ou qu'il n'existe aucun pourcentage mondial de succès pour cet AppID.

Si l'appel est effectué avec succès, un itérateur est renvoyé. Celui-ci devrait être utilisé avec GetNextMostAchievedAchievementInfo.

Consulter également : RequestCurrentStats, RequestGlobalAchievementPercentages, GetNextMostAchievedAchievementInfo, GetAchievementAchievedPercent

Exemple
const int ACH_NAME_MAX_LENGTH = 64; char[ACH_NAME_MAX_LENGTH] achName; float achPercent; float achUnlocked; int i = SteamUserStats()->GetMostAchievedAchievementInfo( achName, ACH_NAME_MAX_LENGTH, achPercent, achUnlocked ); while ( i != -1 ) { printf( "AchievementInfo - name: %s, percent: %f, unlocked: %d", achName, achPercent, achUnlocked ); // Ajoutez ou mettez à jour cette information dans l'objet de succès local, ou rendez-la visible de l'utilisateur ou l'utilisatrice. i = SteamUserStats()->GetNextMostAchievedAchievementInfo( i, achName, ACH_NAME_MAX_LENGTH, achPercent, achUnlocked ); }

GetNextMostAchievedAchievementInfo

int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved );
NomTypeDescription
iIteratorPreviousintItérateur renvoyé par l'appel précédent vers cette fonction ou vers GetMostAchievedAchievementInfo.
pchNamechar *Tampon de chaine vers lequel renvoyer le « nom d'API » du succès.
unNameBufLenuint32Taille en octets de pchName qui doit être au moins aussi long que votre « nom d'API » de succès le plus long.
pflPercentfloat *Variable pour renvoyer le pourcentage de personnes qui ont déverrouillé ce succès de 0 à 100.
pbAchievedbool *Variable à renvoyer indiquant si le compte actuel a déverrouillé ou non ce succès.

Obtient les informations du second succès le plus obtenu pour le jeu.

Vous devez avoir appelé RequestGlobalAchievementPercentages et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

Éléments renvoyés : int
Renvoie -1 si RequestGlobalAchievementPercentages n'a pas été appelé ou qu'il n'existe aucun pourcentage mondial de succès pour cet AppID.

Si l'appel a réussi, il renvoie un itérateur qui doit être utilisé avec les appels subséquents de cette fonction.

Exemple
const int ACH_NAME_MAX_LENGTH = 64; char[ACH_NAME_MAX_LENGTH] achName; float achPercent; float achUnlocked; int i = SteamUserStats()->GetMostAchievedAchievementInfo( achName, ACH_NAME_MAX_LENGTH, achPercent, achUnlocked ); while ( i != -1 ) { printf( "AchievementInfo - name: %s, percent: %f, unlocked: %d", achName, achPercent, achUnlocked ); // Ajoutez ou mettez à jour cette information dans l'objet de succès local, ou rendez-la visible de l'utilisateur ou l'utilisatrice. i = SteamUserStats()->GetNextMostAchievedAchievementInfo( i, achName, ACH_NAME_MAX_LENGTH, achPercent, achUnlocked ); }

GetNumAchievements

uint32 GetNumAchievements();
Obtient le nombre de succès définis dans le panneau de l'Admin. de l'application du site Web de Steamworks.

Utilisé pour les itérations effectuées sur les succès avec GetAchievementName.

En général, les jeux ne devraient pas avoir besoin de ces fonctions, car la liste des succès existants est compilée dans le jeu lui-même.

Éléments renvoyés : uint32
Nombre de succès. Renvoie 0 si RequestCurrentStats n'a pas été appelé et n'a pas renvoyé avec succès son rappel ou si l'AppID actuel n'a aucun succès.

Consulter également : RequestCurrentStats, GetAchievementName

Exemple
int numAchievements = SteamUserStats()->GetNumAchievements(); for ( int i = 0; i < numAchievements; ++i ) { const char *achName = SteamUserStats()->GetAchievementName( i ); if ( achName ) { printf( "%s", achName ); } }

GetNumberOfCurrentPlayers

SteamAPICall_t GetNumberOfCurrentPlayers();
Récupère de manière asynchrone le nombre total de joueurs et de joueuses qui jouent en ce moment au jeu actuel. (à la fois en ligne et hors ligne).

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

GetStat

bool GetStat( const char *pchName, int32 *pData ); bool GetStat( const char *pchName, float *pData );
NomTypeDescription
pchNameconst char *Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
pDataint32 * / float *Variable dans laquelle renvoyer la valeur de la statistique.

Obtient la valeur actuelle de la statistique pour le compte actuel.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

Pour recevoir les statistiques d'autres comptes, utilisez GetUserStat.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le type passé via cette fonction doit correspondre au type listé dans l'onglet Admin. de l'application du site de Steamworks.

Consultez également : RequestCurrentStats, SetStat, UpdateAvgRateStat, StoreStats, ResetAllStats

GetTrophySpaceRequiredBeforeInstall

uint64 GetTrophySpaceRequiredBeforeInstall();
OBSOLÈTE.

Éléments renvoyés : uint64

GetUserAchievement

bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel le succès doit être obtenu.
pchNameconst char *Nom de l'API pour le succès.
pbAchievedbool *Renvoie l'état déverrouillé du succès.

Obtient l'état déverrouillé du succès.

La fonction équivalente pour l'utilisatrice ou l'utilisateur local est GetAchievement, et celle pour les serveurs de jeu est ISteamGameServerStats::GetUserAchievement.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • RequestUserStats est terminé et a renvoyé avec succès son rappel.
  • Le « Nom de l'API » du succès spécifié existe dans l'onglet Admin. de l'application sur le site Web de Steamworks et les changements ont été publiés.

Si la fonction est utilisée avec succès, alors l'état déverrouillé est renvoyé via le paramètre pbAchieved.

Consultez également : RequestUserStats, GetUserStat, GetUserAchievementAndUnlockTime

GetUserAchievementAndUnlockTime

bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel le succès doit être obtenu.
pchNameconst char *Nom de l'API pour le succès.
pbAchievedbool *Indique si l'utilisatrice ou l'utilisateur actuel a déverrouillé ou non le succès.
punUnlockTimeuint32 *Renvoie la date à laquelle le succès a été déverrouillé, si pbAchieved renvoie true.

Obtient le statut du succès et la date à laquelle il a été déverrouillé le cas échéant.

Si la valeur renvoyée est true, mais que la date de déverrouillage est zéro, cela signifie qu'il a été déverrouillé avant que Steam ne commence à suivre les dates de déverrouillage des succès (décembre 2009). L'heure est au format « depuis l'époque Unix » (secondes écoulées depuis le 1ᵉʳ janvier 1970).

La fonction équivalente pour l'utilisatrice ou l'utilisateur local est GetAchievementAndUnlockTime.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • RequestUserStats est terminé et a renvoyé avec succès son rappel.
  • Le « Nom de l'API » du succès spécifié existe dans l'onglet Admin. de l'application sur le site Web de Steamworks et les changements ont été publiés.

Si l'appel aboutit, l'état d'avancement et l'heure de déverrouillage sont fournis à l'aide des arguments pbAchieved et punUnlockTime.

Consulter également : RequestUserStats, GetUserAchievement, GetUserStat

GetUserStat

bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData ); bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel la statistique doit être obtenue.
pchNameconst char *Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
pDataint32 * / float *Variable dans laquelle renvoyer la valeur de la statistique.

Obtient la valeur actuelle de la statistique pour le compte spécifié.

Vous devez avoir appelé RequestUserStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

La fonction équivalente pour l'utilisatrice ou l'utilisateur local est GetStat, et celle pour les serveurs de jeu est ISteamGameServerStats::GetUserStat.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestUserStats est terminé et a renvoyé avec succès son rappel.
  • Le type ne correspond pas à celui listé dans l'onglet d'administration de l'application sur le site Steamworks.

Consultez également : GetUserAchievement, GetUserAchievementAndUnlockTime

GetUserStatsData

bool GetUserStatsData( void *pvData, uint32 cubData, uint32 *pcubWritten );
NomTypeDescription
pvDatavoid *
cubDatauint32
pcubWrittenuint32 *

OBSOLÈTE.

Éléments renvoyés : bool

IndicateAchievementProgress

bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès.
nCurProgressuint32Progression actuelle.
nMaxProgressuint32La progression requise pour déverrouiller le succès.

Fait apparaitre une fenêtre contextuelle qui indique à la personne la progression actuelle d'un succès.

Appeler cette fonction ne va PAS définir la progression ou déverrouiller le succès. Le jeu doit le faire manuellement en appelant SetStat !

La notification ressemble à ceci :
achievement_progress.png

Éléments renvoyés : bool
Déclenche un rappel UserStatsStored_t.
Déclenche un rappel UserAchievementStored_t.
Cette fonction renvoie true lorsqu'elle est effectuée avec succès et si toutes les conditions sont remplies. Sinon, elle renvoie false.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le succès spécifié existe sur le panneau d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
  • Le succès spécifié n'est pas déjà déverrouillé.
  • nCurProgress est inférieur à nMaxProgress.

Consulter également : RequestCurrentStats, SetAchievement, SetStat, StoreStats, ISteamUtils::SetOverlayNotificationPosition, ISteamUtils::SetOverlayNotificationInset

InstallPS3Trophies

bool InstallPS3Trophies();
OBSOLÈTE.

Éléments renvoyés : bool

RequestCurrentStats

bool RequestCurrentStats();
Demande les statistiques et les succès actuels du compte de manière asynchrone depuis le serveur.

Cet appel doit être envoyé en premier pour obtenir l'état initial des statistiques et des succès.
Ce n'est qu'après avoir reçu le rappel que vous pouvez commencer à appeler d'autres fonctions de statistiques et de succès pour le compte actuel.

Pour les autres comptes, RequestUserStats est une fonction équivalente.

Éléments renvoyés : bool
Déclenche un rappel UserStatsReceived_t.
Ne renvoie false que si personne n'est connecté. Sinon, renvoie true.

Consultez également : GetStat, SetStat, SetAchievement, StoreStats

RequestGlobalAchievementPercentages

SteamAPICall_t RequestGlobalAchievementPercentages();
Va chercher de manière asynchrone les données pour le pourcentage de joueurs et de joueuses qui ont reçu chaque succès pour le jeu actuel à l'échelle mondiale.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

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


Consulter également : GetMostAchievedAchievementInfo, GetNextMostAchievedAchievementInfo, GetAchievementAchievedPercent

RequestGlobalStats

SteamAPICall_t RequestGlobalStats( int nHistoryDays );
NomTypeDescription
nHistoryDaysintNombre de jours d'historique quotidien qu'il faut récupérer en plus des totaux généraux. La limite est de 60.

Va chercher de manière asynchrone les données de statistiques mondiales, disponibles pour celles marquées comme globales dans le panneau d'administration de l'application du site de Steamworks.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel.

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


Consulter également : GetGlobalStat, GetGlobalStatHistory

RequestUserStats

SteamAPICall_t RequestUserStats( CSteamID steamIDUser );
NomTypeDescription
steamIDUserCSteamIDSteamID du compte pour lequel la requête de statistiques est faite.

Télécharge depuis le serveur les succès et les statistiques pour le compte spécifié de manière asynchrone.

Ces stats ne sont pas mises à jour automatiquement ; vous devrez appeler cette fonction à nouveau pour actualiser les données qui peuvent avoir changé.

Pour éviter d'utiliser trop de mémoire, un cache des entrées les moins récemment utilisées (least recently used cache, ou LRU en anglais) est conservé et les statistiques d'autres comptes seront parfois déchargées. Lorsque cela se produit, un rappel UserStatsUnloaded_t est envoyé. Après avoir reçu ce rappel, les statistiques du compte ne seront plus disponibles tant que cette fonction n'aura pas été rappelée.

La fonction équivalente pour l'utilisatrice ou l'utilisateur local est RequestCurrentStats, et celle pour les serveurs de jeu est ISteamGameServerStats::RequestUserStats.

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


Consulter également : GetUserAchievement, GetUserAchievementAndUnlockTime, GetUserStat

ResetAllStats

bool ResetAllStats( bool bAchievementsToo );
NomTypeDescription
bAchievementsTooboolRéinitialiser les succès du compte ?

Réinitialise les stats du compte actuel et, de manière facultative, les succès.

Appelle automatiquement StoreStats pour imposer les changements sur le serveur. Ne devrait généralement être utilisé qu'à des fins de test lors du développement. Assurez-vous de synchroniser vos statistiques avec les nouvelles valeurs par défaut fournies par Steam après avoir effectué cet appel en appelant RequestCurrentStats.

Éléments renvoyés : bool
true indique une exécution réussie si RequestCurrentStats a bien été appelé et a renvoyé son rappel avec succès. Sinon renvoie false.

SetAchievement

bool SetAchievement( const char *pchName );
NomTypeDescription
pchNameconst char *Nom de l'API pour le succès à déverrouiller.

Déverrouille un succès.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Vous pouvez déverrouiller un succès plusieurs fois. Ainsi, vous n'avez pas besoin de vous soucier de remporter uniquement les succès qui n'ont pas déjà été obtenus. Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour envoyer le statut de déverrouillage vers le serveur et pour déclencher la notification de l'overlay Steam, vous devez appeler StoreStats.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • Le « Nom de l'API » pour le succès spécifié existe dans l'onglet d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
  • RequestCurrentStats est terminé et renvoyé avec succès son rappel.

Consulter également : RequestCurrentStats, StoreStats, ResetAllStats, GetAchievementAndUnlockTime, GetAchievement

SetStat

bool SetStat( const char *pchName, int32 nData ); bool SetStat( const char *pchName, float fData );
NomTypeDescription
pchNameconst char *« Nom de l'API » pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
nDataint32 / floatNouvelle valeur de la statistique. Cette valeur doit être absolue et ne pourra pas être incrémentée ou décrémentée pour vous.

Définit ou met à jour la valeur d'une statistique pour le compte actuel.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Cela permet à Steam d'imposer les changements même si le jeu plante ou se ferme de manière impromptue.
Pour livrer les statistiques au serveur, vous devez appeler StoreStats.

Si ce paramètre renvoie false alors que tout semble correct, alors vérifiez bien dans le panneau Admin. de l'application sur le site Web de Steamworks que vos changements sont publiés.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet Admin. de l'appli sur le site Web de Steamworks et les changements ont été publiés.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le type passé via cette fonction doit correspondre au type listé dans l'onglet Admin. de l'application du site de Steamworks.

Consulter également : GetStat, UpdateAvgRateStat, ResetAllStats

SetUserStatsData

bool SetUserStatsData( const void *pvData, uint32 cubData );
NomTypeDescription
pvDataconst void *
cubDatauint32

OBSOLÈTE.

Éléments renvoyés : bool

StoreStats

bool StoreStats();
Envoyer les données des statistiques et des succès modifiées au serveur pour les y enregistrer de façon permanente.

En cas d'échec, rien n'est envoyé au serveur. Il est recommandé de continuer à essayer jusqu'à ce que la fonction soit exécutée avec succès.

La fréquence de cet appel peut être limitée. La fréquence de l'appel devrait être de l'ordre des minutes plutôt que des secondes. Il n'est pas recommandé d'effectuer cet appel durant des changements d'états majeurs comme la fin d'une manche, un changement de carte ou le départ d'un utilisateur du serveur. L'appel est requis pour afficher la boite de dialogue de notification de déverrouillage du succès. Ainsi, si vous avez appelé SetAchievement, alors il est recommandé d'effectuer cet appel rapidement après celui-ci.

Si vous avez sauvegardé localement des statistiques ou des succès grâce à cette fonction, mais ne les avez pas encore chargés sur le serveur, cette fonction sera automatiquement utilisée lors de la clôture du processus de votre application.

Vous pouvez consulter des informations de débogage supplémentaires sur le fichier %steam_install%\logs\stats_log.txt.

Éléments renvoyés : bool
Déclenche un rappel UserStatsStored_t.
Déclenche un rappel UserAchievementStored_t.
Cette fonction renvoie true lorsqu'elle est effectuée avec succès et si toutes les conditions sont remplies. Sinon, elle renvoie false.
  • RequestCurrentStats est terminé et a renvoyé avec succès son rappel.
  • Le jeu actuel possède des statistiques qui lui sont associées dans l'interface Steamworks Partner, et ces stats sont publiées.

Si l'appel a réussi, vous recevrez un rappel UserStatsStored_t.

Si m_eResult a un résultat de k_EResultInvalidParam, alors l'une des statistiques envoyées a été rejetée, soit parce qu'elle ne respectait pas les contraintes, soit parce qu'elle était obsolète. Dans ce cas, le serveur renvoie des valeurs mises à jour et les statistiques devraient être mises à jour localement afin d'assurer la synchronisation. Il est inutile de rappeler RequestCurrentStats dans ce cas précis.

Si un ou plusieurs succès ont été débloqués, cela déclenchera également un rappel UserAchievementStored_t.

Consultez également : SetStat, SetAchievement

UpdateAvgRateStat

bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength );
NomTypeDescription
pchNameconst char *« Nom de l'API » pour la statistique. Ne doit pas être plus long que k_cchStatNameMax.
flCountThisSessionfloatAccumulation de valeurs depuis la dernière utilisation de cette fonction.
dSessionLengthdoubleTemps écoulé depuis la dernière utilisation de cette fonction, renseigné en secondes.

Met à jour une statistique AVGRATE (moyenne) en utilisant de nouvelles valeurs.

Vous devez avoir appelé RequestCurrentStats et obtenu un renvoi réussi de la fonction via son rappel avant de réaliser cet appel !

Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Cela permet à Steam d'imposer les changements même si le jeu plante ou se ferme de manière impromptue.
Pour livrer les statistiques au serveur vous devez appeler StoreStats.

Si ce paramètre renvoie false alors que tout semble correct, alors vérifiez bien dans le panneau Admin. de l'application sur le site Web de Steamworks que vos changements sont publiés.

Éléments renvoyés : bool
Cette fonction renvoie true en cas de succès, c'est-à-dire si les conditions suivantes sont remplies, et false en cas d'échec.
  • La statistique spécifiée existe dans l'onglet d'administration de l'application sur le site Web de Steamworks et les changements ont été publiés.
  • RequestCurrentStats est terminé et renvoyé avec succès son rappel.
  • Le type doit être réglé sur AVGRATE dans l'interface du compte partenaire Steamworks.

UploadLeaderboardScore

SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount );
NomTypeDescription
hSteamLeaderboardSteamLeaderboard_tHandle de classement obtenu avec FindLeaderboard ou FindOrCreateLeaderboard.
eLeaderboardUploadScoreMethodELeaderboardUploadScoreMethodVoulez-vous forcer le score à changer ou conserver le score précédent si celui-ci était meilleur ?
nScoreint32Score à mettre en ligne.
pScoreDetailsconst int32 *Facultatif : tableau contenant les détails entourant le déverrouillage de ce score.
cScoreDetailsCountintNombre d'éléments dans pScoreDetails. Ne doit pas dépasser k_cLeaderboardDetailsMax.

Télécharge le score d'un compte vers un classement spécifié.

Les détails sont des informations facultatives définies par le jeu qui indiquent comment la personne a obtenu ce score. Par exemple, s'il s'agit d'un classement de style course, basé sur les meilleurs temps, vous pourrez stocker l'horodatage lorsque la personne a atteint chaque point de contrôle. Si vous avez des objets à récupérer le long du parcours, vous pouvez utiliser des champs de bits comme opérateurs booléens afin de stocker les objets que la personne a récupérés sur sa route.

La mise en ligne des scores sur Steam est limité à 10 par tranches de 10 minutes et vous ne pouvez avoir qu'un appel sortant vers cette fonction à la fois.

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


Consultez également : DownloadLeaderboardEntries, AttachLeaderboardUGC

Rappels

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

GlobalAchievementPercentagesReady_t

Appelé lorsque les pourcentages de succès mondiaux ont été reçus depuis le serveur.

NomTypeDescription
m_nGameIDuint64ID du jeu auquel sont destinés les pourcentages de succès.
m_eResultEResultRésultat de la requête. Renvoie :
k_EResultOK pour indiquer qu'il a réussi.
k_EResultInvalidState lorsque les statistiques n'ont pas encore été chargées. Dans ce cas, appelez RequestCurrentStats.
k_EResultFail si l'appel distant échoue ou qu'il n'existe aucun pourcentage mondial de succès pour cet AppID.

Fonctions associées : RequestGlobalAchievementPercentages

GlobalStatsReceived_t

Appelé lorsque les stats mondiales ont été reçues depuis le serveur.

NomTypeDescription
m_nGameIDuint64ID du jeu pour lequel ces stats mondiales sont destinées.
m_eResultEResultRésultat de la requête. Éléments renvoyés :

Fonctions associées : RequestGlobalStats

LeaderboardFindResult_t

Résultat lorsqu'un classement est trouvé.

NomTypeDescription
m_hSteamLeaderboardSteamLeaderboard_tHandle vers le classement qui était recherché. 0 si aucun classement n'a été trouvé.
m_bLeaderboardFounduint8Le classement a-t-il été trouvé ? 1 s'il l'a été, sinon 0.

Fonctions associées : FindOrCreateLeaderboard, FindLeaderboard

LeaderboardScoresDownloaded_t

Appelé lorsque les scores d'un classement ont été téléchargés et sont prêts à être collectés.
Après l'appel, vous devez utiliser GetDownloadedLeaderboardEntry pour obtenir les informations relatives à chaque entrée téléchargée.

NomTypeDescription
m_hSteamLeaderboardSteamLeaderboard_tHandle vers le classement auquel appartiennent ces entrées.
m_hSteamLeaderboardEntriesSteamLeaderboardEntries_tHandle à passer dans GetDownloadedLeaderboardEntry afin de récupérer les informations relatives à chaque entrée téléchargée.
m_cEntryCountintNombre d'entrées téléchargées.

Fonctions associées : DownloadLeaderboardEntries, DownloadLeaderboardEntriesForUsers

LeaderboardScoreUploaded_t

Résultat indiquant qu'un score du classement a été téléchargé.

NomTypeDescription
m_bSuccessuint8L'appel a-t-il abouti ? Renvoie 1 si l'appel a réussi, 0 s'il a échoué.
Le volume d'informations envoyé dépasse k_cLeaderboardDetailsMax.
Le classement est défini sur « Fiable » sur la page d'administration de l'application sur le site de Steamworks. Il n'acceptera que les scores envoyés depuis l'API Steam Web.
m_hSteamLeaderboardSteamLeaderboard_tHandle du classement sur lequel ce score a été mis en ligne.
m_nScoreint32Score qui a tenté d'être établi.
m_bScoreChangeduint8true si le score dans le classement a changé. Sinon, renvoie false si le score existant était meilleur.
m_nGlobalRankNewintNouveau rang mondial du compte sur ce classement.
m_nGlobalRankPreviousintRang précédent du compte sur ce classement. 0 si celui-ci n'avait pas d'entrée existante dans le classement.

Fonctions associées : UploadLeaderboardScore

LeaderboardUGCSet_t

Résultat indiquant que du contenu généré par la communauté a été joint à l'une des entrées du classement du compte actuel.

NomTypeDescription
m_eResultEResultRésultat de l'opération. Valeurs possibles :
  • k_EResultOK : le CGU a bien été attaché.
  • k_EResultTimeout : le chargement était trop long, le CGU n'a pas été chargé.
  • k_EResultInvalidParam : le handle passé dans m_hSteamLeaderboard n'est pas valide, le CGU n'a pas été chargé.
m_hSteamLeaderboardSteamLeaderboard_tHandle vers le classement auquel l'UGC a été joint.

Fonctions associées : AttachLeaderboardUGC

NumberOfCurrentPlayers_t

Obtient le nombre actuel de joueurs et de joueuses pour l'AppID actuel.

NomTypeDescription
m_bSuccessuint8L'appel a-t-il abouti ? Renvoie 1 s'il l'a été. Sinon, renvoie 0 en cas d'échec.
m_cPlayersint32Nombre de personnes actuellement en jeu.

Fonctions associées : GetNumberOfCurrentPlayers

PS3TrophiesInstalled_t

Appelé lorsque des trophées PS3 sont disponibles.

NomTypeDescription
m_nGameIDuint64Jeu pour lequel ces stats sont destinées.
m_eResultEResultRésultat de l'opération.
m_ulRequiredDiskSpaceuint64Si m_eResult est k_EResultDiskFull, cela contiendra alors l'espace nécessaire pour installer les trophées.

UserAchievementIconFetched_t

Résultat d'une icône de succès qui a été récupéré.

NomTypeDescription
m_nGameIDCGameIDID du jeu pour lequel ce succès est destiné.
m_rgchAchievementNamechar[k_cchStatNameMaxNom du succès auquel ce rappel est destiné.
m_bAchievedboolRenvoie des informations sur la version de l'icône indiquant si le succès a été obtenu (true) ou non (false).
m_nIconHandleintHandle de l'image, peut être utilisé avec ISteamUtils::GetImageRGBA pour obtenir les données de cette image. 0 : aucune image n'est définie pour le succès.

Fonctions associées : GetAchievementIcon

UserAchievementStored_t

Résultat d'une requête de stockage des succès sur le serveur ou un appel d'indication de progression. Si m_nCurProgress et m_nMaxProgress sont à zéro, cela signifie que le succès a été entièrement débloqué.

NomTypeDescription
m_nGameIDuint64ID du jeu auquel ce succès est destiné.
m_bGroupAchievementboolInutilisé.
m_rgchAchievementNamechar[k_cchStatNameMaxNom du succès.
m_nCurProgressuint32Progression actuelle vers l'obtention du succès.
m_nMaxProgressuint32Quantité totale de progression requise pour déverrouiller le succès.

Fonctions associées : StoreStats, IndicateAchievementProgress

UserStatsReceived_t

Appelé lorsque les dernières statistiques et succès pour un compte spécifique (incluant le compte utilisateur local) ont été reçus depuis le serveur.

NomTypeDescription
m_nGameIDuint64ID du jeu pour lequel ces stats sont destinées.
m_eResultEResultIndique si l'appel a été effectué avec succès ou non. Sera définie comme k_EResultFail si le compte ne dispose pas de statistiques.
m_steamIDUserCSteamIDCompte pour lequel les statistiques ont été récupérées.

Fonctions associées : RequestCurrentStats, RequestUserStats

UserStatsStored_t

Résultat d'une requête visant à enregistrer les statistiques du compte.

NomTypeDescription
m_nGameIDuint64ID du jeu pour lequel ces stats sont destinées.
m_eResultEResultIndique si l'appel a été effectué avec succès ou non.

Fonctions associées : StoreStats, IndicateAchievementProgress

UserStatsUnloaded_t

Rappel indiquant que les statistiques d'un compte ont été retirées.

Appelez RequestUserStats de nouveau avant d'accéder aux statistiques de ce compte.

NomTypeDescription
m_steamIDUserCSteamIDCompte pour lequel les statistiques ont été retirées.

Structures

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

LeaderboardEntry_t

Entrée unique d'un classement, renvoyée par GetDownloadedLeaderboardEntry.

NomTypeDescription
m_steamIDUserCSteamIDCompte à qui cette entrée appartient. Vous pouvez utiliser ISteamFriends::GetFriendPersonaName et ISteamFriends::GetSmallFriendAvatar pour obtenir plus d'informations.
m_nGlobalRankint32Rang mondial de cette entrée comprise entre [1..N], où N est le nombre de comptes ayant une entrée dans le classement.
m_nScoreint32Score brut comme défini dans le classement.
m_cDetailsint32Nombre de détails disponibles pour cette entrée.
m_hUGCUGCHandle_tHandle du CGU attaché à l'entrée. k_UGCHandleInvalid s'il n'y en a pas.

Énumérations

Voici les énumérations destinées à être utilisées avec ISteamUserStats.

ELeaderboardDataRequest

Type de requête de données, utilisé lors du téléchargement d'entrées de classement avec DownloadLeaderboardEntries.

NomValeurDescription
k_ELeaderboardDataRequestGlobal0Utilisé pour demander une plage séquentielle d'entrées du classement par rang de classement. Les paramètres de début et de fin contrôlent la plage demandée. Par exemple, vous pouvez afficher les 10 scores les plus hauts sur un classement dans votre jeu en définissant le début sur 1 et la fin sur 10.
k_ELeaderboardDataRequestGlobalAroundUser1Sert à récupérer les entrées du classement relatives à l'entrée d'un compte. Le paramètre de début est le nombre d'entrées à récupérer avant l'entrée du compte actuel, et le paramètre de fin est le nombre d'entrées après l'entrée du compte actuel. L'entrée du compte actuel est toujours incluse. Par exemple, si le compte actuel est n° 5 au classement, définir le début à -2 et la fin à 2 renverra 5 entrées : du rang n° 3 au rang n° 7. S'il n'y a pas suffisamment d'entrées dans le classement avant ou après l'entrée du
compte, Steam va ajuster la plage pour essayer de renvoyer le nombre d'entrées requis. Par exemple, si le compte est n° 1 au classement et que le début est défini sur -2 et la fin sur 2, Steam va renvoyer les 5 premières entrées du classement.
k_ELeaderboardDataRequestFriends2Sert à récupérer toutes les entrées du classement pour les contacts et le compte actuel. Les paramètres de début et de fin sont ignorés.
k_ELeaderboardDataRequestUsers3Destiné à un usage interne, ne pas utiliser avec DownloadLeaderboardEntries ! Cela risque d'entrainer un comportement inattendu.

ELeaderboardDisplayType

Le type d'affichage utilisé par le site Web de la communauté Steam pour savoir comment formater les scores du classement à afficher. Vous pouvez définir le type d'affichage lorsque vous créez un classement avec FindOrCreateLeaderboard ou au sein de l'interface partenaire de Steamworks. Vous pouvez obtenir le type d'affichage pour un classement donné avec GetLeaderboardDisplayType.

NomValeurDescription
k_ELeaderboardDisplayTypeNone0Ceci n'est utilisé que lorsqu'un classement n'est pas valide. Vous ne devriez jamais définir ce paramètre par vous-même.
k_ELeaderboardDisplayTypeNumeric1Le score est une simple valeur numérique.
k_ELeaderboardDisplayTypeTimeSeconds2Le score représente un temps, en secondes.
k_ELeaderboardDisplayTypeTimeMilliSeconds3Le score représente un temps, en millisecondes.

ELeaderboardSortMethod

La méthode de tri utilisée pour définir si un score plus élevé ou plus bas est meilleur. Vous pouvez définir la méthode de tri lorsque vous créez un classement avec FindOrCreateLeaderboard ou sur la page d'administration de l'application sur le site Steamworks. Vous pouvez obtenir la méthode de tri d'un classement donné avec GetLeaderboardSortMethod.

NomValeurDescription
k_ELeaderboardSortMethodNone0N'est utilisé que lorsqu'un classement n'est pas valide. Vous ne devriez jamais définir ce paramètre par vous-même.
k_ELeaderboardSortMethodAscending1Le meilleur score est le chiffre le plus bas.
k_ELeaderboardSortMethodDescending2Le meilleur score est le chiffre le plus haut.

ELeaderboardUploadScoreMethod



NomValeurDescription
k_ELeaderboardUploadScoreMethodNone0
k_ELeaderboardUploadScoreMethodKeepBest1Le classement va conserver le meilleur score du compte.
k_ELeaderboardUploadScoreMethodForceUpdate2Le classement va toujours remplacer le score par celui spécifié.

Typedefs

Voici les typedefs destinés à être utilisés avec ISteamUserStats.

NomType de baseDescription
SteamLeaderboardEntries_tuint64Handle d'une liste d'entrées téléchargées dans un classement. Renvoyé par LeaderboardScoresDownloaded_t. Peut être utilisé pour itérer au sein de toutes les entrées avec GetDownloadedLeaderboardEntry
SteamLeaderboard_tuint64Handle vers un classement unique.

Constantes

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

NomTypeValeurDescription
k_cchLeaderboardNameMaxint128Nombre maximum d'octets pour un nom de classement (encodage UTF-8).
k_cchStatNameMaxint128Nombre maximum d'octets pour les noms de statistiques et de succès (encodage UTF-8).
k_cLeaderboardDetailsMaxint64Nombre maximum de détails que vous pouvez stocker pour une seule entrée de classement.
STEAMUSERSTATS_INTERFACE_VERSIONconst char *"STEAMUSERSTATS_INTERFACE_VERSION011"