[Ajuda] Enter no dialog sem a senha...spawna caindo.
#1

Seguinte tinha criado um antes mais nгo e o mesmo.. pois agora eu descobri o verdadeiro erro... eu entro no meu server.. e cliko enter sem por a senha no dialog de login.. ele nгo vai.. obvio ai apareзe o login dnv eu boto a senha e ele loga normal.. quando eu vou spawnar ele cai pra debaixo do mapa.. OBS: so aconteзe quando eu clico enter primeiro sem por a senha na dialog.. tem como alguem me dizer como solucionar isso?? se precisar de algum codigo me avise q posto aqui..
Reply
#2

Nunca aconteceu isso comigo, mas tenta postar o cуdigo aqui, pode ser o erro no seu cуdigo.
Reply
#3

ONPLAYERCONNECT


pawn Код:
format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.txt", Nome(playerid));
    if(!DOF2_FileExists(StringRegistro))
    {
        format(String, sizeof(String), "{FFFFFF}Bem - Vindo а ZonePerfect \n\nNick: {2E8B57}%s!\n\n{FFFFFF}Registre-se:", Nome(playerid));
        ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro - ZonePerfect", String, "Registrar", "Sair");
        Logado[playerid] = false;
        return 1;
    }
    else
    {
        format(String, sizeof(String), "{FFFFFF}Bem - Vindo Novamente! \n\nNick: {2E8B57}%s\n\n{FFFFFF}Digite Sua Senha Para Logar:", Nome(playerid));
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login - ZonePerfect", String, "Logar", "Sair");
ONDIALOGRESPONSE

pawn Код:
if(dialogid == REGISTRO)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                format(String, sizeof(String), "{FFFFFF}Bem - Vindo а ZonePerfect \n\nNick: {2E8B57}%s\n\n{FFFFFF} Registre-se:", Nome(playerid));
                ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Sair");
                return 1;
            }
            new StrIp[300];
            GetPlayerIp(playerid, StrIp, 300);
            format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.txt", Nome(playerid));
            DOF2_CreateFile(StringRegistro);
            DOF2_SetString(StringRegistro, "Senha", inputtext);
            DOF2_SetInt(StringRegistro, "Dinheiro", 50000);
            DOF2_SetInt(StringRegistro, "Score", 0);
            DOF2_SetInt(StringRegistro, "Skin", 0);
            DOF2_SetString(StringRegistro, "IP", StrIp);
            DOF2_SetInt(StringRegistro, "SavePos", 1);
            DOF2_SaveFile();
            ContaNova[playerid] = true;
            GivePlayerMoney(playerid, 50000);
            ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(StringRegistro, "Dinheiro");
            ContaPlayer[playerid][Score] = DOF2_GetInt(StringRegistro, "Score");
            new str[50];
            format(str, sizeof(str), "ZP/ADM/%s.sav", Nome(playerid));
            ContaPlayer[playerid][Level] = DOF2_GetInt(str, "Level");
            Msg(playerid, cortag, "{FF0000} - CONTA - {FFFFFF}Bem Vindo Vocк Foi Registrado e Logado Automaticamente!");
            CarregarVariaveis(playerid);
            return 1;
            }
            else
            {
            format(String, sizeof(String), "{FF0000} - REGISTRO -{FFFFFF} O Player {2E8B57}%s{FFFFFF} Foi Kickado [Sem Registro.]", Nome(playerid));
            MsgToAll(cortag, String);
            ZPKick(playerid);
            return 1;
        }
    }
    if (dialogid == LOGIN)
    {
        if(response)
        {
            if(!strlen(inputtext))
            {
                format(String, sizeof(String), "{FFFFFF}Bem - Vindo Novamente \n\nNick: {2E8B57}%s\n\n{FFFFFF}Digite Sua Senha Para Logar:", Nome(playerid));
                ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Login", String, "Logar", "Sair");
                return 1;
            }
            format(StringRegistro, sizeof(StringRegistro), "ZP/Contas/%s.txt", Nome(playerid));
            if(strcmp(inputtext, DOF2_GetString(StringRegistro, "Senha"), true))
            {
                if(ErrouSenha[playerid] == 4)
                {
                    format(String, sizeof(String), "{FF0000} - LOGIN - {FFFFFF}O Player {2E8B57}%s{FFFFFF} Foi Kickado [Motivo: Senha Errada]", Nome(playerid));
                    MsgToAll(cortag, String);
                    ZPKick(playerid);
                    return 1;
                }
                ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD, "Senha Errada!", "{FFFFFF}A Senha Que Vocк Digitou Estб {2E8B57}Errada!\n\n{FFFFFF}Digite Sua Senha:", "Logar", "Sair");
                ErrouSenha[playerid]++;
                return 1;
            }
            else
            {
                new str[50];
                format(str, 50, "ZP/ADM/%s.sav", Nome(playerid));
                if(DOF2_FileExists(str))
                {
                    if(DOF2_IsSet(str, "Level"))
                    {
                        format(String, sizeof(String), "{FF0000} - CONTA - {FFFFFF}Sua Conta Possui ADM Level {2E8B57}%d{FFFFFF}, Logue Como ADMIN {2E8B57} /LogarAdm [SENHA]", DOF2_GetInt(str, "Level"));
                        Msg(playerid, cortag, String);
                    }
                }
                ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(StringRegistro, "Dinheiro");
                ContaPlayer[playerid][Score] = DOF2_GetInt(StringRegistro, "Score");
                GivePlayerMoney(playerid, ContaPlayer[playerid][Dinheiro]);
                SetPlayerScore(playerid, ContaPlayer[playerid][Score]);
                ContaPlayer[playerid][Skin] = DOF2_GetInt(StringRegistro, "Skin");
                new StrIp[300];
                GetPlayerIp(playerid, StrIp, 300);
                DOF2_SetString(StringRegistro, "IP", StrIp);
                DOF2_SaveFile();
                ContaNova[playerid] = false;
                CarregarVariaveis(playerid);
                return 1;
                }
            }
            else
            {
            format(String, sizeof(String), "{FF0000} - LOGIN -{FFFFFF} O Player {2E8B57}%s{FFFFFF} Foi Kickado [Motivo: Sem Login.]", Nome(playerid));
            MsgToAll(cortag, String);
            ZPKick(playerid);
            return 1;
        }
    }
