[AJUDA] Login
#1

Nгo sei o motivo, mais no meu sistema de login o cara nem coloca senha e jб loga, nгo consegui arrumar, hehehe..

pawn Код:
format( log,sizeof log, "Contas/%s.ini", Nome( playerid ) );
    Player[ playerid ][ pLevel ] = dini_Int( log, "Level" );
    GivePlayerMoney( playerid, dini_Int( log, "Dinheiro" ) );
    Player[ playerid ][ pSex ] = dini_Int( log, "Sexo" );
    Player[ playerid ][ pSkin ] = dini_Int( log, "Skin" );
    Player[ playerid ][ pTut ] = dini_Int( log, "Tutorial" );
    Player[ playerid ][ pAdmin ] = dini_Int( log, "AdminLevel" );

    if(!dini_Exists( log ) )
    {
        Player[ playerid ][ pTut ] = 0;
        format( regstring,sizeof( regstring ),"Bem Vindo ao %s.\nA conta %s nгo estб registrada.\nPor favor insira uma senha para registrб-la:", NOME, Nome( playerid ) );
        ShowPlayerDialog( playerid, 1, DIALOG_STYLE_INPUT,"Hambby RolePlaying - Registro", regstring, "Registrar","Sair");
        return 1;
    }
    format( regstring,sizeof( regstring ), "Bem Vindo ao %s\nA conta %s estб registrada.\nPor favor insira a senha para logar:", NOME, Nome( playerid ) );
    ShowPlayerDialog( playerid, 2, DIALOG_STYLE_INPUT, "Hambby RolePlaying - Login", regstring, "Logar","Sair" );
    return 1;
}
pawn Код:
public OnDialogResponse( playerid, dialogid, response, listitem, inputtext[ ] )
{
    new log[ 35 ];
    new string[ 128 ];
    new dia,mes,ano,hora,mins,seg;
    getdate( ano,mes,dia );
    gettime( hora,mins,seg );
    format( log, sizeof log, "Contas/%s.ini", Nome( playerid ) );
    if( dialogid == 1 )
    {
        if( response == 1 )
        {
            new regstring[ 130 ];
            dini_Create( log );
            format( regstring, sizeof( regstring ), "Bem Vindo ao %s\nA conta %s estб registrada.\nPor favor insira a senha para logar:", NOME, Nome( playerid ) );
            ShowPlayerDialog( playerid, 2, DIALOG_STYLE_INPUT, "Hambby RolePlaying - Login", regstring, "Logar","Sair" );
            dini_Set( log, "Senha", inputtext );
            dini_IntSet( log, "Level", Player[ playerid ][ pLevel ] );
            dini_IntSet( log, "Dinheiro",GetPlayerMoney( playerid ) );
            dini_IntSet( log, "Sexo", Player[ playerid ][ pSex ] );
            dini_IntSet( log, "Skin", Player[ playerid ][ pSkin ] );
            dini_IntSet( log, "Tutorial", Player[ playerid ][ pTut ] );
            dini_IntSet( log, "AdminLevel", Player[ playerid ][ pAdmin ] );
            return 1;
        }
        else
        {
            SendClientMessage( playerid, BRANCO, "" );
            SendClientMessage( playerid, BRANCO, "" );
            SendClientMessage( playerid, BRANCO, "" );
            SendClientMessage( playerid, BRANCO, "" );
            SendClientMessage( playerid, BRANCO, "Vocк cancelou o login e foi kickado. Volte sempre." );
            Kick( playerid );
        }
    }
    else if( dialogid == 2 )
    {
        if( response == 1 )
        {
            if( !strcmp( dini_Get( log,"Senha" ), inputtext ) )
            {
                if( Player[ playerid ][ pTut ] == 0 )
                {
                        ShowPlayerDialog( playerid, 3 , DIALOG_STYLE_MSGBOX, "Atencгo", "Qual й o seu sexo?", "Masculino", "Feminino");
                }
                format( string, sizeof( string ), "[ INFO ]: Bem vindo(a) %s. Seu ъltimo login foi no dia %d/%d/%d бs %d:%d:%d", Nome( playerid ), dia, mes, ano, hora, mins, seg );
                SendClientMessage( playerid, BRANCO, string );
                PlayerLogado[ playerid ] = 1;

                format( string, sizeof( string ), "[ Atenзгo ]: %d Jogador(es) online no servidor ! !", PlayersOnline( ) );
                SendAdminMenssagem( AMARELO_GOLD, string );
                return 1;
            }
            ShowPlayerDialog( playerid, 2, DIALOG_STYLE_INPUT, "Hambby RolePlaying - Login","SENHA INCORRETA\n\nA senha inserida estб incorreta.", "Logar","Sair" );
            return 1;
        }
        SendClientMessage( playerid, BRANCO, "" );
        SendClientMessage( playerid, BRANCO, "" );
        SendClientMessage( playerid, BRANCO, "" );
        SendClientMessage( playerid, BRANCO, "Vocк cancelou o login e foi kickado. Volte sempre." );
        Kick( playerid );
    }
    if( dialogid == 3 )
    {
        if( response == 1 )
        {
              Player[ playerid][ pSex ] = 1;
              Player[ playerid][ pLevel ] = 2;
              SetPlayerSkin( playerid, 23 );
              SetPlayerSkin( playerid, Player[ playerid ][ pSkin ] );
              SendClientMessage( playerid, LIGHTAZUL, "[ INFO ]: Certo. Vocк й do sexo Masculino." );
              Inicial(playerid);
              return 0;
        }
        else if(response == 0)
        {
              Player[ playerid ][ pSex ] = 2;
              Player[ playerid ][ pLevel ] = 2;
              SetPlayerSkin( playerid, 56 );
              SetPlayerSkin( playerid, Player[ playerid ][ pSkin ] );
              SendClientMessage( playerid,  AMARELO_GOLD, "[ INFO ]: Certo. Vocк й do sexo Feminino." );
              Inicial(playerid);
              return 0;
        }
        else
        {
        SendClientMessage( playerid, BRANCO, "" );
        SendClientMessage( playerid, BRANCO, "" );
        SendClientMessage( playerid, BRANCO, "" );
        SendClientMessage( playerid, BRANCO, "Vocк cancelou o login e foi kickado. Volte sempre." );
        Kick( playerid );
        }
        return 0;
    }
    return 1;
}
Reply
#2

