[Tutorial] [Para Iniciantes] Seleзгo de armas por Dialog , entenda.
#1

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 :

pawn Код:
#define SuaDialog 1
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
Reply
#2

Horrivel, Nunca vi uma coisa tгo mal feita e mal explicada! 10/10
Brinks amr...
Reply
#3

Poderia pelo menos ter tirados os prints nй ? -q

@Topic

Bom tutorial =D

+rep
Reply
#4

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
Reply
#5

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
Reply
#6

Bom tuto

+rep
Reply
#7

@Ades


Nгo havia pensado nisso *-*. E uma уtima ideia, pro prуximo tuto *-*

@Black

Obrigado *-*
Reply
#8

Pela olhada que dei ai:
pawn Код:
#define SuaDialog 1"
tira o Aspas(") lб.
de resto, Legal

Sу aumenta a fonte ai que pensei seriamente em pegar uma luneta pra poder ler xD.
Reply
#9

Quote:
Originally Posted by Gustavo_Araujo
Посмотреть сообщение
Pela olhada que dei ai:
pawn Код:
#define SuaDialog 1"
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 ;*
Reply
#10

Bom Tuto.


a Fonte ta boa,sу nao ta o tamanho.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)