Account Speichern/Laden mit SII?

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
  • Also ich bin mit meinem Filesystem mal von dini auf SII umgestiegen udn hab meine Login/Register darauf umgeschrieben aber es will nicht funktionieren
    Und ich hab keine Ahnung woran das liegt und ich kenne mich ja noch nicht so gut mit SII aus also hoffe ich ihr könnt mir helfen.


    Es wir zwar eine Spielerdatei als .ini erstellt aber es wir nur das Passwort darin gespeichert und gehashed(MD5)) die anderen Daten aus dem stock SpielerSpeichern und AccountLaden werden nirgends hin gespeichert genau so wie eine Spielerdateimit PW für mich erstellt wurde aber für meinen Kumpel nicht


    stock Register(playerid,key[])
    {
    new Spielerdatei[64];
    new Inventar[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    format(Inventar,sizeof(Inventar),"/Inventar/%s.ini",name);
    //INI_Create();
    //INI_Create();
    INI_Open("Spielerdatei");
    {
    INI_WriteString("Passwort",key);
    SendClientMessage(playerid,grün,"Herzlichen Glückwunsch, du hast dich erfolgreich registriert");
    GiveStartVars(playerid);
    GiveStartInventar(playerid);
    pInfo[playerid][Eingeloggt]=1;
    INI_Save();
    INI_Close();
    }
    return 1;
    }


    stock Login(playerid,key[])
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.txt",name);
    if(!strcmp(key,dini_Get(Spielerdatei,"Passwort"),true))
    {
    AccountLaden(playerid);
    InventarLaden(playerid);
    pInfo[playerid][Eingeloggt]=1;
    pInfo[playerid][ZsL]=0;
    SendClientMessage(playerid,grün,"Du hast dich erfolgreich eingeloggt");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,rot,"Falsches Passwort");
    ShowPlayerDialog(playerid,DIALOG_Login,DIALOG_STYLE_PASSWORD,"Login"," Dein Account wurde gefunden, bitte gib dein Passwort ein.","Login","Abbrechen");
    return 1;
    }


    }


    stock SpielerSpeichern(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(INI_Exist(Spielerdatei))
    {
    INI_WriteInt("Erfahrung",pInfo[playerid][Erfahrung]);
    INI_WriteInt("Warns",pInfo[playerid][Warns]);
    INI_WriteInt("Geld",pInfo[playerid][Geld]);
    INI_WriteInt("Adminlevel",pInfo[playerid][Adminlevel]);
    INI_WriteInt("Level",pInfo[playerid][Level]);
    INI_WriteInt("Wanteds",pInfo[playerid][Wanteds]);
    INI_WriteInt("Banned",pInfo[playerid][Banned]);
    INI_WriteInt("Hunger",pInfo[playerid][Hunger]);
    INI_WriteInt("Durst",pInfo[playerid][Durst]);
    INI_WriteInt("Viren",pInfo[playerid][Viren]);
    INI_WriteInt("Fraktion",pInfo[playerid][Fraktion]);
    INI_WriteInt("Nebenjob",pInfo[playerid][Nebenjob]);
    INI_WriteInt("Fraktionsrang",pInfo[playerid][Fraktionsrang]);
    INI_WriteInt("Zeit bis Payday",pInfo[playerid][ZbP]);
    INI_WriteInt("Hat Uhr",pInfo[playerid][HatUhr]);
    INI_Save();
    INI_Close();
    }
    return AccountLaden(playerid);
    }
    stock AccountLaden(playerid)
    {
    new Spielerdatei[64];
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",name);
    if(INI_Exist(Spielerdatei))
    {
    INI_Open(Spielerdatei);
    {
    SetPlayerScore(playerid,INI_ReadInt("Level"));
    GivePlayerMoney(playerid,INI_ReadInt("Geld"));
    SetPlayerWantedLevel(playerid,INI_ReadInt("Wanteds"));
    pInfo[playerid][Erfahrung] = INI_ReadInt("Erfahrung");
    pInfo[playerid][Geld] = INI_ReadInt("Geld");
    pInfo[playerid][Adminlevel] = INI_ReadInt("Adminlevel");
    pInfo[playerid][Level] = INI_ReadInt("Level");
    pInfo[playerid][Wanteds] = INI_ReadInt("Wanteds");
    pInfo[playerid][Banned] = INI_ReadInt("Banned");
    pInfo[playerid][Warns] = INI_ReadInt("Warns");
    pInfo[playerid][Hunger] = INI_ReadInt("Hunger");
    pInfo[playerid][Durst] = INI_ReadInt("Durst");
    pInfo[playerid][Viren] = INI_ReadInt("Viren");
    pInfo[playerid][Fraktion] = INI_ReadInt("Fraktion");
    pInfo[playerid][Nebenjob] = INI_ReadInt("Nebenjob");
    pInfo[playerid][Fraktionsrang] = INI_ReadInt("Fraktionsrang");
    pInfo[playerid][ZbP] = INI_ReadInt("Zeit bis Payday");
    pInfo[playerid][HatUhr] = INI_ReadInt("Hat Uhr");
    }
    if(pInfo[playerid][Banned]==1)
    {
    SendClientMessage(playerid,rot,"Du wurdest gebannt. Wenn es ein Failban ist,");
    SendClientMessage(playerid,rot,"dann kontaktiere einen Admin");
    Kick(playerid);
    }
    if(pInfo[playerid][Warns]==3)
    {
    SendClientMessage(playerid,rot,"Du hast 3 Spielerverwarnungen");
    SendClientMessage(playerid,rot,"das bedeutet du wirst vom Server ausgeschlossen");
    Kick(playerid);
    pInfo[playerid][Banned] =1;
    }
    INI_Close();
    }
    return 1;
    }

    4 Mal editiert, zuletzt von MrMonkey ()


  • Meine Frage dazu wäre, ist SII Besser als Dini? Würde gerne mal was neues ausprobieren? +Push ;)

    Ja soweit ich weiß soll SII besser als dini und auch als HSA sein ;)

    Ja ich hab auch noch einen elementaren fail gefunden als ich mir das angeschaut habe :D
    ich hab nämlich beim speichern vergessen die INI auch zu öffnen :D


    Jetzt funktioniert es mehr oder weniger