[Ajuda] if(strlen(inputtext)) - Erro
#1

Eu tentei pesquisar e resolver por mim mesmo, mas nгo consegui.

Situaзгo:
PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    switch(
dialogid)
        {
            case 
DIALOG_REGISTER:
            {
                if(!
response) return KickWithMessage(playerid, COR_VERMELHO,
                
"Vocк foi desconectado do servidor por nгo fazer o registro.");
                if(
response)
                {
                    new 
string[256]; format(string, sizeof(string),
                    
"Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos.");
                    if(!
strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", string, "Registrar", "Sair");
                    if(!
IsNumeric(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", string, "Registrar", "Sair");
                    if(
strlen(inputtext) >= 4 && IsNumeric(inputtext))
                    {
                        
DOF2_CreateFile(USER_FILE(playerid));
                        
DOF2_SetInt(USER_FILE(playerid), "pAdmin", 0);
                        
DOF2_SetInt(USER_FILE(playerid), "pSenha", strval(inputtext));
                        
DOF2_SaveFile();
                        
format(string, sizeof(string),
                        
"Registro realizado com sucesso.\nAgora faзa o login na sua conta.");
                        
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", string, "Login", "Sair");
                    }
                }
            } 
O if(strlen(inputtext)) teria a funзгo de checar se a string tem mais de 4 caracteres e entгo fazer o arquivamento da mesma como senha. Mas isso nгo estб acontecendo. Eu estou usando certo a funзгo?

__________________________________________________ _______________________________________________
Reply
#2

Nгo hб necessidade de 256 cйlulas se vc n utiliza nem 100;
Nгo hб necessidade de criar as mesmas condiзхes mais de 1 vez;

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
    switch(
dialogid) 
        { 
            case 
DIALOG_REGISTER: 
            { 
                if(!
response) return KickWithMessage(playerid, COR_VERMELHO, 
                
"Vocк foi desconectado do servidor por nгo fazer o registro."); 
                if(
response) 
                { 
                           new 
string[129]; 
                    
format(string, sizeof(string), "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos.");
                    if(!
IsNumeric(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", string, "Registrar", "Sair"); 
                    
                    if(
strlen(inputtext) >= 4) 
                    { 
                        
DOF2_CreateFile(USER_FILE(playerid)); 
                        
DOF2_SetInt(USER_FILE(playerid), "pAdmin", 0); 
                        
DOF2_SetInt(USER_FILE(playerid), "pSenha", strval(inputtext)); 
                        
DOF2_SaveFile(); 
                        
format(string, sizeof(string), "Registro realizado com sucesso.\nAgora faзa o login na sua conta."); 
                        
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", string, "Login", "Sair"); 
                    }
                    else return 
format(string, sizeof(string), "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos."),
                    
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", string, "Registrar", "Sair"); 
                } 
            } 
@EDIT

Maneira otimizada:

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
    switch(
dialogid) 
        { 
            case 
DIALOG_REGISTER: 
            { 
                if(!
response) return KickWithMessage(playerid, COR_VERMELHO, "Vocк foi desconectado do servidor por nгo fazer o registro."); 
                if(
response) 
                { 
                    if(!
IsNumeric(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos", "Registrar", "Sair"); 
                    if(
strlen(inputtext) < 4) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos", "Registrar", "Sair"); 
                    
                    
DOF2_CreateFile(USER_FILE(playerid)); 
                    
DOF2_SetInt(USER_FILE(playerid), "pAdmin", 0); 
                    
DOF2_SetInt(USER_FILE(playerid), "pSenha", strval(inputtext)); 
                    
DOF2_SaveFile(); 
                    
                    
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", "Registro realizado com sucesso.\nAgora faзa o login na sua conta.", "Login", "Sair"); 
                } 
            } 
Reply
#3

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Nгo hб necessidade de 256 cйlulas se vc n utiliza nem 100;
Nгo hб necessidade de criar as mesmas condiзхes mais de 1 vez;

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
    switch(
dialogid) 
        { 
            case 
DIALOG_REGISTER: 
            { 
                if(!
response) return KickWithMessage(playerid, COR_VERMELHO, 
                
"Vocк foi desconectado do servidor por nгo fazer o registro."); 
                if(
response) 
                { 
                    new 
string[129]; 
                   
                    
format(string, sizeof(string), "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos.");
                    if(!
IsNumeric(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", string, "Registrar", "Sair"); 
                    
                    if(
strlen(inputtext) >= 4) 
                    { 
                        
DOF2_CreateFile(USER_FILE(playerid)); 
                        
DOF2_SetInt(USER_FILE(playerid), "pAdmin", 0); 
                        
DOF2_SetInt(USER_FILE(playerid), "pSenha", strval(inputtext)); 
                        
DOF2_SaveFile(); 
                        
format(string, sizeof(string), "Registro realizado com sucesso.\nAgora faзa o login na sua conta."); 
                        
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", string, "Login", "Sair"); 
                    }
                    else return 
format(string, sizeof(string), "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos."),
                    
ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", string, "Registrar", "Sair"); 
                } 
            } 
@EDIT

Maneira otimizada:

PHP код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) 
{ 
    switch(
dialogid) 
        { 
            case 
DIALOG_REGISTER: 
            { 
                if(!
response) return KickWithMessage(playerid, COR_VERMELHO, "Vocк foi desconectado do servidor por nгo fazer o registro."); 
                if(
response) 
                { 
                    new 
string[129]; 
                    
                    if(!
IsNumeric(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_PASSWORD, "Sistema de Registro - Erro", "Senha invбlida.\nDigite uma senha com pelo menos 4 caracteres numйricos", "Registrar", "Sair"); 
                    
                    
DOF2_CreateFile(USER_FILE(playerid)); 
                    
DOF2_SetInt(USER_FILE(playerid), "pAdmin", 0); 
                    
DOF2_SetInt(USER_FILE(playerid), "pSenha", strval(inputtext)); 
                    
DOF2_SaveFile(); 
                    
                    
ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Sistema de Login", "Registro realizado com sucesso.\nAgora faзa o login na sua conta.", "Login", "Sair"); 
                } 
            } 
Obrigado, jб posto o resultado.
___________________________
Reply
#4

Perfeito. Muito obrigado F1N4L
Reply
#5

Denada!!

PS: Se usar a maneira otimizada, recomento que copie novamente, pois havia alguns erros que passaram despercebidos e que foram corrigidos.

Qualquer coisa, poste as dъvidas!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)