Spieler bleibt nicht gespeichert

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
  • Hallo Brotfische.


    Ich habe ein kleines Problem,...der Spieler wird nicht gespeichert,..
    wenn ich mir Ingame z.B 5k mache,..mich wieder auslogge und wieder einlogge, dann bleibt das geld nicht gespeichert, sondern das verschfindet.
    bei Level , Admin , Kills und Tode genau das gleiche,...


    CODE:
    Wenn sich der Spieler eingeloggt hat



    SetPVarInt(playerid,"Eingeloggt",1)
    LoadPlayer(playerid);
    SpawnPlayer(playerid);


    Ganz unten:


    STOCK LOADPLAYER


    stock LoadPlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    GivePlayerMoney(playerid, SpielerInfo[playerid][pGeld]);
    GetPlayerName(playerid, SpielerInfo[playerid][pName], MAX_PLAYER_NAME);
    SpielerInfo[playerid][pLevel] = mysql_GetInt("accounts", "Level", "Name", SpielerInfo[playerid][pName]);
    SpielerInfo[playerid][pGeld] = 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]);
    }
    return 1;
    }



    Unter OnPlayerDisconnect.


    public OnPlayerDisconnect(playerid, reason)
    {
    SavePlayer(playerid);
    DeletePVar(playerid,"Eingeloggt");
    return 1;
    }



    STOCK SAVEPLAYER



    stock SavePlayer(playerid)
    {
    if(IsPlayerConnected(playerid) && !IsPlayerNPC(playerid))
    {
    if(GetPVarInt(playerid,"Eingeloggt") == 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_SetFloat("accounts", "Health", SpielerInfo[playerid][pHealth], "Name", SpielerInfo[playerid][pName]);
    mysql_SetInt("accounts", "Admin", SpielerInfo[playerid][pAdmin], "Name", SpielerInfo[playerid][pAdmin]);
    }
    }
    return 1;
    }

  • Du musst das Geld was er auf der Hand hat Speichern


    Oder du machst es so das je nachdem wieviel geld er hat
    Das du ihm es in die Variable Speicherst
    Sprich

    ocmd:givemoney(playerid,params[])
    {
    new plid;
    new geld;
    new string[128];
    if(!istPlayerAnAdmin(playerid,5))return SendClientMessage(playerid, ROT,"**Du bist kein Administrator.");
    if(sscanf(params,"ui",plid,geld))return SendClientMessage(playerid, BLAU,"Tippe: /givemoney [Id/Name][Betrag]");
    GivePlayerMoney(plid,geld);
    format(string,sizeof(string),"[AdmCmd]%s bekommt %i$ von %s bekommen,",SpielerName(plid),geld,SpielerName(playerid));
    SendClientMessage(plid, GRÜN,string);
    SpielerInfo[playerid][pGeld] + geld;
    SavePlayer(plid);
    return 0;
    }


    Weiß ja ned wie du geld gibst

  • So sieht das jetz bei mir aus aber funktioniert trzdm nicht,...


    if(strcmp(cmdtext,"/geld", true) == 0)
    {
    GivePlayerMoney(playerid, 50000);
    SendClientMessage(playerid,COLOR_WHITE,"Du hast dir Geld gegeben.");
    SavePlayer(playerid);
    return 1;
    }


    DAS GEHT IMMER NOCH NICHT HELFT MIR MAL JEMAND -.-!!!

    Einmal editiert, zuletzt von TimTom ()