SA-MP Forums Archive
[Ajuda] Ajuda com Sistema de Login em DOF2 - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Ajuda com Sistema de Login em DOF2 (/showthread.php?tid=604686)



Ajuda com Sistema de Login em DOF2 - TTheGustavo - 08.04.2016

Eu estava criando esse sistema de login em DOF2 e deu tudo certo, exceto pela senha que esta salvando como "0".
PHP код:
#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
enum Info
{
    
Senha,
    
Matou,
    
Morreu,
}
public 
OnPlayerConnect(playerid)
{
    new 
Arq[32], Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNome32);
    
format(Arq40"Contas/%s.ini"Nome);
    if(
DOF2_FileExists(Arq))
    {
        new 
string[256];
        
format(stringsizeof(string), "Olб %s,\nDigite sua senha para fazer o login."Nome);
        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login"string"Login""Sair");
    }
    else
    {
        
ShowPlayerDialog(playeridDIALOG_REGISTERDIALOG_STYLE_PASSWORD"Sistema de Registro""Bem vindo ao Zombie Outbreak,\nDigite uma senha para registrar.\nSua senha deve ter no minino 6 caracteres""Registrar""Sair");
    }
    return 
1;
}
public 
OnPlayerDisconnect(playeridreason)
{
    new 
Arq[40], Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNome32);
    
format(Arq40"Contas/%s.ini"Nome);
    if(
DOF2_FileExists(Arq))
    {
        
DOF2_SetInt(Arq"Senha"Player[playerid][Senha]);
        
DOF2_SetInt(Arq"Matou"Player[playerid][Matou]);
        
DOF2_SetInt(Arq"Morreu"Player[playerid][Morreu]);
        
DOF2_SaveFile();
    }
    return 
1;
}
public 
OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
Arq[40], Nome[MAX_PLAYER_NAME];
    
GetPlayerName(playeridNome32);
    
format(Arq40"Contas/%s.ini"Nome);
    if(
dialogid == DIALOG_REGISTER)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
Player[playerid][Senha] = strval(inputtext);
            
DOF2_CreateFile(Arq);
            
DOF2_SetInt(Arq"Senha"Player[playerid][Senha]);
            
DOF2_SetInt(Arq"Matou"Player[playerid][Matou]);
            
DOF2_SetInt(Arq"Morreu"Player[playerid][Morreu]);
            
DOF2_SaveFile();
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login""Registro feito com sucesso!\nAgora faзa login na sua conta.""Login""Sair");
        }
    }
    if(
dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
Player[playerid][Senha] = DOF2_GetInt(Arq"Senha");
            if(
strval(inputtext) == Player[playerid][Senha])
            {
                
Player[playerid][Matou] = DOF2_GetInt(Arq"Matou");
                
Player[playerid][Morreu] = DOF2_GetInt(Arq"Morreu");
                
SpawnPlayer(playerid);
            }
            else
            {
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login - Erro""Senha Incorreta.\nDigite corretamente sua senha""Login""Sair");
                
Erro[playerid]++;
                new 
string[256];
                
format(stringsizeof(string), "Senha Incorreta - Limite %s/3"Erro[playerid]);
                
SendClientMessage(playeridCOLOR_REDstring);
                if(
Erro[playerid] == 3)
                {
                    
Kick(playerid);
                    return 
1;
                }
            }
        }
    }
    return 
1;

E as informaзхes estгo salvando assim
PHP код:
Senha 0
Matou 
0
Morreu 

Agradeзo desde jб a ajuda ^^

__________________________________________________ _______________________________________________


Re: Ajuda com Sistema de Login em DOF2 - Dayvison_ - 08.04.2016

Senha й uma string, entгo deve ser criada desta forma:
PHP код:
    Senha[/*Numero de celulas aqui*/
Para salva-la deve-se usar
PHP код:
DOF2_SetString(Arq"Senha"Player[playerid][Senha]); 
E finalmente, para carrega-la
PHP код:
DOF2_GetStringEx(Arq"Senha"Player[playerid][Senha], /*Numero de celulas aqui*/); 



Re: Ajuda com Sistema de Login em DOF2 - xDeadPoolx - 08.04.2016

Lembre-se que se vocк utilizar o famoso Hash do plugin Whirlpool o nє de cйlulas, independentemente da senha, serб 129.
Se for com o Hash nativo do samp 0.3.7, o nє de cйlulas й 65.


Re: Ajuda com Sistema de Login em DOF2 - TTheGustavo - 08.04.2016

Quote:
Originally Posted by Day_
Посмотреть сообщение
Senha й uma string, entгo deve ser criada desta forma:
PHP код:
    Senha[/*Numero de celulas aqui*/
Para salva-la deve-se usar
PHP код:
DOF2_SetString(Arq"Senha"Player[playerid][Senha]); 
E finalmente, para carrega-la
PHP код:
DOF2_GetStringEx(Arq"Senha"Player[playerid][Senha], /*Numero de celulas aqui*/); 
Pelo que eu entendi, era pra fazer isso
PHP код:
{
    new 
Arq[40], Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridName32);
    
format(Arq40"Contas/%s.ini"Name);
    if(
dialogid == DIALOG_REGISTER)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
Player[playerid][Senha] = strval(inputtext);
            
DOF2_CreateFile(Arq);
             
DOF2_SetString(Arq"Senha"Player[playerid][Senha]);
            
DOF2_SetInt(Arq"Matou"Player[playerid][Matou]);
            
DOF2_SetInt(Arq"Morreu"Player[playerid][Morreu]);
            
DOF2_SaveFile();
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login""Registro feito com sucesso!\nAgora faзa login na sua conta.""Login""Sair");
        }
    }
    if(
dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
             
Player[playerid][Senha] = DOF2_GetStringEx(Arq"Senha"Player[playerid][Senha], 32);
            if(
strval(inputtext) == Player[playerid][Senha])
            {
                
Player[playerid][Matou] = DOF2_GetInt(Arq"Matou");
                
Player[playerid][Morreu] = DOF2_GetInt(Arq"Morreu");
                
SpawnPlayer(playerid);
            }
            else
            {
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login - Erro""Senha Incorreta.\nDigite corretamente sua senha""Login""Sair");
                
Erro[playerid]++;
                new 
string[256];
                
format(stringsizeof(string), "Senha Incorreta - Limite %s/3"Erro[playerid]);
                
SendClientMessage(playeridCOLOR_REDstring);
                if(
Erro[playerid] == 3)
                {
                    
Kick(playerid);
                    return 
1;
                }
            }
        }
    }
    return 
