Guten Abend Brotfische,
Ich habe ein Problem mit meinem Login System, ich sitze schon mehrere Wochen daran aber finden einfach keine Lösung für dieses Problem.
Undzwar wenn ich mein Passwort falsch eintippe, kommt mein Passwort ist falsch ... dann kann ich das Passwort erneut eintippen.
Wenn ich das dann machen werde ich zwar "gespawnt" aber mich schießt es wie ein Ball in den Himmel! Dieses Problem versuche ich jetzt schon seit langem zu beheben leider ohne erfolg. Wenn ich das Passwort gleich richtig eingebe, werde ich ganz normal gespawnt. Ich bin wie gesagt Raatlos, nun hoffe ich auf eure Hilfe
Codes:
OnPlayerConnect:
new mysqlquery[700];
format(mysqlquery, sizeof(mysqlquery), "SELECT Datum FROM TimeBan WHERE Name = '%s'",getPlayerName(playerid));
mysql_function_query(dbhandle,mysqlquery,false,"OnPlayerTimeBanCheck","d", playerid);
OnPlayerTimeBanCheck:
public OnPlayerTimeBanCheck(playerid)
{
new timestamp = gettime();
new rows = cache_num_rows(), bisgebannt;
if(rows > 0)
{
bisgebannt = cache_get_row_int(0, 0, dbhandle);
}
if(gettime() < bisgebannt)
{
new differenz = bisgebannt - timestamp;
new minuten = differenz / 60;
new string[64];
format(string,sizeof(string),"Du bist noch %i Minuten gebannt!",minuten);
SendClientMessage(playerid,C_Error,string);
SetTimerEx("kickTimer",800,0,"i",playerid);
}
else
{
if(IsPlayerNPC(playerid))return 1;
new name[MAX_PLAYER_NAME],query[128];
GetPlayerName(playerid,name,sizeof(name));
format(query,sizeof(query),"SELECT id FROM user WHERE username='%s'",name);
mysql_function_query(dbhandle,query,true,"OnUserCheck","i",playerid);
}
return 1;
}
Alles anzeigen
OnUserCheck:
public OnUserCheck(playerid)
{
new num_rows,num_fields;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==0)
{
//Registrierung
ShowPlayerDialog(playerid,DIALOG_REGISTER,DIALOG_STYLE_INPUT,"Registrierung","Willkommen\nBitte gebe ein Passwort ein:","Okay","Abbrechen");
}
else
{
//Login
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login",""Bitte gebe dein Passwort ein","Okay","Abbrechen");
}
return 1;
}
Alles anzeigen
Dialog:
if(dialogid==DIALOG_LOGIN)
{
if(response)
{
new name[MAX_PLAYER_NAME],query[128],passwort[35];
GetPlayerName(playerid,name,sizeof(name));
if(strlen(inputtext)>0)
{
mysql_escape_string(inputtext,passwort,dbhandle);
format(query,sizeof(query),"SELECT * FROM user WHERE username='%s' AND password=MD5('%s')",name,passwort);
mysql_function_query(dbhandle,query,true,"OnPasswordResponse","i",playerid);
}
else
{
//Keine Eingabe
SendClientMessage(playerid,COLOR_RED,"Gibt bitte dein Passwort ein.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gibt bitte dein Passwort ein:","Okay","Abbrechen");
}
}
else
{
Kick(playerid);
}
Alles anzeigen
OnPasswordResponse:
public OnPasswordResponse(playerid)
{
new num_fields,num_rows;
cache_get_data(num_rows,num_fields,dbhandle);
if(num_rows==1)
{
//Passwort richtig //Spieler laden
}
else
{
//Passwort falsch
SendClientMessage(playerid,COLOR_RED,"Das eingegebene Passwort ist falsch.");
ShowPlayerDialog(playerid,DIALOG_LOGIN,DIALOG_STYLE_PASSWORD,"Login","Gebe dein Passwort erneut ein:","Okay","Abbrechen");
}
return 1;
}
Alles anzeigen
Ich hoffe ihr könnt mir helfen
MfG