Login 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
  • Moin leute,


    also ich habe ein problem mit mein Login system, wenn ich jetzt Login machen und mein password


    /login xxxx


    Dann funktioniert es einwandfrei


    nun wenn ich :


    /login xxxxjwnuioncownowdnmcxowxods616516546516541616


    mache dann funktioniert es trotzdem obwohl es nicht funktionieren soll weil das richtige Password EIGENTLICH xxxx ist..


    aber wenn ich:


    /login xxxy


    mache dann geht erst nicht also nur die erste 4 bustaben müssen richtig sein :S


    was muss ich machen? Sagt mir welchen code ich zeigen soll und ich zeig denn dann auch .. weil ich grad nciht weiß welchen ihr braucht :D


    Danke


    .

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()


  • // login/register system
    new cmd[128];
    new idx;
    cmd = strtok(cmdtext, idx);
    new tmp[128];
    new playername[MAX_PLAYER_NAME];
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, GRAU, " Du bist bereits eingeloggt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GRAU, " Benutze: /login [Passwort]");
    SendClientMessage(playerid, GRAU, " Du bist nicht Regestriert? Benutze: /Register [Passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }
    if (strcmp(cmd, "/register", true)==0)
    {
    new string[265];
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GRAU, "Benutze: /register [Passwort]");
    return 1;
    }
    if (gPlayerAccount[playerid] == 1)
    {
    SendClientMessage(playerid, GRAU, " Der Name ist bereits registriert");
    return 1;
    }


    strmid(PlayerInfo[playerid][pPasswort], tmp, 0, strlen(cmdtext), 255);
    Encrypt(PlayerInfo[playerid][pPasswort]);
    GetPlayerName(playerid, playername, sizeof(playername));
    format(string, sizeof(string), "%s.cer", playername);
    new File: file = fopen(string, io_read);
    if (file)
    {
    SendClientMessage(playerid, GRAU, " Der Name ist bereits registriert");
    fclose(file);
    return 1;
    }
    new File:hFile;
    hFile = fopen(string, io_append);
    new var[50];//
    format(var, 50, "%s\n", PlayerInfo[playerid][pPasswort]);fwrite(hFile, var);
    format(var, 50, "Kills=%d\n", PlayerInfo[playerid][pKills]);fwrite(hFile, var);
    format(var, 50, "Deaths=%d\n",PlayerInfo[playerid][pDeaths]);fwrite(hFile, var);
    format(var, 50, "Geld=%d\n", PlayerInfo[playerid][pCash]);fwrite(hFile, var);
    format(var, 50, "Level=%d\n", PlayerInfo[playerid][pLevel]);fwrite(hFile, var);
    format(var, 50, "Mats=%d\n", PlayerInfo[playerid][pMats]);fwrite(hFile, var);
    fclose(hFile);
    PlayerInfo[playerid][pCash] = GetPlayerMoney(playerid);
    SendClientMessage(playerid, WEIS, "Erfolgreich registriert!");
    SendClientMessage(playerid, WEIS, "Gebe nächstes mal /login <Passwort> zum einloggen ein.");
    OnPlayerLogin(playerid,PlayerInfo[playerid][pPasswort]);
    return 1;
    }


    return 0;
    }


    .

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()

  • @ 8d = das was du mir gezeigt hast war völlig verbuggt gamemode crasht beim register gleich ab , hab jetzt meine ganzen register/login sachen NUR wegen denn Link gelöscht -.-


    ---------------

    public OnPlayerLogin(playerid,const string[])
    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    new string3[128];
    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "%s.cer", pname2);
    new File: UserFile = fopen(string2, io_read);


    if (UserFile)
    {
    new valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPasswort], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPasswort], string, true, strlen(valtmp)-1) == 0))
    {
    new key[128],val[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key = ini_GetKey(Data);
    if( strcmp( key , "Kills" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Deaths",true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
    if( strcmp( key , "Geld" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
    if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBank] = strval( val ); }
    if( strcmp( key , "Level" , true ) == 0 ){ val = ini_GetValue( Data ); PlayerInfo[playerid][pLevel] = strval( val ); }
    if( strcmp( key , "Mats" , true ) == 0 ){ val = ini_GetValue( Data ); PlayerInfo[playerid][pMats] = strval( val ); }
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); // wenn ich das lösche dann wird das geld nicht gespeichert!
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    new kills = PlayerInfo[playerid][pKills];
    SetPlayerScore(playerid, kills);
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt! Für Hilfe gib /help ein!", pname3);
    SpawnPlayer(playerid);
    SendClientMessage(playerid, WEIS,string3);
    }
    else
    {
    Versuche[playerid]++;
    if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
    else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
    else if(Versuche[playerid] > 2) { Kick(playerid); }


    fclose(UserFile);
    }
    }
    return 1;
    }


    Onplayerregister hab ich ned dirnnen :S

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Nicht das von zombie.modder sondern von jake, hab dir den post-link geschickt.
    Und ich benutz es selber, etwas abgewandelt. Also buggt es bestimmt nicht.
    Ich kann nichts dafür, wenn anscheinend Copy&Paste zu schwer für dich ist.

  • 8D deine Version geht auch nicht
    Wenn man ID 0 ist geht es aber sobald ein Anderer dazukommt kannste mit jedem PW rein

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Bitte Hilft mir denn Fehler zu finden :(:(:(


    Ich kann kein neuen registersystem machen zu viel arbeit liegen da dran habe viele sachen da drin gebunden...


    findet keiner dieses kleinen verfic*ten fehler.... ich suche schon wie ein verrückter------

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • ich würds über sql machen.


    was solls...
    letzter codeabschnitt von rapfabrik zeile 16:


    if (!strcmp(PlayerInfo[playerid][pPasswort], string, true) && strlen(PlayerInfo[playerid][pPasswort]) == strlen(string))


    kA ob es funktionert

  • Das war unnötig Timo ;) Einfach nur Spam, wen interessiert es was du machen würdest? Ein Pro hat ja schon geantwortet

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Boah...... NachoMan .... du bist der Beste ich schwöre alta... hat funktioniert.......
    du hast was bei mir gut alta... ich schwör.... bin so Happy :D:D:D:D:D:D:D:D


    Thx.. dir


    kannst du(oder ein andrer) mir vielleicht erklären was sql ist und was es damit zu tun hat usw. weiß überhaupt nicht was das ist..::S

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >