[FilterScript] Registro/Login MySQL
#1

@Att 04/03/2018
PHP код:
#include a_samp
#include a_mysql
#define host "localhost"
#define user "root"
#define pass ""
#define base "samp"
#define REGISTRO         100
#define LOGIN           200
main(){}
enum PlayerInfo
{
   
Nome[21],
   
Senha[20],
   
Dinheiro
}
new 
pInfo[MAX_PLAYERS][PlayerInfo];
new 
MySQL:Conexao;
public 
OnGameModeInit()
{
    
Conexao mysql_connect(hostuserpassbase);
    if(
mysql_errno(Conexao) !=0) return print("Nгo foi possнvel conectar a base de dados.");
    else print(
"Conexгo com a base de dados efetuada com sucesso.");
    
mysql_query(Conexao"CREATE TABLE IF NOT EXISTS `Contas`(`Nome` VARCHAR(21) NOT NULL, `Senha` VARCHAR(20) NOT NULL, `Dinheiro` INT NOT NULL)");
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    
ResetarVariaveis(playerid); // Resetar Variбveis
    
new Query[200];
    
GetPlayerName(playeridpInfo[playerid][Nome], 21);
    
format(Query200"SELECT `Senha` FROM `Contas` WHERE `Nome`='%s'"pInfo[playerid][Nome]);
    
mysql_query(ConexaoQuery);
    
cache_get_value(0"Senha"pInfo[playerid][Senha], 20);
    if(
cache_num_rows() > 0)
    {
        
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Logar""Digite sua senha para Logar""Logar""Sair");
    }
    else
    {
        
ShowPlayerDialog(playeridREGISTRODIALOG_STYLE_PASSWORD"Registro""Digite sua senha para Registrar""Registrar""Sair");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playerid)
{
    
SalvarConta(playerid);
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    
GetPlayerName(playeridpInfo[playerid][Nome], 21);
    if(
dialogid == LOGIN)
    {
        if(!
strcmp(pInfo[playerid][Senha], inputtexttrue20))
        {
            new 
Query[200];
            
format(Query200"SELECT * FROM `Contas` WHERE `Nome`='%s'"pInfo[playerid][Nome]);
            
mysql_query(ConexaoQuery);
            
cache_get_value_name_int(0"Dinheiro"pInfo[playerid][Dinheiro]);
            
GivePlayerMoney(playeridpInfo[playerid][Dinheiro]);
            
SpawnPlayer(playerid);
            
SendClientMessage(playerid, -1"| INFO | Logado com sucesso.");
        }
        else
        {
            
SendClientMessage(playerid, -1"| ERRO | Senha incorreta. Digite ela correta!");
            
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Logar""Digite sua senha para Logar""Logar""Sair");
        }
    }
    if(
dialogid == REGISTRO)
    {
        if(
strlen(inputtext) < || strlen(inputtext) > 20)
        {
            
SendClientMessage(playerid, -1"| ERRO | Digite senha de 6 a 20 caractйres!");
            
ShowPlayerDialog(playeridREGISTRODIALOG_STYLE_PASSWORD"Registro""Digite sua senha para Registrar""Registrar""Sair");
        }
        else
        {
            new 
Query[200];
            
format(Query200"INSERT INTO `Contas` (`Nome`, `Senha`, `Dinheiro`) VALUES ('%s', '%s', '%d')"pInfo[playerid][Nome], inputtextpInfo[playerid][Dinheiro] = 500);
            
mysql_query(ConexaoQuery);
            
GivePlayerMoney(playeridpInfo[playerid][Dinheiro]);
        }
    }
    return 
0;
}
static 
SalvarConta(playerid)
{
    new 
Query[200];
    
GetPlayerName(playeridpInfo[playerid][Nome], 21);
    
format(Querysizeof(Query), "UPDATE `Contas` SET `Nome`='%s', `Senha`='%s', `Dinheiro`='%d' WHERE `Nome`='%s'",
    
pInfo[playerid][Nome],
    
pInfo[playerid][Senha],
    
pInfo[playerid][Dinheiro] = GetPlayerMoney(playerid),
    
pInfo[playerid][Nome]);
    
mysql_query(ConexaoQuery);
    
ResetarVariaveis(playerid);
}
static 
ResetarVariaveis(playerid)
{
    
pInfo[playerid][Nome] = 0;
    
pInfo[playerid][Senha] = 0;
    
pInfo[playerid][Dinheiro] = 0;
    return 
1;

Reply


Messages In This Thread
Registro/Login MySQL - by GuiKommander - 25.02.2018, 00:19
Re: Registro/Login MySQL - by Cleyson - 25.02.2018, 01:21
Re: Registro/Login MySQL - by MBJ - 25.02.2018, 02:25
Re: Registro/Login MySQL - by Marllun - 25.02.2018, 02:43
Re: Registro/Login MySQL - by GuiKommander - 25.02.2018, 11:34
Re: Registro/Login MySQL - by MBJ - 25.02.2018, 14:40
Re: Registro/Login MySQL - by IgorLuiz - 01.03.2018, 15:53
Re: Registro/Login MySQL - by GuiKommander - 01.03.2018, 23:45
Re: Registro/Login MySQL - by FabioGTP - 04.03.2018, 22:17
Re: Registro/Login MySQL - by Marllun - 04.03.2018, 22:20

Forum Jump:


Users browsing this thread: 2 Guest(s)