Login script ??

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 habe mir ein simples File speicher dings gebaut....funzt alles prima ausa das mit dem password ich glaube ich mache mir das leben sehr schwer damit also ich habe es so gemacht=>


    public OnPlayerCommandText(playerid,cmdtext[])
    {


    if(!strcmp(strget(cmdtext,0),"/register"))
    {
    new filename[256];
    new string[128],password[128],pName[24];
    password = strget(cmdtext,1);
    GetPlayerName(playerid, pName, sizeof(pName));
    format(filename, sizeof filename, "%s.txt",pName);
    format(string,sizeof(string),"Name: %s \r\nPasswort: %s\r\n",pName,password);



    if(fexist(filename))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist bereits Regestriert");
    }
    else
    {
    if(!strlen(strget(cmdtext,1)))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /register [password]");
    return 1;
    }



    new File:ftw=fopen(filename,io_write);
    fwrite(ftw, string);fclose(ftw);
    SendClientMessage(playerid,COLOR_YELLOW,"Du wurdes erfolgreich Regestriert");
    SendClientMessage(playerid,COLOR_YELLOW,"Benutze das nächste mal /login [password]");


    }


    return 1;
    }


    //--------------------LOGIN-------------------
    if(!strcmp(strget(cmdtext,0),"/login"))
    {

    new filename[256];
    new pName[24],password[256],password2[256],string[256];
    GetPlayerName(playerid, pName, sizeof(pName));
    format(filename, sizeof filename, "%s.txt",pName);
    new File:ftw=fopen(filename,io_read);

    password = strget(cmdtext,1);

    while(fread(ftw, string))
    {
    if(strcmp(string, "Passwort: ", true, 10)==0)
    {
    MyVal=GetVal(2, string);
    }


    }

    format(password2, sizeof password2, "%s",MyVal);


    if(fexist(filename))
    {
    if(!strlen(strget(cmdtext,1)))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /login [password]");
    return 1;
    }
    if (strcmp(password2,password, true) == 0)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du wurdest erfolgreich eingelogt!");



    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"flasches PW");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du bist nicht Regestriert!");


    }
    return 1;
    }



    der fehler (denke ich)liegt dort=>while(fread(ftw, string))
    {
    if(strcmp(string, "Passwort: ", true, 10)==0)
    {
    MyVal=GetVal(2, string);
    }


    }

    format(password2, sizeof password2, "%s",MyVal);


    if(fexist(filename))
    {
    if(!strlen(strget(cmdtext,1)))
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Benutzung: /login [password]");
    return 1;
    }
    if (strcmp(password2,password, true) == 0)
    {
    SendClientMessage(playerid,COLOR_YELLOW,"Du wurdest erfolgreich eingelogt!");



    }


    damit möchte ich erreichen das aus der File das Password gelesen wird... und in einen string gestzt wird(password2) und dann mit password verglichen wird, password ist ja dann das was man an 2 stelle nach /login schreibt also /login (password)



    so und nun zu meinem eigentlichen problem es klapt alles aussa wenn ich /login (ein falsches password benutz) steht da trotzdem du wurdest erfolgreich eingelogt


    klip und klar ich kann alle passwörter benutzen sind immer richtig wieso ??
    oda mach ich irg was falsch ich habe mir das mit mienem gerigen wissen selber gebaut gibt es net eine enfacherer lösung ausser diese...??


    ich Danke im vorraus
    Mfg Guillaume

    Wenn der klügere immer nachgibt, wird die Welt bald von dummen regiert.

    3 Mal editiert, zuletzt von StickMan ()

  • Also Kleiner Tipp Neben Bei ;) Bei Jeden :
    %s.txt würde ich %s.ini machen ist mein meinung nach beser als txt.


    Ich weis asst nich zum theman Aber ist nur ein Tipp :=)

  • hmm schade das es keiner weiss gibt es vllt eine ander Möglichkeit einem Player die infos zu speichern ??


    Mfg Guillaume

    Wenn der klügere immer nachgibt, wird die Welt bald von dummen regiert.

  • nimm dudb simplefiles hat bei mir auch nicht hingehauen er zeigte immer falsches passwort

  • emm ok was ist dudb ? habe es in wiki gesucht und auch mit der suchfunktion aba nix gefunden.... kannst du es mir erklären hmmm ok glaube wäre zu viel arbeit.. :| oda wnigstens ein Link schiken... 8o


    Mfg Guillaume

    Wenn der klügere immer nachgibt, wird die Welt bald von dummen regiert.

  • Das vereinfacht das Speichern von Daten in Dateien. Einfach in den pawn -> include Ordner und in deinem Script als Include angeben.


    Dudb download:
    http://www.dracoblue.net/index.php?id=4&WHICH=31&Language=de
    Tutorial:
    http://forum.sa-mp.com/index.php?topic=4798.105


    Dini download:
    http://www.dracoblue.net/index.php?id=4&WHICH=35&Language=de


    dutils download:
    http://www.dracoblue.net/index.php?id=4&WHICH=30&Language=de



    Tutorial, speichern ohne dudb/dini:
    http://wiki.sa-mp.com/wiki/File_Functions

    ICQ Scripting - Support 495961653
    Montags-Freitags ab 15 Uhr