Steamworksドキュメント
ISteamFriendsインターフェイス
個別のユーザーの情報へアクセスするためのインターフェイスで、 Steamオーバーレイと通信します。

メンバー関数

ISteamFriendsのメンバー関数は、グローバルのアクセサ関数SteamFriends()経由で呼び出されます。

ActivateGameOverlay

void ActivateGameOverlay( const char *pchDialog );
名前型説明
pchDialogconst char *開くダイアログ。 有効なオプション:"friends", "community", "players", "settings", "officialgamegroup", "stats", "achievements".

Steamオーバーレイを有効化して指定のダイアログを開きます。

これは、steamIDをISteamUser::GetSteamIDに設定してActivateGameOverlayToUserを呼び出すことと同等です。

例:
SteamFriends()->ActivateGameOverlay( "friends" );

ActivateGameOverlayInviteDialog

void ActivateGameOverlayInviteDialog( CSteamID steamIDLobby );
名前型説明
steamIDLobbyCSteamID選択したユーザーが招待されるロビーのSteamID。

Steamオーバーレイ有効化して招待ダイアログを開きます。 このダイアログから送信された招待は提供されたロビー用です。

ActivateGameOverlayToStore

void ActivateGameOverlayToStore( AppId_t nAppID, EOverlayToStoreFlag eFlag );
名前型説明
nAppIDAppId_tストアページを表示するAppID。
eFlagEOverlayToStoreFlagページが開いた時の動作を変更するためのフラグ。

Steamオーバーレイを有効化して提供されたアプリのSteamストアページを開きます。

k_uAppIdInvalidを使用すると、ユーザーはSteamストアのフロントページに移動します。

ActivateGameOverlayToUser

void ActivateGameOverlayToUser( const char *pchDialog, CSteamID steamID );
名前型説明
pchDialogconst char *開くダイアログ。
steamIDCSteamIDこのダイアログを開くコンテキストの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 );
名前型説明
pchURLconst char *開くWebサイト。 (プロトコルを含む完全修飾アドレスが必須です。例: "http://www.steampowered.com")
eModeEActivateGameOverlayToWebPageModeWebページ用のモード。 デフォルトはk_EActivateGameOverlayToWebPageMode_Default

SteamオーバーレイWebブラウザーを有効化して直接指定のURLを開きます。

ClearRichPresence

void ClearRichPresence();
現在のユーザーのすべてのリッチプレゼンスキー/値をクリアします。

CloseClanChatWindowInSteam

bool CloseClanChatWindowInSteam( CSteamID steamIDClanChat );
名前型説明
steamIDClanChatCSteamID終了するSteamグループチャットのSteamID。

Steam UI内の指定のSteamグループチャットルームを終了します。

戻り値: bool
true となるのはユーザーがSteamグループチャットルームから正常に退出したときです。
false はユーザーが提供されたSteamグループチャットルームに居ないときです。

こちらも参照してください: IsClanChatWindowOpenInSteam、OpenClanChatWindowInSteam

DownloadClanActivityCounts

SteamAPICall_t DownloadClanActivityCounts( CSteamID *psteamIDClans, int cClansToRequest );
名前型説明
psteamIDClansCSteamID *アップデートされたデータを取得するSteamグループのリスト。
cClansToRequestintpsteamIDClans内のグループ数である必要があります。

Steamグループアクティビティデータを更新するか、現在のユーザーがメンバーではないグループからのデータを取得します。

コールバックを受け取ってからGetClanActivityCountsを使用して最新のユーザー数を取得できます。

戻り値: SteamAPICall_tはDownloadClanActivityCountsResult_tの呼び出し結果と使用されます。

EnumerateFollowingList

SteamAPICall_t EnumerateFollowingList( uint32 unStartIndex );
名前型説明
unStartIndexuint32フォロワーの受信を開始するインデックス。 最初の呼び出しでは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 );
名前型説明
steamIDClanCSteamIDこれは以前のGetClanChatMemberCountの呼び出しに使用されたのと同じソースでなければなりません!
iUserint0からGetClanChatMemberCountの間のインデックス。

Steamグループチャットで指定されたインデックスのSteam IDを取得します。

注: GetClanChatMemberCountを呼び出してから、これを呼び出す必要があります。

戻り値: CSteamID
無効なインデックスはk_steamIDNilを返します。

GetClanActivityCounts

bool GetClanActivityCounts( CSteamID steamIDClan, int *pnOnline, int *pnInGame, int *pnChatting );
名前型説明
steamIDClanCSteamIDアクティビティを取得するSteamグループ。
pnOnlineint *オンラインのメンバーの数を返します。
pnInGameint *ゲーム内のメンバーの数を返します(ステータスがオフラインのメンバーはここから除外されます)
pnChattingint *グループチャットルーム内のメンバーの数を返します。

Steamグループ内のユーザーが何をしているかについての最新情報を取得します。

これはローカルクライアントが知る限りのデータのみを取得します。 データの更新や、現在のユーザーが所属する別のグループからのデータを取得するには DownloadClanActivityCountsを呼び出す必要があります。

戻り値: bool
true となるのはデータが正常に返されたときです。
false となるのは、提供されたSteam IDが無効か、ローカルクライアントがSteamグループについて情報を持たないために他のすべてのパラメーターが0に設定された場合です。

GetClanByIndex

CSteamID GetClanByIndex( int iClan );
名前型説明
iClanint0からGetClanCountの間のインデックス。

このAPIは非推奨です。

指定されたインデックスでSteamグループのSteam IDを取得します。

注: GetClanCountを呼び出してから、これを呼び出す必要があります。

戻り値: CSteamID
無効なインデックスはk_steamIDNilを返します。

GetClanChatMemberCount

int GetClanChatMemberCount( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamIDチャット数を取得する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 );
名前型説明
steamIDClanChatCSteamIDSteamグループチャットルームのSteamID。
iMessageintメッセージのインデックス。 これはGameConnectedClanChatMsg_tのm_iMessageIDフィールドです。
prgchTextvoid *チャットメッセージがコピーされるバッファー。 (2048 UTF-8文字以上が必要です。 従って、8192bytes +1で '\0')
cchTextMaxintprgchTextのサイズ。
peChatEntryTypeEChatEntryType *受け取ったチャットエントリーのタイプを返します。
psteamidChatterCSteamID *メッセージを送信したユーザーの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 );
名前型説明
steamIDClanCSteamID名前を取得するSteamグループ。

ローカルクライアントにとって既知の場合、指定のSteamグループの表示名を取得します。

戻り値: const char *
UTF-8形式のSteamグループ名。 提供されたSteam IDが無効な場合、またはユーザーがグループを知らない場合には空の文字列("")を返します。

こちらも参照してください: DownloadClanActivityCounts

GetClanOfficerByIndex

CSteamID GetClanOfficerByIndex( CSteamID steamIDClan, int iOfficer );
名前型説明
steamIDClanCSteamIDこれは以前のGetClanOfficerCountの呼び出しに使用されたのと同じSteamグループでなければなりません!
iOfficerint0からGetClanOfficerCountの間のインデックス。

