[AJUDA] Cadastro de Email
#1

Galera... Jб fiz um topico semelhante mais as respostas nao foram o esperado... Ae to aqui reformulando...

Bom quando um player entra no servidor й pedido pra ele cadastrar seu email... Estarei postando a funзгo da troca do email cadastrado que й exatamente igual...

pawn Код:
if(dialogid == 10106) // Troca Email
    {
        if (response)
        {

            new pemail[MAX_PLAYER_EMAIL];
            format(pemail,MAX_PLAYER_EMAIL, "%s", inputtext);
            if (!strlen(inputtext))
            {
                format(strres, 128, "Digite o novo email:");
                ShowPlayerDialog(playerid, 10106, DIALOG_STYLE_INPUT,"Email", strres, "Confirmar", "Cancelar");
                SendClientMessage(playerid, COR_VERMELHA, "| Digite um email vбlido.");
                return 1;
            }
            if (strlen(inputtext) < MIN_PLAYER_EMAIL || strlen(inputtext) > MAX_PLAYER_EMAIL)
            {
                format(strres, 128, "Digite o novo email:");
                ShowPlayerDialog(playerid, 10105, DIALOG_STYLE_INPUT,"Email", strres, "Confirmar", "Cancelar");
                SendClientMessage(playerid, COR_VERMELHA, "| Digite um email vбlido.");
                return 1;
            }
            bd_escrever_str(pName(playerid),"Email", pemail);
            SendClientMessage(playerid, COR_VERDE, "| Email alterado com sucesso, para alterб-lo novamente utilize /meuemail.");

        }
        else
        {
            return 1;
        }
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        return 1;
    }

Bom... Eu quero saber como ficaria o cуdigo, obrigando o player utilizar @... Sendo que obviamente ele nao pode colocar mais de um @...
Reply
#2

Bem, primeiro vocк pode criar uma funзгo no final do GameMode que conte quantos arrobas um texto tem, por meio da verificaзгo dos valores de cada caractere do mesmo :



pawn Код:
stock NumeroArrobas(string[])
{
    new Arrobas = 0;
    for(new x = 0; string[x] != EOS; x++)
    {
        if(string[x] == '@') Arrobas += 1;
    }
    return Arrobas;
}


Depois, basta criar alguns ifs no seu cуdigo utilizando a funзгo . Exemplo:


pawn Код:
if(NumeroArrobas(inputtext) != 1) return SendClientMessage(playerid, 0x33CCFFAA, "Seu E-mail deve ter um ъnico arroba !");


Aqui a mesma na forma como estaria posicionada em seu cуdigo :


pawn Код:
if(dialogid == 10106) // Troca Email
    {
        if (response)
        {
            if(NumeroArrobas(inputtext) != 1) return SendClientMessage(playerid, 0x33CCFFAA, "Seu E-mail deve ter um ъnico arroba !");
            new pemail[MAX_PLAYER_EMAIL];
            format(pemail,MAX_PLAYER_EMAIL, "%s", inputtext);
            if (!strlen(inputtext))
            {
                format(strres, 128, "Digite o novo email:");
                ShowPlayerDialog(playerid, 10106, DIALOG_STYLE_INPUT,"Email", strres, "Confirmar", "Cancelar");
                SendClientMessage(playerid, COR_VERMELHA, "| Digite um email vбlido.");
                return 1;
            }
            if (strlen(inputtext) < MIN_PLAYER_EMAIL || strlen(inputtext) > MAX_PLAYER_EMAIL)
            {
                format(strres, 128, "Digite o novo email:");
                ShowPlayerDialog(playerid, 10105, DIALOG_STYLE_INPUT,"Email", strres, "Confirmar", "Cancelar");
                SendClientMessage(playerid, COR_VERMELHA, "| Digite um email vбlido.");
                return 1;
            }
            bd_escrever_str(pName(playerid),"Email", pemail);
            SendClientMessage(playerid, COR_VERDE, "| Email alterado com sucesso, para alterб-lo novamente utilize /meuemail.");

        }
        else
        {
            return 1;
        }
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        return 1;
    }


Espero ter ajudado .
Reply
#3

Hum... mais isso nao irб verificar se o imputtext й um arroba?? ou ele vai contar se tem ou nao algum arroba no que foi posto no imputtext?
Reply
#4

Quote:
Originally Posted by Mateuscm
Посмотреть сообщение
Hum... mais isso nao irб verificar se o imputtext й um arroba?? ou ele vai contar se tem ou nao algum arroba no que foi posto no imputtext?
Ele vai contar quantos arrobas o inputtext tem .


Caso nгo haja nenhum arroba ele retorna 0 .



Entгo, vocк pode usar o cуdigo abaixo para que seja realizado o que vocк quer:


pawn Код:
if(NumeroArrobas(inputtext) != 1) return SendClientMessage(playerid, 0x33CCFFAA, "Seu E-mail deve ter um ъnico arroba !");


Espero ter ajudado .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)