[Ajuda] Problema Sistema de Login.
#1

Boa tarde pessoal, tudo bem com vocкs? Eu estou уtimo.

Estou com problema no meu sistema de Login, se o player clicar em em Logar sem colocar nenhuma senha essa porcaria esta logando.
Como corrigir isso? Esse ai й o meu sistema de Login.
PHP код:
case DIALOG_LOGIN:
        {
            for(new 
0100a++)
               {
        
SendClientMessage(playeridAZUL_CLARO" -- ");
               }
            if(
response == 0)
            {
                
SendClientMessage(playeridCINZA"SERVER: Que pena que vocк saiu, caso queira fazer seu Login novamente, digite /logar, ou /quit para sair!");
                
TogglePlayerSpectating playerid) ;
                
tentativas[playerid] = 0;
                return 
1;
            }
            if(
response == 1)
            {
                if(
strcmp(inputtextDOF2_GetString(OnPlayerAccount(playerid), "Senha"), true) == 0)
                {
                    
SpawnPlayer(playerid);
                    new 
string[120];
                    
format(stringsizeof(string), "[SERVER] Olб %s Seja Bem Vindo Novamente ao Brasil HardForever!"PlayerName(playerid));
                    
SendClientMessage(playeridCIANOstring);
                    
TimeContas(playerid);
                }
                else
                {
                    if(
tentativas[playerid] == 2)
                    {
                       new 
string[120];
                       
format(stringsizeof(string), "[SERVER] O(A) Player %s foi kickado por excedor o limite de (%d) tentativas de Login!"PlayerName(playerid), tentativas[playerid]+1);
                       
SendClientMessage(playerid0xFF7171AAstring);
                       
KickP(playerid);
                       return 
1;
                    }
                    else
                    {
                        new 
string[120];
                        
tentativas[playerid]++;
                        
format(stringsizeof(string), "[SERVER] ATENCAO! SENHA INCORRETA! Tentativas [%d/3]"tentativas[playerid]);
                        
SendClientMessage(playerid0xFF7171AAstring);
                        
format(stringsizeof(string), "Bem Vindo Novamente %s ! \n\nPor favor digite sua senha!\n{FFFFFF}IP: {3AE21D}%s"PlayerName(playerid), PlayerIp(playerid));
                        
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Fazendo seu Login"string,"Logar-se""Cancelar");
                        
TogglePlayerSpectating playerid) ;
                    }
                }
                
TogglePlayerSpectating playerid) ;
                return 
1;
            }
        } 
Desde jб agradeзo a todos.
Fiquem com Deus, um forte abraзo.

Atenciosamente,
Matheus Dorado
Reply
#2

Tente assim:

