Daje dostęp do wielu informacji oraz działań przeznaczonych dla aplikacji oraz
zawartości do pobrania (DLC).
Metody
Metody interfejsu
ISteamApps
są wywoływane poprzez akcesor globalny
SteamApps()
.
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
Nazwa | Typ | Opis |
iDLC | int | Indeks DLC do pobrania z zakresu od 0 do ISteamApps::GetDLCCount. |
pAppID | AppId_t * | Zwraca ID aplikacji danego DLC. |
pbAvailable | bool * | Zwraca wartość zależną od tego, czy DLC jest obecnie dostępne w Sklepie Steam. Wartość wyniesie „false”, jeżeli DLC nie posiada widocznej strony w sklepie. |
pchName | char * | Zwraca nazwę DLC poprzez skopiowanie jej do tego bufora. |
cchNameBufferSize | int | Długość bufora pchName . |
Zwraca metadane dla DLC według indeksu.
Zwraca: bool
true – jeśli obecne ID aplikacji ma DLC powiązane z nią i
iDLC
znajduje się w zakresie od 0 do
ISteamApps::GetDLCCount; w przeciwnym wypadku
false.
Przykład: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 ) {
// Zrób coś z danymi DLC.
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
Nazwa | Typ | Opis |
appID | AppId_t | ID danej aplikacji, jaka ma zostać sprawdzona. |
Sprawdza, czy określona aplikacja jest zainstalowana.
Aplikacja może nie być faktycznie własnością obecnego użytkownika. Może ona być pozostałością po darmowym weekendzie itp.
Działa to tylko dla aplikacji bazowych, nie dla
DLC. Zamiast tego skorzystaj z
ISteamApps::BIsDlcInstalled dla DLC.
Zwraca: bool
true – jeśli określone ID aplikacji jest zainstalowane; w przeciwnym wypadku
false.
BIsCybercafe
bool BIsCybercafe();
Sprawdza, czy obecne ID aplikacji jest przeznaczone dla kafejek internetowych.
Zwraca: bool
true – jeśli licencja przeznaczona jest dla kafejek internetowych; w przeciwnym wypadku
false.
Przestarzałe – już nieużywane.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Nazwa | Typ | Opis |
appID | AppId_t | ID aplikacji DLC, jakie ma zostać sprawdzone. |
Sprawdza, czy użytkownik posiada dane DLC i czy zostało ono zainstalowane.
Zwraca: bool
true – jeśli użytkownik posiada DLC i jest ono obecnie zainstalowane; w przeciwnym wypadku
false.
Uwaga: funkcja powinna być używana tylko do podstawowych sprawdzeń po stronie klienta, a nie do przyznawania przedmiotów w grze.
BIsLowViolence
bool BIsLowViolence();
Sprawdza, czy licencja posiadana przez użytkownika dostarcza magazyny zawartości z niskim poziomem brutalności.
Magazyny zawartości z niskim poziomem brutalności są użyteczne w przypadku kopii sprzedawanych w krajach z ograniczeniami dotyczącymi zawartości.
Zwraca: bool
true – jeśli licencja użytkownika ma magazyny zawartości z niskim poziomem brutalności; w przeciwnym wypadku
false.
Zobacz również: Zasady montowania magazynów zawartości.
BIsSubscribed
bool BIsSubscribed();
Sprawdza, czy aktywny użytkownik posiada subskrypcję obecnego ID aplikacji.
UWAGA: ta funkcja zawsze będzie zwracać wartość
true, jeżeli korzystasz z DRM Steam lub wywołujesz
SteamAPI_RestartAppIfNecessary.
Zwraca: bool
true – jeśli aktywny użytkownik posiada obecne ID aplikacji; w przeciwnym wypadku
false.
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
Nazwa | Typ | Opis |
appID | AppId_t | ID aplikacji, jaka ma zostać sprawdzona. |
Sprawdza, czy aktywny użytkownik posiada subskrypcję obecnego ID aplikacji.
Korzystaj z tego tylko, gdy musisz sprawdzić, czy użytkownik posiada inną grę powiązaną z twoją, np. demo.
Zwraca: bool
true – jeśli aktywny użytkownik posiada subskrypcję do obecnego ID aplikacji; w przeciwnym wypadku
false.
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
Sprawdza, czy aktywny użytkownik uzyskuje dostęp do obecnego ID aplikacji poprzez tymczasową licencję posiadaną przez innego użytkownika w ramach funkcji rodzin na Steam.
Aby określić ID Steam stałego właściciela licencji, użyj funkcji
GetAppOwner.
Zwraca: bool
true – jeśli aktywny użytkownik uzyskuje dostęp do obecnego ID aplikacji poprzez funkcję rodzin na Steam; w przeciwnym wypadku
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Sprawdza, czy użytkownik posiada subskrypcję obecnego ID aplikacji poprzez darmowy weekend.
Przed skorzystaniem z tego skontaktuj się z pracownikiem technicznym Valve poprzez
forum dyskusyjne Steamworks, by odpowiednio spakować i zabezpieczyć swój darmowy weekend.
Zwraca: bool
true – jeśli aktywny użytkownik posiada subskrypcję obecnego ID aplikacji poprzez darmowy weekend;
false w przypadku każdego innego typu licencji.
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
Nazwa | Typ | Opis |
punSecondsAllowed | uint32 * | Zwraca czas trwania ograniczonego czasowo okresu próbnego wyrażony w sekundach. |
punSecondsPlayed | uint32 * | Zwraca czas spędzony dotychczas przez gracza w grze wyrażony w sekundach. |
Sprawdza, czy użytkownik posiada subskrypcję obecnego ID aplikacji poprzez ograniczony czasowo okres próbny. Jeśli tak, to zwracane jest „true” i podawany jest całkowity czas, przez który można grać w ramach ograniczonego okresu próbnego wraz z obecną ilością czasu, jaki użytkownik spędził w grze.
Zwraca: bool
true – jeśli aktywny użytkownik posiada subskrypcję obecnego ID aplikacji poprzez ograniczony czasowo okres próbny;
false w przypadku każdego innego typu licencji.
Zobacz również: ISteamApps::TimedTrialStatus_t.
BIsVACBanned
bool BIsVACBanned();
Sprawdza, czy na konto użytkownika nałożona jest blokada VAC.
Zwraca: bool
true – jeśli użytkownik posiada blokadę VAC na swoim koncie; w przeciwnym wypadku
false.
GetAppBuildId
int GetAppBuildId();
Pobiera ID kompilacji dla tej aplikacji. Może się ono zmienić w każdej chwili w zależności od aktualizacji gry.
Zwraca: int.
Obecne ID kompilacji tej aplikacji. Domyślna wartość to 0, jeśli nie korzystasz z kompilacji pobranej ze Steam.
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
Nazwa | Typ | Opis |
appID | AppId_t | ID aplikacji, dla której zostanie pobrana ścieżka instalacyjna. |
pchFolder | char * | Bufor stringa, do którego zostanie skopiowana ścieżka. |
cchFolderBufferSize | uint32 | Rozmiar bufora pchFolder wyrażony w bajtach. |
Pobiera folder instalacyjny dla określonego ID aplikacji.
Działa to nawet, gdy aplikacja nie jest zainstalowana. W takim przypadku będzie to domyślna ścieżka instalacyjna w bibliotece Steam.
Zwraca: uint32.
Zwraca ścieżkę instalacyjną jako string do bufora zawartego w pchFolder oraz liczbę bajtów skopiowanych do tego bufora.
GetAppOwner
CSteamID GetAppOwner();
Pobiera ID Steam faktycznego posiadacza bieżącej aplikacji. Jest inne niż to bieżącego użytkownika, jeśli korzysta on z tej aplikacji w ramach funkcji rodzin na Steam.
Zwraca: CSteamID.
Oryginalny właściciel bieżącej aplikacji.
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
Pobiera listę języków wspieranych przez obecną aplikację. Języki są oddzielone przecinkami.
Aby poznać pełną listę zwracanych języków, sprawdź artykuł o
lokalizacji i językach.
Zwraca: const char *.
Zwraca listę języków oddzielonych przecinkami.
Zobacz również: ISteamApps::GetCurrentGameLanguage oraz
ISteamUtils::GetSteamUILanguage.
GetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
Nazwa | Typ | Opis |
pchName | char * | Bufor, do którego zostanie skopiowana nazwa wersji beta. |
cchNameBufferSize | int | Łączny rozmiar bufora pchName. |
Sprawdza, czy użytkownik uruchamia aplikację z gałęzi beta i pobiera nazwę tej gałęzi, jeżeli tak jest.
Zwraca: bool
true – jeśli użytkownik korzysta z gałęzi beta; w przeciwnym wypadku
false.
GetNumBetas
int GetNumBetas( int *pnAvailable, int *pnPrivate );
Nazwa | Typ | Opis |
pnAvailable | int* | Liczba gałęzi beta dostępnych dla bieżącego użytkownika. |
pnPrivate | int* | Ile z nich stanowi prywatne bety. |
Zwraca całkowitą liczbę znanych gałęzi aplikacji (w tym domyślną gałąź „publiczną”), które można iterować za pomocą GetBetaInfo().
Zwraca: int
Liczba znanych gałęzi aplikacji.
GetBetaInfo
bool GetBetaInfo( int iBetaIndex, uint32 *punFlags, uint32 *punBuildID, char *pchBetaName, int cchBetaName, char *pchDescription, int cchDescription );
Nazwa | Typ | Opis |
iBetaIndex | int | Indeks gałęzi rozpoczynający się od 0, które zawsze jest gałęzią domyślną. |
punFlags | uint32 * | Zestaw flag (ebetaBranchFlags) opisujący bieżący stan gałęzi. |
punBuildID | uint32 * | ID kompilacji zawartości aktywne dla tej gałęzi. |
pchBetaName | char * | Nazwa gałęzi beta. |
cchBetaName | int | Rozmiar pchBetaName podanego przez wywołującego. |
pchDescription | char * | Opis gałęzi beta. |
cchDescription | int | Rozmiar pchDescription podanego przez wywołującego. |
Uzyskuje szczegóły na temat gałęzi beta aplikacji takie jak nazwa, opis i stan.
Zwraca: bool
Wynosi „true”, jeśli przekazywany indeks gałęzi jest ważny. W przeciwnym wypadku „false”.
Przykład: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 );
Nazwa | Typ | Opis |
pchBetaName | const char *. | Nazwa beta, na którą gra chce się przełączyć. |
Wybierz gałąź beta dla tej aplikacji jako aktywną. Może być wymagany restart gry, by Steam zaktualizował zawartość dla tej gałęzi.
Zwraca: bool
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Pobiera język, który jest obecnie ustawiony przez użytkownika.
Jeżeli użytkownik nie wybrał wprost języka dla tego tytułu, zapasową wartością będzie język interfejsu użytkownika Steam.
Pełna lista obsługiwanych języków znajduje się
tutaj.
Zwraca: const char *
Zobacz również: ISteamApps::GetAvailableGameLanguages oraz
ISteamUtils::GetSteamUILanguage.
GetDLCCount
int GetDLCCount();
Pobiera liczbę części DLC dla bieżącej aplikacji.
Zazwyczaj korzysta się z tego do iterowania po każdym DLC i uzyskiwaniu informacji dla każdego z nich za pomocą
ISteamApps::BGetDLCDataByIndex.
Zwraca: int.
Liczba DLC dla bieżącej aplikacji. Miej na uwadze, że ta liczba może zostać ograniczona do 64 w zależności od liczby DLC, które nie są posiadane przez użytkownika. Jeśli twoja aplikacja ma dużą liczbę DLC, to powinieneś ustawić swoją własną wewnętrzną listę znanych DLC dla porównania.
Przykład: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 ) {
// Zrób coś z danymi DLC.
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
Nazwa | Typ | Opis |
nAppID | AppId_t | ID aplikacji określonego DLC, jakie ma być monitorowane. |
punBytesDownloaded | uint64 * | Zwraca liczbę pobranych bajtów. |
punBytesTotal | uint64 * | Zwraca łączny rozmiar danych do pobrania w bajtach. |
Pobiera postęp pobierania dla opcjonalnego DLC.
Zwraca: bool
true – jeśli określone DLC istnieje i jest obecnie pobierane; w przeciwnym wypadku
false.
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
Nazwa | Typ | Opis |
nAppID | AppId_t | ID aplikacji, dla której ma zostać pobrana data zakupu. |
Pobiera datę zakupu określonej aplikacji w czasie uniksowym (czas od 1 stycznia 1970).
Jest to przydatne, gdy chcesz nagrodzić swoich użytkowników w zależności od daty zakupu przez nich produktu.
Zwraca: uint32.
Najwcześniejszy zakup wyrażony w czasie uniksowym (liczba sekund liczonych od 1 stycznia 1970 roku).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Nazwa | Typ | Opis |
pszFileName | const char* | Ścieżka absolutna i nazwa tego pliku. |
Asynchronicznie pobiera szczegółowe metadane określonego pliku w manifeście magazynu zawartości.
Obecnie podaje:
Rozmiar pliku w bajtach.
Hash SHA1 pliku.
Flagi pliku.
Zwraca: SteamAPICall_t do wykorzystania z wynikiem wywołania
FileDetailsResult_t.
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
Nazwa | Typ | Opis |
appID | AppId_t | Aplikacja, dla której zostanie pobrana lista magazynów zawartości. |
pvecDepots | DepotId_t * | Prealokowana tablica, która zostanie wypełniona listą magazynów zawartości. |
cMaxDepots | uint32 | Maksymalna liczba magazynów zawartości do pobrania, zazwyczaj o rozmiarze pvecDepots. |
Pobiera listę wszystkich zainstalowanych magazynów zawartości dla danego ID aplikacji w kolejności montowania.
Zwraca: uint32.
Liczba zwróconych magazynów.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Nazwa | Typ | Opis |
pszCommandLine | char * | Bufor stringa, do którego zostanie skopiowany wiersz polecenia. |
cubCommandLine | int | Rozmiar bufora pszCommandLine wyrażony w bajtach. |
Pobiera wiersz polecenia, jeśli gra została uruchomiona poprzez adres URL Steam, np. steam://run/<ID aplikacji>//<polecenie>/. Ta metoda jest bardziej preferowana od uruchomienia przy użyciu wiersza polecenia poprzez system operacyjny, ponieważ druga opcja może stanowić ryzyko dla bezpieczeństwa. Aby dołączanie za pośrednictwem funkcji rich presence korzystało z tej funkcji zamiast z wiersza polecenia systemu operacyjnego, zaznacz opcję używania wiersza polecenia, przechodząc kolejno do menu Instalacja > Ogólne na stronie twojej aplikacji.
Zwraca: int.
Zwraca wiersz polecenia jako string do bufora podanego w pszCommandLine oraz liczbę bajtów, które zostały skopiowane do tego bufora.
Zobacz również: ISteamApps::NewUrlLaunchParameters_t.
GetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Nazwa | Typ | Opis |
pchKey | const char * | Klucz uruchomienia, jaki ma zostać przetestowany, np. param1. |
Pobiera powiązany parametr uruchomienia, jeżeli gra jest uruchamiana poprzez steam://run/<ID aplikacji>/?param1=value1;param2=value2;param3=value3 itd.
Nazwy parametrów zaczynające się od znaku „@” są zarezerwowane dla użytku wewnętrznego i zawsze zwrócą puste stringi.
Nazwy parametrów zaczynające się od znaku „_” są zarezerwowane dla funkcji Steam – mogą one być odpytywane przez grę, ale zaleca się, by nie nadawać parametrom nazw zaczynających się od znaku podkreślenia dla twoich własnych funkcji.
Zwraca: const char *.
Wartość powiązana z przekazanym kluczem. Zwraca pusty string (""), jeżeli określony klucz nie istnieje.
Zobacz również: ISteamApps::NewLaunchQueryParameters_t.
InstallDLC
void InstallDLC( AppId_t nAppID );
Nazwa | Typ | Opis |
nAppID | AppId_t | DLC, które chcesz zainstalować. |
Pozwala zainstalować opcjonalne DLC.
Zwraca: void.
Wykonuje wywołanie zwrotne
DlcInstalled_t.
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
Nazwa | Typ | Opis |
bMissingFilesOnly | bool. | Skanuj wyłącznie w poszukiwaniu brakujących plików, nie weryfikuj sumy kontrolnej każdego pliku. |
Pozwala na wymuszenie weryfikacji zawartości gry przy następnym uruchomieniu.
Jeżeli wykrywasz, że gra jest nieaktualna (np. chcesz, żeby klient wykrywał niezgodność wersji z serwerem),
możesz użyć MarkContentCorrupt, by wymusić weryfikację, wyświetlić wiadomość użytkownikowi, a następnie wyjść.
Zwraca: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
Przestarzałe.
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
Przestarzałe.
UninstallDLC
void UninstallDLC( AppId_t nAppID );
Nazwa | Typ | Opis |
nAppID | AppId_t | DLC, które chcesz odinstalować. |
Pozwala ci na odinstalowanie opcjonalnego DLC.
Wywołania zwrotne
Są to wywołania zwrotne, które można wykonać poprzez wywołanie
SteamAPI_RunCallbacks. Wiele z nich zostanie wywołanych bezpośrednio w odpowiedzi na metody interfejsu
ISteamApps
.
AppProofOfPurchaseKeyResponse_t
Używane wyłącznie wewnętrznie w Steam.
DlcInstalled_t
Wykonywane po tym, gdy obecny użytkownik wejdzie w posiadanie DLC i to DLC jest zainstalowane.
Nazwa | Typ | Opis |
m_nAppID | AppId_t | ID aplikacji zainstalowanego DLC. |
Powiązane funkcje: ISteamApps::InstallDLC.
FileDetailsResult_t
Wywoływane po wysłaniu żądania o szczegóły określonego pliku.
Nazwa | Typ | Opis |
m_eResult | EResult | Czy wywołanie było pomyślne? k_EResultOK, jeżeli było; w przeciwnym wypadku k_EResultFileNotFound, jeżeli plik nie został znaleziony. Żadne inne pola nie przyjmują wartości, jeżeli wywołanie nie zostało zakończone powodzeniem. |
m_ulFileSize | uint64 | Oryginalny rozmiar pliku w bajtach. |
m_FileSHA | uint8[20] | Oryginalny hash SHA1 pliku. |
m_unFlags | uint32 | |
Powiązane funkcje: ISteamApps::GetFileDetails.
NewUrlLaunchParameters_t
Przesyłane po uruchomieniu przez użytkownika adresu URL Steam z wierszem polecenia lub parametrami zapytania takimi jak
steam://run/<ID aplikacji>//?param1=value1;param2=value2;param3=value3;
, gdy gra jest już uruchomiona. Nowych parametrów można użyć w zapytaniu za pomocą
ISteamApps::GetLaunchCommandLine oraz
ISteamApps::GetLaunchQueryParam.
To wywołanie zwrotne nie posiada pól.
NewLaunchQueryParameters_t
Przesyłane po uruchomieniu przez użytkownika adresu URL Steam z parametrami zapytania takimi jak
steam://run/<ID aplikacji>//?param1=value1;param2=value2;param3=value3;
, gdy gra jest już uruchomiona. Nowych parametrów można użyć w zapytaniu za pomocą
ISteamApps::GetLaunchQueryParam.
To wywołanie zwrotne nie posiada pól.
RegisterActivationCodeResponse_t
Używane wyłącznie wewnętrznie w Steam.
TimedTrialStatus_t
Wysyłane co minutę, gdy użytkownik posiada dane ID aplikacji poprzez ograniczony czasowo okres próbny.
Nazwa | Typ | Opis |
m_unAppID | AppId_t | ID aplikacji, dla której ograniczony czasowo okres próbny jest w toku. |
m_bIsOffline | bool | Jeśli zwracane jest „true”, to użytkownik jest obecnie offline. Czas dozwolony/spędzony w grze odnosi się do czasu spędzonego offline, a nie jego łącznej ilości. |
m_unSecondsAllowed | uint32 | Łączna liczba sekund, przez które można korzystać z aplikacji. |
m_unSecondsPlayed | uint32 | Liczba sekund, przez które korzystano z aplikacji. |
Zobacz również: ISteamApps::BIsTimedTrial.
Zmienne wyliczeniowe
Są to zmienne wyliczeniowe, które zostały zdefiniowane do wykorzystania z interfejsem ISteamApps.
ERegisterActivationCodeResult
Używane wyłącznie wewnętrznie w Steam.
Nazwa | Wartość | Opis |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
Stałe
Są to stałe, które zostały zdefiniowane do wykorzystania z interfejsem ISteamApps.
Nazwa | Typ | Wartość | Opis |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Używane wyłącznie wewnętrznie w Steam. |
STEAMAPPS_INTERFACE_VERSION | const char *. | "STEAMAPPS_INTERFACE_VERSION008" | |