Error Login (Se puede entrar con cualquier contraseсa)
#1

Hola no se que he hecho mal en mi codigo pero me encontraba quitando unas cosillas y de repente cuando entro al servidor puede entrar con cualquier contraseсa al usuario que quieras

Код:
case DLOGIN:
		{
			if(response == 1)
			{
               if(!strlen(inputtext))
	    		{
		        Mensaje(playerid, COLOR_GREY, " Debes introducir tu contraseсa para continuar.");
		        format(string, sizeof(string), "{FFFFFF}Bienvenido de nuevo, %s!\n{FFFFFF}Ingresa a continuaciуn tu contraseсa para conectarte al servidor\n\nTienes en total {E80000}3{FFFFFF} intentos de logueo.", NombreIC(playerid));
	    		ShowPlayerDialog(playerid, DLOGIN, DIALOG_STYLE_PASSWORD, "{E80000}› {FFFFFF}Ingresar al servidor", string, "Conectar", "");
				return 1;
				}

				//if (ComprobarClave(playerid, inputtext))
               if(!strcmp(Info[playerid][pKey],inputtext))
				{
				    InsideMainMenu[playerid] = false;
				    INI_ParseFile(UserPath(playerid), "LoadUser_data", .bExtra = true, .extra = playerid);
				    KillTimer(LoginTimer[playerid]);
		            PlayerLogin(playerid);
				}
				else
				{
	        		SetPVarInt(playerid, "IntentosIngreso", GetPVarInt(playerid, "IntentosIngreso")+1);
	        		format(string, sizeof(string), " La contraseсa introducida es incorrecta. (%d/%d)", GetPVarInt(playerid, "IntentosIngreso"), LIMITE_INTENTOS_INGRESO);
		    		Mensaje(playerid, COLOR_GREY, string);
		           	if (GetPVarInt(playerid, "IntentosIngreso") == LIMITE_INTENTOS_INGRESO)
		    		{
			        Mensaje(playerid, COLOR_ORANGE, "Has sido kickeado automбticamente. (Razуn: Lнmite de intentos de ingreso)");
			        Expulsar(playerid);
			        return 1;
		            }
		            format(string, sizeof(string), "{FFFFFF}Bienvenido de nuevo, %s!\n{FFFFFF}Ingresa a continuaciуn tu contraseсa para conectarte al servidor\n\nTienes en total {E80000}3{FFFFFF} intentos de logueo.", NombreIC(playerid));
	    			ShowPlayerDialog(playerid, DLOGIN, DIALOG_STYLE_PASSWORD, "{E80000}› {FFFFFF}Ingresar al servidor", string, "Conectar", "");
                	return 1;
				}
        	}
Ese es mi cуdigo de logeo.He intentado hacer varias cosas que me han recomendado los usuarios del foro cуmo sustituir

Код:
if(!strlen(inputtext))
a
Код:
if(!strlen(inputtext) >0)
pero no pasa nada se queda igual , porfavor me gustarнa que me ayudaran con esto.
Reply
#2

pawn Код:
if(strcmp(strcmp(Info[playerid][pKey],inputtext, true ) == 0 )
{
    //Cуdigo de clave vбlida
}
else
{
    //Cуdigo de clave erronea
}
Prueba asн.
Reply
#3

Gracias por ayudarme tio pero ahora mi problema esque al cambiar el codigo que tenнa antes
Код:
if(!strcmp(Info[playerid][pKey],inputtext))
por

Код:
if(strcmp(strcmp(Info[playerid][pKey],inputtext, true ) == 0 )
Me sale este error

Код:
error 035: argument type mismatch (argument 1)
Reply
#4

Quote:
Originally Posted by extractor304
Посмотреть сообщение
Gracias por ayudarme tio pero ahora mi problema esque al cambiar el codigo que tenнa antes
Код:
if(!strcmp(Info[playerid][pKey],inputtext))
por

Код:
if(strcmp(strcmp(Info[playerid][pKey],inputtext, true ) == 0 )
Me sale este error

Код:
error 035: argument type mismatch (argument 1)
Код:
if(strcmp(strcmp(Info[playerid][pKey],inputtext, true ) == 0 )
Tienes un 'strcmp(' de mбs.
Reply
#5

Vaya , ya probй cambiando mi cуdigo actual por
Код:
if(strcmp(strcmp(Info[playerid][pKey],inputtext, true ) == 0 )
{
	//Cуdigo de clave vбlida
}
else
{
	//Cуdigo de clave erronea
}
pero sigue igual , ya he probado bastantes cosas pero ninguna funciona , no se que pasa jaja
Reply
#6

quizas el problema sea el guardado de la contraseсa
Reply
#7

Quote:
Originally Posted by Ghost112397
Посмотреть сообщение
Код:
if(strcmp(strcmp(Info[playerid][pKey],inputtext, true ) == 0 )
Tienes un 'strcmp(' de mбs.
Te lo vuelvo a repetir.
Reply
#8

A lo siento , esque al responder me he equivocado y he copiado y pegado el codigo tal cual , pero ya habнa quitado el strcmp de mбs , pero aъn asi sigue sin funcionar tio.Gracias por haberme ayudado , si la verdad llevo bastante tiempo intentando solucionar este error pero no encuentro como repararlo , pero aъn asi seguirй probando cosas a ver.
Reply
#9

La contraseсa no se carga correctamente. Verifica eso.

pawn Код:
Info[playerid][pKey]
Esa variable no esta guardando la clave del usuario.
Arriba de esta lнnea:


pawn Код:
if(!strcmp(Info[playerid][pKey],inputtext))
Escribe esto:
pawn Код:
printf("pKey: %s (tamaсo: %d); %s (tamaсo: %d)", Info[playerid][pKey], strlen(Info[playerid][pKey]), inputtext, strlen(inputtext));
Y muestra lo que se imprime en la consola.

Una de las 2 cadenas debe estar vacнa ya que strcmp retorna falso cuando las cadenas son iguales o una de ellas esta vacнa.
Reply
#10

He probado poner ese cуdgo sustituyendo al actual y me salta este error en pawno :

Код:
error 029: invalid expression, assumed zero
En la linea de codigo 27562 que es la equivalente a :
Код:
else
que se encuentra en el cуdigo del error
Reply


Forum Jump:


Users browsing this thread: