[Tutorial] Criando um Menu com ZCMD.
#1

E aн pessoal.

Eu procurei й nгo achei nada relacionado a isso, entгo eu resolvi criar um tutorial, ensinando passo-a-passo de como criar um Menu usando a include ZCMD, que e praticamente a mais utilizada atualmente.


Introduзгo
# Primeiramente vocк terб que ter a include ZCMD, й уbvio, vocк pode baixa-la clicando aqui.
# Й um simples tutorial, muito simples, mais eu fis com o intuito de ajudar os novatos na бrea.
# Muitos novatos, desconheciam a existencia e somente sabiam do dialog.
# Apesar, de todos preferirem dialog, por ser melhor e mais organizado, eu resolvi postar, para o conhecimento do mesmo.
# Atenзгo, para selecionar algo no Menu, use "ESPAЗO" e nгo "F" ou "ENTER".

Iniciando
# Apуs ter baixado a include, coloque-a na pasta "pawno/include".
# Logo apуs abra o pawno, que se encontra na pasta anterior que vocк colocou as includes, clique File e em seguida clique em New, ou se vocк jб tiver o GameMode/FilterScript pronto, basta abrir-lo, clicando em File e logo em seguida em "Open" selecione o seu GameMode/FilterScript e abra-o, й assim faзa o comando.


Topo do GameMode/FilterScript


PHP код:
#include <zcmd> 


Definimos o nosso menu, que usaremos. Topo do GameMode/FilterScript.


PHP код:
new Menu:Tutorial
Explicaзгo
Usado para definir o nosso Menu.



Agora vб atй a public OnGameModeInit() , e adicione isso

PHP код:
Tutorial CreateMenu("Menu do Tutorial"150.0180.0200.0200.0);
AddMenuItem(Tutorial0"Tutorial 1");
AddMenuItem(Tutorial0"Tutorial 2"); 
Explicaзгo
Tutorial - Usado para identificar o Menu que criamos.
CreateMenu - Cria o Menu.
Menu do Tutorial - Titulo usado no nosso menu.
AddMenuItem - Usado para adicionar Itens ao nosso Menu.
Tutorial 1/2 - Opзхes disponiveis.



Agora temos de dar a funзгo aos Itens do nosso Menu. Vб atй a public OnPlayerSelectedMenuRow(playerid, row)

PHP код:
public OnPlayerSelectedMenuRow(playeridrow)
{
    new 
Tutorial:current;
    
current GetPlayerMenu(playerid);
    if(
current == Tutorial)
    {
        switch(
row)
        {
            case 
0:
            {
                 
SendClientMessage(playerid0xFFFFFFAA"[INFO] Vocк perdeu 1000 reais por ver esse Menu.");
                 
GivePlayerMoney(playerid, -1000);
                 
TogglePlayerControllable(playerid1);
            }
            case 
1:
            {
                 
SendClientMessage(playerid0xFFFFFFAA"[INFO] Vocк perdeu 1000 reais por ver esse Menu.");
                 
GivePlayerMoney(playerid, -1000);
                 
TogglePlayerControllable(playerid1);
            }
            case 
2
            }
                  
SendClientMessage(playerid0xFFFFFFAA"[INFO] Vocк optou por cancelar esse Menu.");
                  
TogglePlayerControllable(playerid1);
            }
        }
    }
    return 
1;

Explicaзгo
case 0: - Primeira opзгo, ou seja "Tutorial 1"
case 1: - Segunda opзгo, ou seja "Tutorial 2"
case 2: - Opзгo sair, quando o player opta, por cancelar o Menu.
SendClientMessage - Manda a mensagem somente ao jogador.
GivePlayerMoney(playerid, -1000); - Retira dinheiro do player.
TogglePlayerControllable - Congela/Descongela o player.



Agora temos que fazer a funзгo para "descongelar" o player se fechar o Menu, apertando "F" ou "ENTER" ele nгo ficar congelado. Vб atй a public OnPlayerExitedMenu(playerid)

PHP код:
public OnPlayerExitedMenu(playerid)
{
    
TogglePlayerControllable(playerid,1);
    return 
1;

Explicaзгo
TogglePlayerControllable - Descongela/Congela o player.



Agora temos que criar o comando, que irб abrir o nosso Menu.

PHP код:
COMMAND:tutorial(playeridparams[])
{
      
TogglePlayerControllable(playerid0);
      
ShowMenuForPlayer(Tutorialplayerid);
      return 
1;

Ou se vocк preferir, pode usar dessa forma

PHP код:
CMD:tutorial(playeridparams[])
{
      
TogglePlayerControllable(playerid0);
      
ShowMenuForPlayer(Tutorialplayerid);
      return 
1;

Explicaзгo
TogglePlayerControllable - Congela/Descongela o player.
ShowMenuForPlayer - Faz o Menu definido, aparecer para o player, apуs ele digitar aquele comando.



Crйditos
Đeagle - Criaзгo do Tutorial.
Wiki SA-MP - Funзхes e bases.
Zeex - Criaзгo da include zCMD.
Reply
#2

Ainda se usa Menu em servidores?

Seria legal se vocк explicasse oque significa isso:
pawn Код:
new Tutorial:current;
Nunca ouvi falar dessa Tag.
Reply
#3

Otimo Tutorial
Reply
#4

Quote:
Originally Posted by DreeH
Посмотреть сообщение
Ainda se usa Menu em servidores?

Seria legal se vocк explicasse oque significa isso:
pawn Код:
new Tutorial:current;
Nunca ouvi falar dessa Tag.
PHP код:
new Tutorial:current
Ele faz com que sу abra as opзхes naquele Menu, ou seja ele sу executa aquelas funзхes naquele Menu, eu acho.
Reply
#5

Olha o cara nem sabe o que ta digitando
zueira.

So arruma ali.
porque GivePlayerMoney nгo retira grana, apenas retira de vocк se vocк colocar o sinal de " - "
antes da quantia.
Reply
#6

Bom tuto!

Bem explicado.
Parabйs paulin
Reply
#7

Bom tuto, bem explicado sу aruma o GivePlayerMoney como o eduardo disse ele nao retira grana a nao ser que ponha "-"
Reply
#8

Cуdigo arrumado.
Obrigado por avisarem. P;
Reply
#9

Hoje existe atй site que cria menus, creio que nгo й muito necessбrio esse tutorial, mesmo assim parabйns pela explicaзгo.
Reply
#10

Quote:
Originally Posted by StrondA_
Посмотреть сообщение
Hoje existe atй site que cria menus, creio que nгo й muito necessбrio esse tutorial, mesmo assim parabйns pela explicaзгo.
Eu desconhecia a existencia do site..
Reply
#11

http://code.******.com/p/sa-menucreator/
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)