//QueryFinish forward OnQueryFinish(resultid, extraid, ConnectionHandle); public OnQueryFinish(resultid, extraid, ConnectionHandle) { new Rows, Field, content[20]; if(resultid != 0) { cache_get_data(Rows, Field); } switch(resultid) { case 1: { if(Rows == 1) { } else if(!Rows) { Kick(extraid); } } case 2: { if(Rows == 1) { cache_get_field_content(0, "id_account", content); gpi[extraid][id] = strval(content); cache_get_field_content(0, "taxi", content); gpi[extraid][CheckTaxi] = strval(content); new gquery[256]; format(gquery, sizeof(gquery), "SELECT `password` = SHA1('%s'), `email` = SHA1('%s') FROM `accounts` WHERE name='%s'",gpi[extraid][Password],gpi[extraid][email],gname(extraid)); mysql_function_query(gmysql, gquery, true, "", "",2, extraid); ShowPlayerDialog(extraid, login1, DIALOG_STYLE_INPUT,"Esta cuenta esta registrada", "Ingresa tu email:","Siguiente","Salir"); } else if(!Rows) { ShowPlayerDialog(extraid, register1, DIALOG_STYLE_INPUT,"Esta cuenta no esta registrada","Ingresa un email (valido):","Siguiente","Salir"); } } } return 1; } //DIALOG RESPONSE public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new stringp[128], stringe[128]; switch(dialogid) { case login1: { if(!response) Kick(playerid); if(!strcmp(inputtext, gpi[playerid][email])) { return ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[TNW] Loguear cuenta", "Ingrese su contraseсa:", "Entrar", "Salir"); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Email incorrecto, intentelo de nuevo."); ShowPlayerDialog(playerid, login1, DIALOG_STYLE_INPUT, "[Error] Email incorrecto", "Ingrese su email", "Siguiente", "Salir"); } } case login2: { if(!response) Kick(playerid); if(!strcmp(inputtext, gpi[playerid][Password])) { OnPlayerLoad(playerid); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Contraseсa incorrecta, intentelo de nuevo."); ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[Error] Contraseсa incorrecta", "Ingrese su contraseсa", "Siguiente", "Salir"); } } case register1: { if(!response) return Kick(playerid); if(strlen(inputtext) < 10) { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Por favor ingrese un email valido."); return ShowPlayerDialog(playerid, register1, DIALOG_STYLE_INPUT, "[Error] Verifique su email","Ingresa un email (valido):", "Siguiente", "Salir"); } else { format(stringe, sizeof(stringe), "%s", inputtext); gpi[playerid][email] = stringe; return ShowPlayerDialog(playerid, register2, DIALOG_STYLE_INPUT, "[TNW] Registrando cuenta paso 2/3", "Ingrese una contraseсa para su cuenta:", "siguiente", "salir"); } } case register2: { if(!response) return Kick(playerid); if(strlen(inputtext) < 3) { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Su contraseсa debe tener mбs de 3 caracteres."); return ShowPlayerDialog(playerid, register2, DIALOG_STYLE_INPUT, "[Error] Verifique su contraseсa", "Ingrese una contraseсa para su cuenta:", "Siguiente", "Salir"); } else { format(stringp, sizeof(stringp), "%s", inputtext); gpi[playerid][Password] = stringp; return ShowPlayerDialog(playerid, register3, DIALOG_STYLE_LIST, "[TNW] Registrando cuenta paso 3/3", "\nHombre \nMujer ", "Siguiente", "Salir"); } } case register3: { switch(listitem) { case 0: gpi[playerid][gender] = 1; case 1: gpi[playerid][gender] = 2; } new gquery[256]; format(gquery, sizeof(gquery), "INSERT INTO `accounts` (name, password, email) VALUES ('%s',SHA1('%s'), SHA1('%s'))",gname(playerid), gpi[playerid][Password],gpi[playerid][email]); mysql_function_query(gmysql, gquery, true, "OnAccountRegister", "ii", 0, playerid); } } return 1; }
Hello guys, i have a little problem with the encrypt of password, if you login but you dont put your password right, you will spawn with the coordenate 0,0,0,0,0 health 0, etc.. its a little bug, but i don't know if i'm making it correctly, this is the code that i have... pd: is my GM since 0
Код:
//QueryFinish forward OnQueryFinish(resultid, extraid, ConnectionHandle); public OnQueryFinish(resultid, extraid, ConnectionHandle) { new Rows, Field, content[20]; if(resultid != 0) { cache_get_data(Rows, Field); } switch(resultid) { case 1: { if(Rows == 1) { } else if(!Rows) { Kick(extraid); } } case 2: { if(Rows == 1) { cache_get_field_content(0, "id_account", content); gpi[extraid][id] = strval(content); cache_get_field_content(0, "taxi", content); gpi[extraid][CheckTaxi] = strval(content); new gquery[256]; format(gquery, sizeof(gquery), "SELECT `password` = SHA1('%s'), `email` = SHA1('%s') FROM `accounts` WHERE name='%s'",gpi[extraid][Password],gpi[extraid][email],gname(extraid)); mysql_function_query(gmysql, gquery, true, "", "",2, extraid); ShowPlayerDialog(extraid, login1, DIALOG_STYLE_INPUT,"Esta cuenta esta registrada", "Ingresa tu email:","Siguiente","Salir"); } else if(!Rows) { ShowPlayerDialog(extraid, register1, DIALOG_STYLE_INPUT,"Esta cuenta no esta registrada","Ingresa un email (valido):","Siguiente","Salir"); } } } return 1; } //DIALOG RESPONSE public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { new stringp[128], stringe[128]; switch(dialogid) { case login1: { if(!response) Kick(playerid); if(!strcmp(inputtext, gpi[playerid][email])) { return ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[TNW] Loguear cuenta", "Ingrese su contraseсa:", "Entrar", "Salir"); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Email incorrecto, intentelo de nuevo."); ShowPlayerDialog(playerid, login1, DIALOG_STYLE_INPUT, "[Error] Email incorrecto", "Ingrese su email", "Siguiente", "Salir"); } } case login2: { if(!response) Kick(playerid); if(!strcmp(inputtext, gpi[playerid][Password])) { OnPlayerLoad(playerid); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Contraseсa incorrecta, intentelo de nuevo."); ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[Error] Contraseсa incorrecta", "Ingrese su contraseсa", "Siguiente", "Salir"); } } case register1: { if(!response) return Kick(playerid); if(strlen(inputtext) < 10) { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Por favor ingrese un email valido."); return ShowPlayerDialog(playerid, register1, DIALOG_STYLE_INPUT, "[Error] Verifique su email","Ingresa un email (valido):", "Siguiente", "Salir"); } else { format(stringe, sizeof(stringe), "%s", inputtext); gpi[playerid][email] = stringe; return ShowPlayerDialog(playerid, register2, DIALOG_STYLE_INPUT, "[TNW] Registrando cuenta paso 2/3", "Ingrese una contraseсa para su cuenta:", "siguiente", "salir"); } } case register2: { if(!response) return Kick(playerid); if(strlen(inputtext) < 3) { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Su contraseсa debe tener mбs de 3 caracteres."); return ShowPlayerDialog(playerid, register2, DIALOG_STYLE_INPUT, "[Error] Verifique su contraseсa", "Ingrese una contraseсa para su cuenta:", "Siguiente", "Salir"); } else { format(stringp, sizeof(stringp), "%s", inputtext); gpi[playerid][Password] = stringp; return ShowPlayerDialog(playerid, register3, DIALOG_STYLE_LIST, "[TNW] Registrando cuenta paso 3/3", "\nHombre \nMujer ", "Siguiente", "Salir"); } } case register3: { switch(listitem) { case 0: gpi[playerid][gender] = 1; case 1: gpi[playerid][gender] = 2; } new gquery[256]; format(gquery, sizeof(gquery), "INSERT INTO `accounts` (name, password, email) VALUES ('%s',SHA1('%s'), SHA1('%s'))",gname(playerid), gpi[playerid][Password],gpi[playerid][email]); mysql_function_query(gmysql, gquery, true, "OnAccountRegister", "ii", 0, playerid); } } return 1; } |
if(!strcmp(inputtext, gpi[playerid][Password]))
if(!strcmp(inputtext, gpi[playerid][Password]) && !isnull(inputtext))
case login1: { if(!response) Kick(playerid); new Salted_Key[65]; SHA256_PassHash(inputtext, gpi[playerid][Salt], Salted_Key, 65); if(strcmp(Salted_Key, gpi[playerid][email]) == 0 || !IsNull(inputtext)) { return ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[TNW] Loguear cuenta", "Ingrese su contraseсa:", "Entrar", "Salir"); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Email incorrecto, intentelo de nuevo."); ShowPlayerDialog(playerid, login1, DIALOG_STYLE_INPUT, "[Error] Email incorrecto", "Ingrese su email", "Siguiente", "Salir"); } } case login2: { if(!response) Kick(playerid); new Salted_Key[65]; SHA256_PassHash(inputtext, gpi[playerid][Salt], Salted_Key, 65); if(strcmp(Salted_Key, gpi[playerid][Password]) == 0 || !IsNull(inputtext)) { new gquery[260]; format(gquery, sizeof(gquery), "SELECT * FROM `users` WHERE `account_id`='%d'",gpi[playerid][id]); mysql_function_query(gconection, gquery, true, "MysqlPlayerLoad", "i", playerid); format(gquery, sizeof(gquery), "SELECT * FROM `jobs` WHERE `account_id`='%d'",gpi[playerid][id]); mysql_function_query(gconection, gquery, true, "MysqlJobsLoad", "i", playerid); format(gquery, sizeof(gquery), "SELECT * FROM `cars` WHERE `account_id`='%d'",gpi[playerid][id]); mysql_function_query(gconection, gquery, true, "MysqlCarsLoad", "i", playerid); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Contraseсa incorrecta, intentelo de nuevo."); ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[Error] Contraseсa incorrecta", "Ingrese su contraseсa", "Siguiente", "Salir"); } }
if(rows == 1) { cache_get_field_content(0, "id_account", content); gpi[playerid][id] = strval(content); cache_get_field_content(0, "taxig", content); gpi[playerid][gtaxi] = strval(content); cache_get_field_content(0, "password", gpi[playerid][Password]); cache_get_field_content(0, "email", gpi[playerid][email]); ShowPlayerDialog(playerid, login1, DIALOG_STYLE_INPUT,"Esta cuenta esta registrada", "Ingresa tu email:","Siguiente","Salir"); } else if(!rows) { ShowPlayerDialog(playerid, register1, DIALOG_STYLE_INPUT,"Esta cuenta no esta registrada","Ingresa un email (valido):","Siguiente","Salir"); }
case login1: { if(!response) Kick(playerid); new Salted_Key[65]; SHA256_PassHash(inputtext, gpi[playerid][Salt], Salted_Key, 65); if(strcmp(Salted_Key, gpi[playerid][email]) == 0 && !IsNull(inputtext)) { return ShowPlayerDialog(playerid, login2, DIALOG_STYLE_PASSWORD, "[TNW] Loguear cuenta", "Ingrese su contraseсa:", "Entrar", "Salir"); } else { SendClientMessage(playerid, -1, "[TNW] {D0FF00}Error: {FFFFFF}Email incorrecto, intentelo de nuevo."); ShowPlayerDialog(playerid, login1, DIALOG_STYLE_INPUT, "[Error] Email incorrecto", "Ingrese su email", "Siguiente", "Salir"); } }