• 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)