個別のユーザーの情報へアクセスするためのインターフェイスで、
Steamオーバーレイと通信します。
メンバー関数
ISteamFriendsのメンバー関数は、グローバルのアクセサ関数
SteamFriends()経由で呼び出されます。
ActivateGameOverlay
void ActivateGameOverlay( const char *pchDialog );
| 名前 | 型 | 説明 |
| pchDialog | const char * | 開くダイアログ。 有効なオプション:"friends", "community", "players", "settings", "officialgamegroup", "stats", "achievements". |
Steamオーバーレイを有効化して指定のダイアログを開きます。
これは、
steamIDを
ISteamUser::GetSteamIDに設定して
ActivateGameOverlayToUserを呼び出すことと同等です。
例:SteamFriends()->ActivateGameOverlay( "friends" );
ActivateGameOverlayInviteDialog
void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby );
| 名前 | 型 | 説明 |
| steamIDLobby | CSteamID | 選択したユーザーが招待されるロビーのSteamID。 |
Steamオーバーレイ有効化して招待ダイアログを開きます。 このダイアログから送信された招待は提供されたロビー用です。
ActivateGameOverlayToStore
void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag );
Steamオーバーレイを有効化して提供されたアプリのSteamストアページを開きます。
k_uAppIdInvalidを使用すると、ユーザーはSteamストアのフロントページに移動します。
ActivateGameOverlayToUser
void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID );
| 名前 | 型 | 説明 |
| pchDialog | const char * | 開くダイアログ。 |
| steamID | CSteamID | このダイアログを開くコンテキストのSteamID。 |
Steamオーバーレイを有効化して指定のダイアログを開きます。
有効な
pchDialogのオプションは以下のとおりです。
- "steamid"-指定されたユーザーまたはグループでオーバーレイWebブラウザーを開きます。
- "chat"-指定のユーザーでチャットウィンドウを開くか、グループチャットに参加します。
- "jointrade"-ISteamEconomy/StartTrade Web APIが開始したSteamトレードセッションへのウィンドウを開きます。
- "stats"-指定のユーザーデータでオーバーレイWebブラウザーを開きます。
- "achievements"-指定のユーザー実績でオーバレイWebブラウザーを開きます。
- "friendadd"-最小モードでオーバーレイを開き、ユーザーに対象のユーザーをフレンドとして追加するようプロンプトします。
- "friendremove"-最小モードでオーバーレイを開き、ユーザーに対象のフレンドを削除するようプロンプトします。
- "friendrequestaccept"-最小モードでオーバーレイを開き、ユーザーに受け取ったフレンド招待を承諾するようプロンプトします。
- "friendrequestignore"-最小モードでオーバーレイを開き、ユーザーに受け取ったフレンド招待を無視するようプロンプトします。
ActivateGameOverlayToWebPage
void ActivateGameOverlayToWebPage( const char *pchURL );
SteamオーバーレイWebブラウザーを有効化して直接指定のURLを開きます。
ClearRichPresence
void ClearRichPresence();
現在のユーザーのすべてのリッチプレゼンスキー/値をクリアします。
CloseClanChatWindowInSteam
bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat );
| 名前 | 型 | 説明 |
| steamIDClanChat | CSteamID | 終了するSteamグループチャットのSteamID。 |
Steam UI内の指定のSteamグループチャットルームを終了します。
戻り値: bool
true となるのはユーザーがSteamグループチャットルームから正常に退出したときです。
false はユーザーが提供されたSteamグループチャットルームに居ないときです。
こちらも参照してください: IsClanChatWindowOpenInSteam、
OpenClanChatWindowInSteamDownloadClanActivityCounts
SteamAPICall_t DownloadClanActivityCounts( CSteamID *psteamIDClans, int cClansToRequest );
| 名前 | 型 | 説明 |
| psteamIDClans | CSteamID * | アップデートされたデータを取得するSteamグループのリスト。 |
| cClansToRequest | int | psteamIDClans内のグループ数である必要があります。 |
Steamグループアクティビティデータを更新するか、現在のユーザーがメンバーではないグループからのデータを取得します。
コールバックを受け取ってから
GetClanActivityCountsを使用して最新のユーザー数を取得できます。
戻り値: SteamAPICall_tは
DownloadClanActivityCountsResult_tの呼び出し結果と使用されます。
EnumerateFollowingList
SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex );
| 名前 | 型 | 説明 |
| unStartIndex | uint32 | フォロワーの受信を開始するインデックス。 最初の呼び出しでは0です。 |
現在のユーザーがフォロー中のユーザーのリストを取得します。
自分のフレンドではないユーザーをフォローすることが可能です。 フォローすると、そのユーザーが新しいコンテンツをSteamワークショップに投稿したときなどに通知を受け取れるようになります。
注: これは一度に最大
k_cEnumerateFollowersMaxユーザーを返します。 現在のユーザーがそれ以上の数をフォロー中の場合、
unStartIndexをこれまでに受け取ったフォロワー数の合計に設定した上で、繰り返しこれを呼び出す必要があります。
つまり、50フォロワーを受け取ったとして、対象のユーザーが105人フォロー中だとすると、unStartIndexを50に設定して、次の50人を受け取るために再度呼び出す必要があります。そして、最後の5人を取得するため、
unStartIndexを100に設定してもう一度呼び出します。
戻り値: SteamAPICall_tは
FriendsEnumerateFollowingList_tの呼び出し結果と使用されます。
例:class CEnumerateFollowingListExample
{
public:
void GetWhoWeFollow();
private:
void OnFriendsEnumerateFollowingList( FriendsEnumerateFollowingList_t *pCallback, bool bIOFailure );
CCallResult< CEnumerateFollowingListExample, FriendsEnumerateFollowingList_t > m_SteamCallResultFriendsEnumerateFollowingList;
int m_nFollowersParsed;
};
void CEnumerateFollowingListExample::GetWhoWeFollow()
{
m_nFollowersParsed = 0;
printf( "Getting the list of users that we follow.\n" );
SteamAPICall_t handle = SteamFriends()->EnumerateFollowingList( 0 );
m_SteamCallResultFriendsEnumerateFollowingList.Set( handle, this, &CEnumerateFollowingListExample::OnFriendsEnumerateFollowingList );
}
void CEnumerateFollowingListExample::OnFriendsEnumerateFollowingList( FriendsEnumerateFollowingList_t *pCallback, bool bIOFailure )
{
if ( pCallback->m_eResult != k_EResultOK || bIOFailure )
{
printf( "OnFriendsEnumerateFollowingList failed with m_eResult: %d and bIOFailure: %d!", pCallback->m_eResult, bIOFailure );
return;
}
printf( "FriendsEnumerateFollowingList retrieved %d of %d people that we follow.\n", pCallback->m_nResultsReturned, pCallback->m_nTotalResultCount );
for ( int i = 0; i < pCallback->m_nResultsReturned; ++i )
{
printf( " %d: %lld\n", i, pCallback->m_rgSteamID[i].ConvertToUint64() );
}
m_nFollowersParsed += pCallback->m_nResultsReturned;
// フォロワーが他にもいます! 次のセットを取得します!
if ( m_nFollowersParsed < pCallback->m_nTotalResultCount )
{
SteamAPICall_t handle = SteamFriends()->EnumerateFollowingList( pCallback->m_nResultsReturned );
m_SteamCallResultFriendsEnumerateFollowingList.Set( handle, this, &CEnumerateFollowingListExample::OnFriendsEnumerateFollowingList );
}
}
GetChatMemberByIndex
CSteamID GetChatMemberByIndex( CSteamID steamIDClan, int iUser );
Steamグループチャットで指定されたインデックスのSteam IDを取得します。
注: GetClanChatMemberCountを呼び出してから、これを呼び出す必要があります。
戻り値: CSteamID無効なインデックスは
k_steamIDNilを返します。
GetClanActivityCounts
bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | アクティビティを取得するSteamグループ。 |
| pnOnline | int * | オンラインのメンバーの数を返します。 |
| pnInGame | int * | ゲーム内のメンバーの数を返します(ステータスがオフラインのメンバーはここから除外されます) |
| pnChatting | int * | グループチャットルーム内のメンバーの数を返します。 |
Steamグループ内のユーザーが何をしているかについての最新情報を取得します。
これはローカルクライアントが知る限りのデータのみを取得します。 データの更新や、現在のユーザーが所属する別のグループからのデータを取得するには
DownloadClanActivityCountsを呼び出す必要があります。
戻り値: bool
true となるのはデータが正常に返されたときです。
false となるのは、提供されたSteam IDが無効か、ローカルクライアントがSteamグループについて情報を持たないために他のすべてのパラメーターが
0に設定された場合です。
GetClanByIndex
CSteamID GetClanByIndex( int iClan );
このAPIは非推奨です。指定されたインデックスでSteamグループのSteam IDを取得します。
注: GetClanCountを呼び出してから、これを呼び出す必要があります。
戻り値: CSteamID無効なインデックスは
k_steamIDNilを返します。
GetClanChatMemberCount
int GetClanChatMemberCount( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | チャット数を取得するSteamグループ。 |
このAPIは非推奨です。Steamグループチャット内のユーザー数を取得します。
注: ローカルユーザーは大きなSteamグループを繰り返すことはできません。
注: 現在のユーザー以外のユーザーのSteam IDを取得するには、現在のユーザーがロビー内に居る必要があります。
これは反復に使用されます。これを呼び出した後に
GetChatMemberByIndexを使って、チャット内の各ユーザーのSteam IDを取得できます。
戻り値: int
0 となるのは、提供されたSteam IDが無効な場合またはローカルユーザーに利用可能なデータが無い場合です。
GetClanChatMessage
int GetClanChatMessage( CSteamID steamIDClanChat, int iMessage, void *prgchText, int cchTextMax, EChatEntryType *peChatEntryType, CSteamID *psteamidChatter );
| 名前 | 型 | 説明 |
| steamIDClanChat | CSteamID | SteamグループチャットルームのSteamID。 |
| iMessage | int | メッセージのインデックス。 これはGameConnectedClanChatMsg_tのm_iMessageIDフィールドです。 |
| prgchText | void * | チャットメッセージがコピーされるバッファー。 (2048 UTF-8文字以上が必要です。 従って、8192bytes +1で '\0') |
| cchTextMax | int | prgchTextのサイズ。 |
| peChatEntryType | EChatEntryType * | 受け取ったチャットエントリーのタイプを返します。 |
| psteamidChatter | CSteamID * | メッセージを送信したユーザーのSteam IDを返します。 |
Steamグループチャットルームメッセージのデータを取得します。
これは
GameConnectedClanChatMsg_tコールバックへの応答でのみ呼び出されるべきです。
戻り値: int
prgchTextにコピーされたバイト数。
0を返し、現在のユーザーが指定のSteamグループチャットルームに居ない場合、または
iMessageで提供されたインデックスが無効の場合に
peChatEntryTypeを
k_EChatEntryTypeInvalidに設定します。
GetClanCount
int GetClanCount();
現在のユーザーがメンバーであるSteamグループの数を取得します。
これは反復に使用されます。これを呼び出した後に
GetClanByIndexを使って、各SteamグループのSteam IDを取得できます。
戻り値: int
ユーザーがメンバーであるSteamグループの数。
例:void ListSteamGroups() {
int nGroups = SteamFriends()->GetClanCount();
printf( "Listing %d Steam Groups\n", nGroups );
for ( int i = 0; i < nGroups; ++i )
{
CSteamID groupSteamID = SteamFriends()->GetClanByIndex( i );
const char *szGroupName = SteamFriends()->GetClanName( groupSteamID );
const char *szGroupTag = SteamFriends()->GetClanTag( groupSteamID );
int nOnline, nInGame, nChatting;
bool success = SteamFriends()->GetClanActivityCounts( groupSteamID, &nOnline, &nInGame, &nChatting );
printf( "Group %d - ID: %lld - Name: '%s' - Tag: '%s'\n", i, groupSteamID.ConvertToUint64(), szGroupName, szGroupTag );
printf( " - Online: %d, In Game: %d, Chatting: %d\n", nOnline, nInGame, nChatting );
}
}
GetClanName
const char * GetClanName( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | 名前を取得するSteamグループ。 |
ローカルクライアントにとって既知の場合、指定のSteamグループの表示名を取得します。
戻り値: const char *
UTF-8形式のSteamグループ名。 提供されたSteam IDが無効な場合、またはユーザーがグループを知らない場合には空の文字列("")を返します。
こちらも参照してください: DownloadClanActivityCountsGetClanOfficerByIndex
CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer );
Steamグループで指定されたインデックスの上級メンバーのSteam IDを取得します。
注: GetClanOfficerCountを呼び出してから、これを呼び出す必要があります。
戻り値: CSteamIDsteamIDClanまたは
iOfficerが無効な場合には
k_steamIDNilGetClanOfficerCount
int GetClanOfficerCount( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | 上級メンバー数を取得するSteamグループ。 |
指定のSteamグループ内の上級メンバー(管理人とモデレーター)の人数を取得します。
これにはSteamグループのオーナーも含まれます。
これは反復に使用されます。これを呼び出した後に
GetClanOfficerByIndexを使って、各上級メンバーのSteam IDを取得できます。
注: 必須データを取得するためには、これの前に
RequestClanOfficerListを呼び出す必要があります!
戻り値: int
Staemグループ内の上級メンバーの数。
steamIDClanが無効または
RequestClanOfficerListが呼び出されていない場合、
0を返します。
GetClanOwner
CSteamID GetClanOwner( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | オーナーを取得するSteamグループのSteam ID。 |
Steamグループのオーナーを取得します。
注: 必須データを取得するためには、これの前に
RequestClanOfficerListを呼び出す必要があります!
戻り値: CSteamIDsteamIDClanが無効または
RequestClanOfficerListが呼び出されていない場合、
k_steamIDNilを返します。
GetClanTag
const char * GetClanTag( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | タグを取得するSteamグループ。 |
ローカルクライアントにとって既知の場合、指定のSteamグループの一意のタグ(略称)を取得します。
Steamグループの略称は、グループを識別するためのユニークな方法であり、12文字に制限されます。 ゲームによっては、これをグループメンバーの横に表示します。
戻り値: const char *
UTF-8形式のSteamグループタグ。 提供されたSteam IDが無効な場合、またはユーザーがグループを知らない場合には空の文字列("")を返します。
こちらも参照してください: DownloadClanActivityCountsGetCoplayFriend
CSteamID GetCoplayFriend( int iCoplayFriend );
指定のインデックスで最近一緒にプレイしたユーザーのSteam IDを取得します。
注: GetCoplayFriendCountを呼び出してから、これを呼び出す必要があります。
戻り値: CSteamID無効なインデックスは
k_steamIDNilを返します。
GetCoplayFriendCount
int GetCoplayFriendCount();
現在のユーザーが、すべてのゲームで最近一緒にプレイしたプレイヤーの数を取得します。
これは反復に使用されます。これを呼び出した後に
GetCoplayFriendを使って、各プレイヤーのSteam IDを取得できます。
これらのプレイヤーは以前の
SetPlayedWithへの呼び出しで設定済みです。
戻り値: int
現在のユーザーが最近一緒にプレイしたユーザーの数。
例:void ListRecentlyPlayedWithList() {
int nPlayers = SteamFriends()->GetCoplayFriendCount();
printf( "Listing %d Recently Played with Players\n", nPlayers );
for ( int i = 0; i < nPlayers; ++i )
{
CSteamID playerSteamID = SteamFriends()->GetCoplayFriend( i );
int iTimeStamp = SteamFriends()->GetFriendCoplayTime( playerSteamID );
AppId_t app = SteamFriends()->GetFriendCoplayGame( playerSteamID );
printf( "Player %d - ID: %lld - Time: %d - App: %d\n", i, playerSteamID.ConvertToUint64(), iTimeStamp, app );
}
}
GetFollowerCount
SteamAPICall_t GetFollowerCount( CSteamID steamID );
| 名前 | 型 | 説明 |
| steamID | CSteamID | フォロワーカウントを取得するユーザー。 |
指定のユーザーをフォロー中のユーザー数を取得します。
戻り値: SteamAPICall_tは
FriendsGetFollowerCount_tの呼び出し結果と使用されます。
例:class GetFollowerCountExample
{
public:
void GetFollowerCount();
private:
void OnFriendsGetFollowerCount( FriendsGetFollowerCount_t *pCallback, bool bIOFailure );
CCallResult< GetFollowerCountExample, FriendsGetFollowerCount_t > m_SteamCallResultFriendsGetFollowerCount;
};
void GetFollowerCountExample::GetFollowerCount()
{
printf( "Getting the number of users who follow us.\n" );
SteamAPICall_t handle = SteamFriends()->GetFollowerCount( SteamUser()->GetSteamID() );
m_SteamCallResultFriendsGetFollowerCount.Set( handle, this, &GetFollowerCountExample::OnFriendsGetFollowerCount );
}
void GetFollowerCountExample::OnFriendsGetFollowerCount( FriendsGetFollowerCount_t *pCallback, bool bIOFailure )
{
if ( pCallback->m_eResult != k_EResultOK || bIOFailure )
{
printf( "OnFriendsGetFollowerCount failed for %lld with m_eResult: %d and bIOFailure: %d!", pCallback->m_steamID.ConvertToUint64(), pCallback->m_eResult, bIOFailure );
return;
}
printf( "Got a FriendsGetFollowerCount_t, we have %d followers.\n", pCallback->m_nCount );
}
GetFriendByIndex
CSteamID GetFriendByIndex( int iFriend, int iFriendFlags );
指定のインデックスでユーザーのSteam IDを取得します。
注: GetFriendCountを呼び出してから、これを呼び出す必要があります。
戻り値: CSteamID無効なインデックスは
k_steamIDNilを返します。
GetFriendCoplayGame
AppId_t GetFriendCoplayGame( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | ゲームをプレイする、最近一緒にプレイしたリスト上のユーザーのSteam ID |
ユーザーが最近一緒にプレイしたリスト上のユーザーとプレイしたゲームのApp IDを取得します。
戻り値: AppId_t最近一緒にプレイしたリストに入っていないSteam IDは
k_uAppIdInvalidを返します。
GetFriendCoplayTime
int GetFriendCoplayTime( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | タイムスタンプを取得する、最近一緒にプレイしたリスト上のユーザーのSteam ID |
ユーザーが最近一緒にプレイしたリスト上のユーザーとプレイしたときのタイムスタンプを取得します。
戻り値: int
時間はUnixエポック形式(1970年1月1日以降の時間、秒単位)で提供されます。
最近一緒にプレイしたリスト上にないSteam IDは
0を返します。
GetFriendCount
int GetFriendCount( int iFriendFlags );
指定の条件を満たすユーザーで、クライアントが知っているユーザーの数を取得します。 (フレンド、ブロック中、同一サーバー上、等)
これは、
GetFriendByIndexを呼び出して各ユーザーのSteam IDを取得することにより、すべてのユーザーを反復処理するのに使用できます。
戻り値: int
指定の条件を満たすユーザーの数。
注: 現在のユーザーがログインしていなければ
-1を返します。
例:int nFriends = SteamFriends()->GetFriendCount( k_EFriendFlagImmediate );
if ( nFriends == -1)
{
printf( "GetFriendCount returned -1, the current user is not logged in.\n" );
// この値を配列に割り当てたり、-1を考慮しないでループすることを想定して
// 常に0にリセットすることを推奨します。
nFriends = 0;
}
for ( int i = 0; i < nFriends; ++i )
{
CSteamID friendSteamID = SteamFriends()->GetFriendByIndex( i, k_EFriendFlagImmediate );
const char *friendName = SteamFriends()->GetFriendPersonaName( friendSteamID );
printf( "Friend %d: %lld - %s\n", i, friendSteamID.ConvertToUint64(), friendName );
}
GetFriendCountFromSource
int GetFriendCountFromSource( CSteamID steamIDSource );
| 名前 | 型 | 説明 |
| steamIDSource | CSteamID | ユーザー数を取得するSteamグループ、チャットルーム、ロビーまたはゲームサーバー。 |
ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザー数を取得します。
注: ローカルユーザーは大きなSteamグループを繰り返すことはできません。
注: ロビーメンバー数の取得には、代わりに
ISteamMatchmaking::GetNumLobbyMembersを使ってください。
これは反復に使用されます。これを呼び出した後に
GetFriendFromSourceByIndexを使って、ソース内の各ユーザーのSteam IDを取得できます。
戻り値: int
0 となるのは、提供されたSteam IDが無効な場合またはローカルユーザーに利用可能なデータが無い場合です。
GetFriendFromSourceByIndex
CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend );
ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)から与えられたインデックスでSteam IDを取得します。
注: GetFriendCountFromSourceを呼び出してから、これを呼び出す必要があります。
戻り値: CSteamID無効なインデックスは
k_steamIDNilを返します。
GetFriendGamePlayed
bool GetFriendGamePlayed( CSteamID steamIDFriend, FriendGameInfo_t *pFriendGameInfo );
指定のフレンドがゲーム内に居るかを確認し、ゲーム内に居ればゲームの詳細を取得します。
戻り値: bool
true となるのはフレンドがゲーム内にいる時のみで、それ以外は
falseです。
GetFriendMessage
int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType );
Steamフレンドメッセージからデータを取得します。
これは
GameConnectedFriendChatMsg_tコールバックへの応答でのみ呼び出されるべきです。
戻り値: int
pvDataにコピーされたバイト数。
0を返し、現在のユーザーがチャット制限を受けている場合、提供されたSteam IDがフレンドではない場合、または
iMessageIDで提供されたインデックスが無効の場合に、
peChatEntryTypeを
k_EChatEntryTypeInvalidに設定します。
GetFriendPersonaName
const char * GetFriendPersonaName( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | 他のユーザーのSteamID。 |
指定のユーザーのペルソナ(表示)名を取得します。
これは、他のユーザーがフレンドリスト、同一ゲームサーバー、チャットルームやロビー、またはローカルユーザーとの小さなSteamグループ内にいる場合のみ、現在のユーザーに認識されます。
注: ロビー、チャットルーム、ゲームサーバーに初めて参加するとき、現在のユーザーは他のユーザーの名前を自動で知ることはありません。これらの情報は
PersonaStateChange_tコールバックを介して非同期に到着します。
現在のユーザーのペルソナ名の取得には
GetPersonaNameを使用します。
戻り値: const char *
UTF-8形式の現在のユーザーのペルソナ名。
NULLになることはありません。
Steam IDが無効の場合、または呼び出し元がSteam IDを知らない場合は、空の文字列("")か、"[unknown]"を返します。
GetFriendPersonaNameHistory
const char * GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | 他のユーザーのSteamID。 |
| iPersonaName | int | 受け取る履歴のインデックス。 0が現在のペルソナ名で、1が変更する前の最も最近のものです。 |
指定のユーザーの以前の表示名を1つ取得します。
これは、現在のユーザーがローカルコンピューターで表示した表示名にのみ機能します。
戻り値: const char *
指定のインデックスでのプレイヤーの以前のペルソナ名。 履歴内にこれ以上アイテムが無い場合には空の文字列を返します。
GetFriendPersonaState
EPersonaState GetFriendPersonaState( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | 他のユーザーのSteamID。 |
指定のユーザーの現在の状況を取得します。
これは、他のユーザーがフレンドリスト、同一ゲームサーバー、チャットルームやロビー、またはローカルユーザーとの小さなSteamグループ内にいる場合のみ、現在のユーザーに認識されます。
現在のユーザーの状況の取得には、
GetPersonaStateを使用します。
戻り値: EPersonaState指定のユーザーのフレンドの状態。 (オンライン、オフライン、ゲーム中など)
GetFriendRelationship
EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | 他のユーザーのSteam ID。 |
指定のユーザーとの関係を取得します。
戻り値: EFriendRelationshipユーザー同士の関係。
GetFriendRichPresence
const char * GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | リッチプレゼンスの値を取得するフレンド。 |
| pchKey | const char * | リクエストするリッチプレゼンスキー。 |
指定のフレンドからリッチプレゼンスの値を取得します。
戻り値: const char *
指定のキーが設定されていなければ空の文字列("")を返します。
こちらも参照してください: RequestFriendRichPresence、
SetRichPresenceGetFriendRichPresenceKeyByIndex
const char * GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey );
戻り値: const char *
インデックスが無効の場合、または指定のユーザーに利用可能なリッチプレゼンスデータが無い場合は、空の文字列("")を返します。
GetFriendRichPresenceKeyCount
int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | リッチプレゼンスキーの数を取得するユーザーのSteam ID。 |
指定のユーザーに設定されたリッチプレゼンスキーの数を取得します。
これは反復に使用されます。これを呼び出した後に
GetFriendRichPresenceKeyByIndexを呼び出してリッチプレゼンスキーを取得できます。
通常、デバッグ目的でのみ使用されます。
戻り値: int
指定のユーザーに向けたリッチプレゼンスが無ければ
0を返します。
GetFriendsGroupCount
int GetFriendsGroupCount();
ユーザーが作成したフレンドグループ(タグ)の数を取得します。
これは反復に使用されます。これを呼び出した後に
GetFriendsGroupIDByIndexを使って、各フレンドグループのSteam IDを取得できます。
これはSteamグループとは別物です。 Steamグループは
GetClanCountで取得できます。
戻り値: int
現在のユーザーが持つフレンドグループの数。
例:void ListFriendsGroups() {
int nGroups = SteamFriends()->GetFriendsGroupCount();
for ( int i = 0; i < nGroups; ++i )
{
FriendsGroupID_t friendsGroupID = SteamFriends()->GetFriendsGroupIDByIndex( i );
const char *szFriendsGroupName = SteamFriends()->GetFriendsGroupName( friendsGroupID );
int nFriendsGroupMembers = SteamFriends()->GetFriendsGroupMembersCount( friendsGroupID );
printf( "Group %d - ID: %d - Name: '%s' - Members: %d\n", i, friendsGroupID, szFriendsGroupName, nFriendsGroupMembers );
std::vector<CSteamID> friends( nFriendsGroupMembers );
SteamFriends()->GetFriendsGroupMembersList( friendsGroupID, friends.data(), nFriendsGroupMembers );
for ( int j = 0; j < nFriendsGroupMembers; ++j )
{
printf( " - Member %d - ID: %lld\n", j, friends[j].ConvertToUint64() );
}
}
}
GetFriendsGroupIDByIndex
FriendsGroupID_t GetFriendsGroupIDByIndex( int iFG );
指定のインデックスのフレンドグループを取得します。
注: GetFriendsGroupCountを呼び出してから、これを呼び出す必要があります。
戻り値: FriendsGroupID_t無効なインデックスは
k_FriendsGroupID_Invalidを返します。
GetFriendsGroupMembersCount
int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID );
指定のフレンドグループ内のフレンドの数を取得します。
これは、フレンドのリストを
GetFriendsGroupMembersListで取得する前に呼び出す必要があります。
戻り値: int
指定のフレンドグループ内のフレンドの数。
こちらも参照してください: GetFriendsGroupCountGetFriendsGroupMembersList
void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, CSteamID *pOutSteamIDMembers, int nMembersCount );
指定のフレンドグループ内のフレンドの数を取得します。
フレンドの数が要求された数より少なければ、それらのポジションのSteam IDは無効になります。
pOutSteamIDMembers配列を適切なサイズに設定するには、これを呼び出す前に
GetFriendsGroupMembersCountを呼び出す必要があります。
こちらも参照してください: GetFriendsGroupCountGetFriendsGroupName
const char * GetFriendsGroupName( FriendsGroupID_t friendsGroupID );
指定のフレンドグループの名前を取得します。
戻り値: const char *
UTF-8形式のフレンドグループ名。 グループIDが無効の場合
NULLを返します。
こちらも参照してください: GetFriendsGroupCountGetFriendSteamLevel
int GetFriendSteamLevel( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | ユーザーのSteam ID |
指定のユーザーのSteamレベルを取得します。
レベルを取得するにはローカルユーザーのSteam ID(
ISteamUser::GetSteamID)を使用できます。
戻り値: int
Steamレベル(取得可能の場合)
指定のユーザーのSteamレベルが即座に利用できなければ、これは
0を返し、Steamサーバーからダウンロードするようにキューに入れます。 ダウンロードされたら
PersonaStateChange_tコールバックが
k_EPersonaChangeSteamLevelを含む
m_nChangeFlagsと共にポストされます。
GetLargeFriendAvatar
int GetLargeFriendAvatar( CSteamID steamIDFriend );
指定のユーザー用の大きなサイズ(128 x 128px)のアバターへのハンドルを取得します。
ISteamUser::GetSteamIDを渡して現在のユーザーのアバターを取得できます。
注: これはローカルユーザーが知っているユーザーにのみ機能します。 フレンド、リクエストしたランキング上のユーザー、同一ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザーを自動で認識します。 これらのユーザーを認識しない場合には、
RequestUserInformationを呼び出してアバターをローカルでキャッシュする必要があります。
戻り値: int
AvatarImageLoaded_tコールバックをトリガーします。
ISteamUtils::GetImageSizeと
ISteamUtils::GetImageRGBAで使用されるSteamイメージハンドル。
ユーザーにアバターが設定されていない場合は
0を返します。
アバターの画像データがまだ読み込まれておらず、ダウンロードを要求する場合は、
-1を返します。 その場合、
AvatarImageLoaded_t コールバックを待ってから、もう一度呼び出します。
こちらも参照してください: GetMediumFriendAvatar、
GetSmallFriendAvatarGetMediumFriendAvatar
int GetMediumFriendAvatar( CSteamID steamIDFriend );
指定のユーザー用の中くらいのサイズ(64 x 64px)のアバターへのハンドルを取得します。
ISteamUser::GetSteamIDを渡して現在のユーザーのアバターを取得できます。
注: これはローカルユーザーが知っているユーザーにのみ機能します。 フレンド、リクエストしたランキング上のユーザー、同一ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザーを自動で認識します。 これらのユーザーを認識しない場合には、
RequestUserInformationを呼び出してアバターをローカルでキャッシュする必要があります。
戻り値: int
ISteamUtils::GetImageSizeと
ISteamUtils::GetImageRGBAで使用されるSteamイメージハンドル。
ユーザーにアバターが設定されていない場合は
0を返します。
こちらも参照してください: GetLargeFriendAvatar、
GetSmallFriendAvatarGetPersonaName
const char * GetPersonaName();
現在のユーザーのペルソナ(表示)名を取得します。
これはユーザーのコミュニティプロフィールページに表示されているのと同一の名前です。
現在のユーザーのペルソナ名の取得には
GetPersonaNameを使用します。
戻り値: const char *
UTF-8形式の現在のユーザーのペルソナ名。
NULLになることはありません。
GetPersonaState
EPersonaState GetPersonaState();
現在のユーザーのフレンドの状況を取得します。
他のユーザーの状況の取得には
GetFriendPersonaStateを使用します。
戻り値: EPersonaState現在のユーザーのフレンドの状況。 (オンライン、オフライン、ゲーム中など)
GetPlayerNickname
const char * GetPlayerNickname( CSteamID steamIDPlayer );
| 名前 | 型 | 説明 |
| steamIDPlayer | CSteamID | ユーザーのSteam ID |
現在のユーザーが指定のユーザーに設定したニックネームを取得します。
戻り値: const char *
NULL となるの対象のユーザーにニックネームが設定されていない場合です。
GetSmallFriendAvatar
int GetSmallFriendAvatar( CSteamID steamIDFriend );
指定のユーザー用の小さなサイズ(32 x 32px)のアバターへのハンドルを取得します。
ISteamUser::GetSteamIDを渡して現在のユーザーのアバターを取得できます。
注: これはローカルユーザーが知っているユーザーにのみ機能します。 フレンド、リクエストしたランキング上のユーザー、同一ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザーを自動で認識します。 これらのユーザーを認識しない場合には、
RequestUserInformationを呼び出してアバターをローカルでキャッシュする必要があります。
戻り値: int
ISteamUtils::GetImageSizeと
ISteamUtils::GetImageRGBAで使用されるSteamイメージハンドル。
ユーザーにアバターが設定されていない場合は
0を返します。
こちらも参照してください: GetLargeFriendAvatar、
GetMediumFriendAvatarHasFriend
bool HasFriend( CSteamID steamIDFriend, int iFriendFlags );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | フレンドの状況を確認するSteamユーザー。 |
| iFriendFlags | int | 1つ以上のEFriendFlagsの複合ユニオン(バイナリ"or") |
ユーザーが指定の条件を満たしているか確認します。 (フレンド、ブロック中、同一サーバー上など)
戻り値: bool
true となるのは指定のユーザーが
iFriendFlagsで指定した条件を満たしているときです。それ以外は
falseです。
InviteUserToGame
bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString );
特別の招待文字列を使用して、フレンドまたはクランメンバーを現在のゲームに招待します。
対象のユーザーが招待を受諾した場合、ゲームを起動する際にコマンドラインにpchConnectStringが追加されます。
そのユーザーがすでにゲームを実行中の場合には、接続文字列とともに
GameRichPresenceJoinRequested_tコールバックを受け取ります。
戻り値: bool
GameRichPresenceJoinRequested_tコールバックをトリガーします。
true となるのは招待が正常に送信されたときです。
false となるのは次の場合です:
-
steamIDFriendに提供されたSteam IDが無効。
-
steamIDFriendに提供されたSteam IDがフレンドではないか、現在のユーザーと同じSteamグループに属していない。
-
pchConnectStringに提供された値が長すぎる。
こちらも参照してください: ISteamMatchmaking::InviteUserToLobbyIsClanChatAdmin
bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser );
| 名前 | 型 | 説明 |
| steamIDClanChat | CSteamID | SteamグループチャットルームのSteamID。 |
| steamIDUser | CSteamID | 管理ステータスをチェックするユーザーのSteam ID。 |
Steamグループチャットルーム内のユーザーが管理人かどうかを確認します。
戻り値: bool
true となるのは指定のユーザーが管理人のときです。
false となるのは、そのユーザーが管理人ではない場合、現在のユーザーが指定のチャットルームにいない場合、または現在のユーザーがチャットルームにいない場合です。
IsClanPublic
bool IsClanPublic( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | SteamグループのSteamID。 |
Steamグループが公開グループかを確認します。
戻り値: bool
true となるのは指定のグループが公開のときです。
false となるのは指定のグループが非公開のときです。
IsClanOfficialGameGroup
bool IsClanOfficialGameGroup( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | SteamグループのSteamID。 |
Steamグループが公式のゲームグループ/コミュニティハブかどうかを確認します。
戻り値: bool
true となるのは指定のグループが公式のゲームグループ/コミュニティハブの場合です。
false となるのは指定のグループが公式のゲームグループ/コミュニティハブではない場合です。
IsClanChatWindowOpenInSteam
bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat );
| 名前 | 型 | 説明 |
| steamIDClanChat | CSteamID | 確認するSteamグループチャットルームのSteam ID。 |
SteamグループチャットルームがSteam UIで開いているかを確認します。
戻り値: bool
true となるのは指定のSteamグループチャットルームが開いている場合で、それ以外は
falseを返します。
また、指定のSteamグループチャットルームが不明の場合も
falseを返します。
こちらも参照してください: OpenClanChatWindowInSteam、
CloseClanChatWindowInSteamIsFollowing
SteamAPICall_t IsFollowing( CSteamID steamID );
| 名前 | 型 | 説明 |
| steamID | CSteamID | フォロー中かを確認するSteam ID。 |
現在のユーザーが指定のユーザーをフォロー中かを確認します。
戻り値: SteamAPICall_tは
FriendsIsFollowing_tの呼び出し結果と使用されます。
例:class CIsFollowingExample
{
public:
CIsFollowingExample();
void CheckWhichFriendsWeAreFollowing();
private:
void OnFriendsIsFollowing( FriendsIsFollowing_t *pCallback, bool bIOFailure );
CCallResult< CIsFollowingExample, FriendsIsFollowing_t > m_SteamCallResultFriendsIsFollowing;
int m_nFriends;
int m_iFriendIndex;
};
CIsFollowingExample::CIsFollowingExample()
{
m_nFriends = SteamFriends()->GetFriendCount( k_EFriendFlagImmediate );
if ( m_nFriends == -1 )
{
printf( "GetFriendCount returned -1, the current user is not logged in.\n" );
m_nFriends = 0;
}
m_iFriendIndex = 0;
}
void CIsFollowingExample::CheckWhichFriendsWeAreFollowing()
{
if ( m_iFriendIndex < m_nFriends )
{
CSteamID steamID = SteamFriends()->GetFriendByIndex( m_iFriendIndex, k_EFriendFlagImmediate );
printf( "Checking if we follow %lld (%d of %d).\n", steamID.ConvertToUint64(), m_iFriendIndex, m_nFriends );
SteamAPICall_t handle = SteamFriends()->IsFollowing( steamID );
m_SteamCallResultFriendsIsFollowing.Set( handle, this, &CIsFollowingExample::OnFriendsIsFollowing );
}
}
void CIsFollowingExample::OnFriendsIsFollowing( FriendsIsFollowing_t *pCallback, bool bIOFailure )
{
if ( pCallback->m_eResult != k_EResultOK || bIOFailure )
{
printf( "OnFriendsIsFollowing failed for %lld with m_eResult: %d and bIOFailure: %d!\n", pCallback->m_steamID.ConvertToUint64(), pCallback->m_eResult, bIOFailure );
return;
}
if ( pCallback->m_bIsFollowing )
printf( "We are following %lld\n", pCallback->m_steamID.ConvertToUint64() );
// フレンドリスト全体を再帰的にチェックします。
m_iFriendIndex++;
CheckWhichFriendsWeAreFollowing();
}
IsUserInSource
bool IsUserInSource( CSteamID steamIDUser, CSteamID steamIDSource );
このAPIは非推奨です。指定のユーザーがソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内にいるかを確認します。
戻り値: bool
true となるのはローカルユーザーに
steamIDUserがメンバーであることか
steamIDSource内にいることが分かるときで、それ以外は
falseです。
JoinClanChatRoom
SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | 参加するSteamグループのSteam ID。 |
ユーザーがそのゲーム内でSteamグループ(クラン)に参加できるようにします。
ユーザーがゲーム外からまたはオーバーレイ内にてグループチャットにすでに参加している可能性があるため、この動作はやや複雑です。
ActivateGameOverlayToUserを使ってゲーム内オーバーレイバージョンのチャットを使用できます。
Steamグループチャットに参加済みの場合、次のコールバックを確認する必要があります:
戻り値: SteamAPICall_tは
JoinClanChatRoomCompletionResult_tの呼び出し結果と使用されます。
GameConnectedChatJoin_tコールバックをトリガーします。
GameConnectedClanChatMsg_tコールバックをトリガーします。
こちらも参照してください: LeaveClanChatRoom、
GetClanChatMemberCount、
GetChatMemberByIndex、
SendClanChatMessage、
GetClanChatMessage、
IsClanChatAdmin、
IsClanChatWindowOpenInSteamLeaveClanChatRoom
bool LeaveClanChatRoom( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | 退出するSteamグループチャットのSteamID。 |
ユーザーが
JoinClanChatRoomで参加済みのSteamグループチャットを退出します。
戻り値: bool
GameConnectedChatLeave_tコールバックをトリガーします。
true となるのはユーザーが指定のチャットルームにいるときのみで、それ以外は
falseです。
OpenClanChatWindowInSteam
bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat );
| 名前 | 型 | 説明 |
| steamIDClanChat | CSteamID | 開くSteamグループチャットルームのSteam ID。 |
Steam UIで指定のSteamグループチャットルームを開きます。
戻り値: bool
true となるのはユーザーがSteamグループチャットルームから正常に入室したときです。
false となるのは、次のいずれかの状況です:
- 指定のSteamグループチャットルームが存在しないか、ユーザーがそこへの参加アクセスを持たない。
- 現在のユーザーに現在レート制限がある。
- 現在のユーザーにチャット制限がある。
こちらも参照してください: IsClanChatWindowOpenInSteam、
CloseClanChatWindowInSteamReplyToFriendMessage
bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | メッセージ送信先のフレンドのSteam ID。 |
| pchMsgToSend | const char * | UTF-8形式の送信するメッセージ。 |
Steamフレンドにメッセージを送信します。
戻り値: bool
true となるのはメッセージが正常に送信されたときです。
false となるのは現在のユーザーにレート制限かチャット制限があるときです。
RequestClanOfficerList
SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan );
| 名前 | 型 | 説明 |
| steamIDClan | CSteamID | 上級メンバーリストを取得するSteamグループ。 |
Steamグループ上級メンバー(管理人またはモデレーター)についての情報を要求します。
注: ユーザーがメンバーであるSteamグループについてのみ要求できます。
注: これは、上級メンバーのアバターを自動でダウンロードしません。 上級メンバーのアバターイメージが利用可能でない場合、
RequestUserInformationを呼び出してアバターをダウンロードできます。
戻り値: SteamAPICall_tは
ClanOfficerListResponse_tの呼び出し結果と使用されます。
こちらも参照してください: GetClanOwner、
GetClanOfficerCount、
GetClanOfficerByIndex例:class CClanOfficerListExample
{
public:
void RequestOfficerList();
private:
void OnClanOfficerListResponse( ClanOfficerListResponse_t *pCallback, bool bIOFailure );
CCallResult< CClanOfficerListExample, ClanOfficerListResponse_t > m_SteamCallResultClanOfficerListResponse;
};
void CClanOfficerListExample::RequestOfficerList()
{
printf( "Requesting the Clan Officer List\n" );
const CSteamID SteamworksDevGroup = 103582791433474333ull;
SteamAPICall_t handle = SteamFriends()->RequestClanOfficerList( SteamworksDevGroup );
m_SteamCallResultClanOfficerListResponse.Set( handle, this, &CClanOfficerListExample::OnClanOfficerListResponse );
}
void CClanOfficerListExample::OnClanOfficerListResponse( ClanOfficerListResponse_t *pCallback, bool bIOFailure )
{
if ( !pCallback->m_bSuccess || bIOFailure )
{
printf( "ClanOfficerListResponse failed for %lld!", pCallback->m_steamIDClan.ConvertToUint64() );
return;
}
printf( "Got a ClanOfficerListResponse for: %s (%lld)\n", SteamFriends()->GetClanName( pCallback->m_steamIDClan ), pCallback->m_steamIDClan.ConvertToUint64() );
CSteamID ownerSteamID = SteamFriends()->GetClanOwner(pCallback->m_steamIDClan);
printf( " The owner of the clan is: %s (%lld) and there are %d officers.\n", SteamFriends()->GetFriendPersonaName( ownerSteamID ),
ownerSteamID.ConvertToUint64(), pCallback->m_cOfficers );
int nOfficers = SteamFriends()->GetClanOfficerCount( pCallback->m_steamIDClan );
printf( " GetClanOfficerCount reports: %d", nOfficers );
for ( int i = 0; i < nOfficers; ++i )
{
CSteamID officerSteamID = SteamFriends()->GetClanOfficerByIndex( pCallback->m_steamIDClan, i );
printf( " Officer %d: %s (%lld)\n", i, SteamFriends()->GetFriendPersonaName(officerSteamID), officerSteamID.ConvertToUint64() );
}
}
RequestFriendRichPresence
void RequestFriendRichPresence( CSteamID steamIDFriend );
| 名前 | 型 | 説明 |
| steamIDFriend | CSteamID | リッチプレゼンスを要求するユーザーのSteam ID。 |
指定のユーザーのリッチプレゼンスデータを要求します。
現在のユーザーのフレンドではないユーザー(同一ロビーやゲームサーバー上にいるユーザーなど)のリッチプレゼンス情報を取得するときに使用されます。
この関数にはレート制限があり、特定のユーザーに対する呼び出し回数が非常に頻繁になると、サーバーからの新しいデータを要求せずにコールバックを即座にポストします。
戻り値: void
FriendRichPresenceUpdate_tコールバックをトリガーします。
こちらも参照してください: GetFriendRichPresence、
SetRichPresenceRequestUserInformation
bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly );
| 名前 | 型 | 説明 |
| steamIDUser | CSteamID | 情報を要求するユーザー。 |
| bRequireNameOnly | bool | ペルソナ名のみ取得 (true)? または名前とアバター両方(false)? |
特定のユーザーのペルソナ名と、任意でアバターを要求します。
注: アバターのダウンロードにはかなり時間がかかり、ローカルキャッシュをチャーンするため、アバターが不要ならば要求しないでください。
戻り値: bool
PersonaStateChange_tコールバックをトリガーします。
true を返すと、データが要求され、取得時に
PersonaStateChange_tコールバックがポストされることを意味します。
false を返すと、そのユーザーに関するすべての詳細があり、この情報を要求する関数をすぐに使用できることを意味します。
SendClanChatMessage
bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText );
| 名前 | 型 | 説明 |
| steamIDClanChat | CSteamID | メッセージ送信先のグループチャットのSteam ID。 |
| pchText | const char * | UTF-8形式の送信するメッセージ。 最長で2048文字です。 |
Steamグループチャットルームにメッセージを送信します。
戻り値: bool
true となるのはメッセージが正常に送信されたときです。
false となるのは、以下の状況のいずれかに当てはまる場合です:
- 現在のユーザーが指定のグループチャットにいない。
- 現在のユーザーがSteamに接続していない。
- 現在のユーザーにレート制限がある。
- 現在のユーザーにチャット制限がある。
-
pchText内のメッセージが2048文字を超えている。
SetInGameVoiceSpeaking
void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking );
| 名前 | 型 | 説明 |
| steamIDUser | CSteamID | 未使用。 |
| bSpeaking | bool | ユーザーはゲーム内で会話を始めた(true)か、ゲーム内で会話を終了したか(false)? |
ユーザーが現在ゲーム内でボイスチャットを使用中かをSteamに知らせます。
これにより、Steam UIのすべての音声通信でマイクが抑制されます。
SetListenForFriendsMessages
bool SetListenForFriendsMessages( bool bInterceptEnabled );
| 名前 | 型 | 説明 |
| bInterceptEnabled | bool | フレンドメッセージの割り込みオン(true)またはオフ(false)? |
Steamフレンドチャットメッセージをリッスンします。
その後、ゲーム内でこれらのチャットをインラインで表示できます。 例えば『Dota 2』におけるチャットシステムがこれに該当します。
有効化すると、ユーザーがチャットメッセージを受信した時に
GameConnectedFriendChatMsg_tコールバックを受け取ります。
GetFriendMessageとこのコールバックから実際のメッセージデータを取得できます。 メッセージは
ReplyToFriendMessageで送信できます。
戻り値: bool
GameConnectedFriendChatMsg_tをトリガーします。
常に
trueを返します。
SetPlayedWith
void SetPlayedWith( CSteamID steamIDUserPlayedWith );
| 名前 | 型 | 説明 |
| steamIDUserPlayedWith | CSteamID | 一緒にプレイした他のユーザー。 |
対象ユーザーを「一緒にプレイ」としてマークします。
注: 関連付けを機能させるには、現在のユーザーが他のプレイヤーとゲームに参加している必要があります。
最近一緒にプレイしたユーザーは、Steamコミュニティ内の
こちらと、
Steamオーバーレイで確認できます。
SetRichPresence
bool SetRichPresence( const char *pchKey, const char *pchValue );
現在のユーザーのリッチプレゼンスキー/値を設定し、同じゲームをプレイ中のすべてのフレンドに自動で共有します。
各ユーザーは
k_cchMaxRichPresenceKeysで定義されたキーを最大20まで持つことができます。
ゲームの視聴/参加には2つの特別なキーが使用されます:
- "status"-UTF-8形式の文字列で、Steamフレンドリスト内の「ゲーム情報を表示」ダイアログに表示されます。
- "connect"-UTF-8形式の文字列でフレンドがどのようにゲームに接続するかのコマンドラインを含みます。 これは、Steamフレンドリスト内での右クリックメニューと、プレイヤーのSteamコミュニティプロフィール上の「ゲーム情報を表示」内の「ゲームに参加」ボタンを有効化します。 コマンドライン経由でローンチされた際にポップアップ警告が表示されることを無効化するには、アプリにISteamApps::GetLaunchCommandLineが実装されていることを確認してください。
新しくなったSteamチャットには他にも特別なキーが3つあります:
- "steam_display"-SteamクライアントUI内でユーザーの選択した言語で表示されるリッチプレゼンスローカライズトークンを指名します。 リッチプレゼンスデータをテストできるページを含むリンクと詳細情報はリッチプレゼンスローカリゼーションを参照してください。 steam_displayが有効なローカリゼーションタグに設定されていない場合、リッチプレゼンスはSteamクライアントでは表示されません。
- "steam_player_group"-設定すると、プレイヤーが特定のグループのメンバーであることをSteamクライアントに対して示します。 同じグループ内のプレイヤーは、Steam UIのさまざまな場所で一緒にまとめられる場合があります。 この文字列で、パーティー、サーバーまたはゲームにとって都合の良いグループ分けを識別できます。 文字列自体はユーザーには表示されません。
- "steam_player_group_size"-設定すると、steam_player_group内のプレイヤー数合計を示します。 すべてのメンバーがユーザーのフレンドリスト内の一部ではない場合に、Steamクライアントはこの数を使ってグループについての追加情報を表示する場合があります。 (例えば、 "Bob、Pete、その他4人")
ClearRichPresenceで現在のユーザー用のすべてのキーをクリアできます。
フレンド用のリッチプレゼンスキーは
GetFriendRichPresenceで取得します。
戻り値: bool
true となるのはリッチプレゼンスが正常に設定された場合。
false となるのは次の場合です:
RequestEquippedProfileItems
SteamAPICall_t RequestEquippedProfileItems( CSteamID steamID);
対象のユーザーが装備中のSteamコミュニティプロフィールアイテムのリストをSteamに要求します。
戻り値: SteamAPICall_tが
EquippedProfileItems_tの呼び出し結果と使用されます。
BHasEquippedProfileItem
bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType);
RequestEquippedProfileItemsを呼び出した後、この関数を使ってユーザーがあるタイプのプロフィールアイテムを装備しているかどうかを確認できます。
戻り値: bool
true となるのは、ユーザーがitemTypeを装備中の場合。
false となるのは、ユーザーがitemTypeを装備していない場合です。
こちらも参照してください: RequestEquippedProfileItems、
GetProfileItemPropertyString、
GetProfileItemPropertyUintGetProfileItemPropertyString
bool GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
ユーザーが装備中のプロフィールアイテムの文字列プロパティを返します。
戻り値: const char *
こちらも参照してください: RequestEquippedProfileItems、
GetProfileItemPropertyString、
GetProfileItemPropertyUintGetProfileItemPropertyUint
bool GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
ユーザーが装備中のプロフィールアイテムの符号なし整数プロパティを返します。
戻り値: uint32
こちらも参照してください: RequestEquippedProfileItems、
GetProfileItemPropertyStringコールバック
以下は
SteamAPI_RunCallbacksを呼び出すことによって実行されるコールバックです。 これらの多くは
ISteamFriendsのメンバー関数への応答として直接実行されます。
AvatarImageLoaded_t
大きなサイズのアバターが利用不可能な際にリクエストを試みて、読み込まれたときに呼び出されます。
| 名前 | 型 | 説明 |
| m_steamID | CSteamID | アバターが読み込まれたSteam ID。 |
| m_iImage | int | 新しく読み込まれた画像のSteamイメージハンドル。 |
| m_iWide | int | 読み込まれた画像の幅。 |
| m_iTall | int | 読み込まれた画像の高さ。 |
関連する関数: GetLargeFriendAvatarClanOfficerListResponse_t
上級メンバーリスト呼び出しのリクエストの戻り値をマークします。
| 名前 | 型 | 説明 |
| m_steamIDClan | CSteamID | 上級メンバーリストを取得したSteamグループ。 |
| m_cOfficers | int | グループ内の上級メンバーの数。 これはGetClanOfficerCountと同じです。 |
| m_bSuccess | uint8 | 呼び出しは成功? 失敗の場合、Steamへの接続の一時的な切断を意味します。 trueを返した場合、必ずしもこのSteamグループへのすべての情報がダウンロードされたとは限らないことを意味します。 |
関連する関数: RequestClanOfficerListDownloadClanActivityCountsResult_t
Steamグループアクティビティを受け取ったときに呼び出されます。
| 名前 | 型 | 説明 |
| m_bSuccess | bool | 呼び出しは成功? |
関連する関数: DownloadClanActivityCountsFriendRichPresenceUpdate_t
ユーザーのリッチプレゼンスデータが更新されたときに呼び出され、これは同じゲーム内のフレンドがリッチプレゼンスを更新する際に自動で行われるか、
RequestFriendRichPresenceへの呼び出しの後に行われます。
| 名前 | 型 | 説明 |
| m_steamIDFriend | CSteamID | リッチプレゼンスが変更されたユーザーのSteam ID。 |
| m_nAppID | AppId_t | ゲームのAppID。 これは常に現在のゲームです。 |
関連する関数: RequestFriendRichPresenceFriendsEnumerateFollowingList_t
EnumerateFollowingListの結果を返します。
関連する関数: EnumerateFollowingListFriendsGetFollowerCount_t
GetFollowerCountの結果を返します。
| 名前 | 型 | 説明 |
| m_eResult | EResult | 呼び出しの結果。 |
| m_steamID | CSteamID | フォロワー数をリクエストしたユーザーのSteam ID。 |
| m_nCount | int | ユーザーが持つフォロワー数。 |
関連する関数: GetFollowerCountFriendsIsFollowing_t
IsFollowingの結果を返します。
| 名前 | 型 | 説明 |
| m_eResult | EResult | 呼び出しの結果。 |
| m_steamID | CSteamID | 確認されたSteam ID。 |
| m_bIsFollowing | bool | ユーザーがフォロー中 (true)かそうでないか (false)。 |
関連する関数: IsFollowingGameConnectedChatJoin_t
すでに参加済みのSteamグループチャットにユーザーが参加したときに呼び出されます。
| 名前 | 型 | 説明 |
| m_steamIDClanChat | CSteamID | ユーザーが参加したチャットのSteam ID。 |
| m_steamIDUser | CSteamID | チャットに参加したユーザーのSteam ID。 |
関連する関数: JoinClanChatRoomGameConnectedChatLeave_t
すでに参加済みのSteamグループチャットからユーザーが退出したときに呼び出されます。
| 名前 | 型 | 説明 |
| m_steamIDClanChat | CSteamID | ユーザーが退出したチャットのSteam ID。 |
| m_steamIDUser | CSteamID | チャットから退出したユーザーのSteam ID。 |
| m_bKicked | bool | ユーザーが上級メンバーから追放された(true)かそうでないか(false)。 |
| m_bDropped | bool | ユーザーのSteamへの接続はドロップ(true)したか、別の方法で退出したか(false)。 |
関連する関数: LeaveClanChatRoomGameConnectedClanChatMsg_t
すでに参加済みのSteamグループチャットでチャットメッセージを受信すると呼び出されます。
関連する関数: JoinClanChatRoomGameConnectedFriendChatMsg_t
フレンドからチャットメッセージを受信したときに呼び出されます。
関連する関数: SetListenForFriendsMessagesGameLobbyJoinRequested_t
ユーザーが、フレンドリストまたは招待からロビーに参加しようとしたときに呼び出されます。 これを受信すると、ゲームクライアントは指定のロビーに接続しようとします。 ゲームが実行中ではない場合、代わりにコマンドラインパラメーター
+connect_lobby <64-bit lobby Steam ID>で自動的にゲームがローンチします。
| 名前 | 型 | 説明 |
| m_steamIDLobby | CSteamID | 接続するロビーのSteam ID。 |
| m_steamIDFriend | CSteamID | このフレンドを通して参加。 これはフレンド経由から直接ではない場合無効です。 |
注:このコールバックはロビーに参加するときに実行されます。 ユーザーがロビーではなくゲームに参加しようとした場合、コールバック
GameRichPresenceJoinRequested_tが作成されます。
GameOverlayActivated_t
Steamオーバーレイが有効化または無効化されるとポストされます。 シングルプレイヤーゲームの一時停止または再開に使用できます。
| 名前 | 型 | 説明 |
| m_bActive | uint8 | 1は有効化された時、それ以外は0。 |
GameRichPresenceJoinRequested_t
ユーザーがフレンドリストからゲームに参加しようとしたとき、または
InviteUserToGameでフレンドからの招待を受諾した後に呼び出されます。
関連する関数: InviteUserToGame注:このコールバックはゲームに参加するときに作成されます。 ユーザーがロビーに参加しようとすると、コールバック
GameLobbyJoinRequested_tが作成されます。
GameServerChangeRequested_t
ユーザーが、別のゲームサーバーにフレンドリスト経由で参加しようとすると呼び出されます。 これを受信すると、ゲームクライアントは指定のサーバーに接続しようとします。
JoinClanChatRoomCompletionResult_t
ユーザーがSteamグループチャットに
JoinClanChatRoom経由で参加しようとしたときにポストされます。
関連する関数: JoinClanChatRoomPersonaStateChange_t
フレンドのステータスが変わるたびに呼び出されます。
関連する関数: RequestUserInformation構造体
ISteamFriends内の関数が返す、またはやり取りする構造体です。
FriendGameInfo_t
フレンドがプレイ中のゲームに関する情報。
GetFriendGamePlayedから取得可能。
| 名前 | 型 | 説明 |
| m_gameID | CGameID | フレンドがプレイ中のゲームID。 |
| m_unGameIP | uint32 | フレンドがプレイ中のサーバーのIP。 |
| m_usGamePort | uint16 | フレンドがプレイ中のサーバーのポート。 |
| m_usQueryPort | uint16 | フレンドがプレイ中のサーバーのクエリポート。 |
| m_steamIDLobby | CSteamID | フレンドがいるロビーのSteam ID。 |
FriendSessionStateInfo_t
ユーザーセッションに関する情報。 (Steam内での使用のみ)
| 名前 | 型 | 説明 |
| m_uiOnlineSessionInstances | uint32 | |
| m_uiPublishedToFriendsSessionInstance | uint8 | |
EquippedProfileItemsChanged_t
ユーザーが装備中のSteamコミュニティプロフィールアイテムが変更された場合に呼び出されます。 現在のユーザーまたはそのフレンドに起こり得ます。
EquippedProfileItems_t
RequestEquippedProfileItemsの
CallResult コールバックとしても送信されます。
| 名前 | Type | 説明 |
| m_eResult | EResult | |
| m_bHasAnimatedAvatar | CSteamID | |
| m_bHasAvatarFrame | bool | |
| m_bHasProfileModifier | bool | |
| m_bHasProfileBackground | bool | |
| m_bHasMiniProfileBackground | bool | |
列挙型
これらはISteamFriendsで使用するために定義された列挙型です。
EFriendFlags
フレンドリストの列挙または、ユーザー間の関係性をすばやく確認するためのフラグ。
| 名前 | 値 | 説明 |
| k_EFriendFlagNone | 0x00 | なし。 |
| k_EFriendFlagBlocked | 0x01 | 現在のユーザーが連絡をブロックしているユーザー。 |
| k_EFriendFlagFriendshipRequested | 0x02 | 現在のユーザーにフレンド招待を送信したユーザー。 |
| k_EFriendFlagImmediate | 0x04 | 現在のユーザーの"通常の"フレンド。 |
| k_EFriendFlagClanMember | 0x08 | 現在のユーザーと1つでも同じ(小さな)Steamグループ内にいるユーザー。 |
| k_EFriendFlagOnGameServer | 0x10 | SetPlayedWithで設定された同一のゲームサーバーにいるユーザー。 |
| k_EFriendFlagRequestingFriendship | 0x80 | 現在のユーザーがフレンド招待を送信したユーザー。 |
| k_EFriendFlagRequestingInfo | 0x100 | RequestUserInformationへの呼び出しの後に、自身の追加情報を現在送信中のユーザー。 |
| k_EFriendFlagIgnored | 0x200 | 現在のユーザーが連絡を無視しているユーザー。 |
| k_EFriendFlagIgnoredFriend | 0x400 | 知ってはいるものの、現在のユーザーを無視しているユーザー。 |
| k_EFriendFlagChatMember | 0x1000 | 同じチャット内のユーザー。 |
| k_EFriendFlagAll | 0xFFFF | すべてのフレンドフラグを返します。 |
EFriendRelationship
Steamユーザー間に存在する一連の関係性を宣言します。
| 名前 | 値 | 説明 |
| k_EFriendRelationshipNone | 0 | ユーザーには関係性なし。 |
| k_EFriendRelationshipBlocked | 1 | ユーザーがたった今フレンド招待の無視をクリックした。 これは保存されません。 |
| k_EFriendRelationshipRequestRecipient | 2 | ユーザーが、現在のユーザーにフレンドリクエストを送信した。 |
| k_EFriendRelationshipFriend | 3 | "通常の"フレンド。 |
| k_EFriendRelationshipRequestInitiator | 4 | 現在のユーザーがフレンド招待を送信した。 |
| k_EFriendRelationshipIgnored | 5 | 現在のユーザーがこの別のユーザーからのコメントやチャットなどを明示的にブロックしている。 これは保存されます。 |
| k_EFriendRelationshipIgnoredFriend | 6 | ユーザーが現在のユーザーを無視した。 |
| k_EFriendRelationshipSuggested_DEPRECATED | 7 | 使用されていない -- 未使用。 |
| k_EFriendRelationshipMax | 8 | ループと検証に使用されるフレンド関係の総数。 |
EOverlayToStoreFlag
これらの値は、
ActivateGameOverlayToStoreを使用してパラメーターとしてストアに渡され、ページが開いたときの動作を変更します。
| 名前 | 値 | 説明 |
| k_EOverlayToStoreFlag_None | 0 | いいえ |
| k_EOverlayToStoreFlag_AddToCart | 1 | 使用されていない。現在はk_EOverlayToStoreFlag_AddToCartAndShowと同じように動作。 |
| k_EOverlayToStoreFlag_AddToCartAndShow | 2 | 指定のAppIDをユーザーのカートに追加し、ストアページを表示。 |
EPersonaChange
ユーザーに関する変更を示すためにPersonaStateChange_t::m_nChangeFlagsで使用されます。
これらのフラグは、クライアントが把握した最近の変更を表し、起動時にフレンド全員の名前、アバター、関係性の変更を表示します。
| 名前 | 値 | 説明 |
| k_EPersonaChangeName | 0x0001 | |
| k_EPersonaChangeStatus | 0x0002 | |
| k_EPersonaChangeComeOnline | 0x0004 | |
| k_EPersonaChangeGoneOffline | 0x0008 | |
| k_EPersonaChangeGamePlayed | 0x0010 | |
| k_EPersonaChangeGameServer | 0x0020 | |
| k_EPersonaChangeAvatar | 0x0040 | |
| k_EPersonaChangeJoinedSource | 0x0080 | |
| k_EPersonaChangeLeftSource | 0x0100 | |
| k_EPersonaChangeRelationshipChanged | 0x0200 | |
| k_EPersonaChangeNameFirstSet | 0x0400 | |
| k_EPersonaChangeFacebookInfo | 0x0800 | |
| k_EPersonaChangeNickname | 0x1000 | |
| k_EPersonaChangeSteamLevel | 0x2000 | |
EPersonaState
Steamフレンドの状態のリスト。
| 名前 | 値 | 説明 |
| k_EPersonaStateOffline | 0 | フレンドは現在ログインしていない。 |
| k_EPersonaStateOnline | 1 | フレンドはログイン中。 |
| k_EPersonaStateBusy | 2 | フレンドはログインしているが、ステータスが「取り込み中」に設定されている。 |
| k_EPersonaStateAway | 3 | 自動退席機能。 |
| k_EPersonaStateSnooze | 4 | 長時間の自動退席。 |
| k_EPersonaStateLookingToTrade | 5 | オンライン、トレード中。 |
| k_EPersonaStateLookingToPlay | 6 | オンライン、プレイ希望中。 |
| k_EPersonaStateMax | 7 | 状態の総数。 ループと確認のためのみに使用されます。 |
ECommunityProfileItemType
Steamコミュニティプロフィールアイテムのタイプ。
ECommunityProfileItemProperty
Steamコミュニティプロフィールアイテムのプロパティ。
GetProfileItemPropertyStringおよび
GetProfileItemPropertyUintを参照してください。
EActivateGameOverlayToWebPageMode
ゲームオーバーレイのWebページモード 。
| 名前 | 値 | 説明 |
| k_EActivateGameOverlayToWebPageMode_Default | 0 | ブラウザーは、ユーザーがオーバーレイで開いている他のすべてのウィンドウの横に開く。 ユーザーがオーバーレイを閉じてから再度開いた場合でも、このウィンドウは開いたままになる。 |
| k_EActivateGameOverlayToWebPageMode_Modal | 1 | ブラウザーは、ユーザーがオーバーレイで開いている他のすべてのウィンドウを非表示にする特別なオーバーレイ設定で開かれる。 ユーザーがオーバーレイを閉じると、ブラウザーウィンドウも閉じる。 ユーザーがブラウザーウィンドウを閉じると、オーバーレイは自動的に閉じる。 |
Typedefs
これらはISteamFriendsで使用するために定義されたtypedefsです。
| 名前 | ベース型 | 説明 |
| FriendsGroupID_t | int16 | フレンドグループ(タグ)識別子。 |
定数
これらはISteamFriendsで使用するために定義された定数です。
| 名前 | 型 | 値 | 説明 |
| k_cchMaxFriendsGroupName | int | 64 | フレンドグループ名の最大文字数(NULL終了文字を含まない)。 |
| k_cchMaxRichPresenceKeyLength | int | 64 | リッチプレゼンスキーで可能な最長の長さ。 |
| k_cchMaxRichPresenceKeys | int | 20 | 設定可能なリッチプレゼンスキーの最大数。 |
| k_cchMaxRichPresenceValueLength | int | 256 | リッチプレゼンス値で可能な最長の長さ。 |
| k_cchPersonaNameMax | int | 128 | ユーザーのペルソナ(表示)名のUTF-8バイトの最大数。 |
| k_cEnumerateFollowersMax | int | 50 | 一度のFriendsEnumerateFollowingList_t呼び出し結果で返される最大のフォロワー数。 |
| k_cFriendsGroupLimit | int | 100 | 使用されていません-未使用。 |
| k_cubChatMetadataMax | uint32 | 8192 | チャットルーム、ロビー、またはチャット/ロビーメンバーのメタデータが持てる最大のサイズ(バイト数)。 |
| k_cwchPersonaNameMax | int | 32 | ユーザーのペルソナ(表示)名のUTF-16文字の最大数。 |
| k_FriendsGroupID_Invalid | FriendsGroupID_t | -1 | 無効なフレンドグループ識別子。 |
| STEAMFRIENDS_INTERFACE_VERSION | const char * | "SteamFriends015" | |
リッチプレゼンスローカリゼーション
リッチプレゼンスのためのローカリゼーションは、各対応言語のトークン名と値のリストです。 トークン名は「#」で始まり、アルファベットや数字、またはアンダースコア(「_」)を含むことができます。 トークン値はローカライズされたテキストを含み、文字列内で他のリッチプレゼンス値への置き換えを指定する「
置換」を含む場合もあります。
- 最もシンプルなトークンはローカライズされたプレーンテキストです:
"#Status_AtMainMenu" "At the Main Menu"
上記の例では 、SetRichPresenceを使ってsteam_displayが#Status_AtMainMenuに設定され、"At the Main Menu" がプレイヤー情報とともにSteamクライアントに表示されます。
- 置換は以下のようになります:
"#StatusWithScore" "Score: %score%"
この場合、SetRichPresenceを使用してsteam_displayが"#StatusWithScore"に設定されれば、"score"が"3"に設定されます。 同じAPIを利用して、"Score: 3" がプレイヤー情報とともにSteamクライアントに表示されます。
- 置換は、サブストリングを中括弧で囲むことにより、追加のローカライズをトリガーすることもできます。 例は以下のとおりです:
"#PlayingHero" "Playing: {#Hero_%hero%}"
"#Hero_Tidehunter" "Tidehunter"
中括弧で区切られた部分文字列の置換が最初に実行され、次に結果のタグがローカライズされます。 この場合、steam_displayに"#PlayingHero"を設定、 "hero"に"Tidehunter"を設定すると、Steamクライアントは"#Hero_Tidehunter"をローカライズして"Playing: Tidehunter"を表示します。
注:置換に使用されるリッチプレゼンスキーに含めることができるのは、アルファベット、数字、アンダースコア、コロンのみです。
ローカリゼーショントークンが見つからない場合には、システムは英語にフォールバックします。 英語が見つからない場合、Steamクライアントではリッチプレゼンスは表示されません。 同様に、トークンが未設定のリッチプレゼンスキーを使用して置換を指定した場合、Steamクライアントではリッチプレゼンスは表示されません。
開発元はリッチプレゼンスローカリゼーションファイルを、Steamworks設定を編集ページにあるコミュニティタブのリッチプレゼンスセクションから提供してください。

