Uygulamalar ve
İndirilebilir İçerik (DLC) için geniş bir bilgi ve eylem özeti sunar.
Üye İşlevleri
ISteamApps
'deki üye işlevleri genel bir erişici işlev olan
SteamApps()
ile çağrılır.
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
Ad | Tür | Açıklama |
iDLC | int | Alınacak DLC dizini, 0 ile GetDLCCount arasında. |
pAppID | AppId_t * | DLC'nin uygulama kimliğini döndürür. |
pbAvailable | bool * | DLC'nin Steam mağazasında mevcut olup olmadığını verir (1=Evet, 0=Hayır). DLC'nin görüntülenebilir bir mağaza sayfası yoksa false değerini verecektir |
pchName | char * | DLC'nin adını bu arabelleğe kopyalayarak döndürür. |
cchNameBufferSize | int | pchName arabelleği uzunluğu. |
İçeriğe göre DLC üstverisini döndürür.
Dönüşler: bool
true, mevcut App ID'nin kendisiyle ilişkilendirilmiş DLC'leri varsa ve
iDLC
0 ile
GetDLCCount, aksi hâlde
false.
Örnek: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 ) {
// DLC verisiyle bir şeyler yapın
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
Ad | Tür | Açıklama |
appID | AppId_t | Kontrol edilecek uygulamanın App ID'si. |
Belirli bir uygulamanın yüklenmiş olup olmadığını kontrol eder.
Uygulama aslen mevcut kullanıcıya ait olmayabilir, ellerinde bir ücretsiz hafta sonundan kalmış olabilir, vb.
Bu sadece ana uygulamalar için geçerlidir,
İndirilebilir İçerik (DLC) için değil. DLC'ler için onun yerine şunu kullanın:
BIsDlcInstalled.
Dönüşler: bool
true, belirtilen App ID yüklenmişse; aksi hâlde
false.
BIsCybercafe
bool BIsCybercafe();
Mevcut App ID'nin internet kafeler için olup olmadığını kontrol eder.
Dönüşler: bool
true, lisans, internet kafeler içinse; aksi hâlde
false.
Artık kullanılmıyor.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Ad | Tür | Açıklama |
appID | AppId_t | Kontrol edilecek DLC'nin App ID'si. |
Kullanıcının belirli bir DLC'ye sahip olup olmadığını ve DLC'nin yüklenmiş olup olmadığını kontrol eder
Dönüşler: bool
true, kullanıcı DLC'ye sahipse ve DLC yüklenmişse; aksi hâlde
false.
Not: Yalnızca istemci tarafındaki basit kontroller için kullanılmalıdır - oyun içi öğe vermeye uygun değildir.
BIsLowViolence
bool BIsLowViolence();
Kullanıcının sahip olduğu lisansın düşük şiddet deposu sağlayıp sağlamadığını kontrol eder.
Düşük şiddet depoları, içerik kısıtlaması yapan ülkelerde satılan oyunlar için faydalıdır.
Dönüşler: bool
true, kullanıcının sahip olduğu oyun düşük şiddet depoları sağlıyorsa; aksi hâlde
false.
Ayrıca bakınız: Depo Takılma KurallarıBIsSubscribed
bool BIsSubscribed();
Etkin kullanıcının mevcut App ID'ye abone olup olmadığını kontrol eder.
NOT: Steam DRM kullanıyor veya
SteamAPI_RestartAppIfNecessary çağrısı yapıyorsanız bu her zaman
"true" değerini verecektir.
Dönüşler: bool
true, etkin kullanıcı mevcut AppId'ye sahipse; aksi hâlde
false.
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
Ad | Tür | Açıklama |
appID | AppId_t | Kontrol edilecek App ID. |
Etkin kullanıcının belirtilen bir AppId'ye abone olup olmadığını kontrol eder.
Bunu yalnızca sizinkiyle ilişkili olan başka bir oyunun (örneğin, bir demo gibi) sahipliğini kontrol etmeniz gerektiğinde kullanın.
Dönüşler: bool
true, etkin kullanıcı belirtilen bir App ID'ye aboneyse; aksi hâlde
false.
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
Etkin kullanıcının mevcut appID'ye başka bir kullanıcının sahip olduğu geçiçi bir Aile Paylaşımı lisansı üzerinden ulaşıp ulaşmadığını kontrol eder.
Lisansın kalıcı sahibinin steamID'sine ulaşmaya çalışıyorsanız
GetAppOwner kullanın.
Dönüşler: bool
true, etkin kullanıcı mevcut appID'ye aile paylaşımı üzerinden ulaşıyorsa; aksi hâlde
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Kullanıcının mevcut appID'ye bir ücretsiz hafta sonu üzerinden abone olup olmadığını kontrol eder.
Bunu kullanmadan önce lütfen ücretsiz hafta sonunuzu doğru bir şekilde paketleyip güvence altına almak için
Steamworks Tartışma Forumu'nu kullanarak Valve teknik hesap yöneticisiyle iletişime geçin.
Dönüşler: bool
true, etkin kullanıcı mevcut App Id'ye bir ücretsiz hafta sonu üzerinden abone olduysa; aksi hâlde diğer her tür lisans için
false.
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
Ad | Tür | Açıklama |
punSecondsAllowed | uint32 * | Sınırlı süre denemenin kaç saniye süreceğini döndürür. |
punSecondsPlayed | uint32 * | Kullanıcının şu ana kadar oynadığı saniye sayısını verir. |
Kullanıcının mevcut appID'ye sınırlı süre deneme üzerinden abone olup olmadığını kontrol eder. Eğer öyleyse true döndürür ve kullanıcının oynamış olduğu süreyle birlikte denemenin izin verdiği toplam oynama süresini gösterir.
Dönüşler: bool
true, etkin kullanıcı mevcut appID'ye kısıtlı süre deneme üzerinden abone olduysa; aksi hâlde diğer tüm lisans türleri için
false.
Ayrıca bakınız: TimedTrialStatus_tBIsVACBanned
bool BIsVACBanned();
Kullanıcının hesabında VAC yasağı olup olmadığını kontrol eder
Dönüşler: bool
true, kullanıcının hesabında bir VAC yasağı varsa; aksi hâlde
false.
GetAppBuildId
int GetAppBuildId();
Bu uygulamanın derleme id'sini alır, oyundaki arka uç güncellemelerine göre herhangi bir noktada değişebilir.
Dönüşler: int
Bu uygulamanın mevcut Derleme Id'si. Steam'den indirilmiş bir derleme çalıştırmıyorsanız otomatik olarak 0'a döner.
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
Ad | Tür | Açıklama |
appID | AppId_t | Yükleme dizininin kendisi için alınması gereken App ID. |
pchFolder | char * | Klasör dizininin kopyalanacağı dize arabelleği. |
cchFolderBufferSize | uint32 | Bayt olarak pchName arabelleği boyutu. |
Özel bir AppID'nin yükleme klasörünü elde eder.
Bu, uygulama yüklenmemiş olsa bile oyunun Steam kütüphanesinde varsayılan olarak nereye yükleneceği bilgisini baz alarak çalışır.
Dönüşler: uint32pchFolder'daki arabelleğe yükleme dizini yolunu dize olarak döndürür ve o arabelleğe kopyalanan bilgiyi bayt olarak döndürür.
GetAppOwner
CSteamID GetAppOwner();
Mevcut uygulamanın gerçek sahibinin Steam ID'sini alır. Bu, uygulamaya Aile Paylaşımı aracılığıyla erişen mevcut kullanıcıdan farklıdır.
Dönüşler: CSteamIDMevcut uygulamanın orijinal sahibi.
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
Mevcut uygulamanın desteklediği dillerin virgülle ayrılmış bir listesini elde eder.
Döndürülebilecek dillerin tam listesi için
şuraya bakabilirsiniz.
Dönüşler: const char *
Virgülle ayrılmış bir diller listesi döndürür.
Ayrıca bakınız: GetCurrentGameLanguage,
ISteamUtils::GetSteamUILanguageGetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
Ad | Tür | Açıklama |
pchName | char * | Beta adının kopyalanacağı arabellek. |
cchNameBufferSize | int | pchName arabelleği toplam boyutu. |
Kullanıcının yazılımı bir beta dalından çalıştırıp çalıştırmadığını kontrol eder, eğer öyleyse dalın adını elde eder.
Dönüşler: bool
true, kullanıcı bir beta dalı üzerindeyse; aksi hâlde
false.
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Kullanıcının ayarladığı mevcut dili elde eder.
Kullanıcı, oyun için özellikle bir dil seçmediyse bu, Steam kullanıcı arayüzünün dili olarak döner.
Dillerin tam listesi için
Desteklenen Diller'e bakabilirsiniz.
Dönüşler: const char *
Ayrıca bakınız: GetAvailableGameLanguages,
ISteamUtils::GetSteamUILanguageGetDLCCount
int GetDLCCount();
Mevcut uygulama için DLC sayısını elde eder.
Bu genelde, her bir DLC'den geçip
BGetDLCDataByIndex ile her biri hakkında bilgi almakta kullanılır.
Dönüşler: int
Mevcut uygulama için DLC sayısı. Kullanıcının ne kadar sahipsiz DLC'si olursa olsun bu değerin en fazla 64 olabileceğini aklınızda bulundurun. Uygulamanızın DLC sayısı yüksekse kontrol için kendinize özel bir bilinen DLC listesi oluşturmanız iyi olur.
Örnek: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 ) {
// DLC verisiyle bir şeyler yapın
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
Ad | Tür | Açıklama |
nAppID | AppId_t | İzlenecek DLC'nin App ID'si |
punBytesDownloaded | uint64 * | İndirilen bayt sayısını döndürür. |
punBytesTotal | uint64 * | İndirilen unsurların toplam boyutunu bayt olarak döndürür. |
İsteğe bağlı DLC'ler için indirilme durumunu elde eder.
Dönüşler: bool
true, belirtilen DLC varsa ve şu anda indiriliyorsa; aksi hâlde
false.
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
Ad | Tür | Açıklama |
nAppID | AppId_t | Satın alma zamanı bilgisinin alınması gereken App ID. |
Belirtilen uygulamanın satın alındığı zamanı Unix epoch formatında (1 Ocak 1970'ten beri geçen zaman) elde eder.
Bu, kullanıcıları ilk satın alma tarihleri üzerinden ödüllendirmek için faydalıdır.
Dönüşler: uint32Unix epoch formatında en erken satın alma zamanı (1 Ocak 1970'ten beri geçen zaman, saniye olarak).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Ad | Tür | Açıklama |
pszFileName | const char* | Dosyanın mutlak yolu ve adı. |
Eşzamansız olarak depo bildirimden özel bir dosya hakkında üstveri bilgisi alır.
Şu anda sağlanan:
Bayt olarak dosya boyutu.
Dosyanın SHA1 hash'i.
Dosyanın işaretleri.
Dönüşler: Bir
FileDetailsResult_t çağrı sonucu ile kullanılacak
SteamAPICall_t.
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
Ad | Tür | Açıklama |
appID | AppId_t | Depolarının listelenmesi gereken uygulama. |
pvecDepots | DepotId_t * | Depo listesiyle doldurulması gereken önceden ayrılmış bir dizi. |
cMaxDepots | uint32 | Elde edilebilecek en fazla depo sayısı (genelde pvecDepots boyutu kadar olur). |
Bir App ID'nin tüm yüklenmiş depolarının bir listesini takılma sırasına göre elde eder.
Dönüşler: uint32Döndürülen depo sayısı.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Ad | Tür | Açıklama |
pszCommandLine | char * | Komut satırının kopyalanacağı dize arabelleği. |
cubCommandLine | int | Bayt olarak pszCommandLine arabelleği boyutu. |
Oyun, Steam URL kullanılarak başlatıldıysa (ör, steam://run/<appid>//<command line>/) komut satırını elde eder. Bu yöntem, işletim sistemi üzerinden bir komut satırıyla başlatmaya tercih edilmelidir, çünkü bu ikincisi bir güvenlik riski oluşturabilir. Detaylı durum bağlarının bu yöntemi takip etmesi ve işletim sistemi komut satırına yerleşmemeleri için, uygulamanızın Yükleme > Genel sayfasından "Başlatma komut satırını kullan" seçeneğini etkinleştirmelisiniz.
Dönüşler: int
Komut satırını dize olarak pszCommandLine'da sağlanan arabelleğe döndürür ve o belleğe kopyalanan bilgiyi bayt olarak döndürür.
Ayrıca bakınız: NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Ad | Tür | Açıklama |
pchKey | const char * | Test edilecek başlatma anahtarı. Ör: param1 |
Oyun steam://run/<appid>/? üzerinden çalıştırılıyorsa ilişkili başlatma parametresini elde eder
param1=value1;param2=value2;param3=value3 vb.
@ ile başlayan parametre adları dâhilî kullanım için ayrılmıştır ve her zaman boş bir dize döndürür.
Alt tire "_" ile başlayan adlar steam özelliklerine ayrılmıştır. Oyun tarafından sorgulanabilirler, ancak kendi özellikleriniz için kullandığınız parametre adlarını alt tire ile başlatmamanızı tavsiye ediyoruz.
Dönüşler: const char *
Sağlanan anahtarla ilişkilendirilmiş değer. Belirtilen anahtar mevcut değilse boş bir dize ("") döndürür.
Ayrıca bakınız: NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
Ad | Tür | Açıklama |
nAppID | AppId_t | Yüklemek istediğiniz DLC. |
İsteğe bağlı olan bir DLC'yi yüklemenize olanak sağlar.
Dönüşler: void
Bir
DlcInstalled_t geri çağrısı tetikler.
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
Ad | Tür | Açıklama |
bMissingFilesOnly | bool | Yalnızca kayıp dosyaları tarar, her dosyanın kontrol toplamını doğrulamaz. |
Bir sonraki başlatmada oyun içeriğinizi doğrulamaya zorlamanızı sağlar.
Oyunun güncel olmadığını farkederseniz (örneğin, istemci bir sunucuyla sürüm uyuşmazlığı algılayabilir)
MarkContentCorrupt'a çağrı yaparak doğrulamaya zorlayabilir, kullanıcıya bir mesaj gösterebilir ve ardından çıkış yapabilirsiniz.
Dönüşler: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
Artık kullanılmıyor.
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
Artık kullanılmıyor.
UninstallDLC
void UninstallDLC( AppId_t nAppID );
Ad | Tür | Açıklama |
nAppID | AppId_t | Kaldırmak istediğiniz DLC. |
İsteğe bağlı olan bir DLC'yi kaldırmanıza olanak sağlar.
Geri Çağrılar
Bunlar,
SteamAPI_RunCallbacks'e çağrı yaparak etkinleştirilebilecek geri çağrılardır. Bunların birçoğu, direkt
ISteamApps
üye işlevlerine cevaben oluşacaktır.
AppProofOfPurchaseKeyResponse_t
Yalnızca Steam'de dâhilî olarak kullanılır.
DlcInstalled_t
Kullanıcı DLC'ye sahip olduktan ve DLC yüklendikten sonra tetiklenir.
Ad | Tür | Açıklama |
m_nAppID | AppId_t | Yüklenen DLC'nin App ID'si. |
İlişkili İşlevler: InstallDLCFileDetailsResult_t
Özel bir dosyayla ilgili detaylar istendikten sonra çağrılır.
Ad | Tür | Açıklama |
m_eResult | EResult | Çağrı başarılı mıydı? Eğer öyleydiyse k_EResultOK; aksi hâlde, dosya bulunamadıysa k_EResultFileNotFound. Çağrı başarılı olmazsa diğer alanların hiçbiri doldurulmaz. |
m_ulFileSize | uint64 | Bayt olarak orijinal dosya boyutu. |
m_FileSHA | uint8[20] | Orijinal dosyanın SHA1 hash'i. |
m_unFlags | uint32 | |
İlişkili İşlevler: GetFileDetailsNewUrlLaunchParameters_t
Kullanıcı, oyun çalışırken bir komut satırı veya
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
gibi bir sorgulama parametresi kullanarak bir steam url'i yürüttüğünde gönderilir. Yeni parametreler
GetLaunchCommandLine ve
GetLaunchQueryParam ile sorgulanabilir.
Bu geri çağrıya ait alan bulunmamaktadır.
NewLaunchQueryParameters_t
Kullanıcı, oyun çalışırken
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
gibi sorgulama parametreleri kullanarak bir steam url'i yürüttüğünde gönderilir. Yeni parametreler
GetLaunchQueryParam ile sorgulanabilir.
Bu geri çağrıya ait alan bulunmamaktadır.
RegisterActivationCodeResponse_t
Yalnızca Steam'de dâhilî olarak kullanılır.
TimedTrialStatus_t
AppID'ye bir sınırlı süre deneme ile sahip olunan her dakika gönderilir.
Ad | Tür | Açıklama |
m_unAppID | AppId_t | Sınırlı süre deneme kapsamında olan AppID. |
m_bIsOffline | bool | Değer doğru ise kullanıcının şu anda çevrimdışı olduğu anlamına gelir. İzin verilen/oynanan zaman, çevrimdışı zamanı ima eder, toplam zamanı değil. |
m_unSecondsAllowed | uint32 | Uygulamanın toplam kaç saniye oynanabileceği. |
m_unSecondsPlayed | uint32 | Uygulamanın hâlihazırda kaç saniye oynanmış olduğu. |
Ayrıca bakınız: BIsTimedTrialNumaralandırmalar
Bunlar ISteamApps ile kullanım için tanımlanmış numaralandırmalardır.
ERegisterActivationCodeResult
Yalnızca Steam'de dâhilî olarak kullanılır.
Ad | Değer | Açıklama |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
Sabitler
Bunlar ISteamApps ile kullanım için tanımlanmış sabitlerdir.
Ad | Tür | Değer | Açıklama |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Yalnızca Steam'de dâhilî olarak kullanılır. |
STEAMAPPS_INTERFACE_VERSION | const char * | "STEAMAPPS_INTERFACE_VERSION008" | |