[Tutorial] Dialog Input
#1

Realmente, Vim Criar um Tutorial de Dialog INPUT, Todos Tem Dъvida Pelo Que Eu Sei, Entгo Que Tal Criamos Um Tutorial Simples ?

Que Tal um Sistema de doaзхes BOLSA FБMILIA ?

Vamos Lб ao Trabalho.

Antes de Tudo:

\n = Serve Para Pular Linhas.
Sempre os IDS Dos Dialogs Tem que ser Diferentes.
" -1 " й uma Cor Neutra, Ou Seja, Branca Simples.


Na public OnPlayerCommandText Acrescente Isso:
pawn Код:
if(strcmp(cmdtext, "/doarprefeitura", true) == 0)
{
    ShowPlayerDialog(playerid, 2812,DIALOG_STYLE_INPUT,"Sistema de Doaзхes - Bolsa Famнlia","Digite o Dinheiro Desejado Para Doar\nDoк Dinheiro aos Nossos Novatos","Doar","Cancelar");
    return true;
}
ShowPlayerDialog = Aparecer o Dialog.
playerid = Ao Player.
2812 = O ID Do Dialog ( Nгo Pode se Repetir ).
DIALOG_STYLE_INPUT = Definindo que й um Dialog INPUT.
Sistema de Doaзхes - Bolsa Famнlia = Titulo
Digite o Dinheiro Desejado Para Doar\nDoк Dinheiro aos Nossos Novatos = Mensagem do DIALOG INPUT.
Doar = Botгo.
Cancelar = Botгo.

Pronto, Terminamos a Primeira Parte, Simples Nгo ?, Agora Vamos Finalizar Nosso Dialog INPUT.

na public OnPlayerDialogResponse, Acreceste:


pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new Celulas[128];
    new Nome[24];
    switch(dialogid) // Definindo o Dialog para da o id.
    {
        case 2812: // o ID Do Nosso Dialog.
        {
            if(response) return true; // O Response do Nosso Dialog ( Ao Apertar Doar ).
            {
                new JFSDoacoes =  strval(inputtext); // o inputtext Pega o Que ele digitou, ou seja, o Tanto de Dinheiro Que Ele Digitou, Agora Para Nгo Ficar Usando Toda Hora 'strval(inputtext);', Vamos Usar Apenas JFSDoacoes foi tipo uma troca de nomes.
                if(!inputtext[0] || JFSDoacoes < 50)  return SendClientMessage(playerid,-1,"Seja Bom, Doк Mais de 50 Reais Para os Necessitбdos."); // Ou Seja 'inputtext[0]', Quer Dizer Que Se Ele Digitou NADA, Ou Seja, o Dialog Ficou em Branco, e o 'JFSDoacoes < 50', Se o Valor Que Ele Botou no Dialog for Menor Que 50, Aparecerб a Mensagem ' "Seja Bom, Doк Mais de 50 Reais Para os Necessitбdos'.
                if(JFSDoacoes > 999999) // Se Ele Digitou Mais Que 999999, Ou Seja 1kk Pra Cima, Aparecerб a Mensagem Abaixo Para Todos.
                {
                    GetPlayerName(playerid, Nome, sizeof(Nome)); // Pega o Nome do Player.
                    format(Celulas, 128, "O Player %s Deu Para o Bolsa Famнlia }%i - Isso Sim й Solidariedade. ",Nome, JFSDoacoes); // Mensagem Que Aparecerб Pra Todos se o Player Doar Mais que 999999.
                    SendClientMessageToAll(-1, Celulas); // Manda a Mensagem Pra Todos.
                }
                GivePlayerMoney(playerid, - JFSDoacoes); /* Esse й o Mais Importante, Lembrando que o JFSDoacoes й o Que Ele Digitou. Entгo, Vamos Explicar Isso:
GivePlayerMoney = Funзгo do Dinheiro.
playerid = Ao Player
- = DIMINUIR O DINHEIRO
JFSDoacoes = O Dinheiro Que Ele Botou

RESULTADO: ELE DIMINUI ( - ) O DINHEIRO ( GivePlayerMoney ) QUE ELE DIGITOU ( JFSDoacoes ) do Player ( playerid ).*/


            }
            return true;
        }
    }
    return true;
}
Simples Nгo ?

