Übersicht
Mit der Veröffentlichung des neuen Clients für Steam-Freunde und dem Chat haben wir unsere erweiterte Anwesenheit verbessert und können Informationen zu Spielen anzeigen, die gerade gespielt werden. Die erweiterte Anwesenheit ermöglicht Spielern, ihre Freunde an ihren Aktivitäten teilhaben zu lassen. So können Freunde, die das Spiel besitzen, diesem zu einem guten Zeitpunkt beitreten oder sich mit dem Spieler darüber unterhalten. Freunde, die das Spiel nicht besitzen, können über die Informationen in einem erweiterten Anwesenheitsstring mehr über ein unbekanntes Spiel erfahren und dieses dann vielleicht selbst spielen.

Wir erläutern in dieser Dokumentation zwei Einstellungen, mit denen Sie steuern können, wie Ihr Spiel in der Freundesliste von Spielern erscheint:
- Erweiterter Anwesenheitsstring: zeigt Informationen zum Spielstatus, die Freunde interessieren könnten
- Gruppierung von Freunden: zur Bildung von Gruppen, die das Spiel gemeinsam spielen
Vom Spiel kontrollierter erweiterter Anwesenheitsstring

Das System kann so angepasst werden, dass Ihr Team bestimmt, welches die interessantesten Informationen für Freunde eines Spielers sind.
Ihr Spiel verfügt dazu über spezifische Daten, die genau die richtigen Informationen zur Anzeige mit erweiterter Anwesenheit enthalten. Zu Beginn sollten Sie jedoch folgendes berücksichtigen:
Mehrspielerspiele
Je nach Art des Mehspielerspiels können unterschiedliche Informationen für Freunde nützlich sein. Bei rundenbasierten Spielen sind Informationen zur Spielzeit oder verbleibenden Spielern am nützlichsten. Andere Mehrspielerspiele werden erst dann beendet, wenn ein Ziel erfüllt ist. Bei diesen kann die Angabe des Zielfortschritts nützlich sein. Informationen zum Spielmodus oder zur Karte können Freunden des Spielers ebenfalls bei der Entscheidung helfen, wie sie mit diesem interagieren möchten.
Einzelspielerspiele
Auch wenn Freunde einem Einzelspielerspiel nicht beitreten können, kann dennoch ein gemeinsames Erlebnis stattfinden. Die angezeigten Informationen können Freunde zum Beispiel dazu anregen, dem Spieler beim Spielen zuzuschauen oder sich mit ihm über Strategien oder Höhepunkte des Spiels zu unterhalten. Informationen, die die Zone, das Kapitel oder Level des Spielers oder die aktuellen Spieleraktionen im Spiel anzeigen, können bei dem Erreichen dieser Ziele helfen.
*
Legen Sie zur Definition eines Strings für die Anzeige in der Steam-Freundesliste und dem Chat den Wert/Schlüssel
steam_display
in
SetRichPresence fest. Weitere Informationen und Beispiele zu API-Aufrufen finden Sie am Ende dieses Dokuments.
Beispiele von Anzeigedaten (falls anwendbar)- Verbleibende Zeit
- Verstrichene Zeit
- Verbleibende Spieler
- Karten- oder Zonenname
- Spielerlevel
- Spielerklasse
- Spielstand
- Schwierigkeitsgrad
- Spielmodus
- Anzahl offener Plätze auf dem Server
- Aktuelle Spieleraktion (Deckbau, Kaderwechsel, im Hauptmenü, usw.)
HINWEIS: Bedenken Sie, dass dieser erweiterte Anwesenheitsstring in eine Zeile passen muss und unter dem Spielernamen in der Freundesliste angezeigt wird. Wenn er zu lang ist, kann das Ende der Zeile abgeschnitten oder mit Auslassungszeichen versehen werden.
Gruppierung von Freunden
Gleichzeitig zur zusätzlichen Informationszeile kann die Freundesliste nun Gruppen von gemeinsam spielenden Freunden anzeigen. Freunde in einer Gruppe, auf einem Server oder in einer gemeinsamen Partie werden mit einer Linie verbunden unter der Spielkategorie gruppiert. Es hängt von Ihrem Spiel und der sinnvollsten Anzeige ab, wie die Gruppierung festgelegt wird. Zum Beispiel gibt es in Dota 2 Gruppen von bis zu 5 Spielern. Deshalb wird die aktuelle Gruppe und nicht alle 5 Gruppen angezeigt, die durch die Spielsuche (Spielsuche) zugewiesen wurden. In Counter-Strike hingegen können 2 Freunde gemeinsam auf einem Server spielen. Nur die gemeinsam spielenden, befreundeten Spieler werden in dieselbe Steam-Spielergruppe gesetzt, nicht der gesamte auf derselben Seite spielende Server.

*
Legen Sie zur Definition der Gruppierung von Spielern in der Steam-Freundesliste und im Chat die Werte/Schlüssel
steam_player_group
und
steam_player_group_size
in
SetRichPresence fest.
Steam API & Lokalisierung
Der folgende Beispielcode zeigt, wie einfach die Einrichtung ist.
Codeausschnitt/*--------------------------- SAMPLE -------------------*/
const char *pchStatus;
if ( bWinning && cWinners > 1 )
{
pchStatus = "Unentschieden";
}
else if ( bWinning )
{
pchStatus = "Gewinnt";
}
else
{
pchStatus = "Verliert";
}
SteamFriends()->SetRichPresence( "gamestatus", pchStatus );
bool bDisplayScoreInRichPresence = true;
if ( bDisplayScoreInRichPresence )
{
char rgchBuffer[32];
sprintf_safe( rgchBuffer, "%2u", uMyScore );
SteamFriends()->SetRichPresence( "score", rgchBuffer );
}
SteamFriends()->SetRichPresence( "steam_display", bDisplayScoreInRichPresence ? "#StatusWithScore" : "#StatusWithoutScore" );
// Beispiel für gemeinsame Gruppierung von Freunden, die miteinander spielen
if ( nPartyMemberCount > 1 && strPartyID )
{
// Wenn wir in einer Gruppe von mehr als einem Spieler sind und eine gültige PartyID haben, dann
// informier das erweiterte Anwesenheitssystem von Steam.
steamapicontext->SteamFriends()->SetRichPresence( "steam_player_group", strPartyID );
steamapicontext->SteamFriends()->SetRichPresence( "steam_player_group_size", CNumStr( nPartyMemberCount ) );
}
else
{
// Sonst leere sämtliche Informationen, die wir hierin hatten; wir sind nicht in einer Gruppe.
steamapicontext->SteamFriends()->SetRichPresence( "steam_player_group", nullptr );
steamapicontext->SteamFriends()->SetRichPresence( "steam_player_group_size", nullptr );
}
Der oben stehende Code verwendet Lokalisierung, die deutsche Token wie die folgenden enthält:
"lang"
{
"Language" "english"
"Tokens"
{
"#StatusWithoutScore" "{#Status_%gamestatus%}"
"#StatusWithScore" "{#Status_%gamestatus%}: %SCORE%"
"#Status_AtMainMenu" "Im Hauptmenü"
"#Status_WaitingForMatch" "Wartet auf Partie"
"#Status_Winning" "Gewinnt"
"#Status_Losing" "Verliert"
"#Status_Tied" "Unentschieden"
}
}