• Introdução
Bom, com a ida do fórum muitos códigos e tutoriais úteis foram "embora", e um deles foi o Pawn.CMD. Então estou aqui para reviver essa Include/Plugin criado por kartusis e trazer aqui para o Portal SA-MP.
Realmente vejo muitas pessoas usando o ZCMD e não conhecem ou não tem curiosidade de pesquisar sobre a Include/Plugin. É um plugin que é compatível com qualquer versão do SA-MP.
• Instalação
Para começar, acesse o link do GitHub para baixar a include e o plugin mais atualizado.
Download: Pawn.CMD Releases (GitHub)
• Usando
Um exemplo simples sem usar parâmetros:
Um exemplo com parâmetros utilizando o sscanf:
• Parâmetros adicionais
Um método de usar comandos diferentes para um único comando:
Um método de criar restrições nos comandos para usar na public "OnPlayerCommandReceived".
 
Para forçar o player a usar algum comando basta usar callcmd, exemplo:
Isso vai fazer com que o player seja "forçado" a nascer com 100.0 de colete.
• Inexistência do comando
Para mandar uma mensagem de erro se caso o comando não existir basta usar a public "OnPlayerCommandPerformed".
• Download & Creditos
Deixando novamente o download aqui no final e total créditos do criador:
Criador: kartusis (GitHub)
Download: Pawn.CMD releases (GitHub)
	
	
	
Bom, com a ida do fórum muitos códigos e tutoriais úteis foram "embora", e um deles foi o Pawn.CMD. Então estou aqui para reviver essa Include/Plugin criado por kartusis e trazer aqui para o Portal SA-MP.
Realmente vejo muitas pessoas usando o ZCMD e não conhecem ou não tem curiosidade de pesquisar sobre a Include/Plugin. É um plugin que é compatível com qualquer versão do SA-MP.
• Instalação
Para começar, acesse o link do GitHub para baixar a include e o plugin mais atualizado.
Download: Pawn.CMD Releases (GitHub)
- Pawn.CMD.inc » Adicione a include na pasta "include" localizada na pasta "pawno" do seu servidor.
 - pawncmd.dll » Caso você utiliza Windows, adicione o plugin "pawncmd.dll" na pasta "plugins" do seu servidor.
 - pawncmd.so » Caso você utiliza Linux, adicione o plugin "pawncmd.so" na pasta "plugins" do seu servidor.
 
• Usando
Um exemplo simples sem usar parâmetros:
Código PHP:
#include Pawn.CMD
CMD:colete(playerid)
{
    SetPlayerArmour(playerid, 100.0);
    SendClientMessage(playerid, -1, "[!] Colete concedido com sucesso.");
    return 1;
} 
Um exemplo com parâmetros utilizando o sscanf:
Código PHP:
#include sscanf2
#include Pawn.CMD
CMD:kick(playerid, params[])
{
    if(sscanf(params, "u", id))
        return SendClientMessage(playerid, -1, "[!] Use: /kick (id)");
        
    if(!IsPlayerConnected(id))
        return SendClientMessage(playerid, -1, "[!] ID não encontrado.");
    Kick(id);
    SendClientMessage(playerid, -1, "[!] Comando efetuado com sucesso.");
    return 1;
} 
• Parâmetros adicionais
- alias
 
Um método de usar comandos diferentes para um único comando:
Código PHP:
#include Pawn.CMD
CMD:colete(playerid)
{
    SetPlayerArmour(playerid, 100.0);
    SendClientMessage(playerid, -1, "[!] Colete concedido com sucesso.");
    return 1;
}
alias:colete("armour", "pegarcolete");
// "armour" e "pegarcolete" terá a mesma função que o "/colete". 
- flags
 
Um método de criar restrições nos comandos para usar na public "OnPlayerCommandReceived".
Código PHP:
#include sscanf2
#include Pawn.CMD
new COMMAND_ADMIN = 1;
flags:kick(COMMAND_ADMIN);
flags:colete(COMMAND_ADMIN);
CMD:kick(playerid, params[])
{
    if(sscanf(params, "u", id))
        return SendClientMessage(playerid, -1, "[!] Use: /kick (id)");
        
    if(!IsPlayerConnected(id))
        return SendClientMessage(playerid, -1, "[!] ID não encontrado.");
    Kick(id);
    SendClientMessage(playerid, -1, "[!] Comando efetuado com sucesso.");
    return 1;
}
CMD:colete(playerid)
{
    SetPlayerArmour(playerid, 100.0);
    SendClientMessage(playerid, -1, "[!] Colete concedido com sucesso.");
    return 1;
} 
Código PHP:
public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
{
    if(!IsPlayerAdmin(playerid) && (flags & COMMAND_ADMIN))
    {
        SendClientMessage(playerid, -1, "[!] Você não tem permissão.");
        return 0;
    }
    return 1;
} 
- callcmd
 
Para forçar o player a usar algum comando basta usar callcmd, exemplo:
Código PHP:
#include Pawn.CMD
public OnPlayerSpawn(playerid)
{
    callcmd::colete(playerid);
    return 1;
}
CMD:colete(playerid)
{
    SetPlayerArmour(playerid, 100.0);
    SendClientMessage(playerid, -1, "[!] Colete concedido com sucesso.");
    return 1;
} 
Isso vai fazer com que o player seja "forçado" a nascer com 100.0 de colete.
• Inexistência do comando
Para mandar uma mensagem de erro se caso o comando não existir basta usar a public "OnPlayerCommandPerformed".
Código PHP:
public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
{
    if(result == -1)
    {
        SendClientMessage(playerid, -1, "[!] Comando inexistente.");
        return 0;
    }
    return 1;
} 
• Download & Creditos
Deixando novamente o download aqui no final e total créditos do criador:
Criador: kartusis (GitHub)
Download: Pawn.CMD releases (GitHub)

	   
	
