Wenn User mit gleicher ID wie der davorige User connected, erhält er diese Statistik

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Guten Abend,


    ich habe ein sehr fatalen Serverfehler, den ich nicht behoben bekomme:


    Zuerst zu den Ressourcen & das was ich nutze:


    - ich habe eine MySQL Datenbank wo alle User in dem Table "accounts" gespeichert werden
    - ich lasse den Gamemode auf einem Linux Root Server laufen


    Fallbeispiel:


    Der Spieler "Hans" ID = 11 connected auf den Server, loggt sich ein und spielt.
    Nach 30 Minuten hat "Hans" keine lust mehr und loggt sich aus.
    Direkt nach dem Logout von "Hans" connected "Thomas", ein anderer Spieler auf den Server.
    Da die ID 11 nun nicht mehr vergeben ist, da "Hans" den Server verlassen hat, bekommt nun "Thomas" die ID 11.


    Das Problem ist nun, dass "Thomas" jetzt die komplett gleichen Statistiken wie "Hans" hat bekommt.



    Die Frage ist nun, ob das ein MySQL-Fehler ist oder was sonst falsch läuft.


    Bitte um Hilfe! :huh:

  • Das Problem ist nun, dass "Thomas" jetzt die komplett gleichen Statistiken wie "Hans" hat bekommt.


    Lass "Hans", wenn er Disconnectet, sein Account speichern & alle Stats-Variablen auf 0 setzen.
    Beispiel:

    public OnPlayerDisconnect(playerid)
    {
    Save(playerid);
    Reset(playerid);
    return 1;
    }


    stock Reset(playerid)
    {
    //deine ganzen Variablen auf 0 setzen
    }


    stock Save(playerid)
    {
    //den Spieler speichern (alle Player-Variablen in der accounts-Tabelle des Spielers speichern)
    }



    So sollte der Fehler behoben werden, wenn mich nicht alles täuscht.

  • Theoretisch sollte es nichts damit zutun haben die Stats zurückzusetzen.
    Denn beim Login werden die Stats schließlich neu geladen, richtig?
    Somit müsste derjenige eigentlich mit seinen Stats spawnen.
    Allerdings solltest du das nicht ausschließen denn es können immer Fehler auftreten.
    Am besten probierst du das was meine Vorposter dir beschrieben haben.