Falsche Punkte in der Rangliste, X-Punkte werden ab dem 1.Spieltag nicht mehr alle gezählt

Ich habe einen Blog Artikel verfasst - Wie benutze ich die Suche richtig - Bitte diesen beachten und auch umsetzen bevor Ihr ein Neues Thema eröffnet!

  • Tippi

    Hat den Titel des Themas von „Falsche Punkte in der Rangliste, X-Punkte werden ab dem 6.Spieltag nicht mehr gezählt“ zu „Falsche Punkte in der Rangliste, X-Punkte werden ab dem 1.Spieltag nicht mehr alle gezählt“ geändert.
  • Servus Jan,

    anhand Deiner beiden Bilder kann ich ned wirklich den Fehler von Dir erkennen. Magst mal etwas mehr zu Deiner Pubnkteberechnung in config-Datei schreiben. Bekommt ein Tagessieger an einem Spieltag 10 Punkte extra? Hast Du manuell etwas an der Datenbank-Tabelle precalc etc.. vorgenommen?

  • Hallo Kai,


    gerne, ich habe in der config eingestellt als typfuerextra "2", d.h. für die X-Punkte pro Spieltag (bei mir 10) muss mindestens der Tipp-Typ Differenz als richtig vorhanden sein. In den Jahren vorher hat das auch immer gepasst. Wenn ich z.B. auf den Tipp-Typ 3 wechsle (alle Tipps zählen für X-Punkte) , dann werden die Extra-Punkte richtig berechnet.

  • Wie Du die Spieltage auswertest ist mir so leider noch nicht untergekommen, deshalb ist das für mich so schnell nicht nachzuvollziehen.

    Hab ich Dich richtig verstanden, im 1.Bild seh ich drei Tipper die aufgrund der richtigen Differenztipps bei den Spielen 10 Extrapunkte bekamen, aber in der Rangliste nur der mit den 17 Einzelpunkten, in der Endabrechnung auf seinem Konto hatte. Mir fallen da auch die Unentschieden auf, wo die Tipper alle gepunktet hatten. Es gibt auch einen Tipper, der hatte bei einem Spiel 3:1 getippt, das Spiel ging aber 2:0 aus, somit auch ein richtiger Differenztipp und dieser wird nicht mit 10 Punkten in der Übersicht bedacht. Derzeit sehe ich bei Dir, Du hast ausserdem ne Priorität festgelegt, da von den drei Tippern, nur der die 10 Extra-Punkte bekommt, der in den Einzelpunkten schon oben liegt.

    Du schreibst, letztes Jahr war alles soweit ok, Sonderfall oder Logikfehler im Script? Schreib mir mal bitte, wie Du die Spiele generell auswertest, Einstellungen in der config.inc (gern auch per PN, so wird der Thread nicht überladen):

    - Art der Punkteberechnung im Tippspiel

    - Punkte für Type 'standard' (siehe Einstellung $punkte['type'])

    - Punkte für Type 'differenz' und 'tor-differenz' (siehe Einstellung $punkte['type'])

    - Extra-Punkte

  • //////////////////////////////////////////////////////////////////////////////

    // Art der Punkteberechnung im Tippspiel

    //

    // Für abggebene Tipps erhält der Mitspieler Punkte, wenn er einen richtigen Tipp abgegeben hat. Das Tippspiel bietet

    // verschiedene Möglichkeiten der Punkteberechnung.

    //

    // 'standard' = normale Berechnung nach Tendenz, Differenz und Ergebnis

    // 'ohne_differenz' = Berechnung nur nach Tendenz und Ergebnis

    // 'differenz' = Berechnung nach Tendenz abzüglich Tordifferenz des Ergebnisses zum Tipp

    // 'tor-differenz' = Berechnung nach Tendenz abzüglich der Tordifferenzen von Heimtoren zu Heimtipp und Auswärtstoren zu Auswärtstipp

    // (bei 'tor-differenz': je genauer das Ergebnis getippt wird, desto mehr Punkte)

    //

    $punkte['type'] = 'standard'




    //////////////////////////////////////////////////////////////////////////////

    // Punkte für Type 'standard' (siehe Einstellung $punkte['type'])

    //

    // Bei dieser Berechnungsart erhält man je nach Tipp-Genauigkeit die jeweils angegebenen Punkte.

    //

    // ergebnis : Punkte für Ergebnis-Tipps

    // differenz : Punkte für Differenz-Tipps

    // tendenz : Punkte für Tendenz-Tipps

    //

    $punkte['user']['tendenz'] = 1;

    $punkte['user']['differenz'] = 2;

    $punkte['user']['ergebnis'] = 5;





    //////////////////////////////////////////////////////////////////////////////

    // Punkte für Type 'differenz' und 'tor-differenz' (siehe Einstellung $punkte['type'])

    //

    // Bei diesen Berechnungsarten wird für einen richtigen Tipp eine bestimmte Basis-Punktzahl vergeben. Je ungenauer der

    // Tipp ist, desto mehr Punkte werden von dieser Basis-Punktzahl abgezogen. Für einen Ergebnis-Tipp können Punkte zur

    // Basis-Punktzahl addiert werden. Eine Mindest-Punktzahl kann angegeben werden. Es gibt bei dieser Berechnungsart

    // nur Ergebnis- und Tendenz-Tipps.

    //

    // max : Basis-Punktzahl

    // min : Mindest-Punktzahl, die für einen Tendenz-Tipp vergeben wird

    // erg : Zusatzpunkte, die bei einem Ergebnis-Tipp zur Basis-Punktzahl addiert werden

    // ten : Anzahl Punkte, die pro Tor Differenz des Tipps zum Spielergebnis abgezogen wird (bis zur Mindest-

    // Punktzahl), abhängig von der eingestellten Berechnungsart ('differenz' oder 'tor-differenz', siehe Beispiele).

    //

    // Beispiele für Einstellung 'differenz':

    // Bsp.1: Spielergebnis = 3:2 (1 Tor Diff), Tipp = 2:1 (1 Tor Diff) = 0 Tore Tipp-Differenz:

    // Punkte 'max' - (0 * 1) (1 sind die 'ten'-Punkte) = 9 - 0 = 9 Punkte

    // Bsp.2: Spielergebnis = 3:2 (1 Tor Diff), Tipp = 1:0 (1 Tor Diff) = 0 Tore Tipp-Differenz:

    // Punkte 'max' - (0 * 1) = 9 - 0 = 9 Punkte

    // HINWEIS zu Einstellung 'differenz': Obwohl der Tipp in Bsp.1 näher am Ergebnis ist, bekommen beide die gleiche Punktzahl.

    //

    // Beispiele für Einstellung 'tor-differenz':

    // Bsp.1: Spielergebnis = 3:2, Tipp = 2:1 (1 Tore Differenz der Heimtore (2 Tore für Heim getippt, 3 im Spiel geschossen)

    // plus 1 Tor Differenz zum Auswärtstipp) = 2 Tore Tipp-Differenz:

    // Punkte 'max' - (2 * 1) (1 sind die 'ten'-Punkte) = 9 - 2 = 7 Punkte

    // Bsp.2: Spielergebnis = 3:2, Tipp = 1:0 (2 Tore Differenz zum Heimtipp (1 Tor für Heim getippt, 3 im Spiel geschossen)

    // plus 2 Tore Differenz zum Auswärtstipp) = 4 Tore Tipp-Differenz:

    // Punkte 'max' - (4 * 1) = 9 - 4 = 5 Punkte

    // HINWEIS für Einstellung 'tor-differenz': Der näher am Ergebnis liegende Tipp in Bsp.1 erhält mehr Punkte.

    //

    $punkte['user']['max'] = 9;

    $punkte['user']['erg'] = 1;

    $punkte['user']['min'] = 1;

    $punkte['user']['ten'] = 1;





    //////////////////////////////////////////////////////////////////////////////

    // Extra-Punkte

    //

    // Pro Spieltag können Extra-Punkte vergeben werden. Wenn ein Mitspieler eine bestimmte Anzahl richtige Tipps an

    // einem Spielag abgegeben hat, dann erhält er die angegebene Anzahl Extra-Punkte.

    //

    // extra : Die Punktzahl, die bei Erreichen der festgelegten Anzahl richtiger Tipps auf die bereits erreichten

    // Punkte des Mitspielers am Spieltag addiert werden.

    // tippsfuerextra : Die Anzahl an richigen Tipps, die erreicht werden müssen um die Extra-Punkte zu bekommen

    // 0 = deaktiviert die Funktion der Extra-Punkte!

    // typfuerextra : Welcher Tipp-Typ mindestens erreicht werden muss, damit ein Tipp für die Berechnung der

    // Extra-Punkte zählt.

    // 1 = nur Ergebnis-Tipps zählen

    // 2 = Differenz- und Ergebnis-Tipps zählen

    // 3 = Tendenz-, Differenz- und Ergebnis-Tipps zählen

    //

    $punkte['user']['extra'] = 10;

    $punkte['user']['tippsfuerextra'] = 3;

    $punkte['user']['typfuerextra'] = 2;

  • Ich versteh derzeit die Logik hinter den Extrapunkten noch nicht, ich schau mir das später mal genauer an.


    So wie eingestellt, dürfen Tipper mit DREI oder mehr richtigen Differenz- u. Tendenztipps die 10 Extrapunkte pro Spieltag bekommen. Auf dem Bild stimmt so die Vergabe der X-Punkte mit Deinen Einstellungen nur eingeschränkt. Hast Du etwas an der functions.inc etwas geändert?

    Magst Du testweise mal die Auswertung bei $punkte['user']['typfuerextra'] = 2 auf $punkte['user']['typfuerextra'] = 1 umstellen, dann dürfte für mein Verständnis nur der Tipper auf Platz 1 die 10 Extrapunkte erhalten.

  • Ok, ich geh mal davon aus, der Fehler liegt somit in der functions.inc.php. Ich hab da mal geschaut und bin auf in meiner angepassten functions.inc.php in ca. Zeile 1516 auf einen auskommentierten Befehl gestossen. Suche mal danach:

    Code
    1. $addpts = ($punkte['remis'] == 'differenz' ? $punkte['user']['differenz'] : $punkte['user']['tendenz']);

    Ist dieser bei Dir das auch auskommentiert? Wenn Du diese Zeile mal testweise aktivierst, wie schaut es dann aus. Ich hoffe, es enstehen keine Folgefehler.

  • OK, dann bist Du leider der Erste, der so auswertet. Mir ist das so noch nicht untergekommen. Manchmal liegt es auch an unterschiedlichen Ausgangs-Konfigurationen. Leider merkst jetzt auch, das Forum ist für Hilfeleistungen nicht mehr wirklich "hilfreich", es fehlt an Entwicklern, an php-Experten, die das Script verstehen.... Ich hab nur begrenzt Ahnung aufgrund das ich mir so einiges selber angepasst hatte. Ich hatte zuletzt einigen Usern das Tippspiel auf Vordermann gebracht. Tut mir leid. Wenn ich ne freie Zeit habe, bin ich im xdataservice bei den Spielauswertungen aktiv.

  • Hallo Kai,

    vielen Dank für deine Hilfe, ich verstehe das vollkommen und das ist auch in Ordnung so, evtl. werde ich auf Typ 1 oder 3 umschwenken, In unserer Tipprunde wird nicht um den schnöden Mammon getippt, sondern um Bratwörschd für die Abschlussfeier, dann kann ich während der Saison schon mal was ändern.


    Gruß Jan


    P.S.: falls trotzdem jemand eine Lösung findet, bin ich natürlich interessiert

  • Beim Prüfen des Quellcodes kommen mir so einige Fragen auf. ^^


    Bei der Ergebnisübersicht auf dem ersten Screen, da zählen laut Code nur die komplett richtigen Tipps. Da wird nicht nach Differenz oder Tendenz geschaut.


    Bei der Rangliste sieht eigentlich alles richtig aus, nur kommt es da wahrscheinlich darauf an, wie die Ergebnisse aus der Datenbank geholt werden. Denn die Angabe des Bonus wird nur bei einem richtigen Ergebnis initialisiert, so dass es sein könnte, wenn ein Tendenztipp kommt, das die Variable noch gar nicht initialisiert wurde.


    Magst du mir vielleicht mal deine functions.inc.php per PN zukommen lassen, dann würde ich da mal etwas reinbasteln, der das evtl. behebt.

    Das es dann unter Config-Typ 3 alles klappt, wiederspricht die Theorie ein wenig, deshalb irgendwie alles komisch. ^^

    Zufrieden mit dem Script und dem Support? Möchtest du uns unterstützen?

    Dann könntest du etwas SPENDEN. :)


    HERTHA BSC heißt unser Verein
    HERTHA BSC wird es immer sein!