1;

Mas o arquivo estб salvando como
PHP код:
Senha null)
Matou 0
Morreu 




Re: Ajuda com Sistema de Login em DOF2 - xDeadPoolx - 08.04.2016

PHP код:

    new 
Arq[40], Name[MAX_PLAYER_NAME]; 
    
GetPlayerName(playeridName32); 
    
format(Arq40"Contas/%s.ini"Name); 
    if(
dialogid == DIALOG_REGISTER
    { 
        if(!
response
        { 
            
Kick(playerid); 
            return 
1
        } 
        else 
        { 
            
DOF2_CreateFile(Arq); 
             
DOF2_SetString(Arq"Senha"inputtext); 
            
DOF2_SetInt(Arq"Matou"Player[playerid][Matou]); 
            
DOF2_SetInt(Arq"Morreu"Player[playerid][Morreu]); 
            
DOF2_SaveFile(); 
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login""Registro feito com sucesso!\nAgora faзa login na sua conta.""Login""Sair"); 
        } 
    } 
    if(
dialogid == DIALOG_LOGIN
    { 
        if(!
response
        { 
            
Kick(playerid); 
            return 
1
        } 
        else 
        { 
             
Player[playerid][Senha] = DOF2_GetStringEx(Arq"Senha"Player[playerid][Senha], 32); 
            if(
strval(inputtext) == Player[playerid][Senha]) 
            { 
                
Player[playerid][Matou] = DOF2_GetInt(Arq"Matou"); 
                
Player[playerid][Morreu] = DOF2_GetInt(Arq"Morreu"); 
                
SpawnPlayer(playerid); 
            } 
            else 
            { 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login - Erro""Senha Incorreta.\nDigite corretamente sua senha""Login""Sair"); 
                
Erro[playerid]++; 
                new 
string[256]; 
                
format(stringsizeof(string), "Senha Incorreta - Limite %s/3"Erro[playerid]); 
                
SendClientMessage(playeridCOLOR_REDstring); 
                if(
Erro[playerid] == 3
                { 
                    
Kick(playerid); 
                    return 
1
                } 
            } 
        } 
    } 
    return 
1




Re: Ajuda com Sistema de Login em DOF2 - TTheGustavo - 08.04.2016

Quote:
Originally Posted by Day_
Посмотреть сообщение
Senha й uma string, entгo deve ser criada desta forma:
PHP код:
    Senha[/*Numero de celulas aqui*/
Para salva-la deve-se usar
PHP код:
DOF2_SetString(Arq"Senha"Player[playerid][Senha]); 
E finalmente, para carrega-la
PHP код:
DOF2_GetStringEx(Arq"Senha"Player[playerid][Senha], /*Numero de celulas aqui*/); 
Resolvido
PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    new 
Arq[40], Name[MAX_PLAYER_NAME];
    
GetPlayerName(playeridName32);
    
format(Arq40"Contas/%s.ini"Name);
    if(
dialogid == DIALOG_REGISTER)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
            
Player[playerid][Senha] = strval(inputtext);
            
DOF2_CreateFile(Arq);
             
DOF2_SetString(Arq"Senha"Player[playerid][Senha]);
            
DOF2_SetInt(Arq"Matou"Player[playerid][Matou]);
            
DOF2_SetInt(Arq"Morreu"Player[playerid][Morreu]);
            
DOF2_SaveFile();
            
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login""Registro feito com sucesso!\nAgora faзa login na sua conta.""Login""Sair");
        }
    }
    if(
dialogid == DIALOG_LOGIN)
    {
        if(!
response)
        {
            
Kick(playerid);
            return 
1;
        }
        else
        {
             
DOF2_GetStringEx(Arq"Senha"Player[playerid][Senha], 65);
            if(
strval(inputtext) == Player[playerid][Senha])
            {
                
Player[playerid][Matou] = DOF2_GetInt(Arq"Matou");
                
Player[playerid][Morreu] = DOF2_GetInt(Arq"Morreu");
                
SpawnPlayer(playerid);
            }
            else
            {
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Sistema de Login - Erro""Senha Incorreta.\nDigite corretamente sua senha""Login""Sair");
                
Erro[playerid]++;
                new 
string[256];
                
format(stringsizeof(string), "Senha Incorreta - Limite %s/3"Erro);
                
SendClientMessage(playeridCOLOR_REDstring);
                if(
Erro[playerid] == 3)
                {
                    
Kick(playerid);
                    return 
1;
                }
            }
        }
    }
    return 
1;

Obrigado pela ajuda ^^

__________________________________________________ _______________________________________________