Guten morgen, ich habe da ein Problem mit meinem Login System. Ich möchte das man maximal 3 mal das Passwort falsch eingeben darf ( danach Kick ). Aber bei mir will das nicht so ganz, zum einen bekomme ich beim 3 mal keine Kicknachricht, werde jedoch vom Server gekickt. Und ich kann mich nicht mehr einloggen, immer wenn ich normal auf den Server komme, und das "richtige" Passwort eingebe kommt das mit dem "Passwort Falsch". Ich hoffe mir kann jemand Helfen.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case Dialog_Register:
{
if(!response)
{
SendClientMessage(playerid,0xFF0000FF,"Dieser Vorgang wurde Ab.-oder Unterbrochen\nBitte beenden Sie das Spiel, indem Sie /q als Textnachricht in den Chat eingeben.");
SetTimerEx("KickPlayer",250,0,"i",playerid);
return 1;
}
if(!inputtext[0] || !(3 <= strlen(inputtext) <= 10))
{
ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"SmR: {0x3252BEFF}Registrierung","{FFFFFF}Herzlich Willkommen auf San Miami Roleplay\n\nUnser System hat Ihre Spielerinformationen\nnicht in unserer Datenbank gefunden. Um einen Charakter auf unserem Server zu Erstellen\nbenoetigen wir einige Informationen. Als erstes tragen Sie Bitte ein Sicheres Passwort in das untere Feld ein.\nMerken Sie sich Ihr Passwort Gut.\n\nKlicken Sie anschließend auf Annehmen.","Annehmen","Abbrechen");
return 1;
}
new query[650 + MAX_PLAYER_NAME],Tag,Monat,Jahr,Stunde,Minute,Sekunde;
getdate(Tag,Monat,Jahr);
gettime(Stunde,Minute,Sekunde);
format(query,sizeof(query),"d.d.%d - d:d:%d",Tag,Monat,Jahr,Stunde,Minute,Sekunde);
mysql_format(DBHandle, query, sizeof(query),"INSERT INTO `Accounts` (`pName`, `pPasswort`, `pAlter`, `pBargeld`, `pKontoguthaben`, `pLastLogin`, `pRegDatum`, `pVersuche`, `pLeben`) VALUES ('%e','%e','%d','0','0','%s','%s','%d','100.0')",Spieler[playerid][pName],inputtext,Spieler[playerid][pAlter],query,query,Spieler[playerid][pWrongPass],Spieler[playerid][pLeben]);
mysql_tquery(DBHandle, query, "", "");
Spieler[playerid][pLogged] = true;
SpawnPlayer(playerid);
return 1;
}
case Dialog_Login:
{
if(!response)
{
SendClientMessage(playerid,0xFF0000FF,"Dieser Vorgang wurde Ab.-oder Unterbrochen\nBitte beenden Sie das Spiel, indem Sie /q als Textnachricht in den Chat eingeben.");
SetTimerEx("KickPlayer",250,0,"i",playerid);
return 1;
}
switch(Login_Status[playerid])
{
case 0:
{
Login_Status[playerid]++;
ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"{0x3252BEFF}Falsches Passwort","{FFFFFF}Das von Ihnen angegebene Passwort wurde abgelehnt,\ngeben Sie Bitte Ihr richtiges Passwort unten in das Feld ein.\nDrücken Sie danach auf Einloggen, damit Ihre Daten kontrolliert werden können.\n\nDenken Sie auch an die Groß-,Kleinschreibung\n\nSie haben 3/3 versuche!","Einloggen","Abbrechen");
return 1;
}
case 1:
{
Login_Status[playerid]++;
ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"{0x3252BEFF}Falsches Passwort","{FFFFFF}Das von Ihnen angegebene Passwort wurde abgelehnt,\ngeben Sie Bitte Ihr richtiges Passwort unten in das Feld ein.\nDrücken Sie danach auf Einloggen, damit Ihre Daten kontrolliert werden können.\n\nDenken Sie auch an die Groß-,Kleinschreibung\n\nSie haben noch 2/3 versuche!","Einloggen","Abbrechen");
return 1;
}
case 2:
{
Login_Status[playerid]++;
ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"{0x3252BEFF}Falsches Passwort","{FFFFFF}Das von Ihnen angegebene Passwort wurde abgelehnt,\ngeben Sie Bitte Ihr richtiges Passwort unten in das Feld ein.\nDrücken Sie danach auf Einloggen, damit Ihre Daten kontrolliert werden können.\n\nDenken Sie auch an die Groß-,Kleinschreibung\n\nSie haben nurnoch 1/3 versuche!","Einloggen","Abbrechen");
return 1;
}
case 3:
{
SendClientMessage(playerid,0x3252BEFF,"Sie haben zu oft Ihr Passwort falsch eingegeben, aus Sicherheitsgründen wurden Sie vom System gesperrt. Versuchen Sie es in einer Stunde nochmal, oder Melden Sie sich bei einem Administrator.");
SetTimerEx("KickPlayer",250,0,"i",playerid);
return 1;
}
}
if(!inputtext[0] || !(3 <= strlen(inputtext) <= 25))
{
ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"SmR: {0x3252BEFF}Einloggen","{FFFFFF}Sie müssen von unserem System Identifiziert werden.\nGeben Sie dafür Ihr Passwort unten in das Feld ein.\n\n Klicken Sie anschließend auf Einloggen, damit Ihre Daten kontrolliert werden können.","Einloggen","Abbrechen");
return 1;
}
new query[180 + MAX_PLAYER_NAME];
mysql_format(DBHandle, query,sizeof(query),"SELECT COUNT(*) AS `count` FROM `Accounts` WHERE `pName` ='%e' AND `pPasswort` ='%e'",Spieler[playerid][pName],inputtext);
mysql_function_query(DBHandle, query, true,"LoadPlayerDataSequence","dd",playerid,2);
SpawnPlayer(playerid);
Spieler[playerid][pLogged] = true;
return 1;
}
}
return 1;
}
public LoadPlayerDataSequence(playerid, l_step)
{
switch(l_step)
{
case 1:
{
new count = cache_get_field_content_int(0,"count");
if(count)
{
ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_INPUT,"SmR: {0x3252BEFF}Einloggen","{FFFFFF}Sie m�ssen von unserem System Identifiziert werden.\nGeben Sie daf�r Ihr Passwort unten in das Feld ein.\n\n Klicken Sie anschlie�end auf Einloggen, damit Ihre Daten kontrolliert werden k�nnen.\n\nSie haben noch 3/3 versuche!","Einloggen","Abbrechen");
return 1;
}
else
{
ShowPlayerDialog(playerid,Dialog_Register,DIALOG_STYLE_PASSWORD,"SmR: {0x3252BEFF}Registrierung","{FFFFFF}Herzlich Willkommen auf San Miami Roleplay\n\nUnser System hat Ihre Spielerinformationen\nnicht in unserer Datenbank gefunden. Um einen Charakter auf unserem Server zu Erstellen\nben�tigen wir einige Informationen. Als erstes tragen Sie Bitte ein Sicheres Passwort in das untere Feld ein.\n\nMerken Sie sich Ihr Passwort Gut.\n\nKlicken Sie anschlie�end auf Annehmen.","Annehmen","Abbrechen");
return 1;
}
}
case 2:
{
new count = cache_get_field_content_int(0,"count");
if(count)
{
new query[160 + MAX_PLAYER_NAME];
mysql_format(DBHandle, query ,sizeof(query),"SELECT * FROM `Accounts` WHERE `pName` = '%e'",Spieler[playerid][pName]);
mysql_function_query(DBHandle, query, true,"LoadPlayerDataSequence","dd",playerid,3);
return 1;
}
else
{
ShowPlayerDialog(playerid,Dialog_Login,DIALOG_STYLE_PASSWORD,"SmR: {0xFF0000EE}Falsches Passwort","{FFFFFF}Das von Ihnen gew�hlte Passwort war leider nicht Richtig.\nGegebenfalls beachten Sie die Gro� und Kleinschreibung.\n\nAchtung! Sie haben nur noch 2/3 versuche.","Einloggen","Abbrechen");
return 1;
}
}
case 3:
{
Spieler[playerid][pAlter] = cache_get_field_content_int(0,"pAlter");
Spieler[playerid][pAdminlevel] = cache_get_field_content_int(0,"pAdminlevel");
Spieler[playerid][pBargeld] = cache_get_field_content_int(0,"pBargeld");
Spieler[playerid][pKontoguthaben] = cache_get_field_content_int(0,"pKontoguthaben");
cache_get_field_content(0,"pLastLogin",Spieler[playerid][pLastLogin],DBHandle,30);
cache_get_field_content(0,"pRegDatum",Spieler[playerid][pRegDatum],DBHandle,30);
Spieler[playerid][pWrongPass] = cache_get_field_content_int(0,"pVersuche");
Spieler[playerid][pLeben] = cache_get_field_content_float(0,"pLeben");
Spieler[playerid][pLogged] = true;
return 1;
}
default:
{
SendClientMessage(playerid,0x7D0000FF,"Es ist ein Fehler aufgetreten, Bitte starten Sie Ihren Clienten neu, und versuchen Sie es erneut,\nSollten weiterhin Fehler auftreten, so Melde Sie sich umgehend Bitte bei einem Teammitglied.");
return 1;
}
}
return 1;
}