[Ajuda] DOF2 Login nгo funcionando!
#4

pawn Код:
enum Informacoes //O enum serve, na maioria das veses, para ser usado em outras variaveis como pode ver abaixo
{
    Senha[24],
    Matou,
    Morreu,
    Dinheiro,
    Organizacao,
    Cargo
};

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {

    if ( dialogid == DIALOG_REGISTRO ) {

        if( !strval(inputtext) )
            return ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas nъmeros!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
       
        if ( !response )
            return Kick(playerid);
        else {

            format(Player[playerid][Senha], 24, inputtext);
            SalvarContas(playerid);
            ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк se cadastrou, agora й sу logar com sua senha registrada!", "Confirma", "Cancelar");
        }
    }

    if ( dialogid == DIALOG_LOGAR ) {

        if ( !strval(inputtext) )
            return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas nъmeros!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
       
        if ( !response )
            return Kick(playerid);
        else {

            new dir[24];

            format(dir, 24, Contas(playerid));

            format(Player[playerid][Senha],24, DOF2_GetString(dir, "Senha"));

            if ( !strcmp(inputtext, Player[playerid][Senha]) ) {

                Player[playerid][Matou] = DOF2_GetInt(dir, "Matou");
                Player[playerid][Morreu] = DOF2_GetInt(dir, "Morreu");
                Player[playerid][Dinheiro] = DOF2_GetInt(dir, "Dinheiro");
                GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
                Player[playerid][Organizacao] = DOF2_GetInt(dir, "Organizacao");
                Player[playerid][Cargo] = DOF2_GetInt(dir, "Cargo");
            }
            else {

                Erro[playerid]++;
                if ( Erro[playerid] == 5 ) {

                    SendClientMessage(playerid, -1, "Sua conta estб banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
                    Kick(playerid);
                    return 1;
                }
                else {

                    return ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Vocк digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta serб banida!", "Confirma", "Cancelar");
                }
            }
        }
    }
    return 1;
}

stock SalvarContas(playerid) {

    new dir[24];

    format(dir, 24, Contas(playerid));

    if ( !DOF2_FileExists(dir ) )
         DOF2_CreateFile(dir);

    Player[playerid][Dinheiro] = GetPlayerMoney(playerid);
    DOF2_SetString(dir, "Senha", Player[playerid][Senha]);
    DOF2_SetInt(dir, "Matou", Player[playerid][Matou]);
    DOF2_SetInt(dir, "Morreu", Player[playerid][Morreu]);
    DOF2_SetInt(dir, "Dinheiro", Player[playerid][Dinheiro]);
    DOF2_SetInt(dir, "Organizacao", Player[playerid][Organizacao]); //Setamos o valor de "Player[playerid][Organizacao]" no "arquivo", com a TAG "Organizaзгo"
    DOF2_SetInt(dir, "Cargo", Player[playerid][Cargo]); //Setamos o valor de "Player[playerid][Cargo]" no "arquivo", com a TAG "Cargo"
    DOF2_SaveFile();
   
    return 1;
}
Lembrando que:
A funзгo strval, converte uma string para um inteiro.
A funзгo strlen devolve o tamanho de uma string.
E a funзгo strcmp compara duas strings.

https://sampwiki.blast.hk/wiki/Strval
https://sampwiki.blast.hk/wiki/Strlen
https://sampwiki.blast.hk/wiki/Strcmp
Reply


Messages In This Thread
DOF2 Login nгo funcionando! - by Rodox_Mortein - 31.12.2014, 00:15
Re: DOF2 Login nгo funcionando! - by Rodox_Mortein - 31.12.2014, 01:16
Re: DOF2 Login nгo funcionando! - by Skun Fly - 31.12.2014, 01:28
Re: DOF2 Login nгo funcionando! - by Gii - 31.12.2014, 02:04

Forum Jump:


Users browsing this thread: 1 Guest(s)