![]() |
[Tutorial] Pawn.CMD — Guia definitivo - 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] Pawn.CMD — Guia definitivo (/showthread.php?tid=3648) |
Pawn.CMD — Guia definitivo - White_Blue - 26/05/2023 1. Introdução ao plugin e ao tutorial Tenho notado em uma pesquisa rápida aqui no fórum que não há um tutorial definitivo sobre Pawn.CMD. Se você está procurando por um tutorial que mostre tudo, desde como começar, como fazer comandos básicos e mostre todas as callbacks e recursos importantes do Pawn.CMD, veio ao local certo. Falando um pouco sobre o plugin, não quero me aprofundar muito nisso pois não é tão importante para o tutorial, mas o Pawn.CMD é o plugin de processamento de comandos mais simples e rápido do SA-MP. Que é mantido e desenvolvido por um conhecido contribuidor da comunidade de SA-MP conhecido pelo nome katursis. ![]() Gráfico de comparação com outros plugins 2. Instalação e primeiro comando Vamos começar instalando o plugin, para isso vá até a página do Github oficial do autor(Clique aqui para ir para a página) e baixe a versão mais recente(No momento que escrevo esse tutorial, a versão mais recente é a 3.4.0, lembre-se de baixar a versão 3.4.0, não a versão 3.4.0 omp, pois vejo muita gente confundindo a versão para o omp(Open Multiplayer) com a versão para o SA-MP e acaba por gerar erros) após isso abra o arquivo .rar(Ou .tar se você usa linux como SO) e arraste o plugin .dll(Ou .so caso você use linux) para a pasta de plugins do seu servidor e arraste a include .inc para a pasta de includes do seu editor de código. Após a instalação, vamos podemos criar o nosso primeiro comando usando Pawn.CMD: A sintaxe é simples: CMD:comando(playerid, ¶ms[]) // O E comercial(&) representa que o parâmetro é opcional, ou seja, apenas adicione o parâmetro params quando for usá-lo. Exemplo: Código PHP: #include <a_samp> // Incluímos a include principal do SA-MP 3. Callbacks Pode não parecer, mas o Pawn.CMD tem várias funções, vou me aprofundar nas mais importantes aqui(Caso você queira saber mais, leia o readme.md do repositório oficial do Pawn.CMD). Vamos começar com as callbacks: Código PHP: // Essas são as callbacks que o Pawn.CMD tem: 1ª - OnPlayerCommandPerformed: Essa registra o evento de quando o comando é executado pelo servidor. Essa que talvez seja a que você mais irá usar na sua gamemode, por ela passam todos os comandos que são digitados pelos jogadores, sendo possível realizar verificações, como se o comando que foi digitado é existente ou não. Exemplo: Código PHP: public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags) { playerid - Representa o ID do jogador que executou o comando; cmd[] - Representa o comando executado(Podendo retornar o nome do comando em forma de string ou fazer verificações mais específicas); params[] - Representa os parâmetros passados pelo jogador no comando; result - Representa o resultado do comando como o nome sugere(Retorna -1 caso o comando for inválido e retorna 0 caso o comando for válido); flags - Representa os sinalizadores do comando, nunca vi ninguém usar esse parâmetro, mas é bem útil, pois pode ser usado para passar parâmetros adicionais(Como /ban -all por exemplo, isso faria com que o comando pudesse banir à todos online como um parâmetro opcional). 2ª OnPlayerCommandReceived Como o nome sugere, essa callback registra evento de quando o comando é recebido pelo servidor. Pode ser usada para fazer verificações de flood e registrar comandos por exemplo. Exemplo: Código PHP: public OnPlayerCommandReceived(playerid, cmd[], params[], flags) { Parâmetros: playerid - Representa o ID do jogador à executar o comando; cmd[] - Representa o comando à ser executado em forma de string; flags - Representa os parâmetros opcionais do comando recebido(Caso houver). 3ª PC_OnInit Como o nome sugere, essa callback é executada assim que o plugin Pawn.CMD é carregado. Exemplo: Código PHP: public PC_OnInit() { Parâmetros: - Essa callback não possui nenhum parâmetro. 4. Funções Nota: Como foi dito, eu não irei me aprofundar tanto nas funções(Até por que tem bastante delas), caso queira saber mais, você pode acessar o readme.md do Pawn.CMD que contém todas as funções clicando aqui. 1: callcmd Essa função executa um comando em outro lugar do código(Eu acho ela bem útil e poupa bastante tempo). Exemplo: Código PHP: // Em algum lugar do código... Sintaxe: Código PHP: callcmd::comando(playerid, ¶ms[]) 2: PC_EmulateCommand Emula um comando que não necessariamente foi digitado por aquele jogador. Exemplo: Código PHP: CMD:kickarme(playerid) { Sintaxe: Código PHP: PC_EmulateCommand(playerid, command[]) 5. Observações finais e fontes Espero que esse tutorial tenha te ensinado de vez a como dominar o Pawn.CMD que é um plugin bem poderoso. Lembrando que eu não citei todas as funções que o Pawn.CMD tem, citei apenas as mais importantes para esse tutorial não ficar mais extenso do que já está. Caso tenha qualquer sugestão para a melhoria desse tópico, sinta-se livre para sugerir. Fontes e referências: https://github.com/katursis/Pawn.CMD - Referência das funções do plugin https://portalsamp.com/showthread.php?tid=108 - Inspiração para esse tutorial |