//Dialogo al conectarse if not registered
case Registro_doc:
{
if(response == 0)
{
Kick(playerid);
return 1;
}
else
{
if(strlen(inputtext))
{
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
OnPlayerRegister(playerid,inputtext);
return 1;
}
else
{
ShowRegisterDialog(playerid);//Registro_doc
return 1;
}
}
}
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
MySQLCheck();
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
new escapedPassword[129];
WP_Hash(escapedPassword, sizeof(escapedPassword), password);
new newaccountsqlid = InsertarJugador(playername3, escapedPassword);
if (newaccountsqlid != 0)
{
//Datos para registro
}
else
{
SendClientMessage(playerid, COLOR_RED, "Ha ocurrido un error, desconectando.");
// Kick(playerid);
return 0;
}
}
return 0;
}
//stock
stock InsertarJugador(pname[], password[])
{
new query[200], escapedname[ MAX_PLAYER_NAME ],escapedPassword[129];
mysql_real_escape_string( pname, escapedname );
WP_Hash(escapedPassword, sizeof(escapedPassword), password);
format(query, sizeof(query), "INSERT INTO "TABLENAME" (`"User_Name"`, `"P_Passswd"`) VALUES ('%s', '%s')", escapedname, escapedPassword);
mysql_query(query);
new newplayersid = E_Usuario(pname);
if (newplayersid != 0)
{
return newplayersid;
}
return 0;
}
Que tal;
Espero alguien me pudiese ayudar con un pequeсo problema que tengo, ya hace tiempo que he estado creando un GM y pues ya todo esta bien solo que decidн agregarle una Encriptaciуn a la contraseсa lo que sucede es que asн como esta el cуdigo si encripta la contraseсa pero no guarda el nombre del jugador en la base de datos mysql... y de otra forma que lo tenia... guardaba el nombre del jugador pero no encriptaba la contraseсa Aqui dejo el DIALOG, STOCK, OnPlayerRegister PHP код:
PHP код:
PHP код:
|
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
OnPlayerRegister(playerid,inputtext);
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
MySQLCheck();
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
new escapedPassword[129];
WP_Hash(escapedPassword, sizeof(escapedPassword), password);
new newaccountsqlid = InsertarJugador(playername3, escapedPassword);
if (newaccountsqlid != 0)
{
//Datos para registro
}
else
{
SendClientMessage(playerid, COLOR_RED, "Ha ocurrido un error, desconectando.");
// Kick(playerid);
return 0;
}
}
return 0;
}
stock InsertarJugador(pname[], password[])
{
new query[200], escapedname[ MAX_PLAYER_NAME ],escapedPassword[129];
mysql_real_escape_string( pname, escapedname );
WP_Hash(escapedPassword, sizeof(escapedPassword), password);
format(query, sizeof(query), "INSERT INTO "TABLENAME" (`"User_Name"`, `"P_Passswd"`) VALUES ('%s', '%s')", escapedname, escapedPassword);
mysql_query(query);
new newplayersid = E_Usuario(pname);
if (newplayersid != 0)
{
return newplayersid;
}
return 0;
}
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
MySQLCheck();
new playername3[MAX_PLAYER_NAME];
GetPlayerName(playerid, playername3, sizeof(playername3));
new newaccountsqlid = InsertarJugador(playername3, password);
if (newaccountsqlid != 0)
{
//Datos para registro
}
else
{
SendClientMessage(playerid, COLOR_RED, "Ha ocurrido un error, desconectando.");
// Kick(playerid);
return 0;
}
}
return 0;
}
stock InsertarJugador(pname[], password[])
{
new query[200],escapedPassword[129];
WP_Hash(escapedPassword, sizeof(escapedPassword), password);
format(query, sizeof(query), "INSERT INTO "TABLENAME" (`"User_Name"`, `"P_Passswd"`) VALUES ('%s', '%s')", pname, escapedPassword);
mysql_query(query);
new newplayersid = E_Usuario(pname);
if (newplayersid != 0)
{
return newplayersid;
}
return 0;
}
CallLocalFunction("OnPlayerRegister", "is", playerid, inputtext);
stock E_Usuario(playername[])
{
new escapedname[ MAX_PLAYER_NAME ], query[ 200 ];
mysql_real_escape_string( playername, escapedname );
format( query, sizeof( query ), "SELECT "ID_User" FROM `"TABLENAME"` WHERE LOWER("User_Name") = ('%s') LIMIT 1", escapedname );
mysql_query(query);
mysql_store_result();
if(mysql_num_rows() == 0)
{
return 0;
}
else
{
new strid[32];
new intid;
samp_mysql_fetch_row(strid);
intid = strval(strid);
return intid;
}
}
pawn Код:
|