Permet aux serveurs de jeu de définir les stats et les succès sur les joueurs et les joueuses.
Fonctions membres
Les fonctions membres de
ISteamGameServerStats
sont appelées par le biais de la fonction d'accesseur global
SteamGameServerStats()
.
ClearUserAchievement
bool ClearUserAchievement( CSteamID steamIDUser, const char *pchName );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel le succès doit être effacé. |
pchName | const char * | Nom de l'API pour le succès à réinitialiser. |
Réinitialise l'état Déverrouillé d'un succès pour le compte spécifié.
Cette fonction n'est principalement utilisée qu'à des fins de test.
Vous devez avoir appelé
RequestUserStats 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 intégrer les statistiques au serveur, vous devez appeler
StoreUserStats.
REMARQUE : ceci ne fonctionne qu'avec les succès dont le statut peut être modifié par les serveurs de jeu. Si le champ « Trier par » de ce succès est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des
serveurs dédié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.
- Le succès spécifié "API Name" existe dans l'onglet d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
- RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
- Le serveur de jeu doit être en mesure de paramétrer cette statistique.
GetUserAchievement
bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel le succès doit être obtenu. |
pchName | const char * | Nom de l'API pour le succès. |
pbAchieved | bool * | Renvoie l'état déverrouillé du succès. |
Obtient l'état déverrouillé du succè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.
- RequestUserStats a effectué et 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
.
GetUserStat
bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData );
bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel la statistique doit être obtenue. |
pchName | const char * | Nom de l'API pour la statistique. Doit être plus long que k_cchStatNameMax. |
pData | int32 * / 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 .
É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 a effectué et 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.
RequestUserStats
SteamAPICall_t RequestUserStats( CSteamID steamIDUser );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID 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 statistiques ne seront mises à jour de manière automatique que pour les comptes des personnes jouant actuellement sur le serveur. Vous devrez rappeler cette fonction afin d'actualiser les données des autres comptes.
Éléments renvoyés : SteamAPICall_t, à utiliser avec un résultat d'appel
GSStatsReceived_t.
SetUserAchievement
bool SetUserAchievement( CSteamID steamIDUser, const char *pchName );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel le succès doit être déverrouillé. |
pchName | const char * | Nom de l'API pour le succès à déverrouiller. |
Déverrouille un succès 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 !
Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour intégrer les statistiques au serveur, vous devez appeler
StoreUserStats.
REMARQUE : ceci ne fonctionne qu'avec les succès dont le statut peut être modifié par les serveurs de jeu. Si le champ « Trier par » de ce succès est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des
serveurs dédié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.
- Le succès spécifié "API Name" existe dans l'onglet d'administration de l'application sur le site Web de Steamworks, et les changements ont été publiés.
- RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
- Le serveur de jeu doit être en mesure de paramétrer cette statistique.
SetUserStat
bool SetUserStat( CSteamID steamIDUser, const char *pchName, int32 nData );
bool SetUserStat( CSteamID steamIDUser, const char *pchName, float fData );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel le réglage de statistique doit être effectué. |
pchName | const char * | Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax. |
nData | int32 / float | Nouvelle valeur de la statistique. Cette valeur doit être absolue et ne pourra pas être incrémentée ou décrémentée pour vous. |
Règle / met à jour la valeur d'une 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 !
Cet appel ne modifie que la mémoire interne de Steam et est peu couteux. Pour intégrer les statistiques au serveur, vous devez appeler
StoreUserStats.
REMARQUE : cette fonction ne marche qu'avec les statistiques ouvertes à la modification sur les serveurs de jeu. Si le champ « Trier par » de cette statistique est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des
serveurs dédié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.
- RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
- Le type passé via cette fonction doit correspondre au type listé dans l'onglet Admin. de l'application du site de Steamworks.
- Le serveur de jeu doit être en mesure de paramétrer cette statistique.
StoreUserStats
SteamAPICall_t StoreUserStats( CSteamID steamIDUser );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel l'enregistrement des statistiques doit être effectué. |
Envoyer les données des statistiques et des succès modifiées du compte spécifié 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 est recommandé d'effectuer cet appel seulement durant des changements d'états majeurs comme la fin d'une manche, un changement de carte ou le départ d'une personne du serveur.
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 : SteamAPICall_t doit être utilisé avec un résultat d'appel
GSStatsStored_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.
UpdateUserAvgRateStat
bool UpdateUserAvgRateStat( CSteamID steamIDUser, const char *pchName, float flCountThisSession, double dSessionLength );
Nom | Type | Description |
steamIDUser | CSteamID | SteamID du compte pour lequel la requête de mise à jour de AVGRATE est faite. |
pchName | const char * | Nom de l'API pour la statistique. Ne doit pas être plus long que k_cchStatNameMax. |
flCountThisSession | float | Accumulation de valeurs depuis la dernière utilisation de cette fonction. |
dSessionLength | double | Temps écoulé depuis la dernière utilisation de cette fonction, renseigné en secondes. |
Met à jour une statistique AVGRATE (moyenne) pour un compte spécifié en utilisant de nouvelles valeurs.
Vous devez avoir appelé
RequestUserStats 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 intégrer les statistiques au serveur, vous devez appeler
StoreUserStats.
REMARQUE : cette fonction ne marche qu'avec les statistiques ouvertes à la modification sur les serveurs de jeu. Si le champ « Trier par » de cette statistique est réglé sur « Serveur de jeu officiel », alors seuls les serveurs de jeu que vous aurez déclaré contrôler officiellement pourront en modifier le statut. Afin de procéder, vous devez définir la plage d'adresses IP de vos serveurs officiels dans la section d'administration de l'application des
serveurs dédié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.
- RequestUserStats a effectué et renvoyé avec succès son rappel pour le compte spécifié.
- Le type doit être réglé sur AVGRATE dans l'interface Steamworks du partenaire.
- Le serveur de jeu doit être en mesure de paramétrer cette statistique.
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
ISteamGameServerStats
.
GSStatsReceived_t
Résultat reçu lors de l'obtention depuis le serveur des derniers succès et statistiques d'un compte.
Nom | Type | Description |
m_eResult | EResult | Indique 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_steamIDUser | CSteamID | Compte dont les statistiques ont été récupérées. |
Fonctions associées : RequestUserStatsGSStatsStored_t
Résultat d'une requête visant à enregistrer les statistiques du compte.
Nom | Type | Description |
m_eResult | EResult | Indique si l'appel a été effectué avec succès ou non. |
m_steamIDUser | CSteamID | Compte pour lequel les statistiques ont été enregistrées. |
Fonctions associées : StoreUserStatsGSStatsUnloaded_t
Rappel indiquant que les statistiques d'un compte ont été retirées.
Appelez
RequestUserStats de nouveau pour accéder aux statistiques de ce compte.
Nom | Type | Description |
m_steamIDUser | CSteamID | Compte pour lequel les statistiques ont été retirées. |
Constantes
Constantes destinées à être utilisées avec ISteamGameServerStats.
Nom | Type | Valeur | Description |
STEAMGAMESERVERSTATS_INTERFACE_VERSION | const char * | "SteamGameServerStats001" | |