Làm hiện diện hàng loạt các thông tin và hành động cho ứng dụng và
Nội dung tải thêm (DLC).
Hàm thành viên
Các hàm thành viên (member function) cho
ISteamApps
được gọi qua hàm global accessor
SteamApps()
.
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
Tên | Loại | Mô tả |
iDLC | int | Số thứ tự DLC từ 0 đến GetDLCCount. |
pAppID | AppId_t * | Trả về App ID của DLC. |
pbAvailable | bool * | Trả về liệu DLC hiện có mặt trên cửa hàng Steam không. Sẽ trả giá trị false nếu DLC không có trang cửa hàng công khai |
pchName | char * | Trả về tên DLC bằng cách chép nó vào bộ nhớ đệm này. |
cchNameBufferSize | int | Độ dài của bộ nhớ đệm pchName . |
Trả về metadata cho một DLC theo số thứ tự.
Trả về: bool
true nếu App ID hiện tại có DLC liên quan tới nó và
iDLC
nằm giữa 0 tới
GetDLCCount, không thì
false.
Ví dụ: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 ) {
// Làm gì đó với dữ liệu DLC
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
Tên | Loại | Mô tả |
appID | AppId_t | App ID của ứng dụng cần kiểm tra. |
Kiểm tra liệu một ứng dụng cụ thể có được cài hay không.
Ứng dụng có thể không sở hữu bởi người dùng hiện tại, họ có thể có nó từ cuối tuần miễn phí v.v...
Chỉ hoạt động với ứng dụng gốc, không có tác dụng với
Nội dung tải thêm (DLC). Thay vào đó dùng
BIsDlcInstalled cho DLC.
Trả về: bool
true nếu App ID chỉ định đã được cài; còn không,
false.
BIsCybercafe
bool BIsCybercafe();
Kiểm tra xem liệu App ID hiện tại là cho tiệm nét thuộc Cyber Cafe.
Trả về: bool
true nếu bản quyền hiện tại là cho tiệm nét; còn không,
false.
Hiện không còn dùng.
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
Tên | Loại | Mô tả |
appID | AppId_t | App ID của DLC cần kiểm tra. |
Kiểm tra xem nếu người dùng có sở hữu một DLC cụ thể và nếu DLC đó được cài chưa
Trả về: bool
true nếu người dùng sở hữu DLC và nó hiện được cài, còn không
false.
Lưu ý: Chỉ nên được dùng cho kiểm tra đơn giản bên phía client - không được thiết kế để trao vật phẩm trong trò chơi.
BIsLowViolence
bool BIsLowViolence();
Kiểm tra xem nếu bản quyền sở hữu bởi người dùng cho các depot bạo lực thấp.
Depot bạo lực thấp hữu dụng cho các phiên bản bán tại quốc gia có giới hạn về nội dung.
Trả về: bool
true nếu bản quyền sở hữu bởi người dùng cho các depot bạo lực thấp; còn không,
false.
Xem thêm: Depot Mounting RulesBIsSubscribed
bool BIsSubscribed();
Kiểm tra xem nếu người dùng hiện tại đã đăng ký sử dụng App ID hiện tại.
LƯU Ý: Luôn trả về
true nếu bạn dùng Steam DRM hoặc gọi
SteamAPI_RestartAppIfNecessary.
Trả về: bool
true nếu người dùng hiện tại sở hữu AppId hiện tại, còn không
false.
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
Tên | Loại | Mô tả |
appID | AppId_t | App ID cần kiểm tra. |
Kiểm tra nếu người dùng hiện tại đã đăng ký một AppId cụ thể.
Chỉ dùng nếu bạn cần kiểm tra quyền sở hữu một trò chơi khác liên quan với trò chơi của bạn, ví dụ như demo.
Trả về: bool
true nếu người dùng đã đăng ký App ID đó, còn không
false.
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
Kiểm tra xem nếu người dùng hiện tại đang truy cập appID hiện qua một bản quyền chia sẻ gia đình tạm thời do người dùng khác sở hữu.
Nếu bạn cần xác định steamID người dùng cố hữu của bản quyền đó, dùng
GetAppOwner.
Trả về: bool
true nếu người dùng hiện tại đang truy cập appID hiện tại qua tính năng chia sẻ gia đình, còn không
false.
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
Kiểm tra xem nếu người dùng đăng ký dùng appID hiện tại qua cuối tuần miễn phí.
Trước khi dùng vui lòng liên hệ một tài khoản quản lý kỹ thuật Valve qua
diễn đàn thảo luận Steamworks để đóng gói và đảm bảo chương trình cuối tuần miễn phí của bạn hoạt động đúng.
Trả về: bool
true nếu người dùng hiện tại đăng ký với App Id hiện tại qua cuối tuần miễn phí, còn không
false với bất kỳ loại bản quyền nào khác.
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
Tên | Loại | Mô tả |
punSecondsAllowed | uint32 * | Trả về số giây mà thời gian dùng thử sẽ hiện. |
punSecondsPlayed | uint32 * | Trả về số giây mà người dùng đã chơi qua. |
Kiểm tra xem nếu người dùng đăng ký dùng appID hiện tại qua dùng thử giới hạn thời gian. Nếu đúng, trả về true và đưa ra tổng thời gian mà dùng thử cho phép chơi, cùng với thời lượng hiện tại mà người dùng đã chơi.
Trả về: bool
true nếu người dùng hiện tại đăng ký với appID hiện tại qua dùng thử giới hạn thời gian, còn không
false với bất kỳ loại bản quyền nào khác.
Xem thêm: TimedTrialStatus_tBIsVACBanned
bool BIsVACBanned();
Kiểm tra xem nếu người dùng có bị cấm VAC trên tài khoản hay không
Trả về: bool
true nếu người dùng bị cấm VAC trên tài khoản; còn không,
false.
GetAppBuildId
int GetAppBuildId();
Lấy buildid của ứng dụng này, có thể thay đổi bất kỳ lúc nào dựa trên cập nhật backend cho trò chơi.
Trả về: int
Build Id hiện tại của ứng dụng này. Mặc định là 0 nếu bạn không chạy một bản build được tải về từ Steam.
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
Tên | Loại | Mô tả |
appID | AppId_t | App ID để lấy thư mục cài đặt. |
pchFolder | char * | Bộ nhớ đệm chuỗi mà đường dẫn thư mục sẽ được chép vào. |
cchFolderBufferSize | uint32 | Kích cỡ theo byte của bộ nhớ đệm pchFolder . |
Lấy thư mục cài đặt cho một AppID cụ thể.
Hoạt động kể cả khi ứng dụng chưa được cài, dựa trên vị trí mà trò chơi sẽ được cài theo vị trí thư viện Steam mặc định.
Trả về: uint32Trả về đường dẫn cài đặt dưới dạng chuỗi vào bộ nhớ đệm cung cấp trong pchFolder và trả về số byte đã được chép vào bộ nhớ đệm đó.
GetAppOwner
CSteamID GetAppOwner();
Lấy Steam ID của chủ sở hữu thật cho ứng dụng hiện tại. Nó khác với người dùng hiện tại nếu họ truy cập ứng dụng này qua chia sẻ gia đình
Trả về: CSteamIDNgười sở hữu gốc của ứng dụng hiện tại.
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
Lấy một danh sách các ngôn ngữ, phân cách bằng dấu phẩy mà ứng dụng hiện tại hỗ trợ.
Để xem danh sách toàn bộ các ngôn ngữ có thể được trả về, xem
Bản địa hóa và ngôn ngữ.
Trả về: const char *
Trả về danh sách các ngôn ngữ, phân cách bằng dấu phẩy.
Xem thêm: GetCurrentGameLanguage,
ISteamUtils::GetSteamUILanguageGetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
Tên | Loại | Mô tả |
pchName | char * | Bộ nhớ đệm nơi mà tên beta sẽ được chép vào. |
cchNameBufferSize | int | Tổng kích cỡ của bộ nhớ đệm pchName. |
Kiểm tra xem nếu người dùng đang chạy từ nhánh beta, và lấy tên của nhánh nếu họ đang làm thế.
Trả về: bool
true nếu người dùng ở trên nhánh beta; còn không,
false.
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
Lấy ngôn ngữ hiện tại mà người dùng đã đặt.
Nó sẽ dự phòng trở về ngôn ngữ giao diện Steam nếu người dùng chưa chủ đích chọn ngôn ngữ cho sản phẩm.
Để biết danh sách toàn bộ các ngôn ngữ xem
các ngôn ngữ được hỗ trợ.
Trả về: const char *
Xem thêm: GetAvailableGameLanguages,
ISteamUtils::GetSteamUILanguageGetDLCCount
int GetDLCCount();
Lấy số lượng DLC cho ứng dụng hiện tại.
Thường được dùng để lặp qua từng phần DLC một và lấy thông tin về mỗi cái với
BGetDLCDataByIndex.
Trả về: int
Số lượng DLC cho ứng dụng hiện tại. Lưu ý rằng giá trị này có thể đạt mức tối đa ở 64, tùy theo số DLC mà người dùng chưa sở hữu. Nếu ứng dụng của bạn có một số lượng lớn các DLC, bạn nên đặt một danh sách nội bộ các DLC đã biết để kiểm tra.
Ví dụ: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 ) {
// Làm gì đó với dữ liệu DLC
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
Tên | Loại | Mô tả |
nAppID | AppId_t | App ID của DLC cần theo dõi |
punBytesDownloaded | uint64 * | Trả về số byte đã tải về. |
punBytesTotal | uint64 * | Trả về tổng số tải về dưới dạng byte. |
Lấy tiến trình tải về cho các DLC không bắt buộc.
Trả về: bool
true nếu DLC chỉ định có tồn tại và hiện đang được tải về, còn không,
false.
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
Tên | Loại | Mô tả |
nAppID | AppId_t | App ID để lấy thông tin thời gian mua. |
Lấy thời điểm mua của ứng dụng hiện tại dưới định dạng Unix (thời gian kể từ 1/1/1970).
Hữu dụng cho việc thưởng người dùng dựa trên thời gian mua ban đầu.
Trả về: uint32Thời gian mua sớm nhất theo định dạng Unix (số giây kể từ 1/1/1970).
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
Tên | Loại | Mô tả |
pszFileName | const char* | Đường dẫn tuyệt đối và tên tới file. |
Lấy không đồng bộ chi tiết metadata về một file cụ thể trong manifest của depot.
Hiện cung cấp:
Kích cỡ file theo byte.
Hash SHA1 của file.
Các flag của file.
Trả về: SteamAPICall_t để dùng với một kết quả gọi từ
FileDetailsResult_t.
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
Tên | Loại | Mô tả |
appID | AppId_t | Ứng dụng để liệt kê các depot. |
pvecDepots | DepotId_t * | Một mảng được phân bổ trước sẽ được điền với danh sách các depot. |
cMaxDepots | uint32 | Số depot tối đa để lấy, thông thường là kích cỡ của pvecDepots. |
Lấy danh sách tất cả các depot đã cài theo một App ID, theo thứ tự được gắn vào.
Trả về: uint32Số lượng depot trả về.
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
Tên | Loại | Mô tả |
pszCommandLine | char * | Bộ nhớ đệm chuỗi mà dòng lệnh (command line) sẽ được chép vào. |
cubCommandLine | int | Kích cỡ theo byte của bộ nhớ đệm pszCommandLine . |
Lấy dòng lệnh nếu trò chơi được khởi chạy qua URL Steam, ví dụ steam://run/<appid>//<command line>/. Phương pháp này được ưa dùng để khởi chạy với một dòng lệnh qua hệ điều hành, đồng thời cũng có thể là rủi ro bảo mật. Để việc tham gia tích hợp trạng thái qua đường này mà không bị đặt lên dòng lệnh hệ điều hành, bạn phải bật "GetLaunchCommandLine()" từ trang Cài đặt > Cài đặt tổng quan trên app của mình.
Trả về: int
Trả về dòng lệnh dưới dạng chuỗi vào bộ nhớ đệm được cung cấp trong pszCommandLine và trả về số byte đã được chép vào bộ nhớ đệm đó.
Xem thêm: NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
Tên | Loại | Mô tả |
pchKey | const char * | Mã khởi chạy cần kiểm tra. Ví dụ: param1 |
Lấy tham số khởi chạy liên quan nếu trò chơi chạy qua steam://run/<appid>/?param1=value1;param2=value2;param3=value3 v.v...
Tên tham số bắt đầu với ký tự '@' được để dành cho dùng nội bộ và sẽ luôn trả về chuỗi trống.
Tên tham số bắt đầu với dấu gạch dưới '_' được để dành cho các tính năng Steam -- trò chơi có thể truy vấn chúng, nhưng chúng tôi khuyến nghị bạn không đặt tên tham số bắt đầu bằng dấu gạch dưới cho tính năng của riêng mình.
Trả về: const char *
Giá trị liên quan đến mã được cung cấp. Trả về một chuỗi trống ("") nếu mã chỉ định không tồn tại.
Xem thêm: NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
Tên | Loại | Mô tả |
nAppID | AppId_t | DLC mà bạn muốn cài. |
Cho phép bạn cài một DLC không bắt buộc.
Trả về: void
Kích hoạt một callback
DlcInstalled_t.
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
Tên | Loại | Mô tả |
bMissingFilesOnly | bool | Chỉ quét các file bị thiếu, không thực hiện checksum cho từng file. |
Cho phép bạn ép buộc xác thực nội dung trò chơi trong lần khởi chạy tiếp theo.
Nếu bạn phát hiện trò chơi lỗi thời (ví dụ, bằng cách dùng client phát hiện một phiên bản không khớp với máy chủ),
bạn có thể gọi MarkContentCorrupt để ép xác thực, hiện một thông điệp tới người dùng, rồi thoát.
Trả về: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
Không còn dùng.
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
Không còn dùng.
UninstallDLC
void UninstallDLC( AppId_t nAppID );
Tên | Loại | Mô tả |
nAppID | AppId_t | DLC mà bạn muốn xóa. |
Cho phép bạn xóa một không bắt buộc.
Callback
Đây là các callback có thể kích hoạt bằng cách gọi
SteamAPI_RunCallbacks. Rất nhiều trong số này sẽ được kích hoạt trực tiếp để phản hồi lại hàm thành viên của
ISteamApps
.
AppProofOfPurchaseKeyResponse_t
Chỉ dùng nội bộ trong Steam.
DlcInstalled_t
Được kích hoạt sau khi người dùng hiện tại nhận quyền sở hữu DLC và DLC đó được cài.
Tên | Loại | Mô tả |
m_nAppID | AppId_t | App ID của DLC được cài. |
Hàm liên quan: InstallDLCFileDetailsResult_t
Được gọi sau khi yêu cầu chi tiết của một file cụ thể.
Tên | Loại | Mô tả |
m_eResult | EResult | Việc gọi có thành công không? k_EResultOK nếu có; còn không, k_EResultFileNotFound nếu file không được tìm thấy. Không có trường nào khác được điền nếu việc gọi không thành công. |
m_ulFileSize | uint64 | Kích cỡ file gốc theo byte. |
m_FileSHA | uint8[20] | Hash SHA1 của file gốc. |
m_unFlags | uint32 | |
Hàm liên quan: GetFileDetailsNewUrlLaunchParameters_t
Được đăng sau khi người dùng thực thi một url Steam với dòng lệnh hoặc các tham số truy vấn như
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
trong khi trò chơi đã chạy. Các tham số mới có thể được truy vấn với
GetLaunchCommandLine và
GetLaunchQueryParam.
Callback này không có trường nào.
NewLaunchQueryParameters_t
Được đăng sau khi người dùng thực thi một url Steam với các tham số truy vấn như
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
trong khi trò chơi đã chạy. Các tham số mới có thể được truy vấn với
GetLaunchQueryParam.
Callback này không có trường nào.
RegisterActivationCodeResponse_t
Chỉ dùng nội bộ trong Steam.
TimedTrialStatus_t
Được gửi đi mỗi phút khi một appID được sở hữu qua hình thức dùng thử giới hạn thời gian.
Tên | Loại | Mô tả |
m_unAppID | AppId_t | AppID đang trong chế độ dùng thử giới hạn thời gian. |
m_bIsOffline | bool | Nếu true, người dùng hiện tại không nối mạng. Thời gian cho phép / đã chơi là để nói đến thời gian ngắt mạng, không phải tổng thời gian. |
m_unSecondsAllowed | uint32 | Ứng dụng có thể được chơi trong bao lâu, tính theo giây. |
m_unSecondsPlayed | uint32 | Ứng dụng đã được chơi bao nhiêu giây. |
Xem thêm: BIsTimedTrialEnum
Đây là các enum được định nghĩa để dùng với ISteamApps.
ERegisterActivationCodeResult
Chỉ dùng nội bộ trong Steam.
Tên | Giá trị | Mô tả |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
Constant
Đây là các hằng số được định nghĩa để dùng với ISteamApps.
Tên | Loại | Giá trị | Mô tả |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Chỉ dùng nội bộ trong Steam. |
STEAMAPPS_INTERFACE_VERSION | const char * | "STEAMAPPS_INTERFACE_VERSION008" | |