Documentazione di Steamworks
Interfaccia ISteamApps
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 );
NomeTipoDescrizione
iDLCintIndice del DLC da ottenere, compreso fra 0 e GetDLCCount.
pAppIDAppId_t *Restituisce l'appID del DLC.
pbAvailablebool *Comunica se il DLC è al momento disponibile nel Negozio di Steam. Falso se il DLC non ha una pagina del Negozio visibile
pchNamechar *Restituisce il nome del DLC copiandolo in questo buffer.
cchNameBufferSizeintLa 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 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 );
NomeTipoDescrizione
appIDAppId_tL'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 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 );
NomeTipoDescrizione
appIDAppId_tL'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 depot

BIsSubscribed

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 );
NomeTipoDescrizione
appIDAppId_tL'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);
NomeTipoDescrizione
punSecondsAlloweduint32 *Restituisce il numero di secondi a disposizione durante la prova a tempo.
punSecondsPlayeduint32 *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: TimedTrialStatus_t

BIsVACBanned

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 );
NomeTipoDescrizione
appIDAppId_tL'appID per cui ottenere la directory di installazione.
pchFolderchar *Il buffer di stringa in cui verrà copiato il percorso della cartella.
cchFolderBufferSizeuint32Le 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: uint32
Restituisce 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: CSteamID
Il 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: GetCurrentGameLanguage, ISteamUtils::GetSteamUILanguage

GetCurrentBetaName

bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
NomeTipoDescrizione
pchNamechar *Il buffer in cui verrà copiato il nome della beta.
cchNameBufferSizeintLe 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.

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: GetAvailableGameLanguages, ISteamUtils::GetSteamUILanguage

GetDLCCount

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 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 );
NomeTipoDescrizione
nAppIDAppId_tL'appID del DLC da monitorare.
punBytesDownloadeduint64 *Restituisce il numero di byte scaricati.
punBytesTotaluint64 *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 );
NomeTipoDescrizione
nAppIDAppId_tL'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: uint32
La data di acquisto meno recente in formato epoch Unix (in secondi a partire dal 1° gennaio 1970).

GetFileDetails

SteamAPICall_t GetFileDetails( const char*pszFileName );
NomeTipoDescrizione
pszFileNameconst 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 );
NomeTipoDescrizione
appIDAppId_tL'app di cui elencare i depot.
pvecDepotsDepotId_t *Una matrice predeterminata che sarà riempita con la lista dei depot.
cMaxDepotsuint32Il 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: uint32
Il numero di depot restituiti.

GetLaunchCommandLine

int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
NomeTipoDescrizione
pszCommandLinechar *Il buffer di stringa in cui verrà copiata la riga di comando.
cubCommandLine intLe 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: NewUrlLaunchParameters_t

GetLaunchQueryParam

const char * GetLaunchQueryParam( const char *pchKey );
NomeTipoDescrizione
pchKeyconst 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: NewLaunchQueryParameters_t

InstallDLC

void InstallDLC( AppId_t nAppID );
NomeTipoDescrizione
nAppIDAppId_tIl DLC che vuoi installare.

Ti consente di installare un DLC opzionale.

Restituisce: void

Scatena una callback DlcInstalled_t.

MarkContentCorrupt

bool MarkContentCorrupt( bool bMissingFilesOnly );
NomeTipoDescrizione
bMissingFilesOnlyboolScansiona 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 );
NomeTipoDescrizione
nAppIDAppId_t

Non più in uso.

UninstallDLC

void UninstallDLC( AppId_t nAppID );
NomeTipoDescrizione
nAppIDAppId_tIl 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.

NomeTipoDescrizione
m_eResultEResult
m_nAppIDuint32
m_cchKeyLengthuint32
m_rgchKeychar[k_cubAppProofOfPurchaseKeyMax

DlcInstalled_t

Si attiva quando l'utente corrente ottiene la proprietà di un DLC e lo installa.

NomeTipoDescrizione
m_nAppIDAppId_tAppID del DLC che è stato installato.

Funzioni associate: InstallDLC

FileDetailsResult_t

Chiamata dopo aver richiesto i dettagli di un file specifico.

NomeTipoDescrizione
m_eResultEResultLa 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_ulFileSizeuint64Le dimensioni originali in byte del file.
m_FileSHAuint8[20]L'hash SHA1 originale del file.
m_unFlagsuint32

Funzioni associate: GetFileDetails

NewUrlLaunchParameters_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 GetLaunchCommandLine e 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 GetLaunchQueryParam.

Questa callback non ha campi.

RegisterActivationCodeResponse_t

Solo per uso interno di Steam.

NomeTipoDescrizione
m_eResultERegisterActivationCodeResult
m_unPackageRegistereduint32

TimedTrialStatus_t

Inviata ogni minuto quando la proprietà di un appID è basata su una prova a tempo.

NomeTipoDescrizione
m_unAppIDAppId_tAppID nella prova a tempo.
m_bIsOfflineboolSe "true", al momento l'utente è offline. Il tempo consentito/giocato si riferisce al tempo offline, non a quello totale.
m_unSecondsAlloweduint32Il numero di secondi totali in cui l'app può essere giocata.
m_unSecondsPlayeduint32Il numero di secondi in cui l'app è stata già giocata.

Vedi anche: BIsTimedTrial

Enum

Queste sono le enumerazioni definite per l'utilizzo con ISteamApps.

ERegisterActivationCodeResult

Solo per uso interno di Steam.

NomeValoreDescrizione
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

Costanti

Queste sono costanti definite per l'utilizzo con ISteamApps.

NomeTipoValoreDescrizione
k_cubAppProofOfPurchaseKeyMaxint240Per uso interno su Steam.
STEAMAPPS_INTERFACE_VERSIONconst char *"STEAMAPPS_INTERFACE_VERSION008"