Fornisce svariate informazioni e azioni per le applicazioni e i
Contenuti scaricabili (DLC).
Funzioni membro
Le funzioni membro di
ISteamApps
vengono chiamate tramite la funzione globale di accesso
SteamApps()
.
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
Nome | Tipo | Descrizione |
iDLC | int | Indice del DLC da ottenere, compreso fra 0 e ISteamApps::GetDLCCount. |
pAppID | AppId_t * | Restituisce l'appID del DLC. |
pbAvailable | bool * | Comunica se il DLC è al momento disponibile nel Negozio di Steam. Falso se il DLC non ha una pagina del Negozio visibile |
pchName | char * | Restituisce il nome del DLC copiandolo in questo buffer. |
cchNameBufferSize | int | La lunghezza del buffer pchName . |
Restituisce i metadati di un DLC, per indice.
Restituisce: bool
true se l'appID corrente ha dei DLC associati e
iDLC
ricade tra 0 e
ISteamApps::GetDLCCount, altrimenti restituisce
false.
Esempio: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 ) {
// Fai qualcosa con i dati del DLC
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
Nome | Tipo | Descrizione |
appID | AppId_t | L'appID dell'applicazione da verificare. |
Verifica se una specifica applicazione è installata.
L'app potrebbe non essere effettivamente in possesso dell'utente corrente, che potrebbe averla ottenuta per un periodo limitato attraverso un weekend gratis, ad esempio.
Funziona solo per le applicazioni di base, non per i
Contenuti scaricabili (DLC). Per i DLC, usa
ISteamApps::BIsDlcInstalled.
Restituisce: bool
true se l'appID specificata è installata. Altrimenti,
false.
BIsCybercafe
bool BIsCybercafe();
Verifica se l'appID corrente sia per i Cyber Café.
Restituisce: bool
true se la licenza è per Cyber Café; altrimenti,
false.
Disattivato: non più in uso.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Nome | Tipo | Descrizione |
appID | AppId_t | L'appID del DLC da verificare. |
Verifica se l'utente sia in possesso di uno specifico DLC e se questo è installato.
Restituisce: bool
true se l'utente è in possesso del DLC e questo è installato. Altrimenti,
false.
Nota: Da usare solo per verifiche sul lato client, non per assegnare oggetti in gioco.
BIsLowViolence
bool BIsLowViolence();
Verifica se la licenza in possesso dell'utente fornisce depot a violenza ridotta.
I depot a violenza ridotta sono utili per copie vendute in paesi che presentano restrizioni sui contenuti.
Restituisce: bool
true se la licenza fornita dall'utente fornisce depot a violenza ridotta. Altrimenti,
false.
Vedi anche: Regole per il montaggio dei depotBIsSubscribed
bool BIsSubscribed();
Verifica se l'utente attivo è sottoscritto all'appID corrente.
NOTA: restituirà sempre
true se stai usando il DRM di Steam o se stai chiamando
SteamAPI_RestartAppIfNecessary.
Restituisce: bool
true se l'utente attivo è in possesso dell'appID corrente. Altrimenti,
false.
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
Nome | Tipo | Descrizione |
appID | AppId_t | L'appID da verificare. |
Verifica se l'utente attivo è sottoscritto all'appID specificato.
Da usare solo se hai bisogno di verificare il possesso di un altro gioco collegato al tuo, ad esempio una demo.
Restituisce: bool
true se l'utente attivo è sottoscritto all'appID specificato. Altrimenti,
false.
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
Verifica se l'utente attivo ha accesso all'appID corrente attraverso una licenza temporanea di condivisione familiare in possesso di un altro utente.
Se hai bisogno di determinare l'ID di Steam dell'utente in possesso permanente della licenza, usa
GetAppOwner.
Restituisce: bool
true se l'utente attivo ha accesso all'appID tramite condivisione familiare. Altrimenti,
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Verifica se l'utente è sottoscritto all'appID corrente attraverso un weekend gratis.
Prima di usare questa funzione, contatta un gestore tecnico dell'account di Valve attraverso il
gruppo delle discussioni di Steamworks per preparare correttamente il pacchetto e impostare in sicurezza il tuo weekend gratis.
Restituisce: bool
true se l'utente attivo è sottoscritto all'appID corrente attraverso un weekend gratis. Altrimenti, nel caso di qualunque altro tipo di licenza, restituisce
false.
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
Nome | Tipo | Descrizione |
punSecondsAllowed | uint32 * | Restituisce il numero di secondi a disposizione durante la prova a tempo. |
punSecondsPlayed | uint32 * | Restituisce il numero di secondi durante i quali l'utente ha giocato finora. |
Verifica se l'utente è sottoscritto all'appID corrente attraverso una prova a tempo. In caso positivo, restituisce true e riporta il tempo totale durante il quale è consentito giocare alla prova gratuita, oltre al tempo corrente in cui l'utente ha giocato.
Restituisce: bool
true se l'utente attivo è sottoscritto all'appID corrente attraverso una prova a tempo. Altrimenti, nel caso di qualunque altro tipo di licenza, restituisce
false.
Vedi anche: ISteamApps::TimedTrialStatus_tBIsVACBanned
bool BIsVACBanned();
Verifica se un utente ha un ban del VAC sul proprio account.
Restituisce: bool
true se l'utente ha un ban del VAC sul proprio account. Altrimenti restituisce
false.
GetAppBuildId
int GetAppBuildId();
Ottiene l'ID della build per questa app. Potrebbe cambiare in qualunque momento dopo aggiornamenti dal lato back-end del gioco.
Restituisce: int
L'ID della build corrente di questa app. Se la build utilizzata non è stata scaricata da Steam, il valore predefinito è 0.
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
Nome | Tipo | Descrizione |
appID | AppId_t | L'appID per cui ottenere la directory di installazione. |
pchFolder | char * | Il buffer di stringa in cui verrà copiato il percorso della cartella. |
cchFolderBufferSize | uint32 | Le dimensioni in byte del buffer pchFolder . |
Ottiene la cartella di installazione per una specifica appID.
Funziona anche se l'applicazione non è installata, in base a dove il gioco sarebbe installato con le impostazioni predefinite di Steam.
Restituisce: uint32Restituisce il percorso di installazione della directory nel buffer fornito da pchFolder e il numero di byte in esso copiati.
GetAppOwner
CSteamID GetAppOwner();
Ottiene l'ID di Steam del vero proprietario dell'app corrente. Questo è diverso dall'utente attuale se l'accesso a questa app viene effettuato tramite la condivisione familiare.
Restituisce: CSteamIDIl proprietario originale dell'app corrente.
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
Ottiene una lista separata da virgole delle lingue supportate dall'app corrente.
Per la lista completa delle lingue che potrebbero essere restituite, vedi
Localizzazione e lingue.
Restituisce: const char *
Restituisce una lista di lingue separate da virgole.
Vedi anche: ISteamApps::GetCurrentGameLanguage,
ISteamUtils::GetSteamUILanguageGetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
Nome | Tipo | Descrizione |
pchName | char * | Il buffer in cui verrà copiato il nome della beta. |
cchNameBufferSize | int | Le dimensioni totali del buffer pchName. |
Verifica se l'utente sta eseguendo un ramo beta e, in caso positivo, ottiene il nome del ramo.
Restituisce: bool
true se l'utente sta eseguendo un ramo beta. Altrimenti restituisce
false.
GetNumBetas
int GetNumBetas( int *pnAvailable, int *pnPrivate );
Nome | Tipo | Descrizione |
pnAvailable | int* | Numero di rami beta disponibili all'utente attuale. |
pnPrivate | int* | Quante di queste sono beta private. |
Restituisce il numero totale di rami di applicazioni note (incluso il ramo predefinito "pubblico" ) che possono essere iterati con getBetaInfo ()
Restituisce: int
Numero di rami di applicazioni conosciute
GetBetaInfo
bool GetBetaInfo( int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription );
Nome | Tipo | Descrizione |
iBetaIndex | int | Indice ramo che inizia a 0, che è sempre il ramo predefinito. |
punFlags | uint32 * | Set di flag (eBetaBranchFlags) che descrivono lo stato corrente del ramo. |
punBuildID | uint32 * | BuildID contenuto impostata live su questo ramo. |
pchBetaName | char * | Nome ramo beta. |
cchBetaName | int | Dimensione di pchBetaName fornita dal chiamante. |
pchDescription | char * | Descrizione ramo beta. |
cchDescription | int | Dimensione di pchDescription fornita dal chiamante. |
Ottieni dettagli su un ramo beta dell'applicazione come nome, descrizione e stato.
Restituisce: bool
true se l'indice di ramo passato è valido, altrimenti false.
Esempio:int32 betaCount = SteamApps()->GetNumBetas( nullptr, nullptr );
for ( int betaIndex = 0; betaIndex < betaCount; ++betaIndex )
{
char name[128];
char description[1024];
uint32 flags = 0; // EBetaBranchFlags
uint32 buildID = 0;
SteamApps()->GetBetaInfo( betaIndex, &flags, &buildID, name, sizeof( name ), description, sizeof( description ) );
}
SetActiveBeta
bool SetActiveBeta( const char *pchBetaName );
Nome | Tipo | Descrizione |
pchBetaName | const char * | Nome beta al quale il gioco vuole passare. |
Seleziona un ramo beta per questa applicazione come attivo. Potrebbe essere necessario il riavvio del gioco, in modo che Steam possa aggiornare i suoi contenuti in quel ramo.
Restituisce: bool
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Ottiene la lingua corrente impostata dall'utente.
Se l'utente non ha esplicitamente selezionato una lingua per questo titolo, verrà usata quella dell'interfaccia di Steam.
Per una lista completa delle lingue, vedi le
lingue supportate.
Restituisce: const char *
Vedi anche: ISteamApps::GetAvailableGameLanguages,
ISteamUtils::GetSteamUILanguageGetDLCCount
int GetDLCCount();
Ottiene il numero di parti del DLC per l'app corrente.
Di solito si usa per scorrere tutte le parti di un DLC e ottenere informazioni su ciascuna di esse tramite
ISteamApps::BGetDLCDataByIndex.
Restituisce: int
Il numero di DLC per l'app corrente. Tieni presente che questo valore può avere un limite di 64, a seconda della quantità di DLC non posseduti dall'utente. Se la tua app ha un numero elevato di DLC, dovresti impostare una tua lista interna di DLC conosciuti per finalità di controllo.
Esempio: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 ) {
// Fai qualcosa con i dati del DLC
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
Nome | Tipo | Descrizione |
nAppID | AppId_t | L'appID del DLC da monitorare. |
punBytesDownloaded | uint64 * | Restituisce il numero di byte scaricati. |
punBytesTotal | uint64 * | Restituisce le dimensioni totali in byte del download. |
Ottiene il progresso nel download di un DLC opzionale.
Restituisce: bool
true se il DLC specificato esiste ed è in fase di download. Altrimenti restituisce
false.
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
Nome | Tipo | Descrizione |
nAppID | AppId_t | L'appID di cui ottenere la data di acquisto. |
Ottiene la data di acquisto dell'app specificata in formato epoch Unix (a partire dal 1° gennaio 1970).
Utile per assegnare ricompense agli utenti in base a quando hanno effettuato l'acquisto.
Restituisce: uint32La data di acquisto meno recente in formato epoch Unix (in secondi a partire dal 1° gennaio 1970).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Nome | Tipo | Descrizione |
pszFileName | const char* | Il percorso assoluto e il nome del file. |
Recupera in maniera asincrona dettagli dei metadati di un file specifico nel manifesto del depot.
Al momento fornisce:
Le dimensioni in byte del file.
L'hash SHA1 del file.
I contrassegni del file.
Restituisce: SteamAPICall_t da utilizzare con un risultato della chiamata a
FileDetailsResult_t.
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
Nome | Tipo | Descrizione |
appID | AppId_t | L'app di cui elencare i depot. |
pvecDepots | DepotId_t * | Una matrice predeterminata che sarà riempita con la lista dei depot. |
cMaxDepots | uint32 | Il massimo numero di depot da ottenere, di solito la dimensione di pvecDepots. |
Ottiene una lista di depot installati per l'appID data, in ordine di montaggio.
Restituisce: uint32Il numero di depot restituiti.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Nome | Tipo | Descrizione |
pszCommandLine | char * | Il buffer di stringa in cui verrà copiata la riga di comando. |
cubCommandLine | int | Le dimensioni in byte del buffer pszCommandLine . |
Ottiene la riga di comando se il gioco è stato avviato attraverso l'URL di Steam, ad esempio steam://run/<appid>//<command line>/. Questo metodo è preferibile rispetto ad avviare il gioco con una riga di comando dal sistema operativo, operazione che può rappresentare un rischio di sicurezza. Per far sì che le unioni a una partita attraverso la rich presence avvengano tramite questa funzione e non tramite la riga di comando del sistema operativo, devi abilitare "Usa riga di comando per l'avvio" dalla pagina di installazione della tua app.
Restituisce: int
Restituisce la riga di comando come una stringa nel buffer fornito in pszCommandLine e il numero di byte in esso copiati.
Vedi anche: ISteamApps::NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Nome | Tipo | Descrizione |
pchKey | const char * | La chiave di avvio per cui testare. Esempio: param1 |
Ottiene il parametro di avvio associato se il gioco viene eseguito tramite steam://run/<appid>/?param1=value1;param2=value2;param3=value3 ecc.
I nomi di parametro che iniziano con "@" sono riservati per uso interno e restituiranno sempre una stringa vuota.
I nomi di parametro che iniziano con "_" sono riservati per alcune funzionalità di Steam. Possono essere richiesti dal gioco, ma consigliamo di non usare il carattere "_" per i nomi dei parametri delle tue funzionalità.
Restituisce: const char *
Il valore associato alla chiave fornita. Se la chiave specificata non esiste, restituisce una stringa vuota ("").
Vedi anche: ISteamApps::NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
Nome | Tipo | Descrizione |
nAppID | AppId_t | Il DLC che vuoi installare. |
Ti consente di installare un DLC opzionale.
Restituisce: void
Scatena una callback
DlcInstalled_t.
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
Nome | Tipo | Descrizione |
bMissingFilesOnly | bool | Scansiona solo per file mancanti, non verificare la somma dei controlli (checksum) di ogni file. |
Consente di forzare la verifica dei contenuti di giochi all'avvio successivo.
Se si rileva che il gioco non è aggiornato (ad esempio se il client rileva una versione differente da quella richiesta dal server),
puoi usare MarkContentCorrupt per forzare una verifica, mostrare un messaggio all'utente e quindi uscire dal gioco.
Restituisce: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
Non più in uso.
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
Non più in uso.
UninstallDLC
void UninstallDLC( AppId_t nAppID );
Nome | Tipo | Descrizione |
nAppID | AppId_t | Il DLC che vuoi disinstallare. |
Ti consente di disinstallare un DLC opzionale.
Callback
Queste sono callback che possono essere attivate chiamando
SteamAPI_RunCallbacks. Molte di esse saranno attivate direttamente in risposta alle funzioni membro di
ISteamApps
.
AppProofOfPurchaseKeyResponse_t
Solo per uso interno di Steam.
DlcInstalled_t
Si attiva quando l'utente corrente ottiene la proprietà di un DLC e lo installa.
Nome | Tipo | Descrizione |
m_nAppID | AppId_t | AppID del DLC che è stato installato. |
Funzioni associate: ISteamApps::InstallDLCFileDetailsResult_t
Chiamata dopo aver richiesto i dettagli di un file specifico.
Nome | Tipo | Descrizione |
m_eResult | EResult | La chiamata ha avuto esito positivo? k_EResultOK se sì. Altrimenti, k_EResultFileNotFound se il file non è stato trovato. Se la chiamata non ha avuto esito positivo, non sarà riempito alcun altro campo. |
m_ulFileSize | uint64 | Le dimensioni originali in byte del file. |
m_FileSHA | uint8[20] | L'hash SHA1 originale del file. |
m_unFlags | uint32 | |
Funzioni associate: ISteamApps::GetFileDetailsNewUrlLaunchParameters_t
Pubblicata quando l'utente esegue un URL di Steam con una riga di comando o parametri di richiesta come
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
mentre il gioco è già in esecuzione. I nuovi parametri possono essere richiesti con
ISteamApps::GetLaunchCommandLine e
ISteamApps::GetLaunchQueryParam.
Questa callback non ha campi.
NewLaunchQueryParameters_t
Pubblicata quando l'utente esegue un URL di Steam tramite parametri di richiesta come
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
mentre il gioco è già in esecuzione. I nuovi parametri possono essere richiesti con
ISteamApps::GetLaunchQueryParam.
Questa callback non ha campi.
RegisterActivationCodeResponse_t
Solo per uso interno di Steam.
TimedTrialStatus_t
Inviata ogni minuto quando la proprietà di un appID è basata su una prova a tempo.
Nome | Tipo | Descrizione |
m_unAppID | AppId_t | AppID nella prova a tempo. |
m_bIsOffline | bool | Se "true", al momento l'utente è offline. Il tempo consentito/giocato si riferisce al tempo offline, non a quello totale. |
m_unSecondsAllowed | uint32 | Il numero di secondi totali in cui l'app può essere giocata. |
m_unSecondsPlayed | uint32 | Il numero di secondi in cui l'app è stata già giocata. |
Vedi anche: ISteamApps::BIsTimedTrialEnum
Queste sono le enumerazioni definite per l'utilizzo con ISteamApps.
ERegisterActivationCodeResult
Solo per uso interno di Steam.
Nome | Valore | Descrizione |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
Costanti
Queste sono costanti definite per l'utilizzo con ISteamApps.
Nome | Tipo | Valore | Descrizione |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Per uso interno su Steam. |
STEAMAPPS_INTERFACE_VERSION | const char * | "STEAMAPPS_INTERFACE_VERSION008" | |