Steamグループで指定されたインデックスの上級メンバーのSteam IDを取得します。

注: GetClanOfficerCountを呼び出してから、これを呼び出す必要があります。

戻り値: CSteamID
steamIDClanまたはiOfficerが無効な場合にはk_steamIDNil

GetClanOfficerCount

int GetClanOfficerCount( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamID上級メンバー数を取得するSteamグループ。

指定のSteamグループ内の上級メンバー(管理人とモデレーター)の人数を取得します。

これにはSteamグループのオーナーも含まれます。

これは反復に使用されます。これを呼び出した後にGetClanOfficerByIndexを使って、各上級メンバーのSteam IDを取得できます。

注: 必須データを取得するためには、これの前にRequestClanOfficerListを呼び出す必要があります!

戻り値: int
Staemグループ内の上級メンバーの数。 steamIDClanが無効またはRequestClanOfficerListが呼び出されていない場合、0を返します。

GetClanOwner

CSteamID GetClanOwner( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamIDオーナーを取得するSteamグループのSteam ID。

Steamグループのオーナーを取得します。

注: 必須データを取得するためには、これの前にRequestClanOfficerListを呼び出す必要があります!

戻り値: CSteamID
steamIDClanが無効またはRequestClanOfficerListが呼び出されていない場合、k_steamIDNilを返します。

GetClanTag

const char * GetClanTag( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamIDタグを取得するSteamグループ。

ローカルクライアントにとって既知の場合、指定のSteamグループの一意のタグ(略称)を取得します。

Steamグループの略称は、グループを識別するためのユニークな方法であり、12文字に制限されます。 ゲームによっては、これをグループメンバーの横に表示します。

戻り値: const char *
UTF-8形式のSteamグループタグ。 提供されたSteam IDが無効な場合、またはユーザーがグループを知らない場合には空の文字列("")を返します。

こちらも参照してください: DownloadClanActivityCounts

GetCoplayFriend

CSteamID GetCoplayFriend( int iCoplayFriend );
名前型説明
iCoplayFriendint0からGetCoplayFriendCountの間のインデックス。

指定のインデックスで最近一緒にプレイしたユーザーの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 );
名前型説明
steamIDCSteamIDフォロワーカウントを取得するユーザー。

指定のユーザーをフォロー中のユーザー数を取得します。

戻り値: 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 );
名前型説明
iFriendint0からGetFriendCountの間のインデックス。
iFriendFlagsint EFriendFlagsの複合ユニオン(バイナリ"or") これは以前のGetFriendCountの呼び出しに使用されたのと同じ値でなければなりません!

指定のインデックスでユーザーのSteam IDを取得します。

注: GetFriendCountを呼び出してから、これを呼び出す必要があります。

戻り値: CSteamID
無効なインデックスはk_steamIDNilを返します。

GetFriendCoplayGame

AppId_t GetFriendCoplayGame( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamIDゲームをプレイする、最近一緒にプレイしたリスト上のユーザーのSteam ID

ユーザーが最近一緒にプレイしたリスト上のユーザーとプレイしたゲームのApp IDを取得します。

戻り値: AppId_t
最近一緒にプレイしたリストに入っていないSteam IDはk_uAppIdInvalidを返します。

GetFriendCoplayTime

int GetFriendCoplayTime( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamIDタイムスタンプを取得する、最近一緒にプレイしたリスト上のユーザーのSteam ID

ユーザーが最近一緒にプレイしたリスト上のユーザーとプレイしたときのタイムスタンプを取得します。

戻り値: int
時間はUnixエポック形式(1970年1月1日以降の時間、秒単位)で提供されます。
最近一緒にプレイしたリスト上にないSteam IDは0を返します。

GetFriendCount

int GetFriendCount( int iFriendFlags );
名前型説明
iFriendFlagsint 1つ以上のEFriendFlagsの複合ユニオン(バイナリ"or")

指定の条件を満たすユーザーで、クライアントが知っているユーザーの数を取得します。 (フレンド、ブロック中、同一サーバー上、等)

これは、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 );
名前型説明
steamIDSourceCSteamIDユーザー数を取得するSteamグループ、チャットルーム、ロビーまたはゲームサーバー。

ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザー数を取得します。

注: ローカルユーザーは大きなSteamグループを繰り返すことはできません。

注: ロビーメンバー数の取得には、代わりにISteamMatchmaking::GetNumLobbyMembersを使ってください。

これは反復に使用されます。これを呼び出した後にGetFriendFromSourceByIndexを使って、ソース内の各ユーザーのSteam IDを取得できます。

戻り値: int
0 となるのは、提供されたSteam IDが無効な場合またはローカルユーザーに利用可能なデータが無い場合です。

GetFriendFromSourceByIndex

CSteamID GetFriendFromSourceByIndex( CSteamID steamIDSource, int iFriend );
名前型説明
steamIDSourceCSteamIDこれは以前のGetFriendCountFromSourceの呼び出しに使用されたのと同じソースでなければなりません!
iFriendint0からGetFriendCountFromSourceの間のインデックス。

ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)から与えられたインデックスでSteam IDを取得します。

注: GetFriendCountFromSourceを呼び出してから、これを呼び出す必要があります。

戻り値: CSteamID
無効なインデックスはk_steamIDNilを返します。

GetFriendGamePlayed

bool GetFriendGamePlayed( CSteamID steamIDFriend, FriendGameInfo_t *pFriendGameInfo );
名前型説明
steamIDFriendCSteamID他のユーザーのSteamID。
pFriendGameInfoFriendGameInfo_t *ユーザーがゲーム内に居れば詳細を入力します。

指定のフレンドがゲーム内に居るかを確認し、ゲーム内に居ればゲームの詳細を取得します。

戻り値: bool
true となるのはフレンドがゲーム内にいる時のみで、それ以外はfalseです。

GetFriendMessage

int GetFriendMessage( CSteamID steamIDFriend, int iMessageID, void *pvData, int cubData, EChatEntryType *peChatEntryType );
名前型説明
steamIDFriendCSteamIDこのメッセージを送信したフレンドのSteam ID。
iMessageIDintメッセージのインデックス。 これはGameConnectedFriendChatMsg_tのm_iMessageIDフィールドです。
pvDatavoid *チャットメッセージがコピーされるバッファー。
cubDataintpvDataのサイズ。
peChatEntryTypeEChatEntryType *受け取ったチャットエントリーのタイプを返します。

Steamフレンドメッセージからデータを取得します。

これはGameConnectedFriendChatMsg_tコールバックへの応答でのみ呼び出されるべきです。

戻り値: int
pvDataにコピーされたバイト数。
0を返し、現在のユーザーがチャット制限を受けている場合、提供されたSteam IDがフレンドではない場合、またはiMessageIDで提供されたインデックスが無効の場合に、peChatEntryTypeをk_EChatEntryTypeInvalidに設定します。

GetFriendPersonaName

const char * GetFriendPersonaName( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamID他のユーザーのSteamID。

指定のユーザーのペルソナ(表示)名を取得します。

これは、他のユーザーがフレンドリスト、同一ゲームサーバー、チャットルームやロビー、またはローカルユーザーとの小さなSteamグループ内にいる場合のみ、現在のユーザーに認識されます。

注: ロビー、チャットルーム、ゲームサーバーに初めて参加するとき、現在のユーザーは他のユーザーの名前を自動で知ることはありません。これらの情報はPersonaStateChange_tコールバックを介して非同期に到着します。

現在のユーザーのペルソナ名の取得にはGetPersonaNameを使用します。

戻り値: const char *
UTF-8形式の現在のユーザーのペルソナ名。 NULLになることはありません。

Steam IDが無効の場合、または呼び出し元がSteam IDを知らない場合は、空の文字列("")か、"[unknown]"を返します。

GetFriendPersonaNameHistory

const char * GetFriendPersonaNameHistory( CSteamID steamIDFriend, int iPersonaName );
名前型説明
steamIDFriendCSteamID他のユーザーのSteamID。
iPersonaNameint受け取る履歴のインデックス。 0が現在のペルソナ名で、1が変更する前の最も最近のものです。

指定のユーザーの以前の表示名を1つ取得します。

これは、現在のユーザーがローカルコンピューターで表示した表示名にのみ機能します。

戻り値: const char *
指定のインデックスでのプレイヤーの以前のペルソナ名。 履歴内にこれ以上アイテムが無い場合には空の文字列を返します。

GetFriendPersonaState

EPersonaState GetFriendPersonaState( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamID他のユーザーのSteamID。

指定のユーザーの現在の状況を取得します。

これは、他のユーザーがフレンドリスト、同一ゲームサーバー、チャットルームやロビー、またはローカルユーザーとの小さなSteamグループ内にいる場合のみ、現在のユーザーに認識されます。

現在のユーザーの状況の取得には、GetPersonaStateを使用します。

戻り値: EPersonaState
指定のユーザーのフレンドの状態。 (オンライン、オフライン、ゲーム中など)

GetFriendRelationship

EFriendRelationship GetFriendRelationship( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamID他のユーザーのSteam ID。

指定のユーザーとの関係を取得します。

戻り値: EFriendRelationship
ユーザー同士の関係。

GetFriendRichPresence

const char * GetFriendRichPresence( CSteamID steamIDFriend, const char *pchKey );
名前型説明
steamIDFriendCSteamIDリッチプレゼンスの値を取得するフレンド。
pchKeyconst char *リクエストするリッチプレゼンスキー。

指定のフレンドからリッチプレゼンスの値を取得します。

戻り値: const char *
指定のキーが設定されていなければ空の文字列("")を返します。

こちらも参照してください: RequestFriendRichPresence、SetRichPresence

GetFriendRichPresenceKeyByIndex

const char * GetFriendRichPresenceKeyByIndex( CSteamID steamIDFriend, int iKey );
名前型説明
steamIDFriendCSteamIDこれは以前のGetFriendRichPresenceKeyCountの呼び出しに提供されたのと同じユーザーでなければなりません!
iKeyint0からGetFriendRichPresenceKeyCountの間のインデックス。



戻り値: const char *
インデックスが無効の場合、または指定のユーザーに利用可能なリッチプレゼンスデータが無い場合は、空の文字列("")を返します。

GetFriendRichPresenceKeyCount

int GetFriendRichPresenceKeyCount( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamIDリッチプレゼンスキーの数を取得するユーザーの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 );
名前型説明
iFGint0からGetFriendsGroupCountの間のインデックス。

指定のインデックスのフレンドグループを取得します。

注: GetFriendsGroupCountを呼び出してから、これを呼び出す必要があります。

戻り値: FriendsGroupID_t
無効なインデックスはk_FriendsGroupID_Invalidを返します。

GetFriendsGroupMembersCount

int GetFriendsGroupMembersCount( FriendsGroupID_t friendsGroupID );
名前型説明
friendsGroupIDFriendsGroupID_tフレンドの数を取得するフレンドグループID。

指定のフレンドグループ内のフレンドの数を取得します。

これは、フレンドのリストをGetFriendsGroupMembersListで取得する前に呼び出す必要があります。

戻り値: int
指定のフレンドグループ内のフレンドの数。

こちらも参照してください: GetFriendsGroupCount

GetFriendsGroupMembersList

void GetFriendsGroupMembersList( FriendsGroupID_t friendsGroupID, CSteamID *pOutSteamIDMembers, int nMembersCount );
名前型説明
friendsGroupIDFriendsGroupID_tメンバーリストを取得するフレンドグループID。
pOutSteamIDMembersCSteamID *この配列に設定することによってフレンドのSteam IDを取得します。
nMembersCountintこれはpOutSteamIDMembersに割り当てられた要素の数とGetFriendsGroupMembersCountによって返された値と一致する必要があります。

指定のフレンドグループ内のフレンドの数を取得します。

フレンドの数が要求された数より少なければ、それらのポジションのSteam IDは無効になります。

pOutSteamIDMembers配列を適切なサイズに設定するには、これを呼び出す前にGetFriendsGroupMembersCountを呼び出す必要があります。

こちらも参照してください: GetFriendsGroupCount

GetFriendsGroupName

const char * GetFriendsGroupName( FriendsGroupID_t friendsGroupID );
名前型説明
friendsGroupIDFriendsGroupID_t名前を取得するフレンドグループID。

指定のフレンドグループの名前を取得します。

戻り値: const char *
UTF-8形式のフレンドグループ名。 グループIDが無効の場合NULLを返します。

こちらも参照してください: GetFriendsGroupCount

GetFriendSteamLevel

int GetFriendSteamLevel( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamIDユーザーのSteam ID

指定のユーザーのSteamレベルを取得します。

レベルを取得するにはローカルユーザーのSteam ID(ISteamUser::GetSteamID)を使用できます。

戻り値: int
Steamレベル(取得可能の場合)

指定のユーザーのSteamレベルが即座に利用できなければ、これは0を返し、Steamサーバーからダウンロードするようにキューに入れます。 ダウンロードされたらPersonaStateChange_tコールバックがk_EPersonaChangeSteamLevelを含むm_nChangeFlagsと共にポストされます。

GetLargeFriendAvatar

int GetLargeFriendAvatar( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamID

指定のユーザー用の大きなサイズ(128 x 128px)のアバターへのハンドルを取得します。

ISteamUser::GetSteamIDを渡して現在のユーザーのアバターを取得できます。

注: これはローカルユーザーが知っているユーザーにのみ機能します。 フレンド、リクエストしたランキング上のユーザー、同一ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザーを自動で認識します。 これらのユーザーを認識しない場合には、RequestUserInformationを呼び出してアバターをローカルでキャッシュする必要があります。

戻り値: int
AvatarImageLoaded_tコールバックをトリガーします。
ISteamUtils::GetImageSizeとISteamUtils::GetImageRGBAで使用されるSteamイメージハンドル。
ユーザーにアバターが設定されていない場合は0を返します。
アバターの画像データがまだ読み込まれておらず、ダウンロードを要求する場合は、-1を返します。 その場合、AvatarImageLoaded_t コールバックを待ってから、もう一度呼び出します。

こちらも参照してください: GetMediumFriendAvatar、GetSmallFriendAvatar

GetMediumFriendAvatar

int GetMediumFriendAvatar( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamID

指定のユーザー用の中くらいのサイズ(64 x 64px)のアバターへのハンドルを取得します。

ISteamUser::GetSteamIDを渡して現在のユーザーのアバターを取得できます。

注: これはローカルユーザーが知っているユーザーにのみ機能します。 フレンド、リクエストしたランキング上のユーザー、同一ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザーを自動で認識します。 これらのユーザーを認識しない場合には、RequestUserInformationを呼び出してアバターをローカルでキャッシュする必要があります。

戻り値: int
ISteamUtils::GetImageSizeとISteamUtils::GetImageRGBAで使用されるSteamイメージハンドル。
ユーザーにアバターが設定されていない場合は0を返します。

こちらも参照してください: GetLargeFriendAvatar、GetSmallFriendAvatar

GetPersonaName

const char * GetPersonaName();
現在のユーザーのペルソナ(表示)名を取得します。

これはユーザーのコミュニティプロフィールページに表示されているのと同一の名前です。

現在のユーザーのペルソナ名の取得にはGetPersonaNameを使用します。

戻り値: const char *
UTF-8形式の現在のユーザーのペルソナ名。 NULLになることはありません。

GetPersonaState

EPersonaState GetPersonaState();
現在のユーザーのフレンドの状況を取得します。

他のユーザーの状況の取得にはGetFriendPersonaStateを使用します。

戻り値: EPersonaState
現在のユーザーのフレンドの状況。 (オンライン、オフライン、ゲーム中など)

GetPlayerNickname

const char * GetPlayerNickname( CSteamID steamIDPlayer );
名前型説明
steamIDPlayerCSteamIDユーザーのSteam ID

現在のユーザーが指定のユーザーに設定したニックネームを取得します。

戻り値: const char *
NULL となるの対象のユーザーにニックネームが設定されていない場合です。

GetSmallFriendAvatar

int GetSmallFriendAvatar( CSteamID steamIDFriend );
名前型説明
steamIDFriendCSteamID

指定のユーザー用の小さなサイズ(32 x 32px)のアバターへのハンドルを取得します。

ISteamUser::GetSteamIDを渡して現在のユーザーのアバターを取得できます。

注: これはローカルユーザーが知っているユーザーにのみ機能します。 フレンド、リクエストしたランキング上のユーザー、同一ソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内のユーザーを自動で認識します。 これらのユーザーを認識しない場合には、RequestUserInformationを呼び出してアバターをローカルでキャッシュする必要があります。

戻り値: int
ISteamUtils::GetImageSizeとISteamUtils::GetImageRGBAで使用されるSteamイメージハンドル。
ユーザーにアバターが設定されていない場合は0を返します。

こちらも参照してください: GetLargeFriendAvatar、GetMediumFriendAvatar

HasFriend

bool HasFriend( CSteamID steamIDFriend, int iFriendFlags );
名前型説明
steamIDFriendCSteamIDフレンドの状況を確認するSteamユーザー。
iFriendFlagsint 1つ以上のEFriendFlagsの複合ユニオン(バイナリ"or")

ユーザーが指定の条件を満たしているか確認します。 (フレンド、ブロック中、同一サーバー上など)

戻り値: bool
true となるのは指定のユーザーがiFriendFlagsで指定した条件を満たしているときです。それ以外はfalseです。

InviteUserToGame

bool InviteUserToGame( CSteamID steamIDFriend, const char *pchConnectString );
名前型説明
steamIDFriendCSteamID招待するフレンドのSteam ID。
pchConnectStringconst char *フレンドにゲームへの参加方法を知らせる文字列(例:ゲームサーバーIP)。 k_cchMaxRichPresenceValueLengthの指定より長くてはいけません。

特別の招待文字列を使用して、フレンドまたはクランメンバーを現在のゲームに招待します。

対象のユーザーが招待を受諾した場合、ゲームを起動する際にコマンドラインにpchConnectStringが追加されます。
そのユーザーがすでにゲームを実行中の場合には、接続文字列とともにGameRichPresenceJoinRequested_tコールバックを受け取ります。

戻り値: bool
GameRichPresenceJoinRequested_tコールバックをトリガーします。
true となるのは招待が正常に送信されたときです。
false となるのは次の場合です:
  • steamIDFriendに提供されたSteam IDが無効。
  • steamIDFriendに提供されたSteam IDがフレンドではないか、現在のユーザーと同じSteamグループに属していない。
  • pchConnectStringに提供された値が長すぎる。

こちらも参照してください: ISteamMatchmaking::InviteUserToLobby

IsClanChatAdmin

bool IsClanChatAdmin( CSteamID steamIDClanChat, CSteamID steamIDUser );
名前型説明
steamIDClanChatCSteamIDSteamグループチャットルームのSteamID。
steamIDUserCSteamID管理ステータスをチェックするユーザーのSteam ID。

Steamグループチャットルーム内のユーザーが管理人かどうかを確認します。

戻り値: bool
true となるのは指定のユーザーが管理人のときです。
false となるのは、そのユーザーが管理人ではない場合、現在のユーザーが指定のチャットルームにいない場合、または現在のユーザーがチャットルームにいない場合です。

IsClanPublic

bool IsClanPublic( CSteamID steamIDClan );
名前型説明
steamIDClan CSteamIDSteamグループのSteamID。

Steamグループが公開グループかを確認します。

戻り値: bool
true となるのは指定のグループが公開のときです。
false となるのは指定のグループが非公開のときです。

IsClanOfficialGameGroup

bool IsClanOfficialGameGroup( CSteamID steamIDClan );
名前型説明
steamIDClan CSteamIDSteamグループのSteamID。

Steamグループが公式のゲームグループ/コミュニティハブかどうかを確認します。

戻り値: bool
true となるのは指定のグループが公式のゲームグループ/コミュニティハブの場合です。
false となるのは指定のグループが公式のゲームグループ/コミュニティハブではない場合です。

IsClanChatWindowOpenInSteam

bool IsClanChatWindowOpenInSteam( CSteamID steamIDClanChat );
名前型説明
steamIDClanChatCSteamID確認するSteamグループチャットルームのSteam ID。

SteamグループチャットルームがSteam UIで開いているかを確認します。

戻り値: bool
true となるのは指定のSteamグループチャットルームが開いている場合で、それ以外はfalseを返します。
また、指定のSteamグループチャットルームが不明の場合もfalseを返します。

こちらも参照してください: OpenClanChatWindowInSteam、CloseClanChatWindowInSteam

IsFollowing

SteamAPICall_t IsFollowing( CSteamID steamID );
名前型説明
steamIDCSteamIDフォロー中かを確認する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 );
名前型説明
steamIDUserCSteamIDソース内にいるかを確認するユーザー。
steamIDSourceCSteamIDユーザーを確認するソース。

このAPIは非推奨です。

指定のユーザーがソース(Steamグループ、チャットルーム、ロビー、またはゲームサーバー)内にいるかを確認します。

戻り値: bool
true となるのはローカルユーザーにsteamIDUserがメンバーであることか steamIDSource内にいることが分かるときで、それ以外はfalseです。

JoinClanChatRoom

SteamAPICall_t JoinClanChatRoom( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamID参加するSteamグループのSteam ID。

ユーザーがそのゲーム内でSteamグループ(クラン)に参加できるようにします。

ユーザーがゲーム外からまたはオーバーレイ内にてグループチャットにすでに参加している可能性があるため、この動作はやや複雑です。

ActivateGameOverlayToUserを使ってゲーム内オーバーレイバージョンのチャットを使用できます。

Steamグループチャットに参加済みの場合、次のコールバックを確認する必要があります:

戻り値: SteamAPICall_tはJoinClanChatRoomCompletionResult_tの呼び出し結果と使用されます。
GameConnectedChatJoin_tコールバックをトリガーします。
GameConnectedClanChatMsg_tコールバックをトリガーします。


こちらも参照してください: LeaveClanChatRoom、GetClanChatMemberCount、GetChatMemberByIndex、SendClanChatMessage、GetClanChatMessage、IsClanChatAdmin、IsClanChatWindowOpenInSteam

LeaveClanChatRoom

bool LeaveClanChatRoom( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamID退出するSteamグループチャットのSteamID。

ユーザーがJoinClanChatRoomで参加済みのSteamグループチャットを退出します。

戻り値: bool
GameConnectedChatLeave_tコールバックをトリガーします。
true となるのはユーザーが指定のチャットルームにいるときのみで、それ以外はfalseです。

OpenClanChatWindowInSteam

bool OpenClanChatWindowInSteam( CSteamID steamIDClanChat );
名前型説明
steamIDClanChatCSteamID開くSteamグループチャットルームのSteam ID。

Steam UIで指定のSteamグループチャットルームを開きます。

戻り値: bool
true となるのはユーザーがSteamグループチャットルームから正常に入室したときです。
false となるのは、次のいずれかの状況です:
  • 指定のSteamグループチャットルームが存在しないか、ユーザーがそこへの参加アクセスを持たない。
  • 現在のユーザーに現在レート制限がある。
  • 現在のユーザーにチャット制限がある。

こちらも参照してください: IsClanChatWindowOpenInSteam、CloseClanChatWindowInSteam

ReplyToFriendMessage

bool ReplyToFriendMessage( CSteamID steamIDFriend, const char *pchMsgToSend );
名前型説明
steamIDFriendCSteamIDメッセージ送信先のフレンドのSteam ID。
pchMsgToSendconst char *UTF-8形式の送信するメッセージ。

Steamフレンドにメッセージを送信します。

戻り値: bool
true となるのはメッセージが正常に送信されたときです。
false となるのは現在のユーザーにレート制限かチャット制限があるときです。

RequestClanOfficerList

SteamAPICall_t RequestClanOfficerList( CSteamID steamIDClan );
名前型説明
steamIDClanCSteamID上級メンバーリストを取得する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 );
名前型説明
steamIDFriendCSteamIDリッチプレゼンスを要求するユーザーのSteam ID。

指定のユーザーのリッチプレゼンスデータを要求します。

現在のユーザーのフレンドではないユーザー(同一ロビーやゲームサーバー上にいるユーザーなど)のリッチプレゼンス情報を取得するときに使用されます。

この関数にはレート制限があり、特定のユーザーに対する呼び出し回数が非常に頻繁になると、サーバーからの新しいデータを要求せずにコールバックを即座にポストします。

戻り値: void
FriendRichPresenceUpdate_tコールバックをトリガーします。


こちらも参照してください: GetFriendRichPresence、SetRichPresence

RequestUserInformation

bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly );
名前型説明
steamIDUserCSteamID情報を要求するユーザー。
bRequireNameOnlyboolペルソナ名のみ取得 (true)? または名前とアバター両方(false)?

特定のユーザーのペルソナ名と、任意でアバターを要求します。

注: アバターのダウンロードにはかなり時間がかかり、ローカルキャッシュをチャーンするため、アバターが不要ならば要求しないでください。

戻り値: bool
PersonaStateChange_tコールバックをトリガーします。
true を返すと、データが要求され、取得時にPersonaStateChange_tコールバックがポストされることを意味します。
false を返すと、そのユーザーに関するすべての詳細があり、この情報を要求する関数をすぐに使用できることを意味します。

SendClanChatMessage

bool SendClanChatMessage( CSteamID steamIDClanChat, const char *pchText );
名前型説明
steamIDClanChatCSteamIDメッセージ送信先のグループチャットのSteam ID。
pchTextconst char *UTF-8形式の送信するメッセージ。 最長で2048文字です。

Steamグループチャットルームにメッセージを送信します。

戻り値: bool
true となるのはメッセージが正常に送信されたときです。
false となるのは、以下の状況のいずれかに当てはまる場合です:
  • 現在のユーザーが指定のグループチャットにいない。
  • 現在のユーザーがSteamに接続していない。
  • 現在のユーザーにレート制限がある。
  • 現在のユーザーにチャット制限がある。
  • pchText内のメッセージが2048文字を超えている。

SetInGameVoiceSpeaking

void SetInGameVoiceSpeaking( CSteamID steamIDUser, bool bSpeaking );
名前型説明
steamIDUserCSteamID未使用。
bSpeakingboolユーザーはゲーム内で会話を始めた(true)か、ゲーム内で会話を終了したか(false)?

ユーザーが現在ゲーム内でボイスチャットを使用中かをSteamに知らせます。

これにより、Steam UIのすべての音声通信でマイクが抑制されます。

SetListenForFriendsMessages

bool SetListenForFriendsMessages( bool bInterceptEnabled );
名前型説明
bInterceptEnabledboolフレンドメッセージの割り込みオン(true)またはオフ(false)?

Steamフレンドチャットメッセージをリッスンします。

その後、ゲーム内でこれらのチャットをインラインで表示できます。 例えば『Dota 2』におけるチャットシステムがこれに該当します。

有効化すると、ユーザーがチャットメッセージを受信した時にGameConnectedFriendChatMsg_tコールバックを受け取ります。 GetFriendMessageとこのコールバックから実際のメッセージデータを取得できます。 メッセージはReplyToFriendMessageで送信できます。

戻り値: bool
GameConnectedFriendChatMsg_tをトリガーします。
常にtrueを返します。

SetPlayedWith

void SetPlayedWith( CSteamID steamIDUserPlayedWith );
名前型説明
steamIDUserPlayedWithCSteamID一緒にプレイした他のユーザー。

対象ユーザーを「一緒にプレイ」としてマークします。

注: 関連付けを機能させるには、現在のユーザーが他のプレイヤーとゲームに参加している必要があります。

最近一緒にプレイしたユーザーは、Steamコミュニティ内のこちらと、Steamオーバーレイで確認できます。

SetRichPresence

bool SetRichPresence( const char *pchKey, const char *pchValue );
名前型説明
pchKeyconst char *設定するリッチプレゼンスのキー。 k_cchMaxRichPresenceKeyLengthの指定より長くてはいけません。
pchValueconst char *pchKeyに関連付けられたリッチプレゼンスの値。 k_cchMaxRichPresenceValueLengthの指定より長くてはいけません。
空の文字列("")か、NULLが設定されると、キーが設定されても削除されます。

現在のユーザーのリッチプレゼンスキー/値を設定し、同じゲームをプレイ中のすべてのフレンドに自動で共有します。

各ユーザーは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);
名前型説明
steamIDCSteamID装備アイテムを取得するユーザー。

対象のユーザーが装備中のSteamコミュニティプロフィールアイテムのリストをSteamに要求します。

戻り値: SteamAPICall_tがEquippedProfileItems_tの呼び出し結果と使用されます。

BHasEquippedProfileItem

bool BHasEquippedProfileItem( CSteamID steamID, ECommunityProfileItemType itemType);
名前型説明
steamIDCSteamIDすでに装備アイテムを取得済みのユーザー。
itemTypeECommunityProfileItemType装備しているかを見たいアイテムのタイプ。

RequestEquippedProfileItemsを呼び出した後、この関数を使ってユーザーがあるタイプのプロフィールアイテムを装備しているかどうかを確認できます。

戻り値: bool
true となるのは、ユーザーがitemTypeを装備中の場合。
false となるのは、ユーザーがitemTypeを装備していない場合です。

こちらも参照してください: RequestEquippedProfileItems、GetProfileItemPropertyString、GetProfileItemPropertyUint

GetProfileItemPropertyString

bool GetProfileItemPropertyString( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
名前型説明
steamIDCSteamIDすでに装備アイテムを取得済みのユーザー。
itemTypeECommunityProfileItemTypeプロパティを取得したいアイテムのタイプ。
propECommunityProfileItemProperty取得したい文字列プロパティ。

ユーザーが装備中のプロフィールアイテムの文字列プロパティを返します。

戻り値: const char *

こちらも参照してください: RequestEquippedProfileItems、GetProfileItemPropertyString、GetProfileItemPropertyUint

GetProfileItemPropertyUint

bool GetProfileItemPropertyUint( CSteamID steamID, ECommunityProfileItemType itemType, ECommunityProfileItemProperty prop);
名前型説明
steamIDCSteamIDすでに装備アイテムを取得済みのユーザー。
itemTypeECommunityProfileItemTypeプロパティを取得したいアイテムのタイプ。
propECommunityProfileItemProperty取得したい符号なし整数プロパティ。

ユーザーが装備中のプロフィールアイテムの符号なし整数プロパティを返します。

戻り値: uint32

こちらも参照してください: RequestEquippedProfileItems、GetProfileItemPropertyString

コールバック

以下はSteamAPI_RunCallbacksを呼び出すことによって実行されるコールバックです。 これらの多くはISteamFriendsのメンバー関数への応答として直接実行されます。

AvatarImageLoaded_t

大きなサイズのアバターが利用不可能な際にリクエストを試みて、読み込まれたときに呼び出されます。

名前型説明
m_steamIDCSteamIDアバターが読み込まれたSteam ID。
m_iImageint新しく読み込まれた画像のSteamイメージハンドル。
m_iWideint読み込まれた画像の幅。
m_iTallint読み込まれた画像の高さ。

関連する関数: GetLargeFriendAvatar

ClanOfficerListResponse_t

上級メンバーリスト呼び出しのリクエストの戻り値をマークします。

名前型説明
m_steamIDClanCSteamID上級メンバーリストを取得したSteamグループ。
m_cOfficersintグループ内の上級メンバーの数。 これはGetClanOfficerCountと同じです。
m_bSuccessuint8呼び出しは成功? 失敗の場合、Steamへの接続の一時的な切断を意味します。
trueを返した場合、必ずしもこのSteamグループへのすべての情報がダウンロードされたとは限らないことを意味します。

関連する関数: RequestClanOfficerList

DownloadClanActivityCountsResult_t

Steamグループアクティビティを受け取ったときに呼び出されます。

名前型説明
m_bSuccessbool呼び出しは成功?

関連する関数: DownloadClanActivityCounts

FriendRichPresenceUpdate_t

ユーザーのリッチプレゼンスデータが更新されたときに呼び出され、これは同じゲーム内のフレンドがリッチプレゼンスを更新する際に自動で行われるか、RequestFriendRichPresenceへの呼び出しの後に行われます。

名前型説明
m_steamIDFriendCSteamIDリッチプレゼンスが変更されたユーザーのSteam ID。
m_nAppIDAppId_tゲームのAppID。 これは常に現在のゲームです。

関連する関数: RequestFriendRichPresence

FriendsEnumerateFollowingList_t

EnumerateFollowingListの結果を返します。

名前型説明
m_eResultEResult呼び出しの結果。
m_rgSteamIDCSteamID[k_cEnumerateFollowersMax]フォロー中のユーザーのリスト。
m_nResultsReturnedint32m_rgSteamID内で返された結果数。
m_nTotalResultCountint32フォロー中の合計人数。 これがm_nResultsReturnedより大きい場合、フォロワーの次の部分を取得するためのインデックスとして、m_nResultsReturnedを使用してEnumerateFollowingListを呼び出す必要があります。

関連する関数: EnumerateFollowingList

FriendsGetFollowerCount_t

GetFollowerCountの結果を返します。

名前型説明
m_eResultEResult呼び出しの結果。
m_steamIDCSteamIDフォロワー数をリクエストしたユーザーのSteam ID。
m_nCountintユーザーが持つフォロワー数。

関連する関数: GetFollowerCount

FriendsIsFollowing_t

IsFollowingの結果を返します。

名前型説明
m_eResultEResult呼び出しの結果。
m_steamIDCSteamID確認されたSteam ID。
m_bIsFollowingboolユーザーがフォロー中 (true)かそうでないか (false)。

関連する関数: IsFollowing

GameConnectedChatJoin_t

すでに参加済みのSteamグループチャットにユーザーが参加したときに呼び出されます。

名前型説明
m_steamIDClanChatCSteamIDユーザーが参加したチャットのSteam ID。
m_steamIDUserCSteamIDチャットに参加したユーザーのSteam ID。

関連する関数: JoinClanChatRoom

GameConnectedChatLeave_t

すでに参加済みのSteamグループチャットからユーザーが退出したときに呼び出されます。

名前型説明
m_steamIDClanChatCSteamIDユーザーが退出したチャットのSteam ID。
m_steamIDUserCSteamIDチャットから退出したユーザーのSteam ID。
m_bKickedboolユーザーが上級メンバーから追放された(true)かそうでないか(false)。
m_bDroppedboolユーザーのSteamへの接続はドロップ(true)したか、別の方法で退出したか(false)。

関連する関数: LeaveClanChatRoom

GameConnectedClanChatMsg_t

すでに参加済みのSteamグループチャットでチャットメッセージを受信すると呼び出されます。

名前型説明
m_steamIDClanChatCSteamIDメッセージを受信したチャットのSteam ID。
m_steamIDUserCSteamIDメッセージを送信したユーザーのSteam ID。
m_iMessageIDint実際のデータをGetClanChatMessageから取得するメッセージのインデックス。

関連する関数: JoinClanChatRoom

GameConnectedFriendChatMsg_t

フレンドからチャットメッセージを受信したときに呼び出されます。

名前型説明
m_steamIDUserCSteamIDメッセージを送信したフレンドのSteam ID。
m_iMessageIDint実際のデータをGetFriendMessageから取得するメッセージのインデックス。

関連する関数: SetListenForFriendsMessages

GameLobbyJoinRequested_t

ユーザーが、フレンドリストまたは招待からロビーに参加しようとしたときに呼び出されます。 これを受信すると、ゲームクライアントは指定のロビーに接続しようとします。 ゲームが実行中ではない場合、代わりにコマンドラインパラメーター+connect_lobby <64-bit lobby Steam ID>で自動的にゲームがローンチします。

名前型説明
m_steamIDLobbyCSteamID接続するロビーのSteam ID。
m_steamIDFriendCSteamIDこのフレンドを通して参加。 これはフレンド経由から直接ではない場合無効です。

注:このコールバックはロビーに参加するときに実行されます。 ユーザーがロビーではなくゲームに参加しようとした場合、コールバックGameRichPresenceJoinRequested_tが作成されます。

GameOverlayActivated_t

Steamオーバーレイが有効化または無効化されるとポストされます。 シングルプレイヤーゲームの一時停止または再開に使用できます。

名前型説明
m_bActiveuint81は有効化された時、それ以外は0。

GameRichPresenceJoinRequested_t

ユーザーがフレンドリストからゲームに参加しようとしたとき、またはInviteUserToGameでフレンドからの招待を受諾した後に呼び出されます。

名前型説明
m_steamIDFriendCSteamIDこのフレンドを通して参加。 これはフレンド経由から直接ではない場合無効です。
m_rgchConnectchar[k_cchMaxRichPresenceValueLength]"connect"リッチプレゼンスキーに関連付けられた値。

関連する関数: InviteUserToGame

注:このコールバックはゲームに参加するときに作成されます。 ユーザーがロビーに参加しようとすると、コールバックGameLobbyJoinRequested_tが作成されます。

GameServerChangeRequested_t

ユーザーが、別のゲームサーバーにフレンドリスト経由で参加しようとすると呼び出されます。 これを受信すると、ゲームクライアントは指定のサーバーに接続しようとします。

名前型説明
m_rgchServerchar[64]サーバーアドレス(例:"127.0.0.1:27015", "tf2.valvesoftware.com")
m_rgchPasswordchar[64]サーバーパスワード、もしあれば。

JoinClanChatRoomCompletionResult_t

ユーザーがSteamグループチャットにJoinClanChatRoom経由で参加しようとしたときにポストされます。

名前型説明
m_steamIDClanChatCSteamIDユーザーが参加したチャットのSteam ID。
m_eChatRoomEnterResponseEChatRoomEnterResponse呼び出しの結果。

関連する関数: JoinClanChatRoom

PersonaStateChange_t

フレンドのステータスが変わるたびに呼び出されます。

名前型説明
m_ulSteamIDuint32 *変更したユーザーのSteam ID。
m_nChangeFlagsintEPersonaChange値のビット単位の共用体。

関連する関数: RequestUserInformation

構造体

ISteamFriends内の関数が返す、またはやり取りする構造体です。

FriendGameInfo_t

フレンドがプレイ中のゲームに関する情報。
GetFriendGamePlayedから取得可能。

名前型説明
m_gameIDCGameIDフレンドがプレイ中のゲームID。
m_unGameIPuint32フレンドがプレイ中のサーバーのIP。
m_usGamePortuint16フレンドがプレイ中のサーバーのポート。
m_usQueryPortuint16フレンドがプレイ中のサーバーのクエリポート。
m_steamIDLobbyCSteamIDフレンドがいるロビーのSteam ID。

FriendSessionStateInfo_t

ユーザーセッションに関する情報。 (Steam内での使用のみ)

名前型説明
m_uiOnlineSessionInstancesuint32
m_uiPublishedToFriendsSessionInstanceuint8

EquippedProfileItemsChanged_t

ユーザーが装備中のSteamコミュニティプロフィールアイテムが変更された場合に呼び出されます。 現在のユーザーまたはそのフレンドに起こり得ます。

名前型説明
m_steamIDCSteamID

EquippedProfileItems_t

RequestEquippedProfileItemsのCallResult コールバックとしても送信されます。

名前Type説明
m_eResultEResult
m_bHasAnimatedAvatarCSteamID
m_bHasAvatarFramebool
m_bHasProfileModifierbool
m_bHasProfileBackgroundbool
m_bHasMiniProfileBackgroundbool

列挙型

これらはISteamFriendsで使用するために定義された列挙型です。

EFriendFlags

フレンドリストの列挙または、ユーザー間の関係性をすばやく確認するためのフラグ。

名前値説明
k_EFriendFlagNone0x00なし。
k_EFriendFlagBlocked0x01現在のユーザーが連絡をブロックしているユーザー。
k_EFriendFlagFriendshipRequested0x02現在のユーザーにフレンド招待を送信したユーザー。
k_EFriendFlagImmediate0x04現在のユーザーの"通常の"フレンド。
k_EFriendFlagClanMember0x08現在のユーザーと1つでも同じ(小さな)Steamグループ内にいるユーザー。
k_EFriendFlagOnGameServer0x10SetPlayedWithで設定された同一のゲームサーバーにいるユーザー。
k_EFriendFlagRequestingFriendship0x80現在のユーザーがフレンド招待を送信したユーザー。
k_EFriendFlagRequestingInfo0x100RequestUserInformationへの呼び出しの後に、自身の追加情報を現在送信中のユーザー。
k_EFriendFlagIgnored0x200現在のユーザーが連絡を無視しているユーザー。
k_EFriendFlagIgnoredFriend0x400知ってはいるものの、現在のユーザーを無視しているユーザー。
k_EFriendFlagChatMember0x1000同じチャット内のユーザー。
k_EFriendFlagAll0xFFFFすべてのフレンドフラグを返します。

EFriendRelationship

Steamユーザー間に存在する一連の関係性を宣言します。

名前値説明
k_EFriendRelationshipNone0ユーザーには関係性なし。
k_EFriendRelationshipBlocked1ユーザーがたった今フレンド招待の無視をクリックした。 これは保存されません。
k_EFriendRelationshipRequestRecipient2ユーザーが、現在のユーザーにフレンドリクエストを送信した。
k_EFriendRelationshipFriend3"通常の"フレンド。
k_EFriendRelationshipRequestInitiator4現在のユーザーがフレンド招待を送信した。
k_EFriendRelationshipIgnored5現在のユーザーがこの別のユーザーからのコメントやチャットなどを明示的にブロックしている。 これは保存されます。
k_EFriendRelationshipIgnoredFriend6ユーザーが現在のユーザーを無視した。
k_EFriendRelationshipSuggested_DEPRECATED7使用されていない -- 未使用。
k_EFriendRelationshipMax8ループと検証に使用されるフレンド関係の総数。

EOverlayToStoreFlag

これらの値は、ActivateGameOverlayToStoreを使用してパラメーターとしてストアに渡され、ページが開いたときの動作を変更します。

名前値説明
k_EOverlayToStoreFlag_None0いいえ
k_EOverlayToStoreFlag_AddToCart1使用されていない。現在はk_EOverlayToStoreFlag_AddToCartAndShowと同じように動作。
k_EOverlayToStoreFlag_AddToCartAndShow2指定のAppIDをユーザーのカートに追加し、ストアページを表示。

EPersonaChange

ユーザーに関する変更を示すためにPersonaStateChange_t::m_nChangeFlagsで使用されます。
これらのフラグは、クライアントが把握した最近の変更を表し、起動時にフレンド全員の名前、アバター、関係性の変更を表示します。

名前値説明
k_EPersonaChangeName0x0001
k_EPersonaChangeStatus0x0002
k_EPersonaChangeComeOnline0x0004
k_EPersonaChangeGoneOffline0x0008
k_EPersonaChangeGamePlayed0x0010
k_EPersonaChangeGameServer0x0020
k_EPersonaChangeAvatar0x0040
k_EPersonaChangeJoinedSource0x0080
k_EPersonaChangeLeftSource0x0100
k_EPersonaChangeRelationshipChanged0x0200
k_EPersonaChangeNameFirstSet0x0400
k_EPersonaChangeFacebookInfo0x0800
k_EPersonaChangeNickname0x1000
k_EPersonaChangeSteamLevel0x2000

EPersonaState

Steamフレンドの状態のリスト。

名前値説明
k_EPersonaStateOffline0フレンドは現在ログインしていない。
k_EPersonaStateOnline1フレンドはログイン中。
k_EPersonaStateBusy2フレンドはログインしているが、ステータスが「取り込み中」に設定されている。
k_EPersonaStateAway3自動退席機能。
k_EPersonaStateSnooze4長時間の自動退席。
k_EPersonaStateLookingToTrade5オンライン、トレード中。
k_EPersonaStateLookingToPlay6オンライン、プレイ希望中。
k_EPersonaStateMax7状態の総数。 ループと確認のためのみに使用されます。

ECommunityProfileItemType

Steamコミュニティプロフィールアイテムのタイプ。

名前値説明
k_ECommunityProfileItemType_AnimatedAvatar0動くアバター画像(GIF)
k_ECommunityProfileItemType_AvatarFrame1アバターフレーム(動くPNGの場合もあり)
k_ECommunityProfileItemType_ProfileModifier2季節性プロフィールやアーティストプロフィールなどの、スペシャルプロフィールモディファイアアイテム
k_ECommunityProfileItemType_ProfileBackground3プロフィール背景画像または動画
k_ECommunityProfileItemType_MiniProfileBackground4ユーザー用ホバーフライアウトの背景画像または動画

ECommunityProfileItemProperty

Steamコミュニティプロフィールアイテムのプロパティ。 GetProfileItemPropertyStringおよびGetProfileItemPropertyUintを参照してください。

名前値説明
k_ECommunityProfileItemProperty_ImageSmall0小さい画像、または動くバージョンの画像へのURL
k_ECommunityProfileItemProperty_ImageLarge1大きい画像、または静的なバージョンの画像へのURL
k_ECommunityProfileItemProperty_InternalName2パートナーサイトで入力された内部名(デバッグ用)
k_ECommunityProfileItemProperty_Title3アイテムのローカライズ名
k_ECommunityProfileItemProperty_Description4ローカライズされたアイテムの説明
k_ECommunityProfileItemProperty_AppID5アイテムのAppID(符号なし整数)
k_ECommunityProfileItemProperty_TypeID6AppIDごとに一意のアイテムのタイプID(符号なし整数)
k_ECommunityProfileItemProperty_Class7アイテムの「クラス」またはタイプ(内部値、符号なしの整数)
k_ECommunityProfileItemProperty_MovieWebM8webmビデオファイルへのURL
k_ECommunityProfileItemProperty_MovieMP49mp4ビデオファイルへのURL
k_ECommunityProfileItemProperty_MovieWebMSmall10小さいwebmビデオファイルへのURL
k_ECommunityProfileItemProperty_MovieMP4Small11小さいmp4ビデオファイルへのURL

EActivateGameOverlayToWebPageMode

ゲームオーバーレイのWebページモード 。

名前値説明
k_EActivateGameOverlayToWebPageMode_Default0ブラウザーは、ユーザーがオーバーレイで開いている他のすべてのウィンドウの横に開く。 ユーザーがオーバーレイを閉じてから再度開いた場合でも、このウィンドウは開いたままになる。
k_EActivateGameOverlayToWebPageMode_Modal1ブラウザーは、ユーザーがオーバーレイで開いている他のすべてのウィンドウを非表示にする特別なオーバーレイ設定で開かれる。 ユーザーがオーバーレイを閉じると、ブラウザーウィンドウも閉じる。 ユーザーがブラウザーウィンドウを閉じると、オーバーレイは自動的に閉じる。

Typedefs

これらはISteamFriendsで使用するために定義されたtypedefsです。

名前ベース型説明
FriendsGroupID_tint16フレンドグループ(タグ)識別子。

定数

これらはISteamFriendsで使用するために定義された定数です。

名前型値説明
k_cchMaxFriendsGroupNameint64フレンドグループ名の最大文字数(NULL終了文字を含まない)。
k_cchMaxRichPresenceKeyLengthint64リッチプレゼンスキーで可能な最長の長さ。
k_cchMaxRichPresenceKeysint20設定可能なリッチプレゼンスキーの最大数。
k_cchMaxRichPresenceValueLengthint256リッチプレゼンス値で可能な最長の長さ。
k_cchPersonaNameMaxint128ユーザーのペルソナ(表示)名のUTF-8バイトの最大数。
k_cEnumerateFollowersMaxint50一度のFriendsEnumerateFollowingList_t呼び出し結果で返される最大のフォロワー数。
k_cFriendsGroupLimitint100使用されていません-未使用。
k_cubChatMetadataMaxuint328192チャットルーム、ロビー、またはチャット/ロビーメンバーのメタデータが持てる最大のサイズ(バイト数)。
k_cwchPersonaNameMaxint32ユーザーのペルソナ(表示)名のUTF-16文字の最大数。
k_FriendsGroupID_InvalidFriendsGroupID_t-1無効なフレンドグループ識別子。
STEAMFRIENDS_INTERFACE_VERSIONconst 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設定を編集ページにあるコミュニティタブのリッチプレゼンスセクションから提供してください。

    rpedit.jpg

    テストに関しては、 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é" } } }