Spielerdaten werden nicht gesaved (MySQL)

  • Spielerdaten werden nicht gesaved (MySQL)

    Hallo,

    ich hab das Problem das meine Spielerdaten nicht gesaved werden.

    Hab bei "OnPlayerDisc...."
    [pwn]SavePlayer(playerid);[/pwn]
    bei meinem GMX CMD
    [pwn] if(strcmp("/gmx", cmdtext, true, 10) == 0)
    {
    if(SpielerInfo[playerid][pAdmin] >= 5)
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    SavePlayer(i);
    }
    SendRconCommand("gmx");
    }
    return 1;
    }[/pwn]

    Speichern &
    [pwn]stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    P_GivePlayerMoney(playerid, (mysql_GetInt("accounts", "Geld", "Name", SpielerInfo[playerid][pName])));
    SpielerInfo[playerid][pKills] = mysql_GetInt("accounts", "Kills", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTode] = mysql_GetInt("accounts", "Tode", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAdmin] = mysql_GetInt("accounts", "Admin", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFraktion] = mysql_GetInt("accounts", "Fraktion", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pRang] = mysql_GetInt("accounts", "Rang", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pAlter] = mysql_GetInt("accounts", "Age", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeschlecht] = mysql_GetInt("accounts", "Geschlecht", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGebannt] = mysql_GetInt("accounts", "Gebannt", "Name", SpielerInfo[playerid][pName]);
    format(SpielerInfo[playerid][pBanAdmin], 16, mysql_GetString("accounts", "BanAdmin", "Name", SpielerInfo[playerid][pName]));
    format(SpielerInfo[playerid][pBanGrund], 50, mysql_GetString("accounts", "BanGrund", "Name", SpielerInfo[playerid][pName]));
    SpielerInfo[playerid][pTBan] = mysql_GetInt("accounts", "TBan", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pBank] = mysql_GetInt("accounts", "Bank", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pSpawn] = mysql_GetInt("accounts", "Spawn", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMietsHaus] = mysql_GetInt("accounts", "MietsHaus", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pHaus] = mysql_GetInt("accounts", "Haus", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pSkin] = mysql_GetInt("accounts", "Skin", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pFSkin] = mysql_GetInt("accounts", "FSkin", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pWarn] = mysql_GetInt("accounts", "Warn", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pJail] = mysql_GetInt("accounts", "Jail", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pJailTime] = mysql_GetInt("accounts", "JailTime", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pWanted] = mysql_GetInt("accounts", "Wanted", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTod] = mysql_GetInt("accounts", "Tod", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTut] = mysql_GetInt("accounts", "Tut", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTotX] = mysql_GetFloat("accounts", "TotX", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTotY] = mysql_GetFloat("accounts", "TotY", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pTotZ] = mysql_GetFloat("accounts", "TotZ", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pMaske] = mysql_GetInt("accounts", "Maske", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pHealth] = mysql_GetFloat("accounts", "Health", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pArmor] = mysql_GetFloat("accounts", "Armor", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGatMoney] = false;
    SpielerInfo[playerid][pPlayerLooseMoney] = false;
    SpielerInfo[playerid][pGatHealth] = false;
    SpielerInfo[playerid][pGatArmor] = false;
    //SpielerInfo[playerid][p] = mysql_GetInt("accounts", "", "Name", SpielerInfo[playerid][pName]);
    }
    return 1;
    }

    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(Eingeloggt[playerid] == 1)
    {
    mysql_SetInt("accounts", "Level", SpielerInfo[playerid][pLevel], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geld", SpielerInfo[playerid][pGeld], "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_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Fraktion", SpielerInfo[playerid][pFraktion], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Rang", SpielerInfo[playerid][pRang], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Age", SpielerInfo[playerid][pAlter], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Geschlecht", SpielerInfo[playerid][pGeschlecht], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Gebannt", SpielerInfo[playerid][pGebannt], "Name", SpielerInfo[playerid][pName]);
    mysql_SetString("accounts", "BanAdmin", SpielerInfo[playerid][pBanAdmin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetString("accounts", "BanGrund", SpielerInfo[playerid][pBanGrund], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "TBan", SpielerInfo[playerid][pTBan], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Bank", SpielerInfo[playerid][pBank], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Spawn", SpielerInfo[playerid][pSpawn], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "MietsHaus", SpielerInfo[playerid][pMietsHaus], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Haus", SpielerInfo[playerid][pHaus], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Skin", SpielerInfo[playerid][pSkin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "FSkin", SpielerInfo[playerid][pFSkin], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Warn", SpielerInfo[playerid][pWarn], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Jail", SpielerInfo[playerid][pJail], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "JailTime", SpielerInfo[playerid][pJailTime], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Wanted", SpielerInfo[playerid][pWanted], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tod", SpielerInfo[playerid][pTod], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Tut", SpielerInfo[playerid][pTut], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "TotX", SpielerInfo[playerid][pTotX], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "TotY", SpielerInfo[playerid][pTotY], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "TotZ", SpielerInfo[playerid][pTotZ], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Maske", SpielerInfo[playerid][pMaske], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetFloat("accounts", "Armor", SpielerInfo[playerid][pArmor], "Name", SpielerInfo[playerid][pName]);
    //mysql_SetInt("accounts", "", SpielerInfo[playerid][p], "Name", SpielerInfo[playerid][pName]);
    }
    }
    return 1;
    }[/pwn]
  • Ich setze die Variable auf "1" wenn ich mich einlogge oder Registriere.

    2. Nein es wird nichts gespeichert. Ich habe beobachtet das es bis zum Neu einloggen gespeichert ist, aber wenn man sich dann einloggt ist alles auf 0

    Und bei CMD´s ist diese Abfrage:

    Ein Command
    [pwn]ocmd:setskin(playerid, params[])
    {
    if(IsPlayerInGame(playerid))
    {
    if(SpielerInfo[playerid][pAdmin] >= 4)
    {
    new SkinID;
    if(sscanf(params, "ui", pID, SkinID))return SendClientMessage(playerid, WEIß, "Nutze: /setskin [ID] [SkinID]");
    if(SkinID <= 299 || SkinID >= 0)
    {
    SpielerInfo[pID][pSkin] = SkinID;
    SetPlayerSkin(playerid, SkinID);
    SendClientMessage(playerid, GELB, "Du hast den Skin von %s auf %i geändert", SpielerName(pID), SkinID);
    //Ja ich kann einen Text ohne "format" mit %s , %i etc sofort in "SendClientMessage" einbauen.
    }
    else SendClientMessage(playerid, ROT, "Nur Skins zwischen 0 und 299");
    }
    }
    return 1;
    }[/pwn]


    stock
    [pwn]forward IsPlayerInGame(playerid);
    public IsPlayerInGame(playerid)
    {
    if(Eingeloggt[playerid] == 0)
    {
    SendClientMessage(playerid, ROT, "Du musst eingeloggt sein um Befehle nutzen zu können");
    return false;
    }
    return 1;
    }[/pwn]
  • Habs Problem gefixxt.

    hab ganz oben bei den "news"
    [pwn]new pSpawned[MAX_PLAYERS];[/pwn]

    bei "OnPlayerDisconnect"
    [pwn]pSpawned[playerid] = 0;[/pwn]

    Da wo der Spieler gespeichert wird eine Abfrage
    [pwn]if(Eingeloggt[playerid] == 1 && pSpawned[playerid] == 1)[/pwn]

    und dann bei meinem stock wo die ganzen (Fraktions)-Spawns sind das
    [pwn]pSpawned[playerid] = 1;[/pwn]

    Und seitdem hab ich diesen Fehler auch nicht mehr :)