27.02.2014, 04:38
Me ocurre lo siguiente, al entrar al servidor me sale el dialogo de logeo, pero no reconoce mi verdadera contraseсa, es decir, con cualquier numero o letra que escriba me logea el usuario, pero al registrarme, y colocar una contraseсa incorrecta si lo detecta, no entiendo por que. les dejo el codigo abajo:
Imagino que mi error es que cuando te conectas al servidor antes de logearte no se define la variable PlayerInfo[playerid][pPassword] para igualarla al inputtext pero no entiendo ya que tengo configurado los cache_get_field_content para una vez que el usuario se logee.
Gracias.
Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string[256];
new pName[24], Query[256]; GetPlayerName(playerid, pName, 24);
switch(dialogid)
{
case LOGIN:
{
if(!response)
{
Kick(playerid);
}
if(strcmp(PlayerInfo[playerid][pPassword], inputtext, true, 128) == 0)
{
format(Query, sizeof(Query), "SELECT * FROM `usuarios` WHERE `Username` = '%s'", pName);
mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 1, playerid);
}
else
{
SendClientMessage(playerid, -1, "CONTRASEСA INCORRECTA");
}
}
case REGISTRO:
{
if(!response)
{
SendClientMessage(playerid, -1, "Kicked");
Kick(playerid);
}
if(response)
{
if(!strlen(inputtext))
{
Kick(playerid);
}
new string2[128];
format(string2, sizeof(string2), "%s", inputtext); format(PlayerInfo[playerid][pPassword], 144, "%s",inputtext);
format(Query, sizeof(Query), "INSERT INTO `smf_members` (member_name, passwd, real_name,avatar) VALUES ('%s', '%s','%s','http://zonalatina.com.nu/skins/%d.png')",pName, PlayerInfo[playerid][pPassword],pName,GetPlayerSkin(playerid));
mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);
format(Query, sizeof(Query), "INSERT INTO `usuarios` (username, password,posX,posY,posZ,vida,money,skin) VALUES ('%s','%s','1815.36','-1825.75','13.4141','100','50000','250')",pName, PlayerInfo[playerid][pPassword]);
mysql_function_query(Conecction, Query, true, "OnQueryFinish", "ii", 0, playerid);
format(string, sizeof(string), "Has registrado el personaje %s en nuestro servidor.\n\nAhora inicia sesiуn", pName);
ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"Iniciar sesiуn",string,"Enviar","Salir");
}
}
}
return 1;
}
Gracias.

