Proporciona funciones para enviar y acceder a estadísticas, logros y tablas de clasificación.
Funciones miembro
Las funciones miembro para
ISteamUserStats
se llaman a través de la función de acceso global
SteamUserStats()
.
AttachLeaderboardUGC
SteamAPICall_t AttachLeaderboardUGC( SteamLeaderboard_t hSteamLeaderboard, UGCHandle_t hUGC );
Asocia un elemento de contenido generado por los usuarios a la entrada del usuario actual en una tabla de clasificación.
Este contenido podría ser una reproducción del usuario obteniendo un marcador o un usuario fantasma contra el que competir. El identificador adjunto estará disponible cuando la entrada se recupere y otros usuarios puedan acceder a ella usando
GetDownloadedLeaderboardEntry que contiene
LeaderboardEntry_t.m_hUGC
. Para crear y descargar contenido generado por los usuarios, véase la documentación de Steam Workshop.
Una vez asociado, el contenido estará disponible incluso si el usuario modifica o elimina el archivo subyacente en la nube.
Debes llamar a
FindLeaderboard o
FindOrCreateLeaderboard para obtener un
SteamLeaderboard_t antes de llamar a esta función.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
LeaderboardUGCSet_t.
ClearAchievement
bool ClearAchievement( const char *pchName );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro a restablecer. |
Restablece el estado de desbloqueo de un logro.
Se usa fundamental y casi exclusivamente en labores de testeo.
¡Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta!
Esta llamada solo modifica el estado en memoria de Steam, de forma que utiliza pocos recursos. Para enviar el estado de desbloqueo al servidor y activar la notificación de la interfaz de Steam, debe llamarse a
StoreStats.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- El "nombre APl" del logro especificado existe en el administrador de aplicaciones del sitio web de Steamworks y los cambios están publicados.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
Véase también: ResetAllStats,
GetAchievementAndUnlockTime,
GetAchievement,
SetAchievementDownloadLeaderboardEntries
SteamAPICall_t DownloadLeaderboardEntries( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardDataRequest eLeaderboardDataRequest, int nRangeStart, int nRangeEnd );
Nombre | Tipo | Descripción |
hSteamLeaderboard | SteamLeaderboard_t | Un handle de la tabla de clasificación obtenida de FindLeaderboard o de FindOrCreateLeaderboard. |
eLeaderboardDataRequest | ELeaderboardDataRequest | El tipo de solicitud de datos a realizar. |
nRangeStart | int | Índice para comenzar a descargar las entradas relativas a eLeaderboardDataRequest. |
nRangeEnd | int | Último índice para recuperar entradas relativas a eLeaderboardDataRequest. |
Recupera una serie de entradas de clasificación para la tabla de clasificación especificada.
Se pueden solicitar más entradas de las existentes; en tal caso, la función devuelve tantas como existan.
Si se quieren descargar entradas para un conjunto arbitrario de usuarios, como por ejemplo todos los usuarios en un servidor, entonces podrá usarse
DownloadLeaderboardEntriesForUsers, que recoge un vector de id. de Steam.
Debes llamar a
FindLeaderboard o
FindOrCreateLeaderboard para obtener un
SteamLeaderboard_t antes de llamar a esta función.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
LeaderboardScoresDownloaded_t.
Véase también: GetDownloadedLeaderboardEntry,
UploadLeaderboardScoreDownloadLeaderboardEntriesForUsers
SteamAPICall_t DownloadLeaderboardEntriesForUsers( SteamLeaderboard_t hSteamLeaderboard, CSteamID *prgUsers, int cUsers );
Recupera las entradas de la tabla de clasificación para un conjunto arbitrario de usuarios en una tabla de clasificación especificada.
Puede descargarse un máximo de 100 usuarios simultáneamente, con solo una llamada pendiente de cada vez. Si un usuario carece de entrada en una tabla de clasificación especificada, no será incluido en el resultado.
Si deseas descargar entradas basadas en tu clasificación o en amigos del usuario actual, debes usar
DownloadLeaderboardEntries.
Debes llamar a
FindLeaderboard o
FindOrCreateLeaderboard para obtener un
SteamLeaderboard_t antes de llamar a esta función.
Devuelve: SteamAPICall_t para usar con un
LeaderboardScoresDownloaded_t resultado de la llamada.
Devuelve
k_uAPICallInvalid si la entrada no es válida.
Véase también: GetDownloadedLeaderboardEntry,
UploadLeaderboardScoreFindLeaderboard
SteamAPICall_t FindLeaderboard( const char *pchLeaderboardName );
Nombre | Tipo | Descripción |
pchLeaderboardName | const char * | El nombre de la tabla de clasificación para encontrar. No debe de ser más largo que k_cchLeaderboardNameMax. |
Obtiene una tabla de clasificación por nombre.
Se debe llamar a esta función o a
FindOrCreateLeaderboard para obtener el identificador o handle de la tabla de clasificación válido para la sesión de juego para cada tabla clasificatoria a la que se desea acceder, antes de llamar a cualquier otra función de la tabla de clasificación.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
LeaderboardFindResult_t.
Véase también: GetLeaderboardEntryCount,
DownloadLeaderboardEntries,
UploadLeaderboardScoreFindOrCreateLeaderboard
SteamAPICall_t FindOrCreateLeaderboard( const char *pchLeaderboardName, ELeaderboardSortMethod eLeaderboardSortMethod, ELeaderboardDisplayType eLeaderboardDisplayType );
Nombre | Tipo | Descripción |
pchLeaderboardName | const char * | El nombre de la tabla de clasificación para encontrar o crear. No debe de ser más largo que k_cchLeaderboardNameMax. |
eLeaderboardSortMethod | ELeaderboardSortMethod | Criterio de ordenación de la nueva tabla de clasificación, si se crea. |
eLeaderboardDisplayType | ELeaderboardDisplayType | Tipo de presentación (usado por la página web de la comunidad de Steam) de la nueva tabla de clasificación, si se crea. |
Obtiene una tabla de clasificación por nombre; la creará si no está creada todavía.
Se debe llamar a esta función o a
FindLeaderboard para obtener el identificador o handle de la tabla de clasificación válido para la sesión de juego para cada tabla clasificatoria a la que se desea acceder, antes de llamar a cualquier otra función de la tabla de clasificación.
Las tablas de clasificación creadas con esta función no se mostrarán automáticamente en la comunidad de Steam. Se debe establecer manualmente el campo Nombre en la Comunidad en el panel del administrador de apps del sitio web de Steamworks. Por ello, se recomienda por lo general crear las tablas de clasificación en el panel del administrador de apps en la página web de Steamworks y usar la función
FindLeaderboard, a menos que se espere tener una gran cantidad de tablas de clasificación dinámicas creadas.
Nunca debes aprobar
k_ELeaderboardSortMethodNone para
eLeaderboardSortMethod
o
k_ELeaderboardDisplayTypeNone para
eLeaderboardDisplayType
como este siendo un comportamiento indefinido.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
LeaderboardFindResult_t.
Véase también: GetLeaderboardEntryCount,
DownloadLeaderboardEntries,
UploadLeaderboardScoreGetAchievement
bool GetAchievement( const char *pchName, bool *pbAchieved );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro. |
pbAchieved | bool * | Devuelve el estado de desbloqueo del logro. |
Obtiene el estado de desbloqueo del logro.
La función equivalente para otros usuarios es
GetUserAchievement.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El "nombre APl" del logro especificado existe en el administrador de aplicaciones del sitio web de Steamworks y los cambios están publicados.
Si la llamada es exitosa, el estado de desbloqueo se devuelve a través del parámetro
pbAchieved
.
Véase también: GetAchievementDisplayAttribute,
GetAchievementName,
GetAchievementIcon,
GetAchievementAndUnlockTime,
GetAchievementAchievedPercentGetAchievementAchievedPercent
bool GetAchievementAchievedPercent( const char *pchName, float *pflPercent );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro |
pflPercent | float * | Variable para devolver el porcentaje de personas que han desbloqueado este logro, entre 0 y 100. |
Devuelve el porcentaje de usuarios que han desbloqueado el logro especificado.
Debes haber llamado a
RequestGlobalAchievementPercentages y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
Devuelve: bool
Devuelve
true después del éxito; de lo contrario,
false si
RequestGlobalAchievementPercentages no ha sido llamado o si el "nombre API" especificado no existe en los porcentajes de logros globales.
Véase también: GetMostAchievedAchievementInfo,
GetNextMostAchievedAchievementInfoGetAchievementAndUnlockTime
bool GetAchievementAndUnlockTime( const char *pchName, bool *pbAchieved, uint32 *punUnlockTime );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro. |
pbAchieved | bool * | Devuelve si el usuario actual ha desbloqueado el logro. |
punUnlockTime | uint32 * | Devuelve el momento en que se desbloqueó el logro si pbAchieved es true. |
Obtiene el estado del logro y el momento en que se desbloqueó si está desbloqueado.
Si el valor devuelto es true, pero el tiempo de desbloqueo es cero, significa que se desbloqueó antes de que Steam comenzara a realizar un seguimiento de los tiempos de desbloqueo de logros (diciembre de 2009). El tiempo aparece en formato de tiempo Unix (segundos transcurridos desde el 1 de enero de 1970).
La función equivalente para otros usuarios es
GetUserAchievementAndUnlockTime.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El "nombre APl" del logro especificado existe en el administrador de aplicaciones del sitio web de Steamworks y los cambios están publicados.
Si la llamada es exitosa, el estado alcanzado y el tiempo de desbloqueo se proporcionan a través de los argumentos
pbAchieved
y
punUnlockTime
.
Véase también: GetAchievement,
GetAchievementDisplayAttribute,
GetAchievementName,
GetAchievementIconGetAchievementDisplayAttribute
const char * GetAchievementDisplayAttribute( const char *pchName, const char *pchKey );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro. |
pchKey | const char * | La "clave" para la que se obtiene un valor. |
Obtiene atributos generales para un logro. Actualmente proporciona: Nombre, Descripción y estado Oculto.
Recibe el valor de un almacén de valores clave de diccionario/mapa, de forma que se debe proporcionar una de las claves siguientes.
- "name" para recuperar el nombre del logro localizado en UTF8.
- "desc" para recuperar la descripción del logro localizado en UTF8.
- "hidden" para recuperar si un logro está oculto. Devuelve "0" cuando no está oculto, "1" cuando esta oculto.
Esta traducción se proporciona en función del idioma del juego, si está establecido. En caso contrario, comprueba si hay disponible una traducción para el idioma de la IU de Steam del usuario. Si esto también falla, se emplea el inglés como idioma predeterminado.
Devuelve: const char *
Esta función devuelve el valor como una cadena en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario, una cadena vacía:
"".
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El logro especificado existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- La
pchKey
especificada es válida.
Véase también: GetAchievement,
GetAchievementName,
GetAchievementIcon,
GetAchievementAndUnlockTimeGetAchievementIcon
int GetAchievementIcon( const char *pchName );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro. |
Obtiene el icono de un logro.
Devuelve: int
Activa una función callback
UserAchievementIconFetched_t.
La imagen se devuelve como un identificador para usar con
ISteamUtils::GetImageRGBA para obtener los datos de imagen reales.
Se devolverá un identificador no válido de
0 en las siguientes condiciones:
- RequestCurrentStats no ha completado y devuelto exitosamente su función callback.
- El logro especificado no existe en el administrador de apps del sitio web de Steamworks o los cambios no están publicados.
- Steam sigue obteniendo los datos de la imagen del servidor. Esto activará una función callback UserAchievementIconFetched_t que te notificará cuando los datos de la imagen estén listos y te proporcionará un nuevo identificador. Si el
m_nIconHandle
en la función callback sigue siendo 0, entonces no hay ninguna imagen establecida para el logro especificado.
Véase también: GetAchievement,
GetAchievementName,
GetAchievementAndUnlockTime,
GetAchievementAchievedPercent,
GetAchievementDisplayAttributeGetAchievementName
const char * GetAchievementName( uint32 iAchievement );
Nombre | Tipo | Descripción |
iAchievement | uint32 | Índice del logro. |
Obtiene el "nombre API" para un índice de logro comprendido entre 0 y
GetNumAchievements.
Esta función se debe usar en conjunción con
GetNumAchievements para recorrer la lista de logros.
En general, los juegos no deberían necesitar estas funciones, ya que deberían llevar compilada una lista de logros.
Devuelve: const char *
El "Nombre de la API" del logro, devuelve una cadena vacía si
iAchievement
no es un índice válido.
RequestCurrentStats no es un índice válido. Debe haberse hecho una llamada a y haberse realizado correctamente la función callback, y el id. de aplicación actual debe disponer de logros.
Ejemplo: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 );
Nombre | Tipo | Descripción |
hSteamLeaderboardEntries | SteamLeaderboardEntries_t | Un handle de entradas de la tabla de clasificación se obtuvo del último resultado de la llamada LeaderboardScoresDownloaded_t. |
index | int | El índice de la entrada de la tabla de clasificación para recibir debe estar entre 0 y LeaderboardScoresDownloaded_t.m_cEntryCount . |
pLeaderboardEntry | LeaderboardEntry_t * | Variable a la que se devuelve la entrada. |
pDetails | int32 * | Vector previamente reservando en memoria al que se devuelven los detalles de esta entrada. |
cDetailsMax | int | La longitud de la matriz pDetails . |
Recupera los datos de una sola entrada en la tabla de clasificación.
Debes utilizar para un bucle de 0 a
LeaderboardScoresDownloaded_t.m_cEntryCount
para obtener todas las entradas descargadas. Una vez que hayas accedido a todas las entradas, los datos se liberarán y el identificador
SteamLeaderboardEntries_t dejará de ser válido.
Opcionalmente, se pueden devolver detalles para la entrada a través de
pDetails
. Si es NULL, entonces
cDetailsMax
DEBE ser
0.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
-
hSteamLeaderboardEntries
debe ser un identificador válido del último resultado de llamada LeaderboardScoresDownloaded_t.
-
index
debe estar entre 0 y LeaderboardScoresDownloaded_t.m_cEntryCount
Si la llamada es exitosa, la entrada se devuelve a través del parámetro
pLeaderboardEntry
y si
cDetailsMax
no es 0,
pDetails
se rellena con los detalles de desbloqueo.
Véase también: DownloadLeaderboardEntries,
UploadLeaderboardScoreEjemplo:void OnLeaderboardScoresDownloaded( LeaderboardScoresDownloaded_t *pCallback )
{
for ( int i = 0; i < pCallback->m_cEntryCount; i++ )
{
LeaderboardEntry_t leaderboardEntry;
int32 details[3]; // We know that we store this many initially.
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 );
Nombre | Tipo | Descripción |
pchStatName | const char * | El "nombre API" de la estadística. No debe de ser más largo que k_cchStatNameMax. |
pData | int64 * / double * | Variable a la que se devuelve el valor de la estadística. |
Obtiene los totales históricos de una estadística agregada.
¡Debes haber llamado a
RequestGlobalStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta!
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- La estadística especificada existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- RequestGlobalStats ha completado y devuelto exitosamente tu función callback.
- El tipo coincide con el que figura en el panel del administrador de apps del sitio web de Steamworks.
Véase también: GetGlobalStatHistoryGetGlobalStatHistory
int32 GetGlobalStatHistory( const char *pchStatName, int64 *pData, uint32 cubData );
int32 GetGlobalStatHistory( const char *pchStatName, double *pData, uint32 cubData );
Nombre | Tipo | Descripción |
pchStatName | const char * | El "nombre API" de la estadística. No debe de ser más largo que k_cchStatNameMax. |
pData | double * | Vector en el que se devuelve el historial diario. |
cubData | uint32 | El tamaño total en bytes de la matriz pData . |
Obtiene los totales históricos de una estadística agregada.
pData se llenará con los valores diarios, comenzando hoy.
Entonces, cuando se llame, pData[0] será hoy, pData[1] será ayer, y pData[2] será hace dos días, etc.
Debes haber llamado a
RequestGlobalStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
Devuelve: int32El número de elementos devueltos en la matriz
pData
.
Un valor de
0 indica un fallo por una de las siguientes razones:
- La estadística especificada no existe en el administrador de apps del sitio web de Steamworks o los cambios no están publicados.
- RequestGlobalStats no se ha llamado o devuelto su función callback, con al menos 1 día de historial.
- El tipo no coincide con el que figura en el panel del administrador de apps del sitio web de Steamworks.
- No hay historial disponible.
Véase también: GetGlobalStatGetLeaderboardDisplayType
ELeaderboardDisplayType GetLeaderboardDisplayType( SteamLeaderboard_t hSteamLeaderboard );
Devuelve el tipo de presentación de un identificador o handle de la tabla de clasificación.
Devuelve: ELeaderboardDisplayTypeEl tipo de visualización de la tabla de clasificación. Devuelve
k_ELeaderboardDisplayTypeNone si el handle de la tabla de clasificación no es válido.
Véase también: GetLeaderboardName,
GetLeaderboardSortMethod,
GetLeaderboardEntryCountGetLeaderboardEntryCount
int GetLeaderboardEntryCount( SteamLeaderboard_t hSteamLeaderboard );
Devuelve el número total de entradas en una tabla de clasificación.
Esto se almacena en el caché por la tabla de clasificación en la primera llamada a
FindLeaderboard o
FindOrCreateLeaderboard y se actualiza en cada llamada exitosa a
DownloadLeaderboardEntries,
DownloadLeaderboardEntriesForUsers y
UploadLeaderboardScore.
Devuelve: int
El número de entradas en la tabla de clasificación. Devuelve 0 si el identificador o handle de la tabla de clasificación no es válido.
Véase también: GetLeaderboardName,
GetLeaderboardSortMethod,
GetLeaderboardDisplayTypeGetLeaderboardName
const char * GetLeaderboardName( SteamLeaderboard_t hSteamLeaderboard );
Devuelve el nombre de un identificador o handle de la tabla de clasificación.
Devuelve: const char *
El nombre de la tabla de clasificación. Devuelve una cadena vacía si el identificador o handle de la tabla de clasificación no es válido.
Véase también: GetLeaderboardEntryCount,
GetLeaderboardSortMethod,
GetLeaderboardDisplayTypeGetLeaderboardSortMethod
ELeaderboardSortMethod GetLeaderboardSortMethod( SteamLeaderboard_t hSteamLeaderboard );
Devuelve el criterio de ordenación de un identificador o handle de la tabla de clasificación.
Devuelve: ELeaderboardSortMethodEl método de clasificación de la tabla de clasificación. Devuelve
k_ELeaderboardSortMethodNone si el handle de la tabla de clasificación no es válido.
Véase también: GetLeaderboardName,
GetLeaderboardDisplayType,
GetLeaderboardEntryCountGetMostAchievedAchievementInfo
int GetMostAchievedAchievementInfo( char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved );
Nombre | Tipo | Descripción |
pchName | char * | Búfer de cadena en el que devolver el "nombre API" del logro. |
unNameBufLen | uint32 | Tamaño en bytes de pchName. Debe ser al menos tan largo como el "nombre API" de logro más largo. |
pflPercent | float * | Variable para devolver el porcentaje de personas que han desbloqueado este logro, entre 0 y 100. |
pbAchieved | bool * | Variable para devolver si el usuario actual ha desbloqueado o no este logro. |
Obtiene información sobre el logro más avanzado que se ha alcanzado en el juego.
Debes haber llamado a
RequestGlobalAchievementPercentages y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
Devuelve: int
Devuelve
-1 si
RequestGlobalAchievementPercentages no ha sido llamado o si no hay porcentajes de logros globales para esta id. de aplicación.
Si la llamada es exitosa, devuelve un iterador que debe usarse con
GetNextMostAchievedAchievementInfo.
Véase también: RequestCurrentStats,
RequestGlobalAchievementPercentages,
GetNextMostAchievedAchievementInfo,
GetAchievementAchievedPercentEjemplo: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 );
// Haz algo como agregar/actualizar esta información en tu objeto de logros local o muestresela al usuario.
i = SteamUserStats()->GetNextMostAchievedAchievementInfo( i, achName, ACH_NAME_MAX_LENGTH, achPercent, achUnlocked );
}
GetNextMostAchievedAchievementInfo
int GetNextMostAchievedAchievementInfo( int iIteratorPrevious, char *pchName, uint32 unNameBufLen, float *pflPercent, bool *pbAchieved );
Nombre | Tipo | Descripción |
iIteratorPrevious | int | El iterador regresó de la llamada anterior a esta función o de GetMostAchievedAchievementInfo |
pchName | char * | Búfer de cadena en el que devuelve el "nombre API" del logro. |
unNameBufLen | uint32 | Tamaño en bytes de pchName. Debe ser al menos tan largo como el "nombre API" del logro más largo. |
pflPercent | float * | Variable para devolver el porcentaje de personas que han desbloqueado este logro, entre 0 y 100. |
pbAchieved | bool * | Variable para devolver si el usuario actual ha desbloqueado o no este logro. |
Obtiene información sobre el siguiente logro más avanzado que se ha alcanzado en el juego.
Debes haber llamado a
RequestGlobalAchievementPercentages y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
Devuelve: int
Devuelve
-1 si
RequestGlobalAchievementPercentages no ha sido llamado o si no hay porcentajes de logros globales para esta id. de aplicación.
Si la llamada se completa correctamente, devuelve un iterador que debe emplearse con llamadas posteriores a esta función.
Ejemplo: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 );
// Haz algo como agregar/actualizar esta información en tu objeto de logros local o muestresela al usuario.
i = SteamUserStats()->GetNextMostAchievedAchievementInfo( i, achName, ACH_NAME_MAX_LENGTH, achPercent, achUnlocked );
}
GetNumAchievements
uint32 GetNumAchievements();
Obtiene el número de logros definido en el panel del administrador de apps del sitio web de Steamworks.
Esto se usa para iterar a través de todos los logros con
GetAchievementName.
En general, los juegos no deberían necesitar estas funciones, ya que deberían llevar compilada una lista de logros.
Devuelve: uint32El número de logros. Devuelve
0 si
RequestCurrentStats no se ha llamado y devuelto su función callback, o si el id. de la aplicación actual no tiene logros.
Véase también: RequestCurrentStats,
GetAchievementNameEjemplo:nt 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();
Recupera de forma asíncrona el número total de jugadores en el juego actual, en modo tanto conectado como desconectado.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
NumberOfCurrentPlayers_t.
GetStat
bool GetStat( const char *pchName, int32 *pData );
bool GetStat( const char *pchName, float *pData );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" de la estadística. No debe de ser más largo que k_cchStatNameMax. |
pData | int32 * / float * | Variable a la que se devuelve el valor de la estadística. |
Obtiene el valor de una estadística para el usuario actual.
Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
Para recibir estadísticas de otros usuarios, usa
GetUserStat.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- La estadística especificada existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El tipo que se pasa a esta función debe ser el mismo que figura en el panel del administrador de apps del sitio web de Steamworks.
Véase también: RequestCurrentStats,
SetStat,
UpdateAvgRateStat,
StoreStats,
ResetAllStatsGetTrophySpaceRequiredBeforeInstall
uint64 GetTrophySpaceRequiredBeforeInstall();
¡Obsoleta!
Devuelve: uint64GetUserAchievement
bool GetUserAchievement( CSteamID steamIDUser, const char *pchName, bool *pbAchieved );
Nombre | Tipo | Descripción |
steamIDUser | CSteamID | Id. de Steam del usuario al que se le da el logro. |
pchName | const char * | El "nombre API" del logro. |
pbAchieved | bool * | Devuelve el estado de desbloqueo del logro. |
Obtiene el estado de desbloqueo del logro.
La función equivalente para el usuario local es
GetAchievement, la función equivalente para los servidores del juego es
ISteamGameServerStats::GetUserAchievement.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- RequestUserStats has completado y devuelto exitosamente tu función callback.
- El "nombre APl" del logro especificado existe en el administrador de aplicaciones del sitio web de Steamworks y los cambios están publicados.
Si la llamada es exitosa, el estado de desbloqueo se devuelve a través del parámetro
pbAchieved
.
Véase también: RequestUserStats,
GetUserStat,
GetUserAchievementAndUnlockTimeGetUserAchievementAndUnlockTime
bool GetUserAchievementAndUnlockTime( CSteamID steamIDUser, const char *pchName, bool *pbAchieved, uint32 *punUnlockTime );
Nombre | Tipo | Descripción |
steamIDUser | CSteamID | Id. de Steam del usuario al que se le da el logro. |
pchName | const char * | El "nombre API" del logro. |
pbAchieved | bool * | Devuelve si el usuario actual ha desbloqueado el logro. |
punUnlockTime | uint32 * | Devuelve el momento en que se desbloqueó el logro si pbAchieved es true. |
Obtiene el estado del logro y el momento en que se desbloqueó si está desbloqueado.
Si el valor devuelto es true, pero el tiempo de desbloqueo es cero, significa que se desbloqueó antes de que Steam comenzara a realizar un seguimiento de los tiempos de desbloqueo de logros (diciembre de 2009). El tiempo aparece en formato de tiempo Unix (segundos transcurridos desde el 1 de enero de 1970).
La función equivalente para el usuario local es
GetAchievementAndUnlockTime.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- RequestUserStats has completado y devuelto exitosamente tu función callback.
- El "nombre APl" del logro especificado existe en el administrador de aplicaciones del sitio web de Steamworks y los cambios están publicados.
Si la llamada es exitosa, el estado alcanzado y el tiempo de desbloqueo se proporcionan a través de los argumentos
pbAchieved
y
punUnlockTime
.
Véase también: RequestUserStats,
GetUserAchievement,
GetUserStatGetUserStat
bool GetUserStat( CSteamID steamIDUser, const char *pchName, int32 *pData );
bool GetUserStat( CSteamID steamIDUser, const char *pchName, float *pData );
Nombre | Tipo | Descripción |
steamIDUser | CSteamID | Id. de Steam del usuario que obtiene la estadística. |
pchName | const char * | El "nombre API" de la estadística. No debe de ser más largo que k_cchStatNameMax. |
pData | int32 * / float * | Variable a la que se devuelve el valor de la estadística. |
Obtiene el valor de una estadística para el usuario especificado.
Debes haber llamado a
RequestUserStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
La función equivalente para el usuario local es
GetStat, la función equivalente para los servidores del juego es
ISteamGameServerStats::GetUserStat.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- La estadística especificada existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- RequestUserStats has completado y devuelto exitosamente tu función callback.
- El tipo no coincide con el que figura en el panel del administrador de apps del sitio web de Steamworks.
Véase también: GetUserAchievement,
GetUserAchievementAndUnlockTimeGetUserStatsData
bool GetUserStatsData( void *pvData, uint32 cubData, uint32 *pcubWritten );
Nombre | Tipo | Descripción |
pvData | void * | |
cubData | uint32 | |
pcubWritten | uint32 * | |
¡Obsoleta!
Devuelve: bool
IndicateAchievementProgress
bool IndicateAchievementProgress( const char *pchName, uint32 nCurProgress, uint32 nMaxProgress );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro. |
nCurProgress | uint32 | El progreso actual. |
nMaxProgress | uint32 | Progreso requerido para desbloquear el logro. |
Muestra al usuario una notificación emergente con el progreso actual de un logro.
Llamar a esta función no establece el progreso o desbloquea el logro, el juego debe hacerlo manualmente mediante una llamada a
SetStat.
La notificación se ve así:
Devuelve: bool
Activa una función callback
UserStatsStored_t.
Activa una función callback
UserAchievementStored_t.
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El logro especificado existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- El logro especificado no está ya desbloqueado.
-
nCurProgress
es menos que nMaxProgress
.
Véase también: RequestCurrentStats,
SetAchievement,
SetStat,
StoreStats,
ISteamUtils::SetOverlayNotificationPosition,
ISteamUtils::SetOverlayNotificationInsetInstallPS3Trophies
bool InstallPS3Trophies();
¡Obsoleta!
Devuelve: bool
RequestCurrentStats
bool RequestCurrentStats();
Solicita de manera asíncrona al servidor los logros y estadísticas del usuario actual.
Siempre debes llamar a esto primero para obtener el estado inicial de las estadísticas y los logros.
Solo después de que vuelva la función callback resultante, podrás comenzar a llamar al resto de las funciones de estadísticas y logros del usuario actual.
La función equivalente para otros usuarios es
RequestUserStats.
Devuelve: bool
Activa una función callback
UserStatsReceived_t.
Solo devuelve
false si no hay ningún usuario registrado; de lo contrario,
true.
Véase también: GetStat,
SetStat,
SetAchievement,
StoreStatsRequestGlobalAchievementPercentages
SteamAPICall_t RequestGlobalAchievementPercentages();
Captura de manera asíncrona los datos sobre el porcentaje de jugadores que han recibido cada logro del juego actual a nivel global.
¡Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta!
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
GlobalAchievementPercentagesReady_t.
Véase también: GetMostAchievedAchievementInfo,
GetNextMostAchievedAchievementInfo,
GetAchievementAchievedPercentRequestGlobalStats
SteamAPICall_t RequestGlobalStats( int nHistoryDays );
Nombre | Tipo | Descripción |
nHistoryDays | int | ¿Cuántos días del historial detallado se deben recuperar, además de los totales generales? El límite es 60. |
Captura de manera asíncrona datos sobre las estadísticas globales, disponibles para las estadísticas marcadas como "agregadas" en el panel del administrador de apps del sitio web de Steamworks.
Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
GlobalStatsReceived_t.
Véase también: GetGlobalStat,
GetGlobalStatHistoryRequestUserStats
SteamAPICall_t RequestUserStats( CSteamID steamIDUser );
Nombre | Tipo | Descripción |
steamIDUser | CSteamID | Id. de Steam del usuario que pide las estadísticas. |
Descarga de manera asíncrona las estadísticas y los logros para el usuario especificado desde el servidor.
Estas estadísticas no se actualizan de manera automática; se debe llamar de nuevo a la función para actualizar cualquier dato que pueda haber cambiado.
Para no usar demasiada memoria, se mantiene una caché LRU y se descargan ocasionalmente las demás estadísticas del usuario. Cuando esto sucede, se envía una función callback
UserStatsUnloaded_t. Tras recibir la función callback, las estadísticas del usuario dejarán de estar disponibles hasta que vuelva a llamarse a la función.
La función equivalente para el usuario local es
RequestCurrentStats, la función equivalente para los servidores del juego es
ISteamGameServerStats::RequestUserStats.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
UserStatsReceived_t.
Véase también: GetUserAchievement,
GetUserAchievementAndUnlockTime,
GetUserStatResetAllStats
bool ResetAllStats( bool bAchievementsToo );
Nombre | Tipo | Descripción |
bAchievementsToo | bool | ¿También hay que restablecer los logros del usuario? |
Restablece las estadísticas del usuario actual y, como opción, sus logros.
Esto llama automáticamente a
StoreStats para conservar los cambios en el servidor. Normalmente solo se usará con fines de prueba, durante el proceso de desarrollo. Tras realizar esta llamada, hay que asegurarse de sincronizar las estadísticas con los nuevos valores proporcionados por Steam mediante una llamada a
RequestCurrentStats.
Devuelve: bool
true indicando éxito si
RequestCurrentStats ha sido llamado y ha devuelto su función callback con éxito; de lo contrario
false.
SetAchievement
bool SetAchievement( const char *pchName );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" del logro a desbloquear. |
Desbloquea un logro.
¡Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta!
Se puede desbloquear varias veces un mismo logro, así que no hay que preocuparse de configurar solo aquellos que todavía no se hayan configurado. Esta llamada solo modifica el estado en memoria de Steam, de forma que utiliza pocos recursos. Para enviar el estado de desbloqueo al servidor y activar la notificación de la interfaz de Steam, debe llamarse a
StoreStats.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- El "nombre APl" del logro especificado existe en el administrador de aplicaciones del sitio web de Steamworks y los cambios están publicados.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
Véase también: RequestCurrentStats,
StoreStats,
ResetAllStats,
GetAchievementAndUnlockTime,
GetAchievementSetStat
bool SetStat( const char *pchName, int32 nData );
bool SetStat( const char *pchName, float fData );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" de la estadística. No debe de ser más largo que k_cchStatNameMax. |
nData | int32 / float | El nuevo valor de la estadística. Debe ser un valor constante; no aumentará ni disminuirá. |
Establece/actualiza el valor de una estadística dada para el usuario actual.
¡Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta!
Esta llamada solo modifica el estado en memoria de Steam, de forma que utiliza pocos recursos. Al hacerlo, Steam puede persistir en los cambios incluso en el caso de un bloqueo del juego o un cierre inesperado.
Para enviar las estadísticas al servidor debe llamar
StoreStats.
Si devuelve false y todo lo demás parece correcto, hay que asegurarse de que estén publicados los cambios en el panel del administrador de apps del sitio web de Steamworks.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- La estadística especificada existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El tipo que se pasa a esta función debe ser el mismo que figura en el panel del administrador de apps del sitio web de Steamworks.
Véase también: GetStat,
UpdateAvgRateStat,
ResetAllStatsSetUserStatsData
bool SetUserStatsData( const void *pvData, uint32 cubData );
Nombre | Tipo | Descripción |
pvData | const void * | |
cubData | uint32 | |
¡Obsoleta!
Devuelve: bool
StoreStats
bool StoreStats();
Envía al servidor los nuevos logros y estadísticas para que se almacenen de manera permanente.
En caso de fallo, no se envía nada al servidor. Es aconsejable seguir intentándolo hasta que la llamada se complete correctamente.
Esta llamada puede tener limitación de frecuencia. La llamada debe repetirse en intervalos de minutos, y no de segundos. Solo se debe llamar durante cambios de estado importantes, como el final de una ronda, algún cambio en el mapa o la marcha del usuario del servidor. Esta llamada debe mostrar el diálogo de notificación de desbloqueo de logros, así que, si se ha llamado a la función
SetAchievement, es aconsejable llamar a esta poco después.
En caso de tener estadísticas o logros guardados en local, pero no subidos aún con esta función cuando termine este proceso de la aplicación, se llamará automáticamente a esta función.
Puedes encontrar información de depuración adicional escrita en el archivo
%steam_install%\logs\stats_log.txt
.
Devuelve: bool
Activa una función callback
UserStatsStored_t.
Activa una función callback
UserAchievementStored_t.
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El juego actual tiene estadísticas asociadas en el backend de los asociados de Steamworks y dichas estadísticas están publicadas.
Si la llamada es exitosa, recibirás una función callback
UserStatsStored_t.
Si
m_eResult
tiene un resultado de
k_EResultInvalidParam, se rechazó una o más estadísticas cargadas, ya sea porque rompieron las restricciones o están desactualizadas. En ese caso, el servidor devuelve los valores actualizados y las estadísticas deben actualizarse en local para mantener la sincronización. En este caso, no es necesario que llames de nuevo a RequestCurrentStats.
Si uno o más logros han sido desbloqueados, esto también activará una función callback
UserAchievementStored_t.
Véase también: SetStat,
SetAchievementUpdateAvgRateStat
bool UpdateAvgRateStat( const char *pchName, float flCountThisSession, double dSessionLength );
Nombre | Tipo | Descripción |
pchName | const char * | El "nombre API" de la estadística. No debe de ser más largo que k_cchStatNameMax. |
flCountThisSession | float | Acumulación de valor desde la última llamada realizada a esta función. |
dSessionLength | double | Tiempo transcurrido (en segundos) desde la última llamada realizada a esta función. |
Actualiza una estadística AVGRATE con nuevos valores.
¡Debes haber llamado a
RequestCurrentStats y es necesario regresar con éxito a través de la función callback antes de llamar a esta!
Esta llamada solo modifica el estado en memoria de Steam, de forma que utiliza pocos recursos. Al hacerlo, Steam puede persistir en los cambios incluso en el caso de un bloqueo del juego o un cierre inesperado.
Para enviar las estadísticas al servidor debe llamar
StoreStats.
Si devuelve false y todo lo demás parece correcto, hay que asegurarse de que estén publicados los cambios en el panel del administrador de apps del sitio web de Steamworks.
Devuelve: bool
Esta función devuelve
true en caso de éxito si se cumplen todas las condiciones siguientes; de lo contrario,
false.
- La estadística especificada existe en el administrador de apps del sitio web de Steamworks y los cambios están publicados.
- RequestCurrentStats has completado y devuelto exitosamente tu función callback.
- El tipo debe ser AVGRATE en el backend de los asociados de Steamworks.
UploadLeaderboardScore
SteamAPICall_t UploadLeaderboardScore( SteamLeaderboard_t hSteamLeaderboard, ELeaderboardUploadScoreMethod eLeaderboardUploadScoreMethod, int32 nScore, const int32 *pScoreDetails, int cScoreDetailsCount );
Nombre | Tipo | Descripción |
hSteamLeaderboard | SteamLeaderboard_t | Un handle de la tabla de clasificación obtenida de FindLeaderboard o de FindOrCreateLeaderboard. |
eLeaderboardUploadScoreMethod | ELeaderboardUploadScoreMethod | ¿Quieres forzar el cambio de la puntuación o mantener la anterior si era mejor? |
nScore | int32 | Puntuación que se desea cargar. |
pScoreDetails | const int32 * | Opcional: vector con los detalles concernientes al desbloqueo de la puntuación. |
cScoreDetailsCount | int | El número de elementos en pScoreDetails . No debe exceder k_cLeaderboardDetailsMax |
Carga una puntuación de usuario a una tabla de clasificación especificada.
Los detalles (opcionales) son una información definida por el juego que especifica cómo obtuvo el usuario la puntuación. Por ejemplo, si se trata de una tabla de clasificación de un juego de carreras, se podrían guardar las marcas de tiempo en las que el jugador llegó a cada punto de control. Si hay objetos coleccionables por el camino, se pueden usar campos de bits como booleanos para almacenar los que recoja el jugador en la partida.
La subida de puntuaciones a Steam está limitada a un máximo de 10 subidas cada 10 minutos. Además, solo se puede tener una llamada sin completar a esta función a la vez.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada
LeaderboardScoreUploaded_t.
Véase también: DownloadLeaderboardEntries,
AttachLeaderboardUGCDevoluciones de llamada
Estas son funciones callback que pueden activarse llamando a
SteamAPI_RunCallbacks. Muchas de estas se activarán directamente en respuesta a las funciones miembro de
ISteamUserStats
.
GlobalAchievementPercentagesReady_t
Se llama cuando se han recibido del servidor los porcentajes de logros globales.
Funciones asociadas: RequestGlobalAchievementPercentagesGlobalStatsReceived_t
Se llama cuando se han recibido del servidor las estadísticas globales.
Nombre | Tipo | Descripción |
m_nGameID | uint64 | Id. del juego al que pertenecen estas estadísticas globales. |
m_eResult | EResult | El resultado de la solicitud. Devuelve:
|
Funciones asociadas: RequestGlobalStatsLeaderboardFindResult_t
Resultado al encontrar una tabla de clasificación.
Nombre | Tipo | Descripción |
m_hSteamLeaderboard | SteamLeaderboard_t | Handle de la tabla de clasificación que se buscaba. 0 si no se encontró una tabla de clasificación. |
m_bLeaderboardFound | uint8 | ¿Se encontró la tabla de clasificación? 1 si lo fue, 0 si no lo fue. |
Funciones asociadas: FindOrCreateLeaderboard,
FindLeaderboardLeaderboardScoresDownloaded_t
Se llama cuando se han descargado las puntuaciones de una tabla de clasificación y están listos para ser recuperados.
Después de llamar, debes usar
GetDownloadedLeaderboardEntry para recuperar la información de cada entrada descargada.
Nombre | Tipo | Descripción |
m_hSteamLeaderboard | SteamLeaderboard_t | Identificador o handle de la tabla de clasificación a la que pertenecen las entradas. |
m_hSteamLeaderboardEntries | SteamLeaderboardEntries_t | El identificador para pasar a GetDownloadedLeaderboardEntry para recuperar la información de cada entrada descargada. |
m_cEntryCount | int | Número de entradas descargadas. |
Funciones asociadas: DownloadLeaderboardEntries,
DownloadLeaderboardEntriesForUsersLeaderboardScoreUploaded_t
Resultado que indica que se ha subido una puntuación a un tabla de clasificación.
Nombre | Tipo | Descripción |
m_bSuccess | uint8 | ¿La llamada se ha ejecutado correctamente? Devuelve 1 si la llamada fue exitosa, 0 en caso de error. La cantidad de detalles enviados excede k_cLeaderboardDetailsMax. La tabla de clasificación está configurada en "De confianza" en el Administrador de la aplicación en el sitio web de Steamworks, y solo aceptará las puntuaciones enviadas desde la API de Steam. |
m_hSteamLeaderboard | SteamLeaderboard_t | Identificador o handle de la tabla de clasificación a la que se subió esta puntuación. |
m_nScore | int32 | La puntuación que se quería establecer. |
m_bScoreChanged | uint8 | true si la puntuación en la tabla de clasificación cambia, de lo contrario, false si la puntuación existente es mejor. |
m_nGlobalRankNew | int | Nueva posición global del usuario en la tabla de clasificación. |
m_nGlobalRankPrevious | int | Anterior posición global del usuario en la tabla de clasificación; 0 si el usuario no tenía una entrada anterior en la tabla de clasificación. |
Funciones asociadas: UploadLeaderboardScoreLeaderboardUGCSet_t
Resultado que indica que se ha adjuntado contenido generado por los usuarios a una de las entradas en la tabla de clasificación del usuario actual.
Nombre | Tipo | Descripción |
m_eResult | EResult | Resultado de la operación. Posibles valores:
|
m_hSteamLeaderboard | SteamLeaderboard_t | Handle a la tabla de clasificación que se adjunta a el UGC. |
Funciones asociadas: AttachLeaderboardUGCNumberOfCurrentPlayers_t
Obtiene el número actual de jugadores para el id. de aplicación actual.
Nombre | Tipo | Descripción |
m_bSuccess | uint8 | ¿La llamada se ha ejecutado correctamente? Devuelve 1 si fue; de lo contrario, 0 en caso de error. |
m_cPlayers | int32 | Número de jugadores que están jugando en este momento. |
Funciones asociadas: GetNumberOfCurrentPlayersPS3TrophiesInstalled_t
Se llama cuando hay trofeos de PS3 disponibles.
Nombre | Tipo | Descripción |
m_nGameID | uint64 | Juego al que pertenecen estas estadísticas. |
m_eResult | EResult | Resultado de la operación |
m_ulRequiredDiskSpace | uint64 | Si m_eResult es k_EResultDiskFull, esto contendrá la cantidad de espacio necesario para instalar trofeos. |
UserAchievementIconFetched_t
Resultado de un icono de logro obtenido.
Nombre | Tipo | Descripción |
m_nGameID | CGameID | Id. del juego al que pertenece el logro. |
m_rgchAchievementName | char[k_cchStatNameMax] | Nombre del logro al que corresponde esta función callback. |
m_bAchieved | bool | Devuelve el icono de la versión conseguida (true) o no conseguida (false). |
m_nIconHandle | int | Handle a la imagen, que se puede usar con ISteamUtils::GetImageRGBA para obtener los datos de la imagen. 0 significa que no se ha configurado ninguna imagen para el logro. |
Funciones asociadas: GetAchievementIconUserAchievementStored_t
Resultado de una solicitud para guardar los logros en el servidor o de una llamada para "actualizar el progreso". Si tanto
m_nCurProgress
como
m_nMaxProgress
son cero, eso significa que el logro se ha desbloqueado por completo.
Nombre | Tipo | Descripción |
m_nGameID | uint64 | Id. del juego al que pertenece el logro. |
m_bGroupAchievement | bool | Sin usar. |
m_rgchAchievementName | char[k_cchStatNameMax] | Nombre del logro. |
m_nCurProgress | uint32 | Progreso actual hacia la consecución del logro. |
m_nMaxProgress | uint32 | Progreso total requerido para desbloquear el logro. |
Funciones asociadas: StoreStats,
IndicateAchievementProgressUserStatsReceived_t
Se llama cuando se han recibido del servidor los últimos logros y estadísticas de un usuario concreto (incluido el local).
Nombre | Tipo | Descripción |
m_nGameID | uint64 | Id. del juego al que pertenecen las estadísticas. |
m_eResult | EResult | Devuelve si la llamada fue exitosa o no. Si el usuario no tiene estadísticas, se establecerá en k_EResultFail. |
m_steamIDUser | CSteamID | Usuario cuyas estadísticas se han recuperado. |
Funciones asociadas: RequestCurrentStats,
RequestUserStatsUserStatsStored_t
Resultado de una solicitud para almacenar las estadísticas del usuario.
Nombre | Tipo | Descripción |
m_nGameID | uint64 | Id. del juego al que pertenecen las estadísticas. |
m_eResult | EResult | Devuelve si la llamada fue exitosa o no. |
Funciones asociadas: StoreStats,
IndicateAchievementProgressUserStatsUnloaded_t
Devolución de llamada que indica que se han descargado las estadísticas de un usuario.
Llama a
RequestUserStats de nuevo antes de acceder a las estadísticas de este usuario.
Nombre | Tipo | Descripción |
m_steamIDUser | CSteamID | Usuario cuyas estadísticas se han descargado. |
Structs
Estas son las estructuras que las funciones de ISteamUserStats pueden devolver o con las que pueden interactuar.
LeaderboardEntry_t
Una sola entrada en una tabla de clasificación, según lo devuelto por
GetDownloadedLeaderboardEntry.
Enums
Estas son las enumeraciones establecidas para usarse con ISteamUserStats.
ELeaderboardDataRequest
Tipo de solicitud de datos, utilizado al descargar entradas de la tabla de clasificación con
DownloadLeaderboardEntries.
Nombre | Valor | Descripción |
k_ELeaderboardDataRequestGlobal | 0 | Se usa para consultar por un intervalo secuencial de entradas de una tabla de clasificación por posición dentro de dicha tabla. Los parámetros inicial y final definen el intervalo solicitado. Por ejemplo, se pueden mostrar los 10 primeros de la tabla de clasificación de un juego asignando 1 como valor inicial y 10 como valor final. |
k_ELeaderboardDataRequestGlobalAroundUser | 1 | Se usa para recuperar entradas de la tabla de clasificación en relación con la entrada de un usuario. El parámetro inicial es el número de entradas superiores a la entrada del usuario actual que se van a recuperar, y el parámetro final es el número de entradas inferiores a la entrada del usuario. La entrada del usuario actual se incluye siempre. Por ejemplo, si el usuario actual tiene el puesto 5 en la tabla de clasificación, estableciendo el inicio en -2 y el final en 2 se devuelven cinco entradas: los puestos del 3 al 7. Si la tabla de clasificación no contiene suficientes entradas superiores o inferiores a la del usuario, Steam ajustará el intervalo para intentar devolver la cantidad de entradas solicitadas. Por ejemplo, si el usuario actual tiene el primer puesto en la tabla de clasificación, estableciendo el inicio en -2 y el final en 2 Steam devolverá las cinco primeras entradas de la tabla de clasificación. |
k_ELeaderboardDataRequestFriends | 2 | Se usa para recuperar todas las entradas de amigos del usuario actual en la tabla de clasificación. Los parámetros de inicio y final se omiten. |
k_ELeaderboardDataRequestUsers | 3 | Usado internamente, no lo utilices con DownloadLeaderboardEntries. El resultado sería un comportamiento impredecible. |
ELeaderboardDisplayType
Tipo de visualización empleado por el sitio web de la comunidad de Steam. Se usa para saber qué formato dar a las puntuaciones de la tabla de clasificación cuando se muestren. Puedes configurar el tipo de visualización al crear una tabla de clasificación con
FindOrCreateLeaderboard o en el backend del socio de Steamworks. Puedes recuperar el tipo de visualización para una tabla de clasificación determinada con
GetLeaderboardDisplayType.
Nombre | Valor | Descripción |
k_ELeaderboardDisplayTypeNone | 0 | Solo se usa cuando una tabla de clasificación no es válida; no debe establecerse directamente. |
k_ELeaderboardDisplayTypeNumeric | 1 | La puntuación es simplemente un valor numérico. |
k_ELeaderboardDisplayTypeTimeSeconds | 2 | La puntuación representa un tiempo en segundos. |
k_ELeaderboardDisplayTypeTimeMilliSeconds | 3 | La puntuación representa un tiempo en milisegundos. |
ELeaderboardSortMethod
Método de ordenación. Se usa para establecer si es mejor una puntuación alta o una baja. Puedes configurar el método de clasificación al crear una tabla de clasificación con
FindOrCreateLeaderboard o en App Admin en el sitio web de Steamworks. Puedes recuperar el método de clasificación para una tabla de clasificación determinada con
GetLeaderboardSortMethod.
Nombre | Valor | Descripción |
k_ELeaderboardSortMethodNone | 0 | Solo se usa cuando una tabla de clasificación no es válida; no debe establecerse directamente. |
k_ELeaderboardSortMethodAscending | 1 | La mejor puntuación es el número más bajo. |
k_ELeaderboardSortMethodDescending | 2 | La mejor puntuación es el número más alto. |
ELeaderboardUploadScoreMethod
Nombre | Valor | Descripción |
k_ELeaderboardUploadScoreMethodNone | 0 | |
k_ELeaderboardUploadScoreMethodKeepBest | 1 | La tabla de clasificación conservará la mejor puntuación del usuario. |
k_ELeaderboardUploadScoreMethodForceUpdate | 2 | La tabla de clasificación sustituirá siempre la puntuación con la especificada. |
Typedefs
Estas son definiciones de tipo establecidas para usarse con ISteamUserStats.
Nombre | Tipo de base | Descripción |
SteamLeaderboardEntries_t | uint64 | Identificador o handle de una lista de entradas descargadas en una tabla de clasificación. Esto es devuelto por LeaderboardScoresDownloaded_t y puede usarse para recorrer en iteración todas las entradas con GetDownloadedLeaderboardEntry |
SteamLeaderboard_t | uint64 | Identificador o handle para una sola tabla de clasificación. |
Constantes
Estas son las constantes definidas para usarse con ISteamUserStats.
Nombre | Tipo | Valor | Descripción |
k_cchLeaderboardNameMax | int | 128 | Número máximo de bytes para el nombre de una tabla de clasificación (codificado en UTF-8). |
k_cchStatNameMax | int | 128 | Número máximo de bytes para los nombres de las estadísticas y los logros (codificado en UTF-8). |
k_cLeaderboardDetailsMax | int | 64 | Número máximo de detalles que se pueden almacenar en una sola entrada de la tabla de clasificación. |
STEAMUSERSTATS_INTERFACE_VERSION | const char * | "STEAMUSERSTATS_INTERFACE_VERSION011" | |