Reply
#4

Tente:
pawn Код:
if(inputtext[0] == EOS)
{
    format(String, sizeof(String), "{FFFFFF}Bem - Vindo а ZonePerfect \n\nNick: {2E8B57}%s\n\n{FFFFFF} Registre-se:", Nome(playerid));
    ShowPlayerDialog(playerid, REGISTRO, DIALOG_STYLE_INPUT, "Registro", String, "Registrar", "Sair");
    return 1;
}
Reply
#5

Este cуdigo tem alguns erros e alem tem exagero de strings.

pawn Код:
new StrIp[300];
GetPlayerIp(playerid, StrIp, 300);
Um IP e composto por 4 octetos, entгo a sua capacidade mбxima e 16 caracteres.
Deveria ficar assim:
pawn Код:
new StrIp[16];
GetPlayerIp(playerid, StrIp, 16);
Reply
#6

So esse?? e o bug que ta dando tem haver?
Reply
#7

usa o strlen para ver se o tamanho do texto inserido e maior que 0.
Reply
#8

PT meu codigo esta com strlen olhe acima ali!! eu postei ele...
Reply
#9

Tenta assim:
PHP код:
public OnPlayerRequestClass(playeridclassid)
{
    new 
aname[MAX_PLAYER_NAME], file[155], string[155];
    
GetPlayerName(playeridaname,sizeof(aname));
    
format(filesizeof(file), "ZP/Contas/%s.txt"aname);
    if(!
DOF2_FileExists(file))
    {
        
format(stringsizeof(string), "{FFFFFF}Bem - Vindo а ZonePerfect \n\nNick: {2E8B57}%s!\n\n{FFFFFF}Registre-se:"aname);
        
ShowPlayerDialog(playeridREGISTRODIALOG_STYLE_INPUT"Registro - ZonePerfect"string"Registrar""Sair");
        
Logado[playerid] = false;
        return 
1;
    }
    else
    {
        
format(stringsizeof(string), "{FFFFFF}Bem - Vindo Novamente! \n\nNick: {2E8B57}%s\n\n{FFFFFF}Digite Sua Senha Para Logar:"aname);
        
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Login - ZonePerfect"string"Logar""Sair");
    }
    return 
1;

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == REGISTRO)
    {
        static 
aname[MAX_PLAYER_NAME], file[155], string[155];
        
GetPlayerName(playeridaname,sizeof(aname));
        
format(filesizeof(file), "ZP/Contas/%s.txt"aname);
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                
format(stringsizeof(string), "{FFFFFF}Bem - Vindo а ZonePerfect \n\nNick: {2E8B57}%s\n\n{FFFFFF} Registre-se:"aname);
                
ShowPlayerDialog(playeridREGISTRODIALOG_STYLE_INPUT"Registro"string"Registrar""Sair");
            }
            static 
StrIp[16], str[50];
            
GetPlayerIp(playeridStrIp16);
            
DOF2_CreateFile(file);
            
DOF2_Setstring(file"Senha"inputtext);
            
DOF2_SetInt(file"Dinheiro"50000);
            
DOF2_SetInt(file"Score"0);
            
DOF2_SetInt(file"Skin"0);
            
DOF2_Setstring(file"IP"StrIp);
            
DOF2_SetInt(file"SavePos"1);
            
DOF2_SaveFile();
            
ContaNova[playerid] = true;
            
GivePlayerMoney(playerid50000);
            
ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(file"Dinheiro");
            
ContaPlayer[playerid][Score] = DOF2_GetInt(file"Score");
            
format(strsizeof(str), "ZP/ADM/%s.sav"aname);
            
ContaPlayer[playerid][Level] = DOF2_GetInt(str"Level");
            
Msg(playeridcortag"{FF0000} - CONTA - {FFFFFF}Bem Vindo Vocк Foi Registrado e Logado Automaticamente!");
            
CarregarVariaveis(playerid);
            return 
1;
        }
        else
        {
            
format(stringsizeof(string), "{FF0000} - REGISTRO -{FFFFFF} O Player {2E8B57}%s{FFFFFF} Foi Kickado [Sem Registro.]"aname);
            
MsgToAll(cortagstring);
            
ZPKick(playerid);
            return 
1;
        }
    }
    if(
dialogid == LOGIN)
    {
        static 
aname[MAX_PLAYER_NAME], file[155], string[155];
        
GetPlayerName(playeridaname,sizeof(aname));
        
format(filesizeof(file), "ZP/Contas/%s.txt"aname);
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                
format(stringsizeof(string), "{FFFFFF}Bem - Vindo Novamente \n\nNick: {2E8B57}%s\n\n{FFFFFF}Digite Sua Senha Para Logar:"aname);
                
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Login"string"Logar""Sair");
            }
            else
            {
                if(
strcmp(DOF2_Getstring(file"Senha"),inputtextfalse )  == )
                {
                    if(
ErrouSenha[playerid] == 4)
                    {
                        
format(stringsizeof(string), "{FF0000} - LOGIN - {FFFFFF}O Player {2E8B57}%s{FFFFFF} Foi Kickado [Motivo: Senha Errada]"aname);
                        
MsgToAll(cortagstring);
                        
ZPKick(playerid);
                        return 
1;
                    }
                    
ShowPlayerDialog(playeridLOGINDIALOG_STYLE_PASSWORD"Senha Errada!""{FFFFFF}A Senha Que Vocк Digitou Estб {2E8B57}Errada!\n\n{FFFFFF}Digite Sua Senha:""Logar""Sair");
                    
ErrouSenha[playerid]++;
                    return 
1;
                }
                else
                {
                    static 
str[50], StrIp[16];
                    
format(str50"ZP/ADM/%s.sav"aname);
                    if(
DOF2_FileExists(str))
                    {
                        if(
DOF2_IsSet(str"Level"))
                        {
                            
format(stringsizeof(string), "{FF0000} - CONTA - {FFFFFF}Sua Conta Possui ADM Level {2E8B57}%d{FFFFFF}, Logue Como ADMIN {2E8B57} /LogarAdm [SENHA]"DOF2_GetInt(str"Level"));
                            
Msg(playeridcortagstring);
                        }
                    }
                    
ContaPlayer[playerid][Dinheiro] = DOF2_GetInt(file"Dinheiro");
                    
ContaPlayer[playerid][Score] = DOF2_GetInt(file"Score");
                    
GivePlayerMoney(playeridContaPlayer[playerid][Dinheiro]);
                    
SetPlayerScore(playeridContaPlayer[playerid][Score]);
                    
ContaPlayer[playerid][Skin] = DOF2_GetInt(file"Skin");
                    
GetPlayerIp(playeridStrIp16);
                    
DOF2_Setstring(file"IP"StrIp);
                    
DOF2_SaveFile();
                    
ContaNova[playerid] = false;
                    
CarregarVariaveis(playerid);
                    
SpawnPlayer(playerid);
                    return 
1;
                }
            }
        }
        else
        {
            
format(stringsizeof(string), "{FF0000} - LOGIN -{FFFFFF} O Player {2E8B57}%s{FFFFFF} Foi Kickado [Motivo: Sem Login.]"aname);
            
MsgToAll(cortagstring);
            
ZPKick(playerid);
            return 
1;
        }
    }
    return 
1;

Reply
#10

Faz a condicao positiva primeiro.

Uma vez tive um problema parecido.

if(strlen(inputtext) > 0)

Ja agora tens a identacao mal feita esta a fazer com que o if(!response) talvez esteja no local errado e o player nao seja kickado.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)