PHP код:
case DIALOG_LOGIN

    for(new 
0100a++){ SendClientMessage(playeridAZUL_CLARO" -- "); }
    if(!
response
    { 
        
SendClientMessage(playeridCINZA"SERVER: Que pena que vocк saiu, caso queira fazer seu Login novamente, digite /logar, ou /quit para sair!"); 
        
TogglePlayerSpectating playerid) ; 
        
tentativas[playerid] = 0;                 
        return 
1
    } 
    else 
    { 
        if(
strcmp(inputtextDOF2_GetString(OnPlayerAccount(playerid), "Senha"), true) == 0
        { 
            
SpawnPlayer(playerid); 
            new 
string[120]; 
            
format(stringsizeof(string), "[SERVER] Olб %s Seja Bem Vindo Novamente ao Brasil HardForever!"PlayerName(playerid)); 
            
SendClientMessage(playeridCIANOstring); 
            
TimeContas(playerid); 
        } 
        else 
        { 
            if(
tentativas[playerid] >= 2
            { 
                new 
string[120]; 
                
format(stringsizeof(string), "[SERVER] O(A) Player %s foi kickado por excedor o limite de (%d) tentativas de Login!"PlayerName(playerid), tentativas[playerid]+1); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
KickP(playerid); 
            }             
            else 
            { 
                new 
string[120]; 
                
tentativas[playerid]++; 
                
format(stringsizeof(string), "[SERVER] ATENCAO! SENHA INCORRETA! Tentativas [%d/3]"tentativas[playerid]); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
format(stringsizeof(string), "Bem Vindo Novamente %s ! \n\nPor favor digite sua senha!\n{FFFFFF}IP: {3AE21D}%s"PlayerName(playerid), PlayerIp(playerid)); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Fazendo seu Login"string,"Logar-se""Cancelar"); 
                
TogglePlayerSpectating playerid) ; 
            } 
        }                 
    } 

Reply
#3

Isso acontece porque vocк nгo verificou se foi ou nгo digitado algo.
Use strlen que retorna a quantidade de caracteres de uma string.
Reply
#4

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
Tente assim:

PHP код:
case DIALOG_LOGIN

    for(new 
0100a++){ SendClientMessage(playeridAZUL_CLARO" -- "); }
    if(!
response
    { 
        
SendClientMessage(playeridCINZA"SERVER: Que pena que vocк saiu, caso queira fazer seu Login novamente, digite /logar, ou /quit para sair!"); 
        
TogglePlayerSpectating playerid) ; 
        
tentativas[playerid] = 0;                 
        return 
1
    } 
    else 
    { 
        if(
strcmp(inputtextDOF2_GetString(OnPlayerAccount(playerid), "Senha"), true) == 0
        { 
            
SpawnPlayer(playerid); 
            new 
string[120]; 
            
format(stringsizeof(string), "[SERVER] Olб %s Seja Bem Vindo Novamente ao Brasil HardForever!"PlayerName(playerid)); 
            
SendClientMessage(playeridCIANOstring); 
            
TimeContas(playerid); 
        } 
        else 
        { 
            if(
tentativas[playerid] >= 2
            { 
                new 
string[120]; 
                
format(stringsizeof(string), "[SERVER] O(A) Player %s foi kickado por excedor o limite de (%d) tentativas de Login!"PlayerName(playerid), tentativas[playerid]+1); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
KickP(playerid); 
            }             
            else 
            { 
                new 
string[120]; 
                
tentativas[playerid]++; 
                
format(stringsizeof(string), "[SERVER] ATENCAO! SENHA INCORRETA! Tentativas [%d/3]"tentativas[playerid]); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
format(stringsizeof(string), "Bem Vindo Novamente %s ! \n\nPor favor digite sua senha!\n{FFFFFF}IP: {3AE21D}%s"PlayerName(playerid), PlayerIp(playerid)); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Fazendo seu Login"string,"Logar-se""Cancelar"); 
                
TogglePlayerSpectating playerid) ; 
            } 
        }                 
    } 

Nгo funcionou irmгo :/
Reply
#5

Quote:
Originally Posted by Whoo
Посмотреть сообщение
Isso acontece porque vocк nгo verificou se foi ou nгo digitado algo.
Use strlen que retorna a quantidade de caracteres de uma string.
Coloquei o strlen no lugar do strcmp e agora apareceu essas mensagens.
PHP код:
number of arguments does not match definition 
Qual й os argumentos necessarios para usar strlen?

Vlw desde jб pela forзa irmao!
Reply
#6

PHP код:
case DIALOG_LOGIN

    for(new 
0100a++){ SendClientMessage(playeridAZUL_CLARO" -- "); }
    if(!
response
    { 
        
SendClientMessage(playeridCINZA"SERVER: Que pena que vocк saiu, caso queira fazer seu Login novamente, digite /logar, ou /quit para sair!"); 
        
TogglePlayerSpectating playerid) ; 
        
tentativas[playerid] = 0;                 
        return 
1
    } 
    else 
    { 
        if(
strlen(inputtext) < || strlen(inputtext) > 20) return 1;
        if(
strcmp(inputtextDOF2_GetString(OnPlayerAccount(playerid), "Senha"), true) == 0
        { 
            
SpawnPlayer(playerid); 
            new 
string[120]; 
            
format(stringsizeof(string), "[SERVER] Olб %s Seja Bem Vindo Novamente ao Brasil HardForever!"PlayerName(playerid)); 
            
SendClientMessage(playeridCIANOstring); 
            
TimeContas(playerid); 
        } 
        else 
        { 
            if(
tentativas[playerid] >= 2
            { 
                new 
string[120]; 
                
format(stringsizeof(string), "[SERVER] O(A) Player %s foi kickado por excedor o limite de (%d) tentativas de Login!"PlayerName(playerid), tentativas[playerid]+1); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
KickP(playerid); 
            }             
            else 
            { 
                new 
string[120]; 
                
tentativas[playerid]++; 
                
format(stringsizeof(string), "[SERVER] ATENCAO! SENHA INCORRETA! Tentativas [%d/3]"tentativas[playerid]); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
format(stringsizeof(string), "Bem Vindo Novamente %s ! \n\nPor favor digite sua senha!\n{FFFFFF}IP: {3AE21D}%s"PlayerName(playerid), PlayerIp(playerid)); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Fazendo seu Login"string,"Logar-se""Cancelar"); 
                
TogglePlayerSpectating playerid) ; 
            } 
        }                 
    } 

Reply
#7

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
PHP код:
case DIALOG_LOGIN

    for(new 
0100a++){ SendClientMessage(playeridAZUL_CLARO" -- "); }
    if(!
response
    { 
        
SendClientMessage(playeridCINZA"SERVER: Que pena que vocк saiu, caso queira fazer seu Login novamente, digite /logar, ou /quit para sair!"); 
        
TogglePlayerSpectating playerid) ; 
        
tentativas[playerid] = 0;                 
        return 
1
    } 
    else 
    { 
        if(
strlen(inputtext) < || strlen(inputtext) > 20) return 1;
        if(
strcmp(inputtextDOF2_GetString(OnPlayerAccount(playerid), "Senha"), true) == 0
        { 
            
SpawnPlayer(playerid); 
            new 
string[120]; 
            
format(stringsizeof(string), "[SERVER] Olб %s Seja Bem Vindo Novamente ao Brasil HardForever!"PlayerName(playerid)); 
            
SendClientMessage(playeridCIANOstring); 
            
TimeContas(playerid); 
        } 
        else 
        { 
            if(
tentativas[playerid] >= 2
            { 
                new 
string[120]; 
                
format(stringsizeof(string), "[SERVER] O(A) Player %s foi kickado por excedor o limite de (%d) tentativas de Login!"PlayerName(playerid), tentativas[playerid]+1); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
KickP(playerid); 
            }             
            else 
            { 
                new 
string[120]; 
                
tentativas[playerid]++; 
                
format(stringsizeof(string), "[SERVER] ATENCAO! SENHA INCORRETA! Tentativas [%d/3]"tentativas[playerid]); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
format(stringsizeof(string), "Bem Vindo Novamente %s ! \n\nPor favor digite sua senha!\n{FFFFFF}IP: {3AE21D}%s"PlayerName(playerid), PlayerIp(playerid)); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Fazendo seu Login"string,"Logar-se""Cancelar"); 
                
TogglePlayerSpectating playerid) ; 
            } 
        }                 
    } 

Colocar um SendClientMessage nesse return й bom pra avisar que o player errou a senha, ou seja:

PHP код:
if(strlen(inputtext) < || strlen(inputtext) > 20) return SendClientMessage(playerid, -1"Vocк nгo digtitou uma senha correta."); 
Reply
#8

Quote:
Originally Posted by IlanZ
Посмотреть сообщение
PHP код:
case DIALOG_LOGIN

    for(new 
0100a++){ SendClientMessage(playeridAZUL_CLARO" -- "); }
    if(!
response
    { 
        
SendClientMessage(playeridCINZA"SERVER: Que pena que vocк saiu, caso queira fazer seu Login novamente, digite /logar, ou /quit para sair!"); 
        
TogglePlayerSpectating playerid) ; 
        
tentativas[playerid] = 0;                 
        return 
1
    } 
    else 
    { 
        if(
strlen(inputtext) < || strlen(inputtext) > 20) return 1;
        if(
strcmp(inputtextDOF2_GetString(OnPlayerAccount(playerid), "Senha"), true) == 0
        { 
            
SpawnPlayer(playerid); 
            new 
string[120]; 
            
format(stringsizeof(string), "[SERVER] Olб %s Seja Bem Vindo Novamente ao Brasil HardForever!"PlayerName(playerid)); 
            
SendClientMessage(playeridCIANOstring); 
            
TimeContas(playerid); 
        } 
        else 
        { 
            if(
tentativas[playerid] >= 2
            { 
                new 
string[120]; 
                
format(stringsizeof(string), "[SERVER] O(A) Player %s foi kickado por excedor o limite de (%d) tentativas de Login!"PlayerName(playerid), tentativas[playerid]+1); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
KickP(playerid); 
            }             
            else 
            { 
                new 
string[120]; 
                
tentativas[playerid]++; 
                
format(stringsizeof(string), "[SERVER] ATENCAO! SENHA INCORRETA! Tentativas [%d/3]"tentativas[playerid]); 
                
SendClientMessage(playerid0xFF7171AAstring); 
                
format(stringsizeof(string), "Bem Vindo Novamente %s ! \n\nPor favor digite sua senha!\n{FFFFFF}IP: {3AE21D}%s"PlayerName(playerid), PlayerIp(playerid)); 
                
ShowPlayerDialog(playeridDIALOG_LOGINDIALOG_STYLE_PASSWORD"Fazendo seu Login"string,"Logar-se""Cancelar"); 
                
TogglePlayerSpectating playerid) ; 
            } 
        }                 
    } 

Vlllllw rapaziada, agora deu certinhooo.
TMJ

so mudei uma paradinha aqui se ele clicar em Logar sem senha sumia a dialog de login, dai agora aparece, do mais ta tudo certo valllllewww!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)