Save Problem

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 zusammen .. Ich habe bisher kein passenden Antwort Thread auf diese Art Save gefunden deshalb wende ich mich nun an euch .
    Problembeschreibung:
    Geld,Stats,Kills,Tode etc werden nicht gespeichert.
    Es handelt sich hierbeit um das SF TDM Script.
    Es schaut so aus


    enum pInfo
    {
    pKey[128],
    pCash,
    pAdmin,
    pKills,
    pTode,
    pWarn,
    pPrison,
    pBan,
    }


    unter onplayerdisconnect


    for(new i = 0; i < MAX_PLAYERS; i++)
    if(IstEingeloggt[i] == 1)
    {
    PlayerInfo[i][pCash] = GetPlayerMoney(i);


    new player[MAX_PLAYER_NAME];
    new string2[256];
    GetPlayerName(i,player,sizeof(player));
    format(string2,sizeof(string2),"%s.dini",player);
    dini_IntSet(string2,"Admin",PlayerInfo[i][pAdmin]);
    dini_IntSet(string2,"Geld",PlayerInfo[i][pCash]);
    dini_IntSet(string2,"Kills",PlayerInfo[i][pKills]);
    dini_IntSet(string2,"Tode",PlayerInfo[i][pTode]);
    dini_IntSet(string2,"Warn",PlayerInfo[i][pWarn]);


    new string3[256];
    format(string3,sizeof(string3),"Die Playerdatei von %s wurde aktualisiert",player);

    print("-----");
    print(string3);
    }
    return 1;
    }


    Beim Einloggen


    if(!dini_Exists(string))
    {
    SendClientMessage(playerid,rot,"Fehler: Es existiert noch keine Spielerdatei. Benutze /register");
    return 1;
    }
    else
    {
    if(strcmp(pass,dini_Get(string,"Password"),true)==0)
    {
    PlayerInfo[playerid][pCash] = dini_Int(string,"Geld");
    PlayerInfo[playerid][pAdmin] = dini_Int(string,"Admin");
    PlayerInfo[playerid][pKills] = dini_Int(string,"Kills");
    PlayerInfo[playerid][pTode] = dini_Int(string,"Tode");
    PlayerInfo[playerid][pTode] = dini_Int(string,"Warn");
    PlayerInfo[playerid][pPrison] = dini_Int(string,"Prison");
    PlayerInfo[playerid][pBan] = dini_Int(string,"Ban");



    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid, PlayerInfo[playerid][pCash]);
    IstEingeloggt[playerid] = 1;
    SendClientMessage(playerid,weiß,"Erfolgreich eingeloggt");


    new string3[256];
    format(string3,sizeof(string3),"Spieler %s hat sich eingeloggt. PW: %s",playername,pass);


    print("-----");
    print(string3);
    //return 1;
    }


    Register
    if(!dini_Exists(string))
    {
    dini_Create(string);
    dini_Set(string,"Password",password);
    dini_IntSet(string,"Geld",(0));
    dini_IntSet(string,"Admin",(0));
    dini_IntSet(string,"Kills",(0));
    dini_IntSet(string,"Tode",(0));
    dini_IntSet(string,"Warn",(0));
    dini_IntSet(string,"Prison",(0));
    dini_IntSet(string,"Ban",(0));


    Wenn mir jemand helfen könnte wäre es echt furchtbar nett ..
    Fehler die darinn das nichts gespeichert wird.

    KleineHilfe 2.0

  • Hast du im Scriptfiles ordner deinen Ordner? Müsste ja Accounts sein.

  • Warum Accounts?
    Auf jedenfall nein ich habe keinen Ordner die Datei wird direkt im Scriptfiles Ordner gespeichert.


    Name der Datei ist der Nickname


    Password=...
    Geld=2000
    Admin=0
    Kills=0
    Tode=0
    Warn=0
    Prison=0
    Ban=0
    ..
    Was ich komisch finde ist lediglich nur das es eine Dini anstatt eine .ini Datei ist
    Wenn ich wie oben startgeld 2000 mache und ingame 100 verliere kann ich einfach /login PW machen dann bekomme
    ich wieder mein startgeld wieder...
    Ich glaube ich werde es mal komplett entfernen :S


    //EDit
    //Edit
    //Edit 3
    Gibt es GUI Login/Register Systeme als FS?
    Irgentwie erkennt das Script keine Dialoge

    KleineHilfe 2.0

    2 Mal editiert, zuletzt von YaBroo ()