MySQL - Speicherung verbuggt

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 Tag liebe Community,


    ich habe ein Problem mit der abspeicherung von MySQL. Ich habe eine Tabelle vorhanden und es hat vor kurzem alles gespeichert,
    aber nun Speichert er nur noch meinen Namen, Passwort sowie Adminlevel. Der Rest wird nicht gespeichert. An was könnte es liegen?


    Hier der Code von "OnPlayerDisconnect":
    public OnPlayerDisconnect(playerid, reason)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SpielerInfo[playerid][pX] = X;
    SpielerInfo[playerid][pY] = Y;
    SpielerInfo[playerid][pZ] = Z;
    DeletePVar(playerid,"Eingeloggt");
    SavePlayer(playerid);
    return 1;
    }


    Das steht drinnen, habe mir auch im Spiel Geld gegeben habe mich reloggt und es wird nicht gespeichert, sowie die Positionen etc...


    Danke im vorraus.

  • Okay:


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)){
    if(GetPVarInt(playerid,"Eingeloggt") == 1){
    SpielerInfo[playerid][pLevel] = mysql_SetInt("accounts","Level",GetPlayerScore(playerid),"Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = mysql_SetInt("accounts","Geld",GetPlayerMoney(playerid),"Name",SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pSkin] = mysql_SetInt("accounts","Skin",GetPlayerSkin(playerid),"Name",SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Herkunft", SpielerInfo[playerid][pHerkunft], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "X", SpielerInfo[playerid][pX], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Y", SpielerInfo[playerid][pY], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Z", SpielerInfo[playerid][pZ], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Personalausweis", SpielerInfo[playerid][pPerso], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tutorial", SpielerInfo[playerid][pTutorial], "Name", SpielerInfo[playerid][pName]);
    mysql_debug();
    }
    }
    return 1;
    }

  • public OnPlayerDisconnect(playerid, reason)
    {
    new Float:X,Float:Y,Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    SpielerInfo[playerid][pX] = X;
    SpielerInfo[playerid][pY] = Y;
    SpielerInfo[playerid][pZ] = Z;
    SavePlayer(playerid);
    DeletePVar(playerid,"Eingeloggt");//Darfst du erst nachher löschen, da in SavePlayer noch die Variable abgefragt wird ^^
    return 1;
    }


    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid)){
    if(GetPVarInt(playerid,"Eingeloggt") == 1){
    mysql_SetInt("accounts","Level",GetPlayerScore(playerid),"Name",SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts","Geld",GetPlayerMoney(playerid),"Name",SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts","Skin",GetPlayerSkin(playerid),"Name",SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Herkunft", SpielerInfo[playerid][pHerkunft], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Kills", SpielerInfo[playerid][pKills], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tode", SpielerInfo[playerid][pTode], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "X", SpielerInfo[playerid][pX], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Y", SpielerInfo[playerid][pY], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Z", SpielerInfo[playerid][pZ], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Personalausweis", SpielerInfo[playerid][pPerso], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tutorial", SpielerInfo[playerid][pTutorial], "Name", SpielerInfo[playerid][pName]);
    mysql_debug();
    }
    }
    return 1;
    }