Speichern meines Spielers geht nicht.

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
  • Guten Abend liebe Community,
    ich versuche seit 3 Tagen einen Fehler in meinem Speicherrungssystem
    zu finden, doch ich finde den Fehler nicht. Ich benutze Dini und dieses Register System
    [ SCRIPTING ] GUI Login/Register System
    So zu meiner Frage, warum speichert der Server die Spielerdaten nicht.


    Hier mal meine Pawncodes:
    #define DIALOG_LOGIN 3
    #define DIALOG_REG 4
    enum spielerdaten
    {
    Skin,
    Adminlevel,
    Geld,
    Score,
    Premium,
    eingeloggt,
    DeathMatch
    }
    new Spieler[MAX_PLAYER_NAME][spielerdaten];
    public OnPlayerConnect(playerid)
    {
    new pid[24],string[64];
    GetPlayerName(playerid,pid,24);
    format(string,sizeof(string),"%s hat den Server betreten.",pid);
    SendClientMessageToAll(COLOR_GRAY,string);
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Spieler/%s.txt",pname);
    if(fexist(accFormat))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Schön das du wieder einmal auf German Stunts vorbei schaust.\n Bitte gebe dein Passwort ein um dich einzuloggen.\nViel Spaß auf dem Server wünscht das Admin Team","Abbrechen","Weiter");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Wilkommen auf [GS] - German Stunts. Du bist anscheined neu,\n bitte gebe ein Passwort ein um deinen Account zu sichern","Abbrechen","Weiter");
    }
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    new pid[24], string[64];
    GetPlayerName(playerid,pid,24);
    format(string,sizeof(string),"%s hat den Server verlassen.",pid);
    SendClientMessageToAll(COLOR_GRAY,string);
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Spieler/%s.txt",pname);
    if(fexist(accFormat))
    {
    dini_IntSet(accFormat,"Skin",GetPlayerSkin(playerid));
    dini_IntSet(accFormat,"Adminlevel",Spieler[playerid][Adminlevel]);
    dini_IntSet(accFormat,"Geld",GetPlayerMoney(playerid));
    dini_IntSet(accFormat,"Score",GetPlayerScore(playerid));
    dini_IntSet(accFormat,"Premium",Spieler[playerid][Premium]);
    dini_IntSet(accFormat,"DeathMatch",Spieler[playerid][DeathMatch]);
    }
    return 1;
    }
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Spieler/%s.txt",pname);
    if(response)
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Schön das du wieder einmal auf German Stunts vorbei schaust.\n Bitte gebe dein Passwort ein um dich einzuloggen.\nViel Spaß auf dem Server wünscht das Admin Team","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Kein Passwort angegeben!");
    }
    if(strcmp(inputtext,dini_Get(accFormat,"Passwort")) == 0)
    {
    SetPlayerSkin(playerid,dini_Int(accFormat,"Skin"));
    Spieler[playerid][Adminlevel] = dini_Int(accFormat,"Adminlevel");
    GivePlayerMoney(playerid,dini_Int(accFormat,"Geld"));
    SetPlayerScore(playerid,dini_Int(accFormat,"Score"));
    Spieler[playerid][Premium] = dini_Int(accFormat,"Premium");
    Spieler[playerid][DeathMatch] = dini_Int(accFormat,"DeathMatch");
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Du wurdest erfolgreich eingeloggt.");
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Schön das du wieder einmal auf German Stunts vorbei schaust.\n Bitte gebe dein Passwort ein um dich einzuloggen.\nViel Spaß auf dem Server wünscht das Admin Team","Abbrechen","Weiter");
    SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort war Falsch!");
    }
    }
    case DIALOG_REG:
    {
    if(!strlen(inputtext))
    {
    ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Wilkommen auf [GS] - German Stunts. Du bist anscheined neu,\n bitte gebe ein Passwort ein um deinen Account zu sichern","Abbrechen","Weiter");
    return SendClientMessage(playerid,0xFFFFFFFF,"Das Passwort ist zu kurz!");
    }
    dini_Create(accFormat);
    dini_Set(accFormat,"Passwort",inputtext);
    Spieler[playerid][eingeloggt] = 1;
    SendClientMessage(playerid,0xFFFFFFFF,"Account wurde angelegt und du wurdest eingeloggt.");
    }
    }
    }
    else
    {
    switch(dialogid)
    {
    case DIALOG_LOGIN:ShowPlayerDialog(playerid,DIALOG_LOGIN,1,"Login","Schön das du wieder einmal auf German Stunts vorbei schaust.\n Bitte gebe dein Passwort ein um dich einzuloggen.\nViel Spaß auf dem Server wünscht das Admin Team","Abbrechen","Weiter");
    case DIALOG_REG:ShowPlayerDialog(playerid,DIALOG_REG,1,"Registrieren","Wilkommen auf [GS] - German Stunts. Du bist anscheined neu,\n bitte gebe ein Passwort ein um deinen Account zu sichern","Abbrechen","Weiter");
    }
    }


    Bitte um Hilfe :love: