21.11.2017, 22:39
Estava com problemas em um sistema de registro que sу salvava numeros, consegui resolver esse problema mas agora nгo consigo entrar quando digito a senha correta.
PHP код:
public OnPlayerConnect(playerid)
{
new row;
format(query, sizeof(query), "SELECT * FROM usuarios WHERE Nick='%s' LIMIT 1", PlayerName(playerid));
mysql_query(Conexao, query, true);
cache_get_row_count(row);
cache_get_value_name_int(0, "Senha", Player[playerid][Senha]);
if(row > 0)
{
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login no servidor", "Vocк й registrado, digite sua senha abaixo", "Logar", "Sair");
}
else
{
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro no servidor", "Vocк nгo й registrado, digite uma senha abaixo", "Registrar", "Sair");
}
return 1;
}
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
switch(dialogid)
{
case DIALOG_REGISTRO:
{
if(!response)
{
KickZ(playerid);
}
if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
{
SendClientMessage(playerid, -1, "Digite uma senha de mais de 4 caracteres e menos de 20");
ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_PASSWORD, "Registro no servidor", "Vocк nгo й registrado, digite uma senha abaixo", "Registrar", "Sair");
return 1;
}
CriarConta(playerid, inputtext);
SetSpawnInfo( playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
SpawnPlayer(playerid);
}
case DIALOG_LOGIN:
{
if(!response)
{
KickZ(playerid);
}
if(strlen(inputtext) < 4 || strlen(inputtext) > 20)
{
SendClientMessage(playerid, -1, "Digite uma senha de mais de 4 caracteres e menos de 20");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login no servidor", "Vocк й registrado, digite sua senha abaixo", "Logar", "Sair");
return 1;
}
if(strlen(inputtext) == Player[playerid][Senha])
{
SendClientMessage(playerid, -1, "Logado com sucesso");
CarregarConta(playerid);
SetSpawnInfo(playerid, 0, 0, 1958.33, 1343.12, 15.36, 269.15, 26, 36, 28, 150, 0, 0 );
SpawnPlayer(playerid);
}
else
{
SendClientMessage(playerid, -1, "Senha incorreta");
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login no servidor", "Vocк й registrado, digite sua senha abaixo", "Logar", "Sair");
return 1;
}
}
}
return 1;
}
PHP код:
CriarConta(playerid, senhaz[])
{
query[0] = EOS;
format(query, sizeof(query), "INSERT INTO usuarios(Nick, Senha) VALUES ('%s', '%s')", PlayerName(playerid), senhaz);
mysql_query(Conexao, query, true);
SendClientMessage(playerid, -1, "Conta criada com sucesso na database MySQL");
CarregarConta(playerid);
return 1;
}
SalvarConta(playerid)
{
if(Player[playerid][Logado] == 0) return 0;
format(query, sizeof(query), "SELECT * FROM usuarios WHERE Nick='%s'", PlayerName(playerid));
mysql_query(Conexao,query,true);
format(query, sizeof(query), "UPDATE usuarios SET Nick='%s', Nivel=%d, Dinheiro=%d WHERE ID=%d", PlayerName(playerid), GetPlayerScore(playerid), GetPlayerMoney(playerid), Player[playerid][ID]);
mysql_query(Conexao, query, false);
return 1;
}