Colocou os botхes na ordem certa? (Logar) (Sair)
Reply
#3

Acho que sim a 1° estб em OnPlayerConnect e a 2° em OnDialogResponse, mais nгo entendi por que disso.
Reply
#4

Esse seu ъltimo else estб errado, й impossнvel o dialog ter uma aзгo diferente de 0 e de 1.
Coloque o sistema de login no OnPlayerRequestClass assim evitando que o player precise fazer spawn apуs logar(O que serб feito automaticamente).
Quem sabe atй concerte o problema com isto.
Reply
#5

Cara, as informaзхes do jogador estгo sendo carregadas sem precisar, tipo, em um momento inadequado! Faзa isso:

pawn Код:
format( log,sizeof log, "Contas/%s.ini", Nome( playerid ) )
    if(!dini_Exists( log )
    {
        Player[ playerid ][ pTut ] = 0;
        format( regstring,sizeof( regstring ),"Bem Vindo ao %s.\nA conta %s nгo estб registrada.\nPor favor insira uma senha para registrб-la:", NOME, Nome( playerid ) );
        ShowPlayerDialog( playerid, 1, DIALOG_STYLE_INPUT,"Hambby RolePlaying - Registro", regstring, "Registrar","Sair");
        return 1;
    }
    else
    {
        format( regstring,sizeof( regstring ), "Bem Vindo ao %s\nA conta %s estб registrada.\nPor favor insira a senha para logar:", NOME, Nome( playerid ) );
        ShowPlayerDialog( playerid, 2, DIALOG_STYLE_INPUT, "Hambby RolePlaying - Login", regstring, "Logar","Sair");
    }
    return 1;
}
Crie 2 stocks no final do seu GM:

pawn Код:
stock StatsCarregar(playerid);
{
    new log[35];
    format( log,sizeof log, "Contas/%s.ini", Nome( playerid ) )
    Player[ playerid ][ pLevel ] = dini_Int( log, "Level" );
    GivePlayerMoney( playerid, dini_Int( log, "Dinheiro" ) );
    Player[ playerid ][ pSex ] = dini_Int( log, "Sexo" );
    Player[ playerid ][ pSkin ] = dini_Int( log, "Skin" );
    Player[ playerid ][ pTut ] = dini_Int( log, "Tutorial" );
    Player[ playerid ][ pAdmin ] = dini_Int( log, "AdminLevel" );
    return 1;
}
Essa stock acima, vocк colocarб quando o jogador terб seus stats carregados, ou seja, setado.

e:

pawn Код:
stock SalvarStats(playerid)
{
    new log[35];
    format( log,sizeof log, "Contas/%s.ini", Nome( playerid ) )
    dini_Create( log )
    dini_Set( log, "Senha", inputtext );
    dini_IntSet( log, "Level", Player[ playerid ][ pLevel ] );
    dini_IntSet( log, "Dinheiro",GetPlayerMoney( playerid ) );
    dini_IntSet( log, "Sexo", Player[ playerid ][ pSex ] );
    dini_IntSet( log, "Skin", Player[ playerid ][ pSkin ] );
    dini_IntSet( log, "Tutorial", Player[ playerid ][ pTut ] );
    dini_IntSet( log, "AdminLevel", Player[ playerid ][ pAdmin ] );
    return 1;
}
E essa stock acima, vocк colocarб quando o jogador terб seus stats definidos para o arquivo, ou seja, salvarб as informaзхes atuais dele(Recomendado logo apуs que o jogador registra-se).

P.S.: Esse OnDialogReponse estб muito bugado.
Reply
#6

Nгo tem como me ajudar arrumar entгo? D:
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)