1. osu! forums
  2. Language Specific
  3. Other Languages
  4. Deutsch
posted
Hallo #german

Ich bin etwas verwundert wie genau die pp ausgerechnet werden, Also wie das System allgemein auf die Zahl etc etc kommt.
Im Wiki steht ja die Formel aber leider Ohne einem Beispiel um genau zu erfahren wie es funktioniert.

Warum frage ich das?

Ja ich habe mal wieder lust was zu Coden und wollte halt ein Offline Programm machen das uns die PP von allen Modis Ausrechnet aber es fehlt die Formel bzw ein Beispiel. Und da biss jetzt die Meisten Bots nur osu!Standart Berechnen. :)

Danke im Vorraus.

Fluttershy552
posted
Moinsen Fluttershy
Also die pp wird Hauptsächlich von deinen Top Scores, und nicht von all deinen scores berechnet.
Für die pp Berechnung werden immer 2 pp Werte Berechnet, einmal deine Raw pp (Das ist die pp die dein Score auf einer Map Wert ist) und dein weighted pp (Das ist die pp, die zu deinem Gesamten pp hinzugefügt wird.)
Nehmen wir mal als Beispiel an, deine 5 besten Scores geben 100|100|80|70|60 Raw pp, dann werden diese "Absteigend nach Wertigeit" immer weniger für deiner Gesamten pp gewichtet.
Dein Bester Score gibt noch 100% zur Gesamt pp, von da an wird der gewichtete Prozentuale Wert immer jeweils * 0.95 gerechnet.
Das hieße in diesem Falle:
  • Raw 100pp - 100% Weighted = 100 weighted pp.
    Raw 100pp - 100% * 0,95 = 95% Weighted | 100 * 0,95 = 95 weighted pp.
    Raw 80 pp - 95% * 0,95 = 90,25% Weighted | 80 * 0,9025= 72,2 weighted pp.
    Raw 70 pp - 90,25 * 0,95 = 85,7375% Weighted | 70 * 0,857375 = 60,01625 weighted pp.
    Raw 60 pp - 85,7375% * 0,95 = 81,450625% Weighted | 60 * 0,81450625 = 48,870375 weighted pp.


Das heißt in diesem Falle wäre deine Raw pp zwar 410 pp, aber davon werden nur = 376 pp (abgerundet) zu deiner Gesamt pp hinzugefügt.
Das sind diese Werte die du auch auf deinem Profil unter Top Scores siehst, die Anzeige ist bloß ohne Nachkommastellen.

Aber da dein weighted Wert eig. niemals wirklich 0% erreicht, sondern nur sehr gering gewertet wird, kann man auch mit hunderten unbedeutenden Scores immer mal wieder 1pp drauf bekommen.

Mit der Formel (x * 0.95^n = Weighted pp) kann man sich auch direkt ausrechnen, wieviel ein spezifischer Score wert war.
x = Raw pp einer deiner Scores.
n = Die wievielte Position in deinen Top Scores nimmt dieser Score ein.

Wenn wir jetzt als Beispiel den Wert von 60 raw pp haben und dieser dein "20. höchster Raw pp Wert ist", dann wäre es in diesem Falle.
60 * 0.95 ^ 20 = 22 weighted pp. (Aufgerundet)

Edit: Ich hätte fast den Quantitäts pp Bonus vergessen zu erwähnen :)
Also Es gibt zusätzlich noch einen Bonus auf deine Gesamt pp, in abhängigkeit von deiner Anzahl an Ranked Scores. Dieser Bonus pp Wert geht bis auf ein Maximum von 416,6667 bonus pp, etwa ab 25k Scores. (Das hier heißt nicht 25K playcount, sondern auf 25K verschiedenen diffs einen Score besitzen.)
Die Berechnung sieht wie folgt aus:
416.6667 * (1- 0.9994^n).
n = Anzahl an Scores

Also nehmen wir mal ein Beispiel, das jemand nur 5 Scores hat. Dann wäre die Berechnung wie folgt:
  • 416.6667 * (1 - 0.9994 ^5) =
    416.6667 * (1 - 0,997) =
    416.6667 * (0,003) =
    1,25 Bonus pp


ein Zweites Beispiel, jemand hat 3000 Scores:

  • 416.6667 * (1 - 0.9994 ^3000) =
    416.6667 * (1 - 0,1652) =
    416.6667 * (0.8348) =
    347,83 Bonus pp

Wobei hier jetzt Rundungsfehler sind, aber die sollen mal nicht stören.

Hier ist eine Liste zur Übersicht, wieviele Scores in etwa wieviel pp geben, dieses Bild stammt von der Wiki Seite:


Ich hoffe ich konnte dir damit weiter helfen und viel Glück mit deinem Programm :)



Edit:
Oh damn... ich merke jetzt beim 2. Lesen erst, das deine Frage wohl eher darauf bezogen war, wie die Raw pp einer Map zustande kommt und nicht die Weighted vom Profil. Beim verfassen dieses Romans hab ich erst gelesen, du willst ein Programm machen das einen Global pp Wert zwischen allen Modes errechnet xD
Auf die eigentliche Frage hab ich leider keine Antwort sry
posted
Nicht Schlimm aber wenigstens habe ich mehr darüber erfahren xD ;)
Please sign in to reply.