Expone una amplia variedad de información y acciones para aplicaciones y
contenido descargable (DLC).
Funciones de miembros
Las funciones miembro para
ISteamApps
se llaman a través de la función de acceso global
SteamApps()
.
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
Nombre | Tipo | Descripción |
iDLC | int | Índice del DLC a obtener. Número comprendido entre 0 y GetDLCCount. |
pAppID | AppId_t * | Devuelve el id. de aplicación del DLC. |
pbAvailable | bool * | Devuelve si el DLC está disponible actualmente en la tienda de Steam. Será "false" si el DLC no tiene una página de la tienda visible. |
pchName | char * | Devuelve el nombre del DLC copiándolo en este búfer. |
cchNameBufferSize | int | La longitud del búfer asignado para pchName . |
Devuelve metadatos del DLC por índice.
Devuelve: bool
true si el id. de la aplicación actual tiene DLC asociados y el valor de
iDLC
se encuentra entre 0 y
GetDLCCount, de lo contrario
false.
Ejemplo:int32 DLCCount = SteamApps()->GetDLCCount();
for ( int i = 0; i < DLCCount; ++i ) {
AppId_t appId;
bool available;
char name[128];
bool success = SteamApps()->BGetDLCDataByIndex( i, &appId, &available, name, 128 );
if ( success ) {
// Hacer algo con los datos del DLC
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
Nombre | Tipo | Descripción |
appID | AppId_t | Devuelve el id. de aplicación que se quiere comprobar. |
Comprueba si una aplicación específica está instalada.
La aplicación puede no ser propiedad del usuario actual, ya que puede ser resultado de un fin de semana gratis, etc.
Esto solo funciona para aplicaciones base, no para
Contenido descargable (DLC). Utiliza
BIsDlcInstalled para DLC en su lugar.
Devuelve: bool
true si el id. de la aplicación especificada está instalado; de lo contrario,
false.
BIsCybercafe
bool BIsCybercafe();
Comprueba si el id. de aplicación actual pertenece a un cibercafé.
Devuelve: bool
true si la licencia es para cibercafés, de lo contrario
false.
Obsoleto: Ya no se usa.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Nombre | Tipo | Descripción |
appID | AppId_t | Devuelve el id. de aplicación del DLC que se quiere comprobar. |
Comprueba si el usuario posee un DLC específico y si este está instalado.
Devuelve: bool
true si el usuario posee el DLC y está instalado actualmente, de lo contrario,
false.
Aviso: solo se debe utilizar para verificaciones simples del cliente, no para otorgar artículos dentro del juego.
BIsLowViolence
bool BIsLowViolence();
Comprueba si la licencia que posee el usuario proporciona repositorios de violencia reducida.
Los repositorios de violencia reducida sirven para las copias vendidas en países con restricciones de contenido.
Devuelve: bool
true si la licencia que posee el usuario proporciona repositorios de baja violencia; de lo contrario,
false.
Véase también: Reglas de montaje de repositoriosBIsSubscribed
bool BIsSubscribed();
Comprueba si el usuario activo está suscrito al id. de aplicación actual.
AVISO: Siempre devuelve
true si estás usando DRM de Steam o llamando a
SteamAPI_RestartAppIfNecessary.
Devuelve: bool
true si el usuario activo posee el id. de aplicación actual, de lo contrario
false.
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
Nombre | Tipo | Descripción |
appID | AppId_t | Id. de aplicación que se quiere comprobar. |
Comprueba si el usuario activo está suscrito a un id. de aplicación especificado.
Solo debe utilizarse si se necesita comprobar la posesión de otro juego relacionado con el propio (por ejemplo, una versión demo).
Devuelve: bool
true si el usuario activo está suscrito al id. de la aplicación especificada, de lo contrario,
false.
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
Comprueba si el usuario activo está accediendo al id. de la aplicación actual a través de una licencia temporal de préstamo familiar que es propiedad de otro usuario.
Si necesitas determinar el id. de Steam del propietario permanente de la licencia, usa
GetAppOwner.
Devuelve: bool
true si el usuario activo está accediendo al id. de la aplicación actual a través del préstamo familiar, de lo contrario,
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Comprueba si el usuario está suscrito al id. de aplicación actual por un fin de semana gratis.
Antes de usar esto, comunícate con un administrador técnico de cuentas de Valve a través de
Foro de discusión de Steamworks para crear el paquete correctamente y asegurar tu fin de semana gratis.
Devuelve: bool
true si el usuario activo está suscrito al id. de la aplicación actual a través de un fin de semana gratuito, de lo contrario
false para cualquier otro tipo de licencia.
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
Nombre | Tipo | Descripción |
punSecondsAllowed | uint32 * | Devuelve el número de segundos que indicará la prueba de duración limitada. |
punSecondsPlayed | uint32 * | Devuelve el número de segundos que el usuario ha jugado hasta el momento. |
Comprueba si el usuario está suscrito al id. de aplicación actual a través de una prueba de duración limitada. Si es así, devuelve true junto con el tiempo total que se puede jugar a la prueba de duración limitada y el tiempo que el usuario ha jugado hasta el momento.
Devuelve: bool
true si el usuario activo está suscrito al id. de aplicación actual a través de una prueba de duración limitada; de lo contrario,
false para cualquier otro tipo de licencia.
Véase también: TimedTrialStatus_tBIsVACBanned
bool BIsVACBanned();
Comprueba si la cuenta del usuario está sujeta a un bloqueo por VAC.
Devuelve: bool
True si el usuario tiene un bloqueo por VAC en su cuenta; de lo contrario,
false.
GetAppBuildId
int GetAppBuildId();
Obtiene el id. de compilación de esta aplicación, número que puede variar en cualquier momento en función de las actualizaciones del backend del juego.
Devuelve: int
El id. de compilación actual de esta aplicación. El valor predeterminado es 0 si no estás ejecutando una compilación descargada de Steam.
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
Nombre | Tipo | Descripción |
id. de aplicación | AppId_t | Id. de la aplicación para la que se quiere obtener el directorio de instalación. |
pchFolder | char * | Búfer de cadena de texto donde se copia la ruta de la carpeta. |
cchFolderBufferSize | uint32 | El tamaño en bytes del búfer pchFolder . |
Obtiene la carpeta de instalación de un id. de aplicación específico.
Funciona aunque la aplicación no esté instalada, en función de dónde se instalaría con la ubicación predeterminada en la biblioteca de Steam.
Devuelve: uint32Devuelve la ruta del directorio de instalación como una cadena en el búfer proporcionado en pchFolder y devuelve el número de bytes que se copiaron en ese búfer.
GetAppOwner
CSteamID GetAppOwner();
Obtiene el id. de Steam del propietario real de la aplicación actual, que es diferente del usuario actual si se accede a la aplicación a través del préstamo familiar.
Devuelve: CSteamIDEl propietario original de la aplicación actual.
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
Obtiene una lista separada por comas de los idiomas que la aplicación actual admite.
Para obtener la lista completa de idiomas que se pueden devolver, consulta
Localización e idiomas.
Devuelve: const char *
Devuelve una lista de idiomas separados por comas.
Véase también: GetCurrentGameLanguage,
ISteamUtils::GetSteamUILanguageGetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
Nombre | Tipo | Descripción |
pchName | char * | Búfer donde se copia el nombre beta. |
cchNameBufferSize | int | La longitud total del búfer asignado para pchName. |
Comprueba si el usuario está usando una rama beta y, en ese caso, obtiene el nombre de la rama.
Devuelve: bool
true si el usuario está en una rama beta; de lo contrario,
false.
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Obtiene el idioma que ha establecido el usuario.
Si el usuario no ha elegido explícitamente un idioma para el juego, es el mismo que el de la IU de Steam.
Para ver la lista completa de idiomas, consulta
Idiomas disponibles.
Devuelve: const char *
Véase también: GetAvailableGameLanguages,
ISteamUtils::GetSteamUILanguageGetDLCCount
int GetDLCCount();
Obtiene el número de elementos DLC para la aplicación actual.
Normalmente se usa para recorrer los DLC y obtener la información de cada uno de ellos con
BGetDLCDataByIndex.
Devuelve: int
El número de DLC de la aplicación actual. Ten en cuenta que este valor puede llegar a un máximo de 64, dependiendo de la cantidad de DLC sin propietario que tenga el usuario. Si tu aplicación tiene una gran cantidad de DLC, debes establecer tu propia lista interna de DLC conocidos para verificar.
Ejemplo:int32 DLCCount = SteamApps()->GetDLCCount();
for ( int i = 0; i < DLCCount; ++i ) {
AppId_t appId;
bool available;
char name[128];
bool success = SteamApps()->BGetDLCDataByIndex( i, &appId, &available, name, 128 );
if ( success ) {
// Hacer algo con los datos del DLC
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
Nombre | Tipo | Descripción |
nAppID | AppId_t | Id. de aplicación del DLC que se quiere supervisar. |
punBytesDownloaded | uint64 * | Devuelve el número de bytes descargados. |
punBytesTotal | uint64 * | Devuelve el tamaño total de la descarga en bytes. |
Obtiene el progreso de descarga de un DLC opcional.
Devuelve: bool
true si el DLC especificado existe y se está descargando en este momento; de lo contrario,
false.
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
Nombre | Tipo | Descripción |
nAppID | AppId_t | Id. de la aplicación cuya fecha de compra queremos obtener. |
Obtiene el momento en que se compró la aplicación especificada en formato de tiempo Unix (tiempo transcurrido desde el 1 de enero de 1970).
Sirve para recompensar a los usuarios en función de la fecha de compra inicial.
Devuelve: uint32La primera compra en formato de tiempo Unix (segundos desde el 1 de enero de 1970).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Nombre | Tipo | Descripción |
pszFileName | const char* | La ruta absoluta y el nombre del archivo. |
Recupera de forma asíncrona detalles sobre los metadatos de un archivo específico en el manifiesto del repositorio.
Actualmente proporciona:
El tamaño del archivo en bytes.
El hash SHA1 del archivo.
Las marcas del archivo.
Devuelve: SteamAPICall_t para usar con el resultado de la llamada a la función
FileDetailsResult_t.
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
Nombre | Tipo | Descripción |
id. de aplicación | AppId_t | Aplicación cuyos repositorios se desean listar. |
pvecDepots | DepotId_t * | Vector previamente reservado en memoria que se rellenará con una lista de repositorios. |
cMaxDepots | uint32 | Número máximo de repositorios que se obtienen, normalmente el tamaño de pvecDepots. |
Obtiene una lista de todos los repositorios instalados para un id. de aplicación dado, en orden de montaje.
Devuelve: uint32El número de repositorios devueltos.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Nombre | Tipo | Descripción |
pszCommandLine | char * | El búfer de cadena en la que se copiará la línea de comando. |
cubCommandLine | int | El tamaño en bytes del búfer pszCommandLine . |
Obtiene la línea de comandos si el juego se lanzó a través del URL de Steam, por ejemplo: steam://run/<appid>//<command line>/. Se recomienda usar este método en vez de lanzar el juego desde la línea de comandos a través del sistema operativo, ya que puede ser un riesgo de seguridad. Para que la función de presencia enriquecida funcione con este método y no se coloque en la línea de comandos del sistema operativo, debes habilitar "Iniciar línea de comandos" desde la página de Instalación > General, de tu aplicación.
Devuelve: int
Devuelve la línea de comandos como una cadena en el búfer proporcionado en pszCommandLine y devuelve el número de bytes que se copiaron en ese búfer.
Véase también: NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Nombre | Tipo | Descripción |
pchKey | const char * | La clave de lanzamiento que se quiere probar. Ej.: param1 |
Obtiene el parámetro de inicio asociado si el juego se ejecuta mediante Steam://run/<appid>/?param1=value1;param2=value2;param3=value3, etc.
Los nombres de los parámetros que comienzan con el carácter "@" están reservados para uso interno y siempre devuelven una cadena vacía.
Los nombres de los parámetros que comienzan con un guion bajo "_" están reservados para las funciones de Steam: el juego puede usarlos en sus consultas, pero te recomendamos que no empieces con guion bajo los nombres de los parámetros de tus propias funciones.
Devuelve: const char *
El valor asociado a la clave proporcionada. Devuelve una cadena vacía ("") si la clave especificada no existe.
Véase también: NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
Nombre | Tipo | Descripción |
nAppID | AppId_t | El DLC que quieres instalar. |
Te permite instalar un DLC opcional.
Devuelve: void
Activa una función callback
DlcInstalled_t.
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
Nombre | Tipo | Descripción |
bMissingFilesOnly | bool | Solo busca los archivos que faltan; no verifica la suma de comprobación de cada archivo. |
Permite forzar la verificación del contenido del juego durante el próximo inicio.
Si detectas que el juego está desactualizado (por ejemplo, al hacer que el cliente detecte una discrepancia de versión con un servidor),
puedes llamar a usar MarkContentCorrupt para forzar una verificación, mostrar un mensaje al usuario y luego salir.
Devuelve: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
Obsoleta.
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
Nombre | Tipo | Descripción |
nAppID | AppId_t | |
Obsoleta.
UninstallDLC
void UninstallDLC( AppId_t nAppID );
Nombre | Tipo | Descripción |
nAppID | AppId_t | El DLC que quieres desinstalar. |
Permite desinstalar un DLC opcional.
Devoluciones de llamada
Estas son funciones callback que se activan al llamar a
SteamAPI_RunCallbacks. Muchas de estas se activarán directamente en respuesta a las funciones miembro de
ISteamApps
.
AppProofOfPurchaseKeyResponse_t
Solo se usa internamente en Steam.
DlcInstalled_t
Se activa cuando el usuario actual adquiere la propiedad del DLC y este se instala.
Nombre | Tipo | Descripción |
m_nAppID | AppId_t | Id. de aplicación del DLC que se instaló. |
Funciones asociadas: InstallDLCFileDetailsResult_t
Función invocada después de solicitar los detalles de un archivo concreto.
Nombre | Tipo | Descripción |
m_eResult | EResult | ¿La llamada se ha ejecutado correctamente? k_EResultOK si tuvo éxito; de lo contrario, k_EResultFileNotFound si no se encontró el archivo. No se rellena ninguno de los demás campos si la llamada falla. |
m_ulFileSize | uint64 | El tamaño del archivo original en bytes. |
m_FileSHA | uint8[20] | El hash SHA1 del archivo original. |
m_unFlags | uint32 | |
Funciones asociadas: GetFileDetailsNewUrlLaunchParameters_t
Se envía después de que el usuario ejecuta un URL de Steam desde la línea de comandos o con parámetros de consulta como
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
mientras el juego se está ejecutando. Los nuevos parámetros se pueden verificar con
GetLaunchCommandLine y
GetLaunchQueryParam.
Esta función callback no tiene campos.
NewLaunchQueryParameters_t
Se envía cuando el usuario ejecuta un URL de Steam con parámetros de consulta como
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
mientras el juego se está ejecutando. Los nuevos parámetros se pueden consultar con
GetLaunchQueryParam.
Esta función callback no tiene campos.
RegisterActivationCodeResponse_t
Solo se usa internamente en Steam.
TimedTrialStatus_t
Se envía cada minuto cuando un id. de aplicación se posee a través de una prueba de duración limitada.
Nombre | Tipo | Descripción |
m_unAppID | AppId_t | Id. de aplicación que está en una prueba de duración limitada. |
m_bIsOffline | bool | Si es true, el usuario está actualmente desconectado. El tiempo permitido/jugado se refiere al tiempo sin conexión, no al tiempo total. |
m_unSecondsAllowed | uint32 | Cuántos segundos se puede jugar a la aplicación en total. |
m_unSecondsPlayed | uint32 | Cuántos segundos se ha jugado ya a la aplicación. |
Véase también: BIsTimedTrialEnums
Estas son las enumeraciones establecidas para usarse con ISteamApps.
ERegisterActivationCodeResult
Solo se usa internamente en Steam.
Nombre | Valor | Descripción |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
Constantes
Estas son constantes definidas para usarse con ISteamApps.
Nombre | Tipo | Valor | Descripción |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Solo se usa internamente en Steam. |
STEAMAPPS_INTERFACE_VERSION | const char * | "STEAMAPPS_INTERFACE_VERSION008" | |