Beiträge von Yannici

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!

    Ah, da liegt es auf der Hand. Du wirst wohl die Datei save.tip.inc.php von dem AddOn "Frei wählbares Bonusspiel" nicht hochgeladen bzw. ersetzt haben. Deswegen kommt der Fehler. Bitte sicherstellen, dass du das AddOn korrekt installiert hast.

    Hast du irgendwelche AddOns installiert oder so?
    Kannst du mal in die Datenbank gehen und sagen was für Spalten du in der Tabelle bulitipp_tipps hast?
    Und hast du schon was in der save.tips.inc.php geändert außer das mit $newContent?

    Ich hatte Lust auf sowas, deshalb hat mir die Entwicklung auch Spaß gemacht :D Man kann auch ein Modul machen, das einfach Zufallsergebnisse ziehen lässt ;) Geht auch.


    Lottozahlen wäre auch mal schön zu berechnen :D

    Natürlich nicht.
    Die Logik dahinter sieht so aus:


    Nehmen wir folgende Punkte an:
    Sieg Heim: 50 (entspricht 50%)
    Remis: 30 (entspricht 30%)
    Sieg Gast: 20 (entspricht 20%)


    Der Zufallsgenerator hat entschieden, dass Heimteam gewinnt (mehr Prozent, höhere Wahrscheinlichkeit - hier also schon Unterschied vom letztendlichen Ergebnis).
    Pro "Torversuch" werden 15% abgezogen.


    Zuerst werden die Gast-Tore ermittelt (wenn Gast-Team gewinnt, wäre es andersrum). Es wird eine Zufallszahl zwischen 0 und 100 ermittelt.
    1. Durchlauf: Ist die Zahl < 20% bekommt der Gast ein Tor und es werden 15% (Torversuch) abgezogen, es bleiben 5% übrig.
    2. Durchlauf: Neue Zufallszahl wird gewürfelt. Ist die Zahl > 5% bekommt der Gast kein Tor und es werden trotzdem 15% (Torversuch) abgezogen, es bleiben -10% übrig.
    3. Durchlauf: Der Gast hat < 0% und hat keine Torversuche mehr übrig.


    Dann die Heim-Tore. Da Heim gewinnt bekommt Heim automatisch 1 Tor mehr als Gast. (Im Beispiel: 1 Tor Gast bedeutet 2 Tore Heim).
    Aktuelles Ergebnis also 2:1.
    Da Heim-Team aber noch weitere Tore schießen kann werden nun von den 50% (Sieg Heim) die 20% (Sieg Gast) abgezogen. Bleiben 30% übrig.
    30% / 15% = 2. Das heißt Heim-Team bekommt 2 Torversuche. Der Erste Torversuch mit 30% und der zweite mit 15% nach obigem Verfahren.


    Durch den Zufall (Mal ist die Zufallszahl höher als die Torversuchschance, mal niedriger) bekommen sie unterschiedliche Ergebnisse.


    Tut mir Leid wenn schlecht erklärt :/

    Quicktipp 2.0

    Quicktipp ist ein AddOn, welches den Spielern ermöglicht Tipps schnell und einfach per Generator tippen zu lassen.
    Dieser Generator ist aber kein einfacher Zufallsgenerator. Quicktipp 2.0 ermöglicht es Ergebnisse nach bestimmten Kriterien
    berechnen zu lassen. Es ist auch durch sein simples, modulares System jederzeit erweiterbar.
    Da es Quicktipp vor einiger Zeit schon mal gab, habe ich es 2.0 genannt, sodass es keine Verwechslungsgefahr gibt.


    Modul-System
    Das simple Modul-System besteht eigentlich nur aus Funktionen, die dynamisch aufgerufen werden. Jede Funktion
    kann die Gewinnerberechnung beeinflussen. Voraussetzungen dafür ist, dass ein Array mit 3 numerischen Werten zurück gegeben wird. Außerdem muss der Name
    der Funktion mit qt_ beginnen (kurz für QuickTipp).
    Die drei Werte stellen Punkte für folgendes dar:

    • Punkte für den Sieg des Heimteams
    • Punkte für ein Remis
    • Punkte für den Sieg des Auswärtsteams

    Anhand den Punkten wird dann der Gewinner berechnet bzw. per Zufall ausgewählt. Je mehr Punkte, desto höher die Wahrscheinlichkeit
    dass diese "Kategorie" (Sieg Heim, Remis, Sieg Gast) gewinnt.

    Durch das Programmieren von neuen Modulen kann die Gewinnerberechnung immer realistischer gestaltet werden.
    Ist der Gewinner berechnet wird von Quicktipp 2.0 selbst ein Ergebnis anhand der prozentualen Verteilung der Punkte berechnet.


    In dem Array $functions innerhalb der Datei quicktipp.inc.php wird definiert, welche Module berücksichtigt werden.


    Module

    • qt_table_ranking (Ersteller: Yannici)
      Errechnet Wahrscheinlichkeiten zum Sieg des Heim- oder Auswärtsteams anhand der aktuellen Tabellenplatzierung.
      Am ersten Spieltag sind alle Tipps zufällig, weil es noch keine Tabellenplatzierungen gibt.
    • qt_home_bonus (Ersteller: Yannici)
      Gibt dem Heim-Team einen kleinen Bonus. Statistisch gewinnen Heim-Teams öfters als Gast-Teams.


    Installation


    Schritt für Schritt



    Download
    Natürlich kann man die gesamten Dateien zum Ersetzen auch herunterladen.


    >> quicktipp.zip


    >> quicktipp-php7.zip


    Demo
    Demo gibt's wie immer auf http://bulitipp.yannici.de (User: admin / Passwort: admin)


    !!! ACHTUNG: ICH HABE NUR PHP7, DESHALB BITTE ICH DIE PHP5-BENUTZER ALLES ZU TESTEN !!!

    Dateien

    • dice.png

      (441 Byte, 258 Mal heruntergeladen, zuletzt: )

    Selbe wie im anderen Thread auch (Tipps werden nicht gespeichert). Das NULL bei update SET lastlogin = NULL einfach mit NOW() ersetzen.

    Kannst du mal in der config error_reporting(0); auf error_reporting(E_ALL); ändern? Und wenn Fehlermeldungen erscheinen evtl. mal geben?
    Damit könnte man ausschließen ob es an UTF8 ohne BOM liegt. Bei falschem Format sollte ein Fehler sowas wie headers already sent o.ä kommen.

    Vielleicht werde ich das mal wieder aufleben lassen. Ich finde den Quicktipp-Mod eine gute Idee und werde evtl. noch etwas Logik ins Spiel bringen (Berechnung aus aktuellen Tabellenplätzen, Anzahl der Tore/Gegentore in letzten Spielen ...) und das dann für die aktuelle BuliTipp-Version implementieren.

    Nein. xDataService befüllt den alten Datenservice, der bisher als Schnittstelle zwischen Tippspiel und OpenLigaDB gearbeitet hat. Da OpenLigaDB jetzt aber abgelöst wird ist der xDataService anstelle von OpenLigaDB zur Befüllung des alten Datenservice verantwortlich.


    Alt: Tippspiel => alter Datenservice => OpenLigaDb
    Neu: Tippspiel => alter Datenservice => xDataService


    So verstehe ich das jedenfalls ;)

    Ah dachte , bin auf die idee gekommen weil ich vorher ein Spiel bearbeitet habe und jemand ebenfalls zur gleichen Zeit da aktiv war.
    Es kommt zwar eine Systemmeldung, welches das doppelte Eintragen von Ereignissen dann auch verhindert, nur schaut man im ersten Augenblick dumm rein. :)

    Das war dann wohl ich. War das Aalen vs. Chemnitzer FC? Da dachte ich: Wer hat denn da angefangen und nicht fertiggestellt? :D

    Okay, da ist die Sache klar: Es gibt bei bestimmten Hostern dass die Option explicit_defaults_for_timestamp auf OFF ist. Das verhindert das problemlose Speichern.


    Du kannst das beheben indem du in der Zeile 137 der Datei save.tips.inc.php folgendes änderst.
    Die letzten Zeichen in dieser Zeile sind ,NULL,". Ändere diese in ,NOW(),".


    Dann sollte es funktionieren.
    Wenn es funktioniert kannst du ja wieder $newContent=mysql_error(); auf $newContent=$pic['error_db']; zurück ändern.

    Vielen Dank für die Reaktion.
    Habe die save.tips.inc.php entsprechend geändert. Jetzt wird mir kein Ausrufezeichen (oder Häkchen wie es sein sollte, wenn es funktioniert) mehr gezeigt aber auch keine Fehlermeldung.

    Nutzt du denn auch die Version für PHP7?
    Wenn nein, dann musst du anstatt $newContent=mysqli_error($MYSQLI); das hier nehmen: $newContent=mysql_error();

    Aber ab wann wird ein Spiel dann nicht mehr im Ergebnisdienst angezeigt?
    90 Minuten + 15 nach Anstoß oder wie? Fände besser wenn alle Spiele, dessen Anstoß bereits vergangen ist, im Ergebnisdienst absteigend nach Anstoßzeit sortiert werden und solange da stehen bleiben bis ein Flag "Spiel beendet" gesetzt wird o.ä.