Mysql User bleibt auf eingeloggt

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
  • Hi, ich wollte in der Datenbank anzeigen lassen dass der User eingeloggt ist.


    Wenn der User online geht geht eingeloggt auf 1, jedoch wenn ich ihn auslogge bleibt es auf 1.



    Hier bei savePlayer:
    format(query,sizeof(query),"UPDATE user SET level='%i',geld='%i',eingeloggt='%i' WHERE id='%i'",GetPlayerScore(playerid),GetPlayerMoney(playerid),sInfo[playerid][eingeloggt],sInfo[playerid][id]);


    und dann bei OnPlayerDisconnect setzte ich es extra auf 0, damit dann bei savePlayer eingeloggt als 0 übernommen wird:
    public OnPlayerDisconnect(playerid, reason)
    {
    sInfo[playerid][eingeloggt]=0;
    savePlayer(playerid);
    resetPlayer(playerid);
    return 1;
    }


    Funktioniert aber nicht

  • sInfo[playerid][eingeloggt]=0;
    savePlayer(playerid);
    Er hat den Spieler die Variable eingeloggt erst auf 0 gesetzt und dann gespeichert, daher wurde in die Speicherfunktion unterbrochen, weil der Spieler nicht mehr eingeloggt ist.

  • das war das Problem ja, man hätte eigentlich nur bei der Funktion savePlayer
    UPDATE user SET level='%i',geld='%i',adminlevel='%i' WHERE id='%i'
    eingeloggt='0' machen müssen.



    Jedoch war mein Problem dabei, dass ich den Spieler ja nicht nur beim ausloggen speichern will.
    Habe dann einfach bei OnPlayerDisconnect nachdem der Spieler gespeichert wird noch zusätzlich eingeloggt auf 0 gesetzt:
    new query[128];
    format(query,sizeof(query),"UPDATE user SET eingeloggt='0' WHERE id='%i'",sInfo[playerid][id]);
    mysql_function_query(dbverbindung,query,false,"","");