-
Notifications
You must be signed in to change notification settings - Fork 1
Toplisten
Marc Staebler edited this page Mar 26, 2026
·
6 revisions
Toplisten sind Ranglisten, die auf UserPersistenceNumbers-Werten basieren. Sie werden automatisch unter /apptop im Channel angezeigt.
// Innerhalb von var App = { ... };
onAppStart: function() {
var toplistAccess = KnuddelsServer.getToplistAccess();
// Toplist basierend auf dem UserPersistence-Key "points"
toplistAccess.createOrUpdateToplist('points', 'Highscore', {
ascending: false // Höchster Wert zuerst
});
},Du kannst Punktebereichen Labels zuordnen:
toplistAccess.createOrUpdateToplist('level', 'Erfahrungsstufe', {
labelMapping: {
0: 'Anfänger',
100: 'Fortgeschrittener',
500: 'Experte',
1000: 'Meister',
5000: 'Legende'
}
});var toplistAccess = KnuddelsServer.getToplistAccess();
// Alle Toplisten abrufen
var alleToplisten = toplistAccess.getAllToplists();
// Bestimmte Toplist abrufen
var highscore = toplistAccess.getToplist('points');
// Chat-Befehl für die Toplist
var chatCommand = highscore.getChatCommand(); // z.B. "/toplist-points"
// Toplist entfernen
toplistAccess.removeToplist(highscore);Die Toplist-Werte werden automatisch aus UserPersistenceNumbers bezogen. Du musst nur die Persistence-Werte aktualisieren:
// Punkte vergeben → Toplist wird automatisch aktualisiert
user.getPersistence().addNumber('points', 50);var toplist = KnuddelsServer.getToplistAccess().getToplist('level');
// Label eines bestimmten Nutzers (User-Objekt oder userId)
var label = toplist.getLabel(user); // z.B. "Experte"
var labelById = toplist.getLabel(12345); // Auch per userId möglichToplisten werden nicht automatisch im Nutzerprofil angezeigt. Dafür benötigst du AppProfileEntryAccess, mit dem du Einträge im Profil eines Nutzers erstellen kannst:
var appProfileEntryAccess = KnuddelsServer.getAppProfileEntryAccess();
// Toplist-basierten Profileintrag erstellen
var toplist = KnuddelsServer.getToplistAccess().getToplist('points');
appProfileEntryAccess.createOrUpdateEntry(toplist);→ AppProfileEntryAccess-Dokumentation
- ToplistAccess – Toplist-Verwaltung
- Toplist – Einzelne Toplist
- ToplistDisplayType – Anzeigemodi
- ToplistRankChangeEvent
- ToplistLabelChangeEvent
- AppProfileEntryAccess – Profileinträge
- Erste Schritte – Voraussetzungen, Einrichtung, deine erste App
-
Projektstruktur – Dateien, Ordner und
app.config - Dev-Server – Entwicklungsumgebung und Testen
-
App-Lifecycle und Hooks –
onAppStart,onUserJoinedund Co. -
Server-API Grundlagen –
KnuddelsServer,Channel,Logger - Client-Server-Kommunikation – Events zwischen Frontend und Backend
-
Benutzer und Nachrichten –
User,BotUser, Nachrichten senden - HTML-UI und AppContent – Popups, Overlays, Globale Apps-UI
-
Datenspeicherung –
AppPersistence,UserPersistence -
Knuddel und Zahlungen – Transfers, Käufe,
KnuddelAccount - Toplisten – Ranglisten und Highscores
- Globale Apps – Apps im "Apps & Spiele"-Menü
- Quests – Aufgaben für Nutzer
- Externe Server-Kommunikation – HTTP-Requests an externe APIs
- Tutorials – Übersicht aller Tutorials
- Tic-Tac-Toe – Multiplayer-Spiel mit Bestenliste
- Best Practices – Tipps, Limits und häufige Fehler
- FAQ – Häufig gestellte Fragen
- KCode-Formatierung – Nachrichten-Formatierung mit KCode