if(dialogid == 1400) // login dialog { if(response) { if(!strlen(inputtext)) { //ShowPlayerDialog(playerid, 1400, DIALOG_STYLE_INPUT , "Login", "Insert your password below to log in!", "OK", "Cancel"); SendClientMessage(playerid, c_red, "* You have to login to be able to play!"); new str2[152]; format(str2, sizeof(str2), "Welcome to Battlefield 1943:\n\n{FF0000}%s,\n\n{FFFFFF}That name is registered. Please enter your password below.", plnamed); ShowPlayerDialog(playerid, 1400, DIALOG_STYLE_INPUT, "Login",str2,"Login", "Cancel"); } new str2[152], query[100]; new string[128], pname[MAX_PLAYER_NAME]; GetPlayerName(playerid, pname, sizeof(pname)); format(query, sizeof(query), "SELECT * FROM `users` WHERE name='%s'", pname); mysql_store_result(); mysql_fetch_row_format(query, "|"); sscanf(query, "e<p<|>{s[32]}i{s[32]}i{i}iiiii>", PlayerInfo[playerid]); new pas = udb_hash(inputtext); new upas = PlayerInfo[playerid][hashpw]; if(pas != upas) { SendClientMessage(playerid, c_red, "* Wrong Password."); format(str2, sizeof(str2), "Welcome to Battlefield 1943:\n\n{FF0000}%s,\n\n{FFFFFF}That name is registered. Please enter your password below.", plnamed); ShowPlayerDialog(playerid, 1400, DIALOG_STYLE_INPUT, "Login",str2,"Login", "Cancel"); } else { logged[playerid] = 1;/* PlayerInfo[playerid][Admin] = dini_Int(file, "Admin"); SetPlayerScore(playerid, dini_Int(file, "score")); PlayerInfo[playerid][deaths] = dini_Int(file, "deaths"); PlayerInfo[playerid][EasterEgg] = dini_Int(file, "EasterEgg"); PlayerInfo[playerid][Warns] = dini_Int(file, "Warns");*/ SendClientMessage(playerid, c_green, "* You have logged in!"); format(string,sizeof(string),"* %s has logged in!", pname); SendClientMessageToAll(c_green, string); SendClientMessage(playerid, c_blue, "* If you don't spawn automatically, click on the 'Spawn' button!"); UpdateTag(playerid); LoginPlayer(playerid); } } else { new str2[152]; format(str2, sizeof(str2), "Welcome to Battlefield 1943:\n\n{FF0000}%s,\n\n{FFFFFF}That name is registered. Please enter your password below.", plnamed); ShowPlayerDialog(playerid, 1400, DIALOG_STYLE_INPUT, "Login",str2,"Login", "Cancel"); SendClientMessage(playerid, c_red, "* You have to login to be able to play!"); } }
// Playerinfo enum pInfo { //Basic namevar[32], hashpw, Admin, deaths, EasterEgg, Warns, Premium, PremiumChat, team, class, spawn, smember, sleader, } new PlayerInfo[MAX_PLAYERS][pInfo];
You are doing it wrong.
1. Don't extract password in pawn because you don't need it 2. Password is not integer. 3. SELECT .... WHERE name='this' AND password='that' If you get any result password is right, otherwise not. |
format( query, sizeof (query), "SELECT * FROM `users` WHERE `name` = '%s' AND `password` = '%s' LIMIT 1;", ... );
mysql_query( query );
mysql_store_result( );
if ( mysql_num_rows( ) )
{
// the player got the password right
}
else
{
// not...
}
pawn Код:
|
Someone told me to do this:
but i dont understand what to remove or change |