01.08.2012, 01:15
(
Последний раз редактировалось Sampizito; 01.08.2012 в 01:34.
Причина: editee
)
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.
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.
Existem 4 tipos de dialogs , as mesmas seguem abaixo
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 :
Exemplo :
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:
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.
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.
Usando a include zcmd , no topo de nosso Filter/GAME MODE
Uma vantagem de utiliza-la, й que podemos separar nossos comandos no fim de nosso game mode
Entendo nosso cуdico :
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".
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!
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.
http://wiki.sa-mp.com
Lista de armas com seus respectivos IDS
https://sampwiki.blast.hk/wiki/Weapons
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 listas2 - 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 |
pawn Код:
error 017: undefined symbol "SuaDialog"
pawn Код:
#define SuaDialog 1
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.
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
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 |
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