[Ajuda] Erros Sistema de Registro
#3

PHP код:
#include    a_samp
#include    DOF2
#define     DIALOG_REGISTRO         1
#define     DIALOG_LOGAR            2
#define ContasSalvas "/Contas/%s.ini"
enum Informacoes
{
    
Senha,
    
Matou,
    
Morreu,
    
Dinheiro
}
new 
Player[MAX_PLAYERS][Informacoes];
public 
OnGameModeExit()
{
    
DOF2_Exit();
    return 
1;
}
public 
OnPlayerConnect(playerid)
{
    new 
arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    
GetPlayerName(playeridnameMAX_PLAYER_NAME); //Pega o nome do playerid
    
format(arquivo40"Contas/%s.ini"name); //Formata o arquivo com o nome do playerid
    
if(DOF2_FileExists(arquivo)) //Verifica se a pasta existe
    
//Caso existir, irб retornar a dialog de Login
        
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Vocк jб estб registrado em nosso banco de dados, digite sua senha para logar.\nCaso vocк erre sua senha cinco (5) vezes terб sua conta banida.""Confirma""Cancelar");
    }
    else  
//Caso o arquivo nгo exista
    
//Irб retornar a dialog de registro
        
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Registro""Vocк ainda nгo estб registrado em nosso banco de dados, digite uma senha para poder registrar.""Confirma""Cancelar");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    new 
arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    
GetPlayerName(playeridnameMAX_PLAYER_NAME); //Para pegar o nome do playerid
    
format(arquivo40"Contas/%s.ini"name); //Formata o arquivo com o nome do playerid
    
if(DOF2_FileExists(arquivo)) //Verifica se o arquivo da conta do playerid existe
    
{
        
Player[playerid][Dinheiro] = GetPlayerMoney(playerid); //Pega o dinheiro que o player tem no momento e iguala a Var de informaзхes dele
        
DOF2_SetInt(arquivo"Senha"Player[playerid][Senha]); //Salva a senha, caso ele tenha modificado
        
DOF2_SetInt(arquivo"Matou"Player[playerid][Matou]); //Salva quantos players ele matou
        
DOF2_SetInt(arquivo"Morreu"Player[playerid][Morreu]); //Salva quantas vezes ele morreu
        
DOF2_SetInt(arquivo"Dinheiro"Player[playerid][Dinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no comeзo da funзгo
        
DOF2_SaveFile(); //E finalmente salvando o arquivo
    
}
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
    
GetPlayerName(playeridnameMAX_PLAYER_NAME); //Para pegar o nome do playerid
    
format(arquivo40"Contas/%s.ini"name); //Formata o arquivo com o nome do playerid
    
if(dialogid == DIALOG_REGISTRO)
    {
        if(!
strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
        
//Retorna a dialog de registro novamente para ele digitar NЪMEROS
            
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Registro""Por favor, digite apenas nъmeros em sua senha!\nPor favor, digite sua senha novamente para concluir seu registro!""Confirma""Cancelar");
            return 
1;
        }
        if(!
response//Verifica se ele clicar em 'Cancelar"
        
//Caso ele clicar em cancelar, irб retornar ao playerid KICK
            
Kick(playerid);
            return 
1;
        }
        else 
//Verifica se ele Confirma o Registro
        
//Caso for true, ira criar o arquivo na pasta CONTAS
            
Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
            
DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
            
DOF2_SetInt(arquivo"Senha"Player[playerid][Senha]); //Vai salvar a senha do playerid
            
DOF2_SetInt(arquivo"Matou"Player[playerid][Matou]); //Vai salvar quantas vezes ele matou
            
DOF2_SetInt(arquivo"Morreu"Player[playerid][Morreu]); //Vai salvar quantas vezes ele morreu
            
DOF2_SetInt(arquivo"Dinheiro"Player[playerid][Dinheiro]); //Vai salvar o dinheiro dele
            
DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa funзгo o arquivo nгo serб salvo!
            //Retornando a dialog de Login ao player no final para ele logar no server
            
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Vocк acaba de se registrar em nosso banco de dados, por favor digite sua senha para logar!""Confirma""Cancelar");
        }
    }
    if(
dialogid == DIALOG_LOGAR)
    {
           if(!
response)
        {
            
SendClientMessage(playerid, -1"Vocк Nгo Quis Logar e Por Esse Motivo foi Kickado!");
            
Kick(playerid);
         }
           if(
response)
        {
            if(
DOF2_CheckLogin(PlayerArchive(playerid), inputtext))
            {
                
SendClientMessage(playerid, -1"Logado com Sucesso, Parabйns!");
                
CarregarDados(playerid);
              }
              else
              {
                  
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_PASSWORD"Logar""Por favor, digite apenas nъmeros em sua senha.\nPor favor, digite sua senha para poder logar!\nCaso vocк erre sua senha cinco (5) vezes terб sua conta banida.""Confirma""Cancelar");
              }
              }
              }
    return 
1;
}
stock CarregarDados(playerid)
{
    new 
arquivo[40];
    
Player[playerid][Matou] = DOF2_GetInt(arquivo"Matou"); //Pega quantos ele matou no arquivo
    
Player[playerid][Morreu] = DOF2_GetInt(arquivo"Morreu"); //Pega quantos ele morreu no arquivo
    
Player[playerid][Dinheiro] = DOF2_GetInt(arquivo"Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
    
GivePlayerMoney(playeridPlayer[playerid][Dinheiro]); //Da o dinheiro carregado acima
}
stock PlayerArchive(playerid)
{
    new 
StringArquivo[128], NomeArquivo[24];
    
GetPlayerName(playeridNomeArquivosizeof(NomeArquivo));
    
format(StringArquivosizeof(StringArquivo), ContasSalvasNomeArquivo);
    return 
StringArquivo;

Код:
Crйditos de algumas partes:  [iPs].FuneraL.
Teste.
Reply


Messages In This Thread
Erros Sistema de Registro - by sofina - 01.12.2012, 21:50
Re: Erros Sistema de Registro - by sofina - 01.12.2012, 22:10
Re: Erros Sistema de Registro - by Gleisson_. - 02.12.2012, 02:01
Re: Erros Sistema de Registro - by sofina - 02.12.2012, 08:28
Re: Erros Sistema de Registro - by Schocc - 02.12.2012, 08:45
Re: Erros Sistema de Registro - by Schocc - 02.12.2012, 08:47
Re: Erros Sistema de Registro - by sofina - 02.12.2012, 08:49
Re: Erros Sistema de Registro - by Schocc - 02.12.2012, 08:51
Re: Erros Sistema de Registro - by sofina - 02.12.2012, 08:52
Re: Erros Sistema de Registro - by Schocc - 02.12.2012, 10:28

Forum Jump:


Users browsing this thread: 1 Guest(s)