Steamworks Belgeleri
ISteamApps Arayüzü
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 );
AdTürAçıklama
iDLCintAlınacak DLC dizini, 0 ile GetDLCCount arasında.
pAppIDAppId_t *DLC'nin uygulama kimliğini döndürür.
pbAvailablebool *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
pchNamechar *DLC'nin adını bu arabelleğe kopyalayarak döndürür.
cchNameBufferSizeintpchName 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 );
AdTürAçıklama
appIDAppId_tKontrol 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 );
AdTürAçıklama
appIDAppId_tKontrol 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 veyaSteamAPI_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 );
AdTürAçıklama
appIDAppId_tKontrol 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);
AdTürAçıklama
punSecondsAlloweduint32 *Sınırlı süre denemenin kaç saniye süreceğini döndürür.
punSecondsPlayeduint32 *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_t

BIsVACBanned

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 );
AdTürAçıklama
appIDAppId_tYükleme dizininin kendisi için alınması gereken App ID.
pchFolderchar *Klasör dizininin kopyalanacağı dize arabelleği.
cchFolderBufferSizeuint32Bayt 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: uint32
pchFolder'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: CSteamID
Mevcut 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::GetSteamUILanguage

GetCurrentBetaName

bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
AdTürAçıklama
pchNamechar *Beta adının kopyalanacağı arabellek.
cchNameBufferSizeintpchName 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::GetSteamUILanguage

GetDLCCount

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 );
AdTürAçıklama
nAppIDAppId_tİzlenecek DLC'nin App ID'si
punBytesDownloadeduint64 *İndirilen bayt sayısını döndürür.
punBytesTotaluint64 *İ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 );
AdTürAçıklama
nAppIDAppId_tSatı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: uint32
Unix 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 );
AdTürAçıklama
pszFileNameconst 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 );
AdTürAçıklama
appIDAppId_tDepolarının listelenmesi gereken uygulama.
pvecDepotsDepotId_t *Depo listesiyle doldurulması gereken önceden ayrılmış bir dizi.
cMaxDepotsuint32Elde 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: uint32
Döndürülen depo sayısı.

GetLaunchCommandLine

int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
AdTürAçıklama
pszCommandLinechar *Komut satırının kopyalanacağı dize arabelleği.
cubCommandLine intBayt 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_t

GetLaunchQueryParam

const char * GetLaunchQueryParam( const char *pchKey );
AdTürAçıklama
pchKeyconst 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_t

InstallDLC

void InstallDLC( AppId_t nAppID );
AdTürAçıklama
nAppIDAppId_tYü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 );
AdTürAçıklama
bMissingFilesOnlyboolYalnı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 );
AdTürAçıklama
nAppIDAppId_t

Artık kullanılmıyor.

UninstallDLC

void UninstallDLC( AppId_t nAppID );
AdTürAçıklama
nAppIDAppId_tKaldı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.

AdTürAçıklama
m_eResultEResult
m_nAppIDuint32
m_cchKeyLengthuint32
m_rgchKeychar[k_cubAppProofOfPurchaseKeyMax

DlcInstalled_t

Kullanıcı DLC'ye sahip olduktan ve DLC yüklendikten sonra tetiklenir.

AdTürAçıklama
m_nAppIDAppId_tYüklenen DLC'nin App ID'si.

İlişkili İşlevler: InstallDLC

FileDetailsResult_t

Özel bir dosyayla ilgili detaylar istendikten sonra çağrılır.

AdTürAçıklama
m_eResultEResultÇ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_ulFileSizeuint64Bayt olarak orijinal dosya boyutu.
m_FileSHAuint8[20]Orijinal dosyanın SHA1 hash'i.
m_unFlagsuint32

İlişkili İşlevler: GetFileDetails

NewUrlLaunchParameters_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.

AdTürAçıklama
m_eResultERegisterActivationCodeResult
m_unPackageRegistereduint32

TimedTrialStatus_t

AppID'ye bir sınırlı süre deneme ile sahip olunan her dakika gönderilir.

AdTürAçıklama
m_unAppIDAppId_tSınırlı süre deneme kapsamında olan AppID.
m_bIsOfflineboolDeğ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_unSecondsAlloweduint32Uygulamanın toplam kaç saniye oynanabileceği.
m_unSecondsPlayeduint32Uygulamanın hâlihazırda kaç saniye oynanmış olduğu.

Ayrıca bakınız: BIsTimedTrial

Numaralandırmalar

Bunlar ISteamApps ile kullanım için tanımlanmış numaralandırmalardır.

ERegisterActivationCodeResult

Yalnızca Steam'de dâhilî olarak kullanılır.

AdDeğerAçıklama
k_ERegisterActivationCodeResultOK0
k_ERegisterActivationCodeResultFail1
k_ERegisterActivationCodeResultAlreadyRegistered2
k_ERegisterActivationCodeResultTimeout3
k_ERegisterActivationCodeAlreadyOwned4

Sabitler

Bunlar ISteamApps ile kullanım için tanımlanmış sabitlerdir.

AdTürDeğerAçıklama
k_cubAppProofOfPurchaseKeyMaxint240Yalnızca Steam'de dâhilî olarak kullanılır.
STEAMAPPS_INTERFACE_VERSIONconst char *"STEAMAPPS_INTERFACE_VERSION008"