Speicherfehler !?

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 Community ich bin grade ein Bischenratlos :O


    ich brauche eine Lösung mein Script Speichert plötzlich nur noch das Passwort ! :O


    SpielerSpeicher Funktion :
    stock SpielerSpeichern(playerid)
    {
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    dini_IntSet(Spielerdatei,"Level",GetPlayerScore(playerid));
    dini_IntSet(Spielerdatei,"Alter",GetPVarInt(playerid,"Alter"));
    dini_IntSet(Spielerdatei,"Geschlecht",GetPVarInt(playerid,"Geschlecht"));
    dini_IntSet(Spielerdatei,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(Spielerdatei,"Konto",GetPVarInt(playerid,"Konto"));
    dini_IntSet(Spielerdatei,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(Spielerdatei,"Adminlevel",GetPVarInt(playerid,"Adminlevel"));
    dini_IntSet(Spielerdatei,"Premium",GetPVarInt(playerid,"Premiumrang"));
    dini_IntSet(Spielerdatei,"Fraktion",GetPVarInt(playerid,"Fraktion"));
    dini_IntSet(Spielerdatei,"Job",GetPVarInt(playerid,"Job"));
    dini_IntSet(Spielerdatei,"Autoschein",GetPVarInt(playerid,"Autoschein"));
    dini_IntSet(Spielerdatei,"Bikeschein",GetPVarInt(playerid,"Bikeschein"));
    dini_IntSet(Spielerdatei,"Bootschein",GetPVarInt(playerid,"Bootschein"));
    dini_IntSet(Spielerdatei,"Flugschein",GetPVarInt(playerid,"Flugschein"));
    dini_IntSet(Spielerdatei,"Waffenschein",GetPVarInt(playerid,"Waffenschein"));
    dini_IntSet(Spielerdatei,"Angelschein",GetPVarInt(playerid,"Angelschein"));
    dini_IntSet(Spielerdatei,"lkwschein",GetPVarInt(playerid,"lkwschein"));
    dini_IntSet(Spielerdatei,"Baned",GetPVarInt(playerid,"Baned"));
    dini_IntSet(Spielerdatei,"timeban",GetPVarInt(playerid,"timeban"));
    }
    return 1;
    }


    LoadAcc Funktion :
    stock LoadAccount(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    SetPlayerScore(playerid,dini_Int(Spielerdatei,"Level"));
    SetPVarInt(playerid,"Alter",dini_Int(Spielerdatei,"Alter"));
    SetPVarInt(playerid,"Geschlecht",dini_Int(Spielerdatei,"Geschlecht"));
    SetPlayerSkin(playerid,dini_Int(Spielerdatei,"Skin"));
    GivePlayerMoney(playerid,dini_Int(Spielerdatei,"Geld"));
    SetPVarInt(playerid,"Konto",dini_Int(Spielerdatei,"Konto"));
    SetPVarInt(playerid,"Adminlevel",dini_Int(Spielerdatei,"Adminlevel"));
    SetPVarInt(playerid,"Premium",dini_Int(Spielerdatei,"Premiumrang"));
    SetPVarInt(playerid,"Fraktion",dini_Int(Spielerdatei,"Fraktion"));
    SetPVarInt(playerid,"Job",dini_Int(Spielerdatei,"Job"));
    SetPVarInt(playerid,"Autoschein",dini_Int(Spielerdatei,"Autoschein"));
    SetPVarInt(playerid,"Bikeschein",dini_Int(Spielerdatei,"Bikeschein"));
    SetPVarInt(playerid,"Bootschein",dini_Int(Spielerdatei,"Bootschein"));
    SetPVarInt(playerid,"Flugschein",dini_Int(Spielerdatei,"Flugschein"));
    SetPVarInt(playerid,"Waffenschein",dini_Int(Spielerdatei,"Waffenschein"));
    SetPVarInt(playerid,"Angelschein",dini_Int(Spielerdatei,"Angelschein"));
    SetPVarInt(playerid,"lkwschein",dini_Int(Spielerdatei,"lkwschein"));
    SetPVarInt(playerid,"Baned",dini_Int(Spielerdatei,"Baned"));
    if(GetPVarInt(playerid,"Baned")==1)
    {
    SendClientMessage(playerid,ROT,"Du bist vom Server gebannt.");
    Kick(playerid);
    }
    SetPVarInt(playerid,"loggedin",1);
    return 1;
    }


    OnPlayerDisconnect:
    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    }


    Ich hoffe auf eine Schnelle Hilfe :D


    Kann es sein das Ich Spielerdatei[64] erhöhen muss ?

  • in dem stock "SpielerSpeichern" wird ja das passwort nicht abgespeichert.. ich vermute mal der stock wird überhaupt nicht mehr aufgerufen aus irgendeinem grund.. das passwort sollte ja nur beim registrieren abgespeichert werden.. von daher zeig mal den register public/funktion
    werden die sachen denn geladen? weil da wird ja "eingeloggt" auf 1 gesetzt

  • stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    dini_Create(Spielerdatei);
    dini_Set(Spielerdatei,"Passwort",key);
    SendClientMessage(playerid,BLAU,"Willkommen auf San Andreas Reality und Viel Spaß Weiterhin!");
    SetPlayerScore(playerid,1);
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,3000);
    return 1;
    }


    Ich Schätze es hat damit zutun SpielerDatei[64] ich glaube das es zu klein ist :O //e Falsch ist es nicht :(

  • Ich Schätze es hat damit zutun SpielerDatei[64] ich glaube das es zu klein ist :O


    glaub ich kaum da der spielername maximal 24 zeichen hat. und der pfad hat nur 15 zeichen = 39 zeichen.. von daher glaub ich das nicht


    e: ich würde dir einfach mal empfehlen ein debug zu machen.. probier unter onplayerdisconect ein print einzubauen und schau ob der account überhaupt abgespeichert wird.


    if(GetPVarInt(playerid,"loggedin")==1)
    {
    SpielerSpeichern(playerid);
    print("gespeichert");
    }


    da der spielerspeichern stock erst beim disconnect aufgerufen wird einfach mal einen neuen account machen und disconnecten und schaun ob in der console der print ausgegeben wird..
    kann sein das es am pvar "loggedin" liegt