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 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
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 do sprawdzenia. |
Sprawdza, czy określona aplikacja jest zainstalowana.
Aplikacja może nie być faktycznie własnością obecnego użytkownika, mogła pozostać po darmowym weekendzie itp.
Działa to tylko dla aplikacji bazowych, nie dla
DLC. Zamiast tego skorzystaj z
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 – nieużywane.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Nazwa | Typ | Opis |
appID | AppId_t | ID aplikacji dla DLC do sprawdzenia. |
Sprawdza, czy użytkownik posiada dane DLC i czy zostało ono zainstalowane.
Zwraca: bool
true – jeśli użytkownik używa DLC, które jest 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 posiada magazyny zawartości z treściami 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 ze Steam DRM 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 do sprawdzenia. |
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ę funkcji Udostępniania gier posiadaną przez innego użytkownika.
Aby określić ID Steam stałego właściciela licencji, użyj funkcji
GetAppOwner.
Zwraca: bool
true – jeśli aktywny użytkownik korzysta z obecnego ID aplikacji poprzez funkcję Udostępniania gier; w przeciwnym wypadku
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Sprawdza, czy użytkownik posiada subskrypcję obecnego ID aplikacji w czasie darmowego weekendu.
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żonego 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 jego obecną ilością wykorzystaną w grze przez użytkownika.
Zwraca: bool
true – jeśli aktywny użytkownik posiada subskrypcję obecnego appID poprzez ograniczony czasowo okres próbny;
false w przypadku każdego innego typu licencji.
Zobacz również: TimedTrialStatus_tBIsVACBanned
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: uint32Zwraca ścieżkę instalacyjną jako string do bufora zawartego w pchFolder oraz liczbę bajtów skopiowanych do tego bufora.
GetAppOwner
CSteamID GetAppOwner();
Gets the Steam ID of the true owner of the current app. This is different from the current user if they are accessing this app via Family Sharing
Zwraca: CSteamIDOryginalny 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ż: GetCurrentGameLanguage,
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.
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Pobiera język, który jest obecnie ustawiony przez użytkownika.
Zwraca to język interfejsu użytkownika (UI) Steam, jeżeli użytkownik nie wybrał wprost języka dla tego tytułu.
Pełna lista obsługiwanych języków znajduje się
tutaj.
Zwraca: const char *
Zobacz również: GetAvailableGameLanguages,
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ą
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 posiada dużą liczbę DLC, to musisz 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 do monitorowania. |
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 pobierana jest 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: uint32Najwcześniejszy zakup wyrażony w czasie uniksowym (liczba sekund liczonych od 1 stycznia 1970 roku).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Nazwa | Typ | Description |
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 rozmiar pvecDepots. |
Pobiera listę wszystkich zainstalowanych magazynów zawartości dla danego ID aplikacji w kolejności montowania.
Zwraca: uint32Liczba zwróconych magazynów.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Nazwa | Typ | Opis |
pszCommandLine | char * | Bufor stringa, do którego zostanie skopiowany wiersz poleceń. |
cubCommandLine | int | Rozmiar bufora pszCommandLine wyrażony w bajtach. |
Pobiera wiersz poleceń, 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 poleceń poprzez system operacyjny, ponieważ druga opcja może stanowić zagrożenie dla bezpieczeństwa. Aby dołączanie za pośrednictwem funkcji rich presence korzystało z tej funkcji zamiast z wiersza polecenia systemu operacyjnego, użyj opcji „Korzystaj z wiersza polecenia”, przechodząc kolejno do menu Instalacja > Ogólne na stronie twojej aplikacji.
Zwraca: int
Zwraca wiersz polecenia jako string bufora podanego w pszCommandLine oraz liczbę bajtów, które zostały skopiowane do tego bufora.
Zobacz również: NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Nazwa | Typ | Opis |
pchKey | const char * | Klucz uruchomienia do przetestowania, 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 podkreślenia „_” są zarezerwowane dla funkcji Steam – można tworzyć od nich zapytania w grze, ale zalecane jest nienadawanie nazw zaczynających się od znaku podkreślenia swoim własnym funkcjom.
Zwraca: const char *
Wartość powiązana z przekazanym kluczem. Zwraca pusty string (""), jeżeli określony klucz nie istnieje.
Zobacz również: NewLaunchQueryParameters_tInstallDLC
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 funkcje składowe 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: InstallDLCFileDetailsResult_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: GetFileDetailsNewUrlLaunchParameters_t
Wyświetlane 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ą
GetLaunchCommandLine i
GetLaunchQueryParam.
To wywołanie zwrotne nie posiada pól.
NewLaunchQueryParameters_t
Zamieszczane 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ą
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 ID aplikacji posiadane jest za pośrednictwem ograniczonego czasowo okresu próbnego.
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ż: BIsTimedTrialZmienne 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" | |