Que Tal Outro Exemplo Simples ?


Na public OnPlayerCommandText Acrescente Isso:
pawn Код:
if(strcmp(cmdtext, "/ganhararma", true) == 0)
{
      ShowPlayerDialog(playerid,352,DIALOG_STYLE_INPUT,"Ganhe Uma Arma","Coloque o ID da Arma","Pegar","Cancelar");
      return true;
}
ShowPlayerDialog = Aparecer o Dialog.
playerid = Ao Player.
352 = O ID Do Dialog ( Nгo Pode se Repetir ).
DIALOG_STYLE_INPUT = Definindo que й um Dialog INPUT.
Ganhe Uma Arma = Titulo
Coloque o ID da Arma = Mensagem do DIALOG INPUT.
Pegar = Botгo.
Cancelar = Botгo.


pawn Код:
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    new Celulas[128];
    new Nome[24];
    switch(dialogid) // Definindo o Dialog para da o id.
    {
        case 352: // ID DO DIALOG ACIMA
        {
            if(response) return true;// Botao Pegar.
            {
                new JFSBallas = strval(inputtext); // Dando o Nome ao inputtext No Caso strval(inputtext), que й o que o player digitou, agora podemos usar JFSBallas  no seu lugar.
                GetPlayerName(playerid, Nome, sizeof(Nome)); // Pegando o Nome do Player
                format(Celulas, 128, "O Player %s Pegou a Arma ID %i.",Nome, JFSBallas); // Mensagem Que Aparecerб.
                SendClientMessageToAll(-1, Celulas); // Mandando Mensagem a Todos.
                GivePlayerWeapon(playerid, JFSBallas, 200); /*
GivePlayerWeapon = Funзгo de da Arma
playerid = ao Player
JFSBallas = o ID Da Arma que Ele Digitou.
200 = Com 200 Balas. */

            }
            return true;
        }
    }
    return true;
}
PS: O inputtext й o Tanto Que Ele Digitou no Dialog, No Caso Foi Usado strval(inputtext).

Crйditos: Jonathan Feitosa,
Ajudei ? Reputation
Dъvidas ?
Manda Por MP Ou Pelo Contato no MSN ( john_feat@hotmail.com ).

Lembrando que й apenas uma simples demostraзгo de como criar um dialog input, e uns exemplos simples.
Reply
#2

Grande merda, inputtext[] й sу uma variбvel qualquer que й passada pelo dialog.

E jб existe um tutorial sobre isso.
Reply
#3

Manda um Link em PT/BR, eu sei que inputtext jб vem definida? mais idai ?

sу existe 1 do speliarmos, que nгo й muito explicado.
Reply
#4

Nossa eu ia criar um topico agora, pedindo ajuda.
Eu tava com poblema com dialogs aqui no gm que eu to fazendo, vlw ae Jonathan +reputation
Reply
#5

Fora os 50000 tutoriais de criar login box?

E ela nгo й 'definida', ela й um parametro fundamental da callback.
Reply
#6

Sim Mais Ela Jб vem Definida na Callback, Enfim,

pawn Код:
50000 tutoriais de criar login box
Sim Mano, Mais Nгo tem de DIALOG INPUT na PT/BR, sу tem 1 pelo que eu vi, espero que esse ajude, vlw pela critica.
Reply
#7

Nao e querendo intrometer,mais so tinha "um" tutorial de dialog na Pt-Br do Speliarmos,mais que estava muito Bagunзado,entao o Jhonatan criou tutoriais de todos os tipos de dialogs.

@Topic
Legal Cara,Parabens.
Reply
#8

muito bom jon emo
Reply
#9

Muito Bom Fuma Mel :O Gostei pakas bem explicado
11/10
Reply
#10

Muito bom Jon vc й fera! 11/10
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)