Hilfe! Beim Login passiert garnichts?!

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 Leute,
    habe soebend mein Script bzw. erstmal das Login/Register Speichern und Laden des Players auf MySQL umgeschrieben, und versucht das mit MD5 zu Hashen und wenn ich mich versuche einzuloggen kommt einfach gernichts hier das bei OnDialogResponse:


    if(!strcmp(inputtext, mysql_ReturnPasswort(PlayerName(playerid)), true))
    {
    new string[128];
    format(string,sizeof(string),"Willkommen zurück %s",PlayerName(playerid));
    GameTextForPlayer(playerid,string,3000, 6);
    LoadPlayer(playerid);
    }
    else
    {
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen zurück! Bitte gebe dein Passwort ein:","Weiter","Abbrechen");
    if(LoginVersuch[playerid] == 0){LoginVersuch[playerid] = 1; return SendClientMessage(playerid,COLOR_RED,"Falsches Passwort! Noch zwei Versuche!");}
    if(LoginVersuch[playerid] == 1){LoginVersuch[playerid] = 2; return SendClientMessage(playerid,COLOR_RED,"Falsches Passwort! Noch ein Versuche!");}
    if(LoginVersuch[playerid] == 2)
    {
    new string[128];
    LoginVersuch[playerid] = 0;
    SendClientMessage(playerid,COLOR_RED,"Falsches Passwort! Fals du es vergessen hast, setze es im UCP zurück.");
    format(string,sizeof string,"[AntiCheat]: %s wurde vom AntiCheat gekickt, Grund: Falsches Passwort",PlayerName(playerid));
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    format(string,sizeof string,"[AdmCmd]: %s wurde vom AntiCheat wegen wiederholten eingeben eines Falschem Passwortes gekickt!",PlayerName(playerid));
    ABroadCast(COLOR_LIGHTRED,string,1);
    Kick(playerid);
    return 1;
    }
    return SendClientMessage(playerid,COLOR_RED,"Falsches Passwort!");
    }


    Die Funktion ReturnPasswort:
    stock mysql_ReturnPasswort(lName[])
    {
    new query[130], Get[130];
    mysql_real_escape_string(lName, lName);
    format(query, 128, "SELECT `pPasswort` FROM `accounts` WHERE `Name` = '%s'", lName);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return MD5_Hash(Get);
    }


  • if(strcmp(MD5_Hash(inputtext), mysql_ReturnPasswort(PlayerName(playerid)), true) == 0)
    {
    new string[128];
    format(string,sizeof(string),"Willkommen zurück %s",PlayerName(playerid));
    GameTextForPlayer(playerid,string,3000, 6);
    LoadPlayer(playerid);
    }
    else
    {
    SetPVarInt(playerid, "WrongPw", GetPVarInt(playerid, "WrongPw")+1);
    ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Willkommen zurück! Bitte gebe dein Passwort ein:","Weiter","Abbrechen");
    switch(GetPVarInt(playerid, "WrongPw"))
    {
    case 1,2:
    {
    new string[128];
    format(string, sizeof(string), "Fehler: Passwort falsch du hast noch %d versuche übrig", 3 - GetPVarInt(playerid, "WrongPw"));
    SendClientMessage(playerid, COLOR_RED, string);
    return 1;
    }
    case 3:
    {
    new string[128];
    LoginVersuch[playerid] = 0;
    SendClientMessage(playerid,COLOR_RED,"Falsches Passwort! Fals du es vergessen hast, setze es im UCP zurück.");
    format(string,sizeof string,"[AntiCheat]: %s wurde vom AntiCheat gekickt, Grund: Falsches Passwort",PlayerName(playerid));
    SendClientMessageToAll(COLOR_LIGHTRED,string);
    format(string,sizeof string,"[AdmCmd]: %s wurde vom AntiCheat wegen wiederholten eingeben eines Falschem Passwortes gekickt!",PlayerName(playerid));
    ABroadCast(COLOR_LIGHTRED,string,1);
    Kick(playerid);
    return 1;
    }
    }
    }




    stock mysql_ReturnPasswort(lName[])
    {
    new query[130], Get[130];
    mysql_real_escape_string(lName, lName);
    format(query, 128, "SELECT `pPasswort` FROM `accounts` WHERE `Name` = '%s'", lName);
    mysql_query(query);
    mysql_store_result();
    mysql_fetch_row(Get);
    mysql_free_result();
    return Get;
    }



    Teste es mal kannste rein theoretisch auch ohne Switch machen.
    Und wichtig tausche deine ReturnPassword Funktion gegen meine aus.

    RFT

  • Das wird denke ich mal am Plugin liegen.
    Wirkt sich aber nicht negativ auf den Server aus.
    Kannst du also eigentlich ignorieren so lange das Plugin seine Dienste tut.
    Da sollte man den Plugin Entwickler mal fragen.

    RFT