Spieler abspeichern funktioniert nicht richtig.

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
  • Hay, ich bin heute mal wieder hier wegen einem kleinen Speicher Problem.



    Hier der Stock zum Registrieren

    stock Register(playerid,key[])
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.cfg",Sname);
    dini_Create(Spieler);
    dini_Set(Spieler,"Passwort",key);
    dini_IntSet(Spieler,"Fraktion",0);
    dini_IntSet(Spieler,"Adminlevel",0);
    dini_IntSet(Spieler,"Banned",0);
    dini_IntSet(Spieler,"Geld",0);
    GivePlayerMoney(playerid, 25000);
    dini_IntSet(Spieler,"Level",0);
    SetPlayerScore(playerid,1);
    SetSpawnInfo(playerid,0,0,1567.9358,-1891.7168,13.5593,359.1738,0,0,0,0,0,0);
    SpawnPlayer(playerid);
    return 1;
    }


    Hier die Stocks zum Laden&Speichern

    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.cfg",Sname);
    dini_IntSet(Spieler,"Fraktion",pInfo[playerid][Fraktion]);
    dini_IntSet(Spieler,"Adminlevel",pInfo[playerid][Admin]);
    dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Banned",pInfo[playerid][Banned]);
    return 1;
    }


    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.cfg",Sname);
    pInfo[playerid][Admin]=dini_Int(Spieler,"Adminlevel");
    pInfo[playerid][Fraktion]=dini_Int(Spieler,"Fraktion");
    pInfo[playerid][Level]=dini_Int(Spieler,"Level");
    pInfo[playerid][Geld]=dini_Int(Spieler,"Geld");
    pInfo[playerid][Banned]=dini_Int(Spieler,"Banned");
    return 1;
    }


    Ich gebe dem Spieler bei der Registration 25000€, nach dem ausloggen stand alles noch richtig in der Spielerdatei mit 25000€(nachgeschaut), allerdings nach dem erneuten einloggen sind diese weg und in der Spielerdatei steht auch 0€.
    Das gleiche mit dem Level(Score) und dem Banned....



    Ich kapier es einfach nicht...
    Hilfe wäre nett :/

    Ich bin wieder da, MoFogga


    You're not completely useless. You can always serve as a bad example!

  • Level & Geld hab ich hinbekommen,
    allerdings payday & Banned ist nun das problem :/
    Werden immer wieder auf null gesetzt nach dem Login.


    Beim Login steht



    public OnPlayerConnect(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.cfg",Sname);
    if(dini_Exists(Spieler))
    {
    if(dini_Int(Spieler,"Banned") == 1)
    {
    SendClientMessage(playerid,dunkelrot,"Du bist gebannt!");
    Kick(playerid);
    }
    }
    if(dini_Exists(Spieler))
    {
    ShowPlayerDialog(playerid,LOGIN,DIALOG_STYLE_INPUT,"****** LOGIN ******","Account wurde gefunden\nBitte gebe dein Passwort ein:","WEITER","ABBRUCH");
    }
    else
    {
    ShowPlayerDialog(playerid,REGISTER,DIALOG_STYLE_INPUT,"****** REGISTRIERUNG ******","Account nicht gefunden\nBitte erstelle dein Passwort:","WEITER","ABBRUCH");
    }
    new PName[MAX_PLAYER_NAME];
    GetPlayerName(playerid,PName,sizeof(PName));
    if ( strfind ( PName, "_", false , false) == -1 && !IsPlayerNPC (playerid) )
    {
    SendClientMessage(playerid,dunkelrot,"Sie haben keinen Roleplay Namen. Bitte benutze folgende Vorlage:");
    SendClientMessage(playerid,dunkelrot,"Max_Mustermann , Steve_Riley , Jayson_Smith , etc.");
    Kick(playerid);
    return 1;
    }
    return 1;
    }


    Der Spieler lädt bei meinem Login Stock.


    stock SpielerSpeichern(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.cfg",Sname);
    dini_IntSet(Spieler,"Adminlevel",pInfo[playerid][Admin]);
    dini_IntSet(Spieler,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spieler,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spieler,"Banned",pInfo[playerid][Banned]);
    dini_IntSet(Spieler,"payday",pInfo[playerid][payday]);
    return 1;
    }


    stock SpielerLaden(playerid)
    {
    new Spieler[64];
    new Sname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Sname,sizeof(Sname));
    format(Spieler,sizeof(Spieler),"/Accounts/%s.cfg",Sname);
    dini_Int(Spieler,"Adminlevel");
    new getlevel = dini_Int(Spieler,"Level");
    SetPlayerScore(playerid, getlevel);
    new getmoney = dini_Int(Spieler,"Geld");
    GivePlayerMoney(playerid, getmoney);
    dini_Int(Spieler,"Banned");
    dini_Int(Spieler,"payday");
    return 1;
    }

    Ich bin wieder da, MoFogga


    You're not completely useless. You can always serve as a bad example!