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.