Login Register / Speichern/Laden Fehler

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
  • Einen wunderschönen Guten Tag , ich habe ein Problem mit meinem Login Register System ich würde mich sehr freuen könntet ihr mir Helfen


    1. Man kann ein Passwort ein geben egal wechles um zu Spawnen
    2. Level , Geld , Skin usw Speichern sich nicht


    Hier einmal die Speicherdaten (Spielerspeichern , Laden & Erstellen)
    stock pSpeichern(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    dini_Set(pfad,"Passwort",Spieler[playerid][pPasswort]);
    dini_IntSet(pfad,"Level",GetPlayerScore(Spieler[playerid][pLevel]));
    dini_IntSet(pfad,"Kleidung",GetPlayerSkin(Spieler[playerid][pKleidung]));
    dini_IntSet(pfad,"Geld",GetPlayerMoney(Spieler[playerid][pGeld]));
    Spieler[playerid][pLevel] = GetPlayerScore(playerid);
    Spieler[playerid][pKleidung] = GetPlayerSkin(playerid);
    Spieler[playerid][pGeld] = GetPlayerMoney(playerid);
    dini_IntSet(pfad,"Adminlevel",Spieler[playerid][pAdmin]);
    dini_IntSet(pfad,"PremiumZeit",Spieler[playerid][pPremium]);
    dini_IntSet(pfad,"Beruf",Spieler[playerid][pJob]);
    dini_IntSet(pfad,"Kills",Spieler[playerid][pKills]);
    dini_IntSet(pfad,"Tode",Spieler[playerid][pTode]);
    dini_IntSet(pfad,"Fraktion",Spieler[playerid][pFraktion]);
    dini_IntSet(pfad,"Leader",Spieler[playerid][pLeader]);
    dini_IntSet(pfad,"Member",Spieler[playerid][pMember]);
    dini_IntSet(pfad,"Rang",Spieler[playerid][pRang]);
    return 1;
    }


    stock pLaden(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    format(Spieler[playerid][pPasswort],26,"%s",dini_Get(pfad,"Passwort"));
    SetPlayerScore(playerid,Spieler[playerid][pLevel] = dini_Int(pfad,"Level"));
    SetPlayerSkin(playerid,Spieler[playerid][pKleidung] = dini_Int(pfad,"Kleidung"));
    GivePlayerMoney(playerid,Spieler[playerid][pGeld] = dini_Int(pfad,"Geld"));
    Spieler[playerid][pAdmin] = dini_Int(pfad,"Adminlevel");
    Spieler[playerid][pPremium] = dini_Int(pfad,"PremiumZeit");
    Spieler[playerid][pJob] = dini_Int(pfad,"Beruf");
    Spieler[playerid][pKills] = dini_Int(pfad,"Kills");
    Spieler[playerid][pTode] = dini_Int(pfad,"Tode");
    Spieler[playerid][pFraktion] = dini_Int(pfad,"Fraktion");
    Spieler[playerid][pLeader] = dini_Int(pfad,"Leader");
    Spieler[playerid][pMember] = dini_Int(pfad,"Member");
    Spieler[playerid][pRang] = dini_Int(pfad,"Rang");
    /* Textdraw */
    TextDrawHideForPlayer(playerid,LOGINSCREEN);
    return SpawnPlayer(playerid),SpielerSpawn(playerid);
    }


    stock pErstellen(playerid,key[])
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    if(dini_Exists(pfad))return Kick(playerid);
    dini_Create(pfad);
    dini_Set(pfad,"Passwort",key);
    dini_IntSet(pfad,"Level",STARTERLEVEL);
    dini_IntSet(pfad,"Kleidung",134);
    dini_IntSet(pfad,"Geld",STARTERGELD);
    dini_IntSet(pfad,"Adminlevel",0);
    dini_IntSet(pfad,"PremiumZeit",0);
    dini_IntSet(pfad,"Beruf",0);
    dini_IntSet(pfad,"Kills",0);
    dini_IntSet(pfad,"Tode",0);
    dini_IntSet(pfad,"Fraktion",0);
    dini_IntSet(pfad,"Leader",0);
    dini_IntSet(pfad,"Member",0);
    dini_IntSet(pfad,"Rang",0);
    pLaden(playerid);
    pSpeichern(playerid);
    return 1;
    }


    desweiteren ist es das mit dem Login das man sich mit egal welchen Passwort einloggen kann. (stock usw)
    stock pLogin(playerid,key[])
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    if(!dini_Exists(pfad))return Kick(playerid);
    if(!strcmp(dini_Get(pfad,"Passwort"),key,false))
    {
    pLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Passwort war falsch. Du wirst nun gekickt.");
    Kick(playerid);
    }
    return 1;
    }


    unter OnDialogResponse


    case DIALOG_REGISTER:
    {
    if(response)
    {
    pErstellen(playerid,inputtext);
    }
    else
    {
    Kick(playerid);
    }
    }
    case DIALOG_LOGIN:
    {
    if(response)
    {
    pLogin(playerid,inputtext);
    }
    else
    {
    Kick(playerid);
    }
    }


    & Unter Login Register Anzeige das


    public LoginRegisterAnzeige(playerid)
    {
    new pfad[128],string[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    GetPlayerName(playerid,Spieler[playerid][pName],MAX_PLAYER_NAME);
    if(dini_Exists(pfad))
    {
    format(string,sizeof(string),""#HTML_WEISS"Willkommen zurück auf "#SERVERNAME"\nBenutzername: "#HTML_BLAU"%s"#HTML_WEISS".\nBitte gebe nun dein Kennwort ein.",GetName(playerid));
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,""#HTML_BLAU""#SERVERTAG""#HTML_WEISS" - Login",string,"Annehmen","Abbrechen");
    }
    else
    {
    format(string,sizeof(string),""#HTML_WEISS"Herzlich Willkommen auf "#SERVERNAME"\nBenutzername: "#HTML_BLAU"%s"#HTML_WEISS".\nDein Account wurde in der Datenbank nicht gefunden.\nGeben Sie nun Ihr gewünschtes Kennwort ein.",GetName(playerid));
    ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_PASSWORD,""#HTML_BLAU""#SERVERTAG""#HTML_WEISS" - Registration",string,"Annehmen","Abbrechen");
    }
    return 1;
    }



    Ich hoffe ihr könnt mir Helfen wäre nämlich sehr hilfreich wenn mehr Sachen benötigt werden bitte Melden.
    vielen Dank im voraus


    MFG. CRANK

    Since 2012

  • stock pLogin(playerid,key[])
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    if(!dini_Exists(pfad))return Kick(playerid);
    if(!strcmp(key,dini_Get(pfad,"Passwort"),false)) //Versuch es mal soo?
    {
    pLaden(playerid);
    }
    else
    {
    SendClientMessage(playerid,ROT,"Dein Passwort war falsch. Du wirst nun gekickt.");
    Kick(playerid);
    }
    return 1;
    }


    stock pSpeichern(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    dini_Set(pfad,"Passwort",Spieler[playerid][pPasswort]);
    dini_IntSet(pfad,"Level",GetPlayerScore(playerid)); //Playerid nicht irgendwas anderes :P
    dini_IntSet(pfad,"Kleidung",GetPlayerSkin(playerid));
    dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
    Spieler[playerid][pLevel] = GetPlayerScore(playerid);
    Spieler[playerid][pKleidung] = GetPlayerSkin(playerid);
    Spieler[playerid][pGeld] = GetPlayerMoney(playerid);
    dini_IntSet(pfad,"Adminlevel",Spieler[playerid][pAdmin]);
    dini_IntSet(pfad,"PremiumZeit",Spieler[playerid][pPremium]);
    dini_IntSet(pfad,"Beruf",Spieler[playerid][pJob]);
    dini_IntSet(pfad,"Kills",Spieler[playerid][pKills]);
    dini_IntSet(pfad,"Tode",Spieler[playerid][pTode]);
    dini_IntSet(pfad,"Fraktion",Spieler[playerid][pFraktion]);
    dini_IntSet(pfad,"Leader",Spieler[playerid][pLeader]);
    dini_IntSet(pfad,"Member",Spieler[playerid][pMember]);
    dini_IntSet(pfad,"Rang",Spieler[playerid][pRang]);
    return 1;
    }

  • stock pLaden(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    format(Spieler[playerid][pPasswort],26,"%s",dini_Get(pfad,"Passwort"));
    Spieler[playerid][pLevel] = dini_Int(pfad,"Level");
    Spieler[playerid][pKleidung] = dini_Int(pfad,"Kleidung");
    Spieler[playerid][pGeld] = dini_Int(pfad,"Geld");
    Spieler[playerid][pAdmin] = dini_Int(pfad,"Adminlevel");
    Spieler[playerid][pPremium] = dini_Int(pfad,"PremiumZeit");
    Spieler[playerid][pJob] = dini_Int(pfad,"Beruf");
    Spieler[playerid][pKills] = dini_Int(pfad,"Kills");
    Spieler[playerid][pTode] = dini_Int(pfad,"Tode");
    Spieler[playerid][pFraktion] = dini_Int(pfad,"Fraktion");
    Spieler[playerid][pLeader] = dini_Int(pfad,"Leader");
    Spieler[playerid][pMember] = dini_Int(pfad,"Member");
    Spieler[playerid][pRang] = dini_Int(pfad,"Rang");


    SetPlayerScore(playerid,Spieler[playerid][pLevel]);
    SetPlayerSkin(playerid,Spieler[playerid][pKleidung]);
    GivePlayerMoney(playerid,Spieler[playerid][pGeld]);

    /* Textdraw */
    TextDrawHideForPlayer(playerid,LOGINSCREEN);
    return SpawnPlayer(playerid),SpielerSpawn(playerid);
    }


    Steht in der ini Datei denn alles richtig drinnen

  • Printe das ganze mal wie folgt und zeig was im Server Log steht.
    stock pSpeichern(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    dini_Set(pfad,"Passwort",Spieler[playerid][pPasswort]);
    dini_IntSet(pfad,"Level",GetPlayerScore(playerid)); //Playerid nicht irgendwas anderes :P
    dini_IntSet(pfad,"Kleidung",GetPlayerSkin(playerid));
    printf("ID: %d | Skin: %d | Kleidung: %d",playerid,GetPlayerSkin(playerid),Spieler[playerid][pKleidung]);
    dini_IntSet(pfad,"Geld",GetPlayerMoney(playerid));
    Spieler[playerid][pLevel] = GetPlayerScore(playerid);
    Spieler[playerid][pKleidung] = GetPlayerSkin(playerid);
    Spieler[playerid][pGeld] = GetPlayerMoney(playerid);
    dini_IntSet(pfad,"Adminlevel",Spieler[playerid][pAdmin]);
    dini_IntSet(pfad,"PremiumZeit",Spieler[playerid][pPremium]);
    dini_IntSet(pfad,"Beruf",Spieler[playerid][pJob]);
    dini_IntSet(pfad,"Kills",Spieler[playerid][pKills]);
    dini_IntSet(pfad,"Tode",Spieler[playerid][pTode]);
    dini_IntSet(pfad,"Fraktion",Spieler[playerid][pFraktion]);
    dini_IntSet(pfad,"Leader",Spieler[playerid][pLeader]);
    dini_IntSet(pfad,"Member",Spieler[playerid][pMember]);
    dini_IntSet(pfad,"Rang",Spieler[playerid][pRang]);
    return 1;
    }


    stock pLaden(playerid)
    {
    new pfad[128];
    format(pfad,sizeof(pfad),"/Accounts/%s.ini",GetName(playerid));
    format(Spieler[playerid][pPasswort],26,"%s",dini_Get(pfad,"Passwort"));
    Spieler[playerid][pLevel] = dini_Int(pfad,"Level");
    Spieler[playerid][pKleidung] = dini_Int(pfad,"Kleidung");
    printf("ID: %d | Kleidung: %d",playerid,Spieler[playerid][pKleidung]);
    Spieler[playerid][pGeld] = dini_Int(pfad,"Geld");
    Spieler[playerid][pAdmin] = dini_Int(pfad,"Adminlevel");
    Spieler[playerid][pPremium] = dini_Int(pfad,"PremiumZeit");
    Spieler[playerid][pJob] = dini_Int(pfad,"Beruf");
    Spieler[playerid][pKills] = dini_Int(pfad,"Kills");
    Spieler[playerid][pTode] = dini_Int(pfad,"Tode");
    Spieler[playerid][pFraktion] = dini_Int(pfad,"Fraktion");
    Spieler[playerid][pLeader] = dini_Int(pfad,"Leader");
    Spieler[playerid][pMember] = dini_Int(pfad,"Member");
    Spieler[playerid][pRang] = dini_Int(pfad,"Rang");


    SetPlayerScore(playerid,Spieler[playerid][pLevel]);
    SetPlayerSkin(playerid,Spieler[playerid][pKleidung]);
    GivePlayerMoney(playerid,Spieler[playerid][pGeld]);
    printf("ID: %d | Skin: %d",playerid,GetPlayerSkin(playerid);

    /* Textdraw */
    TextDrawHideForPlayer(playerid,LOGINSCREEN);
    return SpawnPlayer(playerid),SpielerSpawn(playerid);
    }

  • Loaded log file: "server_log.txt".
    ----------


    SA-MP Dedicated Server
    ----------------------
    v0.3z, (C)2005-2014 SA-MP Team


    [19:45:36]
    [19:45:36] Server Plugins
    [19:45:36] --------------
    [19:45:36] Loading plugin: streamer
    [19:45:36]


    *** Streamer Plugin v2.5.2 by Incognito loaded ***


    [19:45:36] Loaded.
    [19:45:36] Loading plugin: sscanf
    [19:45:36]


    [19:45:36] ===============================


    [19:45:36] sscanf plugin loaded.


    [19:45:36] (c) 2009 Alex "Y_Less" Cole


    [19:45:36] 0.3d-R2 500 Players "dnee"


    [19:45:36] ===============================


    [19:45:36] Loaded.
    [19:45:36] Loaded 2 plugins.


    [19:45:36]
    [19:45:36] Filterscripts
    [19:45:36] ---------------
    [19:45:36] Loaded 0 filterscripts.



    [19:45:36] Number of vehicle models: 0
    [19:46:01] Incoming connection: 127.0.0.1:54760
    [19:46:01] [join] TestUser has joined the server (0:127.0.0.1)
    [19:47:16] ID: 0 | Kleidung: 134
    [19:47:16] ID: 0 | Skin: 134
    [19:47:16] ID: 0 | Skin: 134 | Kleidung: 134

    Since 2012

  • Das war ein Neuer Account nur bei er Registrierung zeigt er das richtig an nur der Skin wird nicht angezeigt nach dem Relog ist alles auf Null Geld Skin und Level
    Könnte dir die Pastebin Code geben das du dir selber mal ein Bild davon machst

    Since 2012

  • @Homez:
    Bitte was? Quatsch! :dash:
    Die Länge reicht vollkommen, denn der Name kann maximal nur 24 Zeichen haben (eigentlich 20, aber mit SetPlayerName 24), und der Rest ist 14 Zeichen lang.
    new pfad[15+MAX_PLAYER_NAME];


    EDIT:
    Jeffry: Dankeschön, den vergesse ich irgendwie immer! :good:


    Mencent :thumbup:

    Einmal editiert, zuletzt von AirM4X ()