アプリケーションと
ダウンロードコンテンツ (DLC)のアクションに関する広範囲の情報を紹介します。
メンバー関数
ISteamApps
のメンバー関数は、グローバルのアクセサ関数
SteamApps()
経由で呼び出されます。
BGetDLCDataByIndex
bool BGetDLCDataByIndex( int iDLC, AppId_t *pAppID, bool *pbAvailable, char *pchName, int cchNameBufferSize );
名前 | 型 | 説明 |
iDLC | int | 0とGetDLCCountの間を取得するDLCのインデックス。 |
pAppID | AppId_t * | DLCのAppIDを返します。 |
pbAvailable | bool * | DLCが現在Steamストアから入手可能かを返します。 DLCが表示されているストアページを持たない場合、falseを返します。 |
pchName | char * | このバッファーにコピーして、DLCの名前を返します。 |
cchNameBufferSize | int | pchName バッファの長さ。 |
インデックスで、DLCのメタデータを返します。
戻り値: bool
true となるのは現在のAppIDが関連するDLCを持ち、
iDLC
が0から
GetDLCCountの間である場合のみ。それ以外は
falseです。
例: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データを使用します
}
}
BIsAppInstalled
bool BIsAppInstalled( AppId_t appID );
名前 | 型 | 説明 |
appID | AppId_t | チェックするアプリケーションのAppID。 |
指定のアプリがインストールされているかを確認します。
無料ウィークエンドなどを利用したことで、ユーザーが現時点でアプリを所有していない場合があります。
ダウンロードコンテンツ (DLC)ではなく、これはベースアプリケーションでのみ機能します。 DLCには、代わりに
BIsDlcInstalledを使用します。
戻り値: bool
true となるのは指定のAppIDがインストールされている場合のみ。それ以外は
falseです。
BIsCybercafe
bool BIsCybercafe();
現在のAppIDがネットカフェ用かをチェックします。
戻り値: bool
true となるのはライセンスがネットカフェ用の場合のみ。それ以外の場合は
falseです。
非推奨-使用しないでください。
BIsDlcInstalled
bool BIsDlcInstalled( AppId_t appID );
ユーザーが指定のDLCを所有し、DLCがインストール済みかをチェックします。
戻り値: bool
true となるのはユーザーが指定のDLCを所有しインストール済みの場合。それ以外は
false。
注意: シンプルなクライアントサイドでのチェックにのみ使われるべきです。ゲーム内アイテムの付与への使用は想定されていません。
BIsLowViolence
bool BIsLowViolence();
ユーザーが所有するライセンスが低暴力デポを提供するかをチェックします。
低暴力デポはコンテンツ規制の存在する地域で販売されるコピーへの使用に便利です。
戻り値: bool
true となるのはユーザーが所有するライセンスが低暴力デポを提供する場合のみ。それ以外は、
false。
こちらも参照してください: デポマウントルールBIsSubscribed
bool BIsSubscribed();
アクティブなユーザーが現在のAppIDをサブスクライブしているかをチェックします。
注意: ゲームでSteam DRMを利用しているか、
SteamAPI_RestartAppIfNecessaryを呼び出す場合にはいつでも
trueを返します。
戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDを所有している場合のみ。それ以外は
falseです。
BIsSubscribedApp
bool BIsSubscribedApp( AppId_t appID );
アクティブなユーザーが指定のAppIDをサブスクライブしているかをチェックします。
例えば体験版など、あなたのゲームに関連する別のゲームの所有についてチェックが必要な場合に限って使用してください。
戻り値: bool
true となるのはアクティブなユーザーが指定のAppIPDをサブスクライブしている場合のみ。それ以外は
falseです。
BIsSubscribedFromFamilySharing
bool BIsSubscribedFromFamilySharing();
アクティブなユーザーの現在のAppIDへのアクセス方法が、別ユーザーの所有するゲームを一時的に借りるファミリーシェアリングかをチェックします。
このライセンスの永久的な所有者のsteamIDを知る必要がある場合には、
GetAppOwnerを使用します。
戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDにファミリーシェアリングでアクセスしている場合のみ。それ以外は
falseです。
BIsSubscribedFromFreeWeekend
bool BIsSubscribedFromFreeWeekend();
ユーザーが現在のAppIDを無料ウィークエンドを通してサブスクライブしているかをチェックします。
これを使用する前に、
Steamworks掲示板経由で適切なパッケージをValveのテクニカルアカウントマネージャーに連絡し、無料ウィークエンドを確定してください。
戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDを無料ウィークエンド経由でサブスクライブしている場合のみ。それ以外は
false。
BIsTimedTrial
bool BIsTimedTrial(uint32* punSecondsAllowed, uint32* punSecondsPlayed);
名前 | 型 | 説明 |
punSecondsAllowed | uint32 * | タイムトライアルがリストされる時間(秒)を返します。 |
punSecondsPlayed | uint32 * | ユーザーがこれまでプレイした時間(秒)を返します。 |
ユーザーが現在のAppIDをタイムトライアルを通してサブスクライブしているかをチェックします。 当てはまる場合はtrueを返し、タイムトライアルで許可された合計時間と、現時点でユーザーがプレイした時間を返します。
戻り値: bool
true となるのはアクティブなユーザーが現在のAppIDをタイムトライアル経由でサブスクライブしている場合のみ。それ以外は
falseです。
こちらも参照してください: TimedTrialStatus_tBIsVACBanned
bool BIsVACBanned();
ユーザーのアカウント上にVAC禁止があるかをチェックします。
戻り値: bool
true となるのはユーザーのアカウントにVAC禁止がある場合のみ。それ以外は
falseです。
GetAppBuildId
int GetAppBuildId();
このアプリのビルドIDを取得します。ゲームへのバックエンドの更新に基づいて随時変更する可能性があります。
戻り値: int
このアプリの現在のビルドID。Steamからダウンロードしたビルドを実行していなければ、デフォルトは0です。
GetAppInstallDir
uint32 GetAppInstallDir( AppId_t appID, char *pchFolder, uint32 cchFolderBufferSize );
名前 | 型 | 説明 |
appID | AppId_t | インストール先のディレクトリを取得するAppID。 |
pchFolder | char * | フォルダーパスがコピーされる文字列バッファ。 |
cchFolderBufferSize | uint32 | pchFolder バッファのバイト単位でのサイズ。 |
指定のAppIDのインストールフォルダーを取得します。
アプリケーションがインストールされていなくても機能します。ゲームがデフォルトのSteamライブラリロケーションにインストールされるかに基づいています。
戻り値: uint32pchFolderで提供されたバッファに文字列としてインストールディレクトリのパスと、そのバッファにコピーされたバイトの数値を返します。
GetAppOwner
CSteamID GetAppOwner();
現在のアプリの真の所有者のSteamIDを取得します。これは、ファミリシェアリングを通してこのアプリにアクセスする場合には、現在のユーザーとは異なります。
戻り値: CSteamID現在のアプリのオリジナルの所有者。
GetAvailableGameLanguages
const char * GetAvailableGameLanguages();
現在アプリがサポートしている言語をコンマで区切ったリストとして取得します。
返される可能性のある言語の完全なリストの取得は
ローカリゼーションと言語を参照してください。
戻り値: const char *
コンマで区切った言語のリストを返します。
こちらも参照してください: GetCurrentGameLanguage、
ISteamUtils::GetSteamUILanguageGetCurrentBetaName
bool GetCurrentBetaName( char *pchName, int cchNameBufferSize );
名前 | 型 | 説明 |
pchName | char * | ベータ名がコピーされるバッファ。 |
cchNameBufferSize | int | pchNameバッファの合計サイズ。 |
ユーザーがベータブランチから実行しているかをチェックし、当てはまる場合にはブランチ名を取得します。
戻り値: bool
true となるのはユーザーがベータブランチを実行している場合のみ。それ以外は、
falseです。
GetCurrentGameLanguage
const char * GetCurrentGameLanguage();
ユーザーが設定中の現在の言語を取得します。
ユーザーがタイトル向けに言語を選択していない場合には、これはSteamUI言語にフォールバックします。
言語の完全なリストは
サポート言語を参照してください。
戻り値: const char *
こちらも参照してください: GetAvailableGameLanguages、
ISteamUtils::GetSteamUILanguageGetDLCCount
int GetDLCCount();
現在のアプリのDLCの数を取得します。
通常、各DLCをループするのに使用し、各情報はそれぞれ
BGetDLCDataByIndexで取得します。
戻り値: int
現在のアプリのDLCの数。この値はユーザーが所有していないDLCの数に基づき、最大が64に設定されている場合があります。 アプリに沢山のDLCがある場合、内部で使用するDLCのチェックリストを用意して設定するべきです。
例: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データを使用します
}
}
GetDlcDownloadProgress
bool GetDlcDownloadProgress( AppId_t nAppID, uint64 *punBytesDownloaded, uint64 *punBytesTotal );
名前 | 型 | 説明 |
nAppID | AppId_t | モニターするDLCのAppID。 |
punBytesDownloaded | uint64 * | ダウンロード済みのバイト数を返します。 |
punBytesTotal | uint64 * | 合計ダウンロードサイズ(バイト)を返します。 |
任意のDLCのダウンロード進行状況を取得します。
戻り値: bool
true となるのは指定したDLCが存在し現在ダウンロード中の場合のみ。それ以外は
falseです。
GetEarliestPurchaseUnixTime
uint32 GetEarliestPurchaseUnixTime( AppId_t nAppID );
指定のアプリの購入時間をUnixエポック形式(1970年1月1日以降の秒単位での時間)で取得します。
初回購入日に基づいてユーザーにリワードを提供する場合に便利です。
戻り値: uint32最も古い購入時間をUnixエポック形式(1970年1月1日以降の秒単位での時間)で提供。
GetFileDetails
SteamAPICall_t GetFileDetails( const char*pszFileName );
名前 | 型 | 説明 |
pszFileName | const char* | ファイルへの絶対パスと名前。 |
デポマニフェスト内の指定ファイルについてメタデータの詳細を非同期に取得します。
現在提供:
バイト単位のファイルサイズ
ファイルのSHA1ハッシュ。
ファイルのフラグ
戻り値: SteamAPICall_tは
FileDetailsResult_tの呼び出し結果で使われます。
GetInstalledDepots
uint32 GetInstalledDepots( AppId_t appID, DepotId_t *pvecDepots, uint32 cMaxDepots );
名前 | 型 | 説明 |
appID | AppId_t | デポを列挙するアプリ。 |
pvecDepots | DepotId_t * | デポのリストを入力するために事前に割り当てられた配列。 |
cMaxDepots | uint32 | 取得するデポの最大数、通常はpvecDepotsのサイズです。 |
指定のAppID用にインストールされたデポのマウント順リストを取得します。
戻り値: uint32返されたデポの数。
GetLaunchCommandLine
int GetLaunchCommandLine( char *pszCommandLine, int cubCommandLine );
名前 | 型 | 説明 |
pszCommandLine | char * | コマンドラインがコピーされる文字列バッファ。 |
cubCommandLine | int | pszCommandLine バッファのバイト単位でのサイズ。 |
ゲームがSteamURL経由で起動された場合にコマンドラインを取得します。例 steam://run/<appid>//<command line>/ オペレーティングシステム経由でコマンドラインを使ってローンチすることはセキュリティの問題となり得るため、それよりも好ましいメソッドです。 リッチプレゼンスがこれを通して参入し、OSのコマンドラインに置かれないために、アプリのインストールタブ> 詳細オプション>「起動コマンドラインの使用」を有効化してください。
戻り値: int
pszCommandLineに提供されたバッファに文字列としてコマンドラインを返し、そのバッファにコピーされたバイトの数値を返します。
こちらも参照してください: NewUrlLaunchParameters_tGetLaunchQueryParam
const char * GetLaunchQueryParam( const char *pchKey );
名前 | 型 | 説明 |
pchKey | const char * | テストするローンチキー。 例: param1 |
ゲームがsteam://run/<appid>/?param1=value1;param2=value2;param3=value3 等で実行された場合、関連するローンチパラメーターを取得します。
'@' で始まるパラメーター名は内部使用のために予約されており、常に空の文字列を返します。
'_' で始まるパラメーター名はSteam機能のために予約されており、ゲームから抽出可能であるものの、ゲームの機能のために'_' で始まるパラメーター名は使用しないでください。
戻り値: const char *
提供されたキーに関連する値。 指定のキーが存在しない場合には、空の文字列("")を返します。
こちらも参照してください: NewLaunchQueryParameters_tInstallDLC
void InstallDLC( AppId_t nAppID );
任意のDLCのインストールを許可します。
戻り値: void
DlcInstalled_tコールバックをトリガーします。
MarkContentCorrupt
bool MarkContentCorrupt( bool bMissingFilesOnly );
名前 | 型 | 説明 |
bMissingFilesOnly | bool | 足りないファイルのみをスキャンし、各ファイルのチェックサムは確認しません。 |
次回の起動時にゲームコンテンツの整合性を強制的に確認することを許可します。
(例えば、クライアントにサーバーとのバージョンが違うことを検出させる方法で)ゲームが古いバージョンだと検出された場合、
MarkContentCorruptを呼び出して確認を強制し、ユーザーにメッセージを表示させて終了できます。
戻り値: bool
RequestAllProofOfPurchaseKeys
void RequestAllProofOfPurchaseKeys();
使用されていません。
RequestAppProofOfPurchaseKey
void RequestAppProofOfPurchaseKey( AppId_t nAppID );
非推奨。
UninstallDLC
void UninstallDLC( AppId_t nAppID );
任意のDLCのアンインストールを許可します。
コールバック
以下は
SteamAPI_RunCallbacksを呼び出すことで実行されるコールバックです。 これらの多くは
ISteamApps
のメンバー関数への応答として直接実行されます。
AppProofOfPurchaseKeyResponse_t
Steam内でのみ使用されます。
DlcInstalled_t
現在のユーザーがDLCを所有した後にトリガーされ、そのDLCがインストールされます。
名前 | 型 | 説明 |
m_nAppID | AppId_t | インストールされたDLCのAppID。 |
関連する関数: InstallDLCFileDetailsResult_t
指定のファイルの詳細をリクエストした後に呼び出されます。
関連する関数: GetFileDetailsNewUrlLaunchParameters_t
ユーザーが、ゲームが既に実行している状態で
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
などのクエリパラメーターまたはコマンドラインを使用してSteam URLを実行した後にポストされます。 新しいパラメーターは
GetLaunchCommandLineと
GetLaunchQueryParamで抽出できます。
このコールバックにはフィールドはありません。
NewLaunchQueryParameters_t
ゲームがすでに実行している状態で
steam://run/<appid>//?param1=value1;param2=value2;param3=value3;
などのクエリパラメーターでユーザーがSteam URLを実行した後にポストされます。
GetLaunchQueryParamで新しいパラメーターを照会できます。
このコールバックにはフィールドはありません。
RegisterActivationCodeResponse_t
Steam内でのみ使用されます。
TimedTrialStatus_t
appIDがタイムトライアル経由で所有されている場合、毎分送信されます。
名前 | 型 | 説明 |
m_unAppID | AppId_t | タイムトライアル内のAppID。 |
m_bIsOffline | bool | trueの場合、ユーザーは現在オフラインです。 許可された時間/プレイ時間は、合計時間ではなくオフライン時間を参照します。 |
m_unSecondsAllowed | uint32 | アプリを合計で何秒間プレイ可能か。 |
m_unSecondsPlayed | uint32 | アプリがすでに何秒間プレイされたか。 |
こちらも参照してください: BIsTimedTrial列挙型
これらはISteamAppsで使用するために定義された列挙型です。
ERegisterActivationCodeResult
Steam内でのみ使用されます。
名前 | 値 | 説明 |
k_ERegisterActivationCodeResultOK | 0 | |
k_ERegisterActivationCodeResultFail | 1 | |
k_ERegisterActivationCodeResultAlreadyRegistered | 2 | |
k_ERegisterActivationCodeResultTimeout | 3 | |
k_ERegisterActivationCodeAlreadyOwned | 4 | |
定数
これらはISteamAppsで使用するために定義された定数です。
名前 | 型 | 値 | 説明 |
k_cubAppProofOfPurchaseKeyMax | int | 240 | Steam内でのみ使用されます。 |
STEAMAPPS_INTERFACE_VERSION | const char * | "STEAMAPPS_INTERFACE_VERSION008" | |