Dialog Input -
JonathanFeitosa - 26.08.2011
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.
Re: Dialog Input -
steki. - 26.08.2011
Grande merda, inputtext[] й sу uma variбvel qualquer que й passada pelo dialog.
E jб existe um tutorial sobre isso.
Re: Dialog Input -
JonathanFeitosa - 26.08.2011
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.
Re: Dialog Input -
Kmatsu - 26.08.2011
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
Re: Dialog Input -
steki. - 26.08.2011
Fora os 50000 tutoriais de criar login box?
E ela nгo й 'definida', ela й um parametro fundamental da callback.
Re: Dialog Input -
JonathanFeitosa - 26.08.2011
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.
Re: Dialog Input -
Dolby - 26.08.2011
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.
Re: Dialog Input -
BrunoBSF - 26.08.2011
muito bom jon emo
Re: Dialog Input -
MaGnO_357 - 26.08.2011
Muito Bom Fuma Mel :O Gostei pakas bem explicado
11/10
Re: Dialog Input -
Juninho_Oakley - 26.08.2011
Muito bom Jon vc й fera! 11/10