Hey zusammen. Bereits in diesem Beitrag habe ich euch erklärt, wie man Toplisten für eine User App einbindet. Heute löse ich Teil 1 meines Versprechen ein und gebe euch ein funktionierendes Beispiel, wie ihr Rangwechsel der Spieler öffentlich posten könnt.
Diejenigen unter euch, die den Blog in regelmässigen Abständen lesen, werden sich bereits daran versucht haben eine Topliste in ihre Apps einzubinden. Doch die Möglichkeiten von Toplisten sind mit der Einbindung der selben noch lange nicht voll ausgeschöpft! Zugegeben, nicht jede App braucht eine Topliste – genausowenig wie jede App auch Ränge hat oder es notwendig ist darauf zu reagieren. Wie bereits bei einigen Methoden und Möglichkeiten die ich euch vorgestellt habe, ist es wichtig zu überlegen ob die Einbindung solch einer Methode die potentiellen Nutzer eher verärgert oder sogar animiert weiter zu spielen. Letzteres ist der Idealfall, der aber häufig nicht unbedingt eintritt.
Rangveränderungen öffentlich anzeigen
Wie bereits in diesem Beitrag erwähnt, lohnt es sich die Toplist-Klasse sowie dessen Methoden anzuschauen. Ich gehe in diesem Blogeintrag nur auf die Methoden addLabelChangeListener()
und addRankChangeListener()
ein und verwende dafür die Codebeispiele aus dem alten Beitrag. Um Rangveränderungen öffentlich zu posten, benötigen wir die Methode addLabelChangeListener()
.
var bot = KnuddelsServer.getDefaultBotUser(); var toplistAccess = KnuddelsServer.getToplistAccess(); var labelMapping = { '1': 'Anfänger', // 1-24 '25': 'Beginner', // 25-49 '50': 'Profi', // 50-99 '100': 'Genius' // ab 100 }; var toplist = toplistAccess.createOrUpdateToplist('points', 'Punkte', { labelMapping: labelMapping }); toplist.addLabelChangeListener(function(toplistLabelChangeEvent) { var user = toplistLabelChangeEvent.getUser(); var newLabel = toplistLabelChangeEvent.getNewLabel(); bot.sendPublicMessage('°20BB°' + user + ' hat den neuen Rang _' + newLabel + '_ erreicht.'); });
Die hervorgehobenen Zeilen im Script sind nun neu dazu gekommen. In Zeile 1 wird der AppBot definiert um ihn später in Zeile 17 eine öffentliche Meldung über den Rangwechsel posten zu lassen. Wie ihr seht, ist von Zeile 14 – 18 das ganze Hexenwerk schon vollbracht. Alle notwendigen Aktionen, Abfragen und Berechnungen übernimmt die Knuddels API. Dadurch erspart ihr euch unzählige Berechnungen und Abfragen.
Bemerkung am Rande: Da ich selbst schon seit Ende 2014 dabei bin und User Apps programmiere und diese Funktionen erst im späteren Verlauf dazu kamen, kann ich euch sagen, dass ich diese Methode als sie eingeführt wurde sehr gefeiert habe. Denn die Entlastung durch diese Methode ist einfach enorm!
Das oben genannte Scriptbeispiel ist natürlich nur ein sehr minimalistisches Beispiel, wie man auf Rangwechsel reagiert. Ihr habt natürlich die Möglichkeit Änderungen durchzuführen. Zum Beispiel kommt es immer ganz gut an, wenn man wie in Knuddelonia oder Memory auf Rangwechsel gratulieren kann. Man könnte auch die Ausgabe z.B. privat an den Spieler mitteilen oder ihr lasst eurer Kreativ freien lauf! 🙂
Im nächsten Beitrag zu dem Thema Toplisten kümmern wir uns um das Mitteilen, dass User auf der Topliste überholt wurden. Wie immer könnt ihr Fragen und Probleme entweder auf den Entwicklerrunden ansprechen, per /m melden oder aber hier in den Kommentaren schildern.