[Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Sampizito - 01.08.2012
Olб a todos, venho trazer um novo tуpico, onde tenho o intuito de passar meus conhecimentos aos iniciantes na linguagem. Antes de tudo, quero alertar que aceito com toda honra, criticas construtivas, pois com elas concertamos nossos erros.
Introduзгo
Vocк iniciante, jб teve vontades de criar armas , fazer teleportes, entre vбrias outras variedades usando Dialogs? Nesse tуpico iremos aprender os princнpios bбsicos de fazer tudo isso em uma dialog. Iremos comeзar pelos tipos de Dialogs. Iremos utilizar a include ZCMD.
Dialog Ids
Existem 4 tipos de dialogs , as mesmas seguem abaixo
0 - DIALOG_STYLE_MSGBOX
Como o prуprio nome diz, MSGBOX, essa dialog й apropriada para enviar mensagem ao playerid, em uma dialog, como mostrada na imagem. Como havia dito acima existem 4 tipos, a MSGBOX, tem o id 0 , lembrando que nos principios bбsicos da linguagem, toda contagem em nъmeros й iniciada atraves do zero, exemplo : 4 Items , Item 0 = Dinheiro, Item 1 = X , Item 2 = Y , Item = 3. Perceba que contamos 4 itens, sendo que os ids vгo atй tres, devido ao fato de que a contagem se inicia pelo id 0
1 - DIALOG_STYLE_INPUT
A dialog STYLE_INPUT , й usada na maioria das vezes para responder formulбrios, como tradiзгo em GAME MODES Role Plays. Geralmente o uso й em cadastramento de contas entre outros.
2 - DIALOG_STYLE_LIST
A ID dialog STYLE_LIST em meu ponto de vista й mais usada , por que geralmente cabe em todo tipo de GAME MODE. Em nosso tutorial iremos usar A STYLE_lIST, pois se trata de uma seleзгo de listas
2 - DIALOG_STYLE_PASSWORD
A STYLE_PASSWORD, como lуgica o prуprio nome diz "Password", referente a uso de senhas. Se identifica um pouco a "restriзгo da visualizaзгo de sua senha digitada". Bastante ъtil em GAME MODES, que possui um sistema de registro.
Colocando em Prбtica
Agora que jб entendemos a entende, o que sгo dialogs, vamos colocar em prбtica na linguagem como funciona o sistema da mesma. Para nуs aplicarmos o que aprendemos acima iremos ter que saber o que й ShowPlayerDialog. ShowPlayerDialog, nada mais nada menos que mostrar a dialog ao Player ID. A mesma possui os parametros :
pawn Код:
(playerid, dialogid, style, caption[], info[], button1[], button2[])
Exemplo :
pawn Код:
ShowPlayerDialog(playerid, DIALOG_WELCOME, DIALOG_STYLE_MSGBOX, "Notice", "You connected to the server", "Close", "");
Quote:
Playerid = ID do Player in-game
DIALOG_WELCOME = Id de nossa dialog
style = O Style de nossa dialog, como aprendemos na 1 parte do tutorial
Caption = Digamos que seja o titulo de nossa dialog.
Info = O conteudo de nossa dialog
Button1 = Botгo 1 de nossa dialog
Buton 2 = Botгo 2 de nossa Dialog
|
Na parte ID De nossa dialog , sempre recomendado que vocк defina no topo de seu GAME MODE o id de sua dialog, caso nгo feito isso resultarб no seguinte erro:
pawn Код:
error 017: undefined symbol "SuaDialog"
Portanto devemos definir, na seguinte forma colocando no topo de nosso game mode/FILTER :
Lembre-se de que o nъmero que colocamos, deve ser totalmente ъnico, ou seja certifique-se de que nгo tenha alguma dialog, com o numero 1 definida.
Public/Callback Ondialog Response
A public que iremos usar em nosso tutorial, seja a OndialogRespone, cuja tem a "funзгo" de responder, nossa ShowPlayerDialog. Na prуxima etapa , iremos aprender parte por parte de nosso sistema.
Armas
Usando a include zcmd , no topo de nosso Filter/GAME MODE
pawn Код:
#include <zcmd> // essa include, й o que "facilitarб" a criaзгo de nossos comandos, receio que essa include seja o processador de comandos mais utilizado pelos usuбrios do furm.
Uma vantagem de utiliza-la, й que podemos separar nossos comandos no fim de nosso game mode
pawn Код:
#define Armas 2730// 2730 Nъmero qualquer de nossa dialog
pawn Код:
CMD:teleportar(playerid)
{ // Abrimos nosso comando
ShowPlayerDialog(playerid, Armas, DIALOG_STYLE_LIST, "Lista de Armas", "Eagle\nMP5\nM4\nKnife\nShotgun\nAk47\n", "Selecionar", "Sair");
return 1;
}// Fechamos nosso comando
Entendo nosso cуdico :
Quote:
ShowPlayerDialog = Mostrar a Dialog Ao Player ID.
Armas = Id de nossa Dialog , definida acima
DIALOG_STYLE_LIST = Style de nossa dialog, como aprendido no inicio do tуpico
"Lista de Armas" = Tнtulo de nossa Dialog
"Eagle\nMP5\nM4\nKnife\nShotgun\nAk47\n = Atenзгo nessa parte, pois se trata do contйudo de nossa DIALOG, serб a listagem de nossos itens dentro da dialog, ou seja o modelo das armas. Que ao clicar em 1 dos modelos , automaticamente serб chamada a Ondialogresponse
"Selecionar" = Confirmar o chamamento de nossa Ondialogresponse
"Sair" = Cancelar nossa Dialog
|
Agora, aperte o atalho, control +f , e digite no espaзo em branco : Ondialogresponse
Atenзгo para essa parte! Pois se trata da resposta de nossa Dialog "Armas".
pawn Код:
if(dialogid == Armas)
{
if(response)
{
if(listitem == 0)
{
GivePlayerWeapon(playerid, 24, 300);
SendClientMessage(playerid, COLOR_WHITE, "[Info Armas] Vocк comprou 300 Tiros de Eagle");
ApplyAnimation(playerid, "DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0);
}
else if(listitem == 1)
{
GivePlayerWeapon(playerid, 29, 500);
GivePlayerMoney(playerid, -400);
SendClientMessage(playerid, COLOR_WHITE, "[Info Armas] Vocк comprou 500 Tiros de MP5 por");
ApplyAnimation(playerid, "DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0);
}
else if(listitem == 2)
{
GivePlayerWeapon(playerid, 31, 500);
SendClientMessage(playerid, COLOR_WHITE, " Vocк comprou 500 Tiros de M4");
ApplyAnimation(playerid, "DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0);
}
else if(listitem == 3)
{
GivePlayerWeapon(playerid, 4, 1);
SendClientMessage(playerid, COLOR_WHITE, "Vocк comprou uma Knife ");
ApplyAnimation(playerid, "DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0);
}
else if(listitem == 4)
{
SendClientMessage(playerid, COLOR_WHITE, "Vocк comprou 500 Tiros de Shotgun ");
ApplyAnimation(playerid, "DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0);
}
else if(listitem == 5)
{
GivePlayerWeapon(playerid, 30, 500);
SendClientMessage(playerid, COLOR_WHITE, "Vocк comprou 500 Tiros de Ak47 ");
ApplyAnimation(playerid, "DEALER", "shop_pay", 4.0, 0, 0, 0, 0, 0);
}
}
}
return 1;
}
Quote:
if(response) = Response = Reposta do id {Armas} De nossa Dialog
if(listitem == 0) = Listem 0 ( Sessгo de numero 0 , inicial de nossa list, formada lб em cima no comando )
GivePlayerWeapon(playerid, 24, 300); = GivePlayerWeapon , give traduzindo para portugues й o mesmo que dar. Weapon й o mesmo que arma, ou seja juntando os dois nomes, forma DarArma. PlayerID , й o player que irб receber a arma apуs usar o comando, no caso a pessoa que usou o comando que farб parte da GivePlayerWeapon. 24 й o numero da ID Da arma, 300 o numero de muniзхes que o mesmo irб receber.
SendClientMessage = Enviar Mensagem ao cliente, seus parвmetros
|
pawn Код:
(playerid, color, const message[]) // COLOR = A cor da mensagem, Const Message , a mensagem que serб enviada ao player
Quote:
ApplyAnimation = Uma breve animaзгo que serб ativada, apуs a seleзгo da arma.
|
Lembrando que como nossa dialog tem 5 seleзхes lб em cima no comando, teremos 5 listitem, ou seja, o inicial sempre comeзando do 0.
Lembre-se que tudo que abre fecha, lembre-se sempre disso!
Conclusгo
A partir desse tutorial, aprendemos os princнpios bбsicos que podemos utilizar em uma dialog, e aplicamos ela como uma breve seleзгo de armas. Vocк ainda pode ir alйm aplicando vбrias outras alternativas na dialog, ou atй mesmo na de armas, como retirar dinheiro apуs a seleзгo da arma, entre outros.
Aos que dominam a linguagem, favor me corrigir se falei alguma besteira. Estarei no tуpico para dъvidas aos iniciantes na linguagem. Em breve farei outro tutorial seguindo o mesmo padrгo utilizando Teleportes, Roupas, Carros.
Fonte
http://wiki.sa-mp.com
Lista de armas com seus respectivos IDS
https://sampwiki.blast.hk/wiki/Weapons
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
paulor - 01.08.2012
Horrivel, Nunca vi uma coisa tгo mal feita e mal explicada!
10/10
Brinks amr...
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Ades - 01.08.2012
Poderia pelo menos ter tirados os prints nй ? -q
@Topic
Bom tutorial =D
+rep
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Sampizito - 01.08.2012
Quote:
Originally Posted by paulor
Horrivel, Nunca vi uma coisa tгo mal feita e mal explicada! 10/10
Brinks amr...
|
Eu sei que vocк me ama <3
@Ades
Obrigado amigгo <3
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Ades - 01.08.2012
Quote:
Originally Posted by Sampizito
@Ades
Obrigado amigгo <3
|
Qi nada minha vadia agora me server -q
So falta por os printi em portugreis pur que o ingreis й foda sу -q
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
blacktrindade - 01.08.2012
Bom tuto
+rep
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Sampizito - 01.08.2012
@Ades
Nгo havia pensado nisso *-*. E uma уtima ideia, pro prуximo tuto *-*
@Black
Obrigado *-*
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Dolby - 01.08.2012
Pela olhada que dei ai:
tira o Aspas(") lб.
de resto, Legal
Sу aumenta a fonte ai que pensei seriamente em pegar uma luneta pra poder ler xD.
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
Sampizito - 01.08.2012
Quote:
Originally Posted by Gustavo_Araujo
Pela olhada que dei ai:
tira o Aspas(") lб.
de resto, Legal
Sу aumenta a fonte ai que pensei seriamente em pegar uma luneta pra poder ler xD.
|
Hehe, tirei nen tinha percebido rs
Enquanto a fonte, eu acho que ta linda *-* ..
Obrigado pela forзa ;*
Re: [Para Iniciantes] Seleзгo de armas por Dialog , entenda. -
WaGnerLiima - 01.08.2012
Bom Tuto.
a Fonte ta boa,sу nao ta o tamanho.