テストに関しては、 http://www.steamcommunity.com/dev/testrichpresenceにアクセスするとログインしたユーザー向けにリッチプレゼンス文字列を表示でき、未完成または正しくないデータに対してはエラー情報が表示されます。 文字列はSteam Webサイトで設定された言語にローカライズされます。
各言語はファイルで個別にアップロードされ、次のようになります:
"lang"
{
"english"
{
"tokens"
{
"#StatusWithoutScore" "{#Status_%gamestatus%}"
"#StatusWithScore" "{#Status_%gamestatus%}: %score%"
"#Status_AtMainMenu" "At the main menu"
"#Status_WaitingForMatch" "Waiting for match"
"#Status_Winning" "Winning"
"#Status_Losing" "Losing"
"#Status_Tied" "Tied"
}
}
}
一度のアップロードで複数の言語を追加できます。 ファイル内に存在する言語のみが上書きされます。
"lang"
{
"english"
{
"tokens"
{
"#StatusWithoutScore" "{#Status_%gamestatus%}"
"#StatusWithScore" "{#Status_%gamestatus%}: %score%"
"#Status_AtMainMenu" "At the main menu"
"#Status_WaitingForMatch" "Waiting for match"
"#Status_Winning" "Winning"
"#Status_Losing" "Losing"
"#Status_Tied" "Tied"
}
}
"french"
{
"tokens"
{
"#Status_AtMainMenu" "Au menu principal"
"#Status_WaitingForMatch" "En attente de match"
"#Status_Winning" "Gagnant"
"#Status_Losing" "Perdant"
"#Status_Tied" "Egalité"
}
}
}