• 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 YourShadow 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.
Seu uso é muito parecido com o ZCMD, porém com um alto destaque na sua velocidade de respostas ao processar os comandos, isso sendo comprovado pelo autor do plugin que fez os seguintes testes:
• Instalação
Para começar, acesse o link do GitHub para baixar a include/plugin mais atualizada.
Download: Pawn.CMD 3.3.3 (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 YourShadow 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.
Seu uso é muito parecido com o ZCMD, porém com um alto destaque na sua velocidade de respostas ao processar os comandos, isso sendo comprovado pelo autor do plugin que fez os seguintes testes:
• Instalação
Para começar, acesse o link do GitHub para baixar a include/plugin mais atualizada.
Download: Pawn.CMD 3.3.3 (GitHub)
- Pawn.CMD.inc » Adicione a include na pasta Include do Pawno.
- pawncmd.dll » Se caso você utiliza Windows, adicione o plugin (.dll) na pasta plugins na pasta raiz do seu servidor.
- pawncmd.so » Se caso você utiliza Linux, adicione o plugin (.so) na pasta plugins na pasta raiz do seu servidor.
Para funcionar você deve adicionar uma linha chamada "plugins" no arquivo "server.cfg" e na frente da linha você escreve: pawncmd
• Usando
Um exemplo simples sem usar parâmetros:
Código PHP:• Usando
Um exemplo simples sem usar parâmetros:
- Código:
#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:
#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:
#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:
#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:
- Código:
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:
#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:
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:
Pawn.CMD (GitHub)
Creditos: YourShadow