Portal SAMP
[Tutorial] Como utilizar o zcmd - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Guias e Tutoriais (https://portalsamp.com/forumdisplay.php?fid=7)
+--- Tópico: [Tutorial] Como utilizar o zcmd (/showthread.php?tid=346)



Como utilizar o zcmd - Caaet - 17/11/2020

Atenção: Este tópico é direcionado ao pessoal iniciante, por favor se quiser que eu implemente mais alguma coisa no mesmo comente.

Introdução

Olá se você veio a este tópico é porque quer aprender a utilizar zCMD, ou porque quer aprimorar seus conhecimentos entre outros... bom vou colocar aqui um breve resumo do que ira ter neste tópico:

1: Baixando o zCMD.
2: Colocando ele na sua IDE pawno.
3: Incluindo o zCMD no pawn.
4: Como utilizar.
5: Como usar if-else.
6: Mini sistema de pegar dinheiro.

Mas o que é zCMD ?

zCMD é uma include muito utilizada ("pelo menos por min", "Existem outras porém na minha opinão essa é a mais fácil!") pelo pessoal que gosta de criar comandos com mais facilidade como por exemplo /jetpack /dinheiro /godcar /voar entre outros... Isso mesmo com o zCMD você pode criar isso e muito mais ! 

Baixando o zCMD

Clique no link abaixo e será redirecionado para baixar o zCMD:

Baixar zCMD


[Imagem: dvlkm4.png]

Colocando ele na sua IDE pawno:

Após baixar vai vim um arquivo igual este:

[Imagem: Y91KI5.png]

Recorte ele e vá em sua pasta do servidor entre na pasta pawno entre na pasta include cole ele la.

Incluindo o zCMD no pawn:

Bom se você seguiu todos os passos certinho então já está pronto para começar a programar, certo ?! Não ainda não meu caro gafanhoto (kkk). Siga as instruções abaixo:

*Entre na sua IDE pawno.
*Após ter entrado na primeira linha do gamemode/filterscript após #include <a_samp> 
digite: #include <zcmd> 

Se seguiu corretamente ficara assim:

[Imagem: 1ExrDR.png]

Como utilizar:

Bom existem varias maneiras e regras de utiliza-lo mas não se assuste ! Eu vou ensina-lo da maneira mais fácil
então após ter adicionado a include zCMD no seu gamemode arraste até a ultima linha dele e abra mais 2 linhas entendeu ? Bem fácil até aqui néh ! Bom agora vamos começar a tão sonhada parte [Imagem: biggrin.png] sem mais enrrolação comece com:

Código:

Código:
CMD:nomedocomando(playerid)
{
     SendClientMessage(playerid, -1, "Olá");
     return 1;
}

Agora vamos a explicação:

(CMD: ) É o que chama o zCMD ou seja faz com que o codigo seja lido como um comando sem ele ira dar erro.

(nomedocomando) É o nome do seu comando pode colocar qualquer nome ai como godcar jetpack etc...

(" () ") É o que usamos para definir a variavel que iremos usar como vemos abaixo. Sem ele da erro...

(playerid) É uma variavel que adicionamos que puxara o player que digitou o comando.

( { ) Usado para definir o local onde o console ira executar o comando, em outras palavras ira executar tudo dentro das chaves.

(SendClientMessage) É uma função usada para exibir uma mensagem no chat do jogador.
(SendClientMessage(playerid)) Verifica qual player digitou o comando para enviar a mensagem apenas a ele.
(SendClientMessage(playerid, -1)) -1 é a cor da mensagem no caso branco.
(SendClientMessage(playerid, -1, "Olá") "Olá" é o texto(string) que ira aparecer no chat do jogador pode ser qualquer coisa!

É importante lembrar que sempre depois de playerid usamos virgula e sempre depois da cor usamos virgula e sempre que formos digita um texto é obrigatorio utilizar "Aqui o texto" e o texto dentro deles.

Agora retornamos o valor como true ou seja (return 1; )

OBS: Sempre no final de funções como SendClientMessage() usar ; no final! como o exemplo:

SendClientMessage(playerid, -1, "Eu uso ; no final do codigo haha");

e terminamos o codigo com } 

Como utilizar o if-else.

Bom chegamos aqui e iremos aprender a usar o famoso (if e else) ou então (se e caso contrario).

Bom aqui temos um exemplo não muito complexo de como utilizar if e else: 

Código:
new verificarSeJaUsouComando = 0;

CMD:pular(playerid)
{
    
    if(verificarSeJaUsouComando == 0)
    {

        SendClientMessage(playerid, -1, "JUMPPPP!");
        verificarSeJaUsouComando = 1;

            return 1;
    
    }
    else
    {
        SendClientMessage(playerid, -1, "Você já pulou e esta muito cansado!");

                return 1;
    }

}


Mas o que esse codigo faz bartolomeu ? Bom vamos lá:

1: Quando o player digitar /pular ele ira verificar se ele ja usou o comando.
2: Se ele já usou o comando ira mandar a mensagem "Você já pulou e esta muito cansado!"
3: Caso ele não tenha usado o comando ainda ele ira mandar a mensagem "JUMPPPP!" e ira colocar 1 na variavel verificar.

Veja nas fotos:

Caso não tenha usado o comando ainda:

[Imagem: SHTyYK.png]

Caso já tenha usado o comando:

[Imagem: nTWd6X.png]

Agora vamos para a explicação:

(new verificarSeJaUsouComando = 0; ) É uma variavel que criamos.

Variaveis ficam geralmente abaixo das #include ! Como na foto abaixo:

[Imagem: Cm3RnK.png]

Então deixe ele no mesmo lugar em que eu deixei no exemplo. (Em baixo das includes)

OBS: Nem toda variavel é usada assim, mas ai é outro assunto.

Para criarmos uma variavel usamos (new) e em seguida o nome dela e usamos o sinal de = e o valor. como por exemplo:

new CoxinhaFrita = 0; e se lê new CoxinhaFrita recebe zero.

Agora la no final das linhas agente cria o comando lembram ? 


Código:
CMD:pular(playerid)
{

E vamos verificar se o nosso querido amigo já utilizou o comando.

Código:
CMD:pular(playerid)
{

      if(verificarSeJaUsouComando == 0)
      {

        SendClientMessage(playerid, -1, "JUMPPPP!");
        verificarSeJaUsouComando = 1;
           
            return 1;
    
      }


O "if" se lê "se" ou seja:

se(verificarSeJaUsouComando == 0) 

o que acontece aqui traduzindo bem para o português agente verifica se a variavel que criamos no inicio do codigo tem o valor 0 ou == 0.

Caso isso for verdadeiro então iremos executar o comando abaixo que é a mensagem.

SendClientMessage(playerid, -1, "JUMPPPP!"); Aqui agente manda a mensagem "Jumppp".
    verificarSeJaUsouComando = 1; E aqui agente troca o valor da variavel para 1.

e retornamos o valor verdadeiro com "return 1; "

Agora caso o valor seja 1 ou maior que 1 iremos fazer o seguinte para verificar:


Código:
else
    {
        SendClientMessage(playerid, -1, "Você já pulou e esta muito cansado!");
                return 1;

    }


O "else" pode ser lido "caso contrario" ou seja caso verificarSeJaUsouComando não for igual a 0 então o que esta dentro das chaves ira acontecer.

Acho que vocês já entenderam o que vai acontecer caso verificar não seja == 0.

O codigo do comando devera ficar assim:


Código:
new verificarSeJausouComando = 0;

CMD:pular(playerid)
{
    
    if(verificarSeJaUsouComando == 0)
    {

        SendClientMessage(playerid, -1, "JUMPPPP!");
        verificarSeJaUsouComando = 1;
    
    }
    else(verificarSeJaUsouComando == 1)
    {
        SendClientMessage(playerid, -1, "Você já pulou e esta muito cansado!");
    }

}

O codigo já esta funcionando entre no seu jogo e digite /pular para ver Big Grin 

Mini sistema de pegar dinheiro.

Agora eu irei criar um mini sistema de pegar dinheiro. Mas lembre-se não adianta nada você só olhar o tutorial e não colocar em pratica menino ! Então vai la colocar em pratica e depois volta aqui afinal se você quiser aprender a andar de skate e olhar 100 video aulas de tutorial de skate sem praticar, no final você aprendeu a andar de skate ?

O sistema é este:


Código:
CMD:pegarDinheiro(playerid)
{
    
    if(verificarSeJaUsouComando == 0)
    {

        SendClientMessage(playerid, -1, "Você pegou o seu dinheiro!");
        GivePlayerMoney(playerid, 10000); //Comando para dar dinheiro ao player.
            verificarSeJaUsouComando = 1;
               
                return 1;
    
    }
    else
    {
        SendClientMessage(playerid, -1, "Você já pegou o seu dinheiro !");
                return 1;
    }

}



RE: Como utilizar o zcmd ? Tutorial - xbruno1000x - 17/11/2020

Bem legal seu tutorial, porém o título do post está um pouco confuso.
seria melhor assim:
[Tutorial] Como utilizar o zcmd


RE: Como utilizar o zcmd ? Tutorial - Caaet - 17/11/2020

(17/11/2020 11:49)xbruno1000x Escreveu: Bem legal seu tutorial, porém o título do post está um pouco confuso.
seria melhor assim:
[Tutorial] Como utilizar o zcmd

Muito obrigado bruno Big Grin irei arrumar


RE: Como utilizar o zcmd - Hazard - 17/11/2020

bom tutorial


RE: Como utilizar o zcmd - Caaet - 17/11/2020

(17/11/2020 14:42)Hazard Escreveu: bom tutorial

Valeu Big Grin