[Ajuda] Logando com qualquer senha
#1

Gente й o seguinte, meu gm ta com um bug muito louco, tipo o player se registra normal e loga normal com sua senha, ai vamos supor que eu queria editar algum dado dele, eu vou na pasta contas da minha script files e mudo por exemplo o level dele. Apos mudar o level nao sei o pq mas a conta dele passa a querer logar com qualquer senha O.o

Tipo se eu mudar qualquer coisa de algum player pela scripfiles, a conta dele loga com qualquer senha.

DIALOG RESPONSE:

PHP код:
public OnDialogResponse(playeriddialogidresponselistiteminputtext[])
{
    if(
dialogid == DIALOG_REGISTRO)
    {
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                new 
String[100], Nome[MAX_PLAYER_NAME];
                
                
GetPlayerName(playeridNomesizeof(Nome));
                
format(Stringsizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Nгo Registrado\n\n{FFFFFF} Digite Uma Senha Para Continuar"Nome);
                
ShowPlayerDialog(playeridDIALOG_REGISTRODIALOG_STYLE_INPUT"Registro"String"Registrar""Cancelar");
                
SendClientMessage(playerid,0x1E90FFAA,"Senha invalida, digite uma senha vбlida");
                return 
1;
            }
            new 
String[100], Nome[MAX_PLAYER_NAME];
            
            
GetPlayerName(playeridNomesizeof(Nome));
            
format(Stringsizeof(String), "Contas/%s.ini"Nome);
            
dini_Create(String);
            
dini_Set(String"Senha"inputtext);
            
dini_IntSet(String,"Admin"0);
            
dini_IntSet(String,"Moderador"0);
            
dini_IntSet(String,"Ajudante"0);
            
dini_IntSet(String,"Dinheiro"0);
            
dini_IntSet(String"Skin"137);
            
dini_IntSet(String"Vida"100);
            
dini_IntSet(String"Colete"0);
            
dini_IntSet(String"Nнvel de Procurado"0);
            
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_INPUT"Login""{1E90FF}Pronto vocк se registrou agora digite Sua Senha Para Logar-Se""Logar""Cancelar");
            return 
1;
        }
        else
        {
            
SendClientMessage(playerid0xFF0000AA"Vocк Foi Kickado Porque Nгo Quis Se Registrar!!");
            
Kick(playerid);
            return 
1;
        }
    }
    if(
dialogid == DIALOG_LOGAR)
    {
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                new 
String[100], Nome[MAX_PLAYER_NAME];
                
                
GetPlayerName(playeridNomesizeof(Nome));
                
format(Stringsizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar"Nome);
                 
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_INPUT"Registro"String"Logar""Cancelar");
                
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
            }
            new 
String[100], String2[100], Nome[MAX_PLAYER_NAME];
            
            
GetPlayerName(playeridNomesizeof(Nome));
            
format(Stringsizeof(String), "Contas/%s.ini"Nome);
            if(!
strcmp(inputtextdini_Get(String"Senha"), false))
            {
                
SendClientMessage(playerid,0x00FF00AA,"Vocк Foi Logado Com Sucesso > Escolha Sua Skin!");
                
SetSpawnInfo(playerid0PlayerInfo[playerid][Skin], 1921.67881270.357110.671988.3708000000);
                
SpawnPlayer(playerid);
                
Logado[playerid] = 1;
            }
            else
            {
                
format(Stringsizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar"Nome);
                
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_INPUT"Registro"String"Logar""Cancelar");
                
format(String2sizeof(String2), "[AVISO] Vocк jб errou a senha %d vezes, se errar 3 vezes serб kickado."ErroSenha[playerid]);
                
SendClientMessage(playeridDARK_REDString2);
                
ErroSenha[playerid]++;
                if(
ErroSenha[playerid] == 4)
                {
                    
SendClientMessage(playeridDARK_RED"[AVISO] Vocк foi kickado por errar a senha 3 vezes.");
                    
SetTimer("KickTimer"50false);
                    return 
1;
                }
            }
        }
        else
        {
            
SendClientMessage(playerid0xFF0000AA"Vocк nгo quis se logar, por este motivo serб Kickado");
            
Kick(playerid);
        }
    }
    return 
1;

Se precisarem de algum cуdigo me avisem, preciso muito resolver esse erro, pq as vezes preciso editar a pasta de alguem e nao consigo :/
Reply
#2

Coloca um return 1 no final daquela parte do strlen do login, coloca um printf quando o player logar pra printar a senha digitada e a senha do dini get, daн vocк posta os resultados que eu te explico o que tб acontecendo...
Reply
#3

Deve conferir a senha digitada com a senha do jogador... Nгo e feito isso em seu script.

Tente fazer um debug nesta parte do login... Pois a senha deve estar ficando em branco, e ficando parametro vazio retorna valor diferente de 0. Tenta inverter (!strcmp(dini_Get(string, "Senha"), inpuutext, false) ..
Reply
#4

PHP код:
if( strcmpdini_GetString"Senha" ) ,inputtexttrue )  == 
Reply
#5

Quote:
Originally Posted by ipsLeon
Посмотреть сообщение
Coloca um return 1 no final daquela parte do strlen do login, coloca um printf quando o player logar pra printar a senha digitada e a senha do dini get, daн vocк posta os resultados que eu te explico o que tб acontecendo...
Coloquei a "return 1" no lugar certo que vc falou ? ahsuhauhs

Aqui o que mostrou d printf:
"Sua senha й: 123 e a senha digitada й 1"


PHP код:
if(dialogid == DIALOG_LOGAR)
    {
        if(
response)
        {
            if(!
strlen(inputtext))
            {
                new 
String[100], Nome[MAX_PLAYER_NAME];
                
                
GetPlayerName(playeridNomesizeof(Nome));
                
format(Stringsizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar"Nome);
                 
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_INPUT"Registro"String"Logar""Cancelar");
                
SendClientMessage(playerid,0x1E90FFAA,"Senha Incorreta !");
                return 
1;
            }
            new 
String[100], String2[100], Nome[MAX_PLAYER_NAME];
            
            
GetPlayerName(playeridNomesizeof(Nome));
            
format(Stringsizeof(String), "Contas/%s.ini"Nome);
               if(
strcmp(inputtextdini_Get(String"Senha"), true))
            {
                
SendClientMessage(playerid,0x00FF00AA,"Vocк Foi Logado Com Sucesso > Escolha Sua Skin!");
                
SetSpawnInfo(playerid0PlayerInfo[playerid][Skin], 1921.67881270.357110.671988.3708000000);
                
SpawnPlayer(playerid);
                
Logado[playerid] = 1;
                
printf("Sua senha й: %s e a senha digitada й %s"dini_Get(String"Senha"), inputtext);
                return 
1;
            }
            else
            {
                
format(Stringsizeof(String), "{7FFFD4}Nick: {1E90FF}%s  {1E90FF}Registrado\n\n{FFFFFF} Digite Sua Senha Para Logar"Nome);
                
ShowPlayerDialog(playeridDIALOG_LOGARDIALOG_STYLE_INPUT"Registro"String"Logar""Cancelar");
                
format(String2sizeof(String2), "[AVISO] Vocк jб errou a senha %d vezes, se errar 3 vezes serб kickado."ErroSenha[playerid]);
                
SendClientMessage(playeridDARK_REDString2);
                
ErroSenha[playerid]++;
                if(
ErroSenha[playerid] == 4)
                {
                    
SendClientMessage(playeridDARK_RED"[AVISO] Vocк foi kickado por errar a senha 3 vezes.");
                    
SetTimer("KickTimer"50false);
                    return 
1;
                }
                return 
1;
            }
        }
        else
        {
            
SendClientMessage(playerid0xFF0000AA"Vocк nгo quis se logar, por este motivo serб Kickado");
            
Kick(playerid);
            return 
1;
        }
    }
    return 
1;

Reply
#6

Galera depois de dias quebrando a cabeзa e pesquisando em sites sem encontrar soluзгo para o bug, eu consegui resolver o problema, criei uma pasta que guarda somente a senha do player e outra que guarda os dados, assim posso alterar os dados e a senha nao buga )
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)