No reconoce la contraseсa
#3

Intenta con esto

Код:
CMD:login(playerid, params[])
{
	// Verificas si esta registrado, al mismo tiempo si estб registrado; obtienes la contraseсa!
	new query_get[76], DBResult:cache;
	format(query_get, sizeof(query_get), "SELECT `Password` FROM `datos` WHERE `Nombre` = '%q';", NombreJugador(playerid));
	cache = db_query(usuarios, query_get); //Guardamos el resultado en la variable "cache".
	
	if(!db_num_rows(cache)) //Si no se obtuvo una contraseсa!
	return SendClientMessage(playerid, -1, "No estas registrado!");
	
	//Si se obtuvo una contraseсa
	
	new string[24];
	if(sscanf(params, "s[24]", string))
	return SendClientMessage(playerid, -1, "/Login [contraseсa]");
	
	//Longitud de una contraseсa valida! (Cambia 4 por el mнnimo de caracteres)
	if(strlen(string) < 4 || strlen(string) > 24)
	return SendClientMessage(playerid, -1, "Ingresa una contraseсa valida (4 - 24 caracteres)");

	new password[24]; // Aquн guardaremos la contraseсa obtenida
	db_get_field_assoc(cache, "Password", password, 24); //La almacenamos en la variable
	
	if(!strcmp(password, string, false)) // Comprobamos si la contraseсa obtenida y la insertada son iguales!
	{
	    //Si son iguales sucederб esto!
	    SendClientMessage(playerid, -1, "Has ingresado correctamente al servidor!");
	    
	    new query[67]; //Cargas el resto de datos
	    format(query, sizeof(query), "SELECT * FROM `datos` WHERE `Nombre` = '%q';", NombreJugador(playerid));
	    cache = db_query(usuarios, query);
	    
	    //Cargas en las variables comprobando el cache y usando cache_get_field_assoc/int/float.
	}
	else
	{   //Si la contraseсa fue incorrecta sucedrб esto!
	    SendClientMessage(playerid, -1, "ЎContaseсa incorrecta!");
	    
	    IntentosFallidos[playerid] = IntentosFallidos[playerid] + 1;
	    if(IntentosFallidos[playerid] == 3)
	    {
	        SendClientMessage(playerid, -1, "Fuiste expulsado del servidor por demasiados intentos de logeo fallidos!");
	        Player_DelayKick(playerid); //Esto es necesario o no serб visible el mensaje.
		}
	}
	return true;
}

//-----------------------------------------

//Funciуn para expulsar a un player con retraso
Player_DelayKick(playerid)
{
	SetTimerEx("OnPlayerKicked", (150 + GetPlayerPing(playerid)), false, "i", playerid);
	return 1;
}

forward OnPlayerKicked(playerid);
public OnPlayerKicked(playerid) return Kick(playerid);
Reply


Messages In This Thread
No reconoce la contraseсa - by Ghost112397 - 19.08.2015, 20:47
Re: No reconoce la contraseсa - by N3cromancer - 19.08.2015, 20:55
Re: No reconoce la contraseсa - by x3378 - 19.08.2015, 21:31
Respuesta: Re: No reconoce la contraseсa - by Ghost112397 - 19.08.2015, 22:08

Forum Jump:


Users browsing this thread: 1 Guest(s)