• Introduзгo
Ola pessoal do forum SAMP, estou trazendo um tutorial de como usar o processador de comandos PawnCMD
para a Board PT/BR do forum pois vejo que poucos membros falar sobre e usar.
Apesar de bem simples muitos nгo conhecem ainda ou tem receio de usб-la.
Ja uso a algum tempo e recomendo, bem simples de usar e na minha opniгo bem mais rбpido e prбtico.
Pawn.CMD - um novo processador de comando que funciona atravйs de um plugin.
Este plugin й compatнvel com qualquer versгo do SA:MP.
Seu uso e bastante parecido com ZCMD, porem nos testes do autor,
a PawnCMD se destaca na velocidade de resposta comparada entre os outros processadores de comandos.
Veja a imagem: (atraso entre RPC_ServerCommand receber e chamada cmd_test (1k comandos))
• Instalaзгo
Para comeзar, devemos baixar a versгo atualizada do Plugin/Include Download
Код:
Adicionar a include na pasta include do Pawno.
Код:
Adicionar o plugin na pasta plugins na raiz do servidor. .dll se for windowns
Код:
.so se for Linux.
Edite "server.cfg" e adicione pawncmd na linha plugins.
• Exemplo de uso
Exemplo de uso com comando simples sem uso de parametros:
PHP код:
Exemplo de uso com paramentros. Usaremos sscanf para exemplo:
PHP код:
Simples não é ?
• Uso de comandos adicionais
Para usar comandos adicionais com a mesma funзхes usaremos alias exemplos:
PHP код:
• Uso de restriзхes em comandos
Para criar restriзгo nos comandos podemos usar a callback OnPlayerCommandReceived
Veja exemplos:
• Inexistencia de comando digitado
Use a callback OnPlayerCommandPerformed para o player receber a mensagem de inexistencia de comando:
• Forзar player a usar o comando
Use callcmd para forзar player a usar um determinado comando:
PHP код:
• Download & Creditos
Download GitHub
Criador da PawnCMD: YourShadow
Qualquer dъvida e erros por favor me informar.
Ola pessoal do forum SAMP, estou trazendo um tutorial de como usar o processador de comandos PawnCMD
para a Board PT/BR do forum pois vejo que poucos membros falar sobre e usar.
Apesar de bem simples muitos nгo conhecem ainda ou tem receio de usб-la.
Ja uso a algum tempo e recomendo, bem simples de usar e na minha opniгo bem mais rбpido e prбtico.
Pawn.CMD - um novo processador de comando que funciona atravйs de um plugin.
Este plugin й compatнvel com qualquer versгo do SA:MP.
Seu uso e bastante parecido com ZCMD, porem nos testes do autor,
a PawnCMD se destaca na velocidade de resposta comparada entre os outros processadores de comandos.
Veja a imagem: (atraso entre RPC_ServerCommand receber e chamada cmd_test (1k comandos))
• Instalaзгo
Para comeзar, devemos baixar a versгo atualizada do Plugin/Include Download
Код:
- Código:
Pawn.CMD.inc
Adicionar a include na pasta include do Pawno.
Код:
- Código:
pawncmd.dll
Adicionar o plugin na pasta plugins na raiz do servidor. .dll se for windowns
Код:
- Código:
pawncmd.so
.so se for Linux.
Edite "server.cfg" e adicione pawncmd na linha plugins.
• Exemplo de uso
Exemplo de uso com comando simples sem uso de parametros:
PHP код:
- Código:
#include <Pawn.CMD>
CMD:jetpack(playerid, params[]) // comando simples para criar uma jetpack
{
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid, -1, "Jetpack criada com sucesso.");
return 1;
}
CMD:colete(playerid, params[]) // comando simples para criar um colete
{
SetPlayerArmour(playerid, 100);
SendClientMessage(playerid, -1, "Colete adicionado com sucesso.");
return 1;
}
Exemplo de uso com paramentros. Usaremos sscanf para exemplo:
PHP код:
- Código:
#include <Pawn.CMD>
#include <sscanf2>
CMD:kick(playerid, params[])
{
new ID;
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "Uso correto /kick [ID]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "Erro, id invalido.");
SendClientMessage(playerid, -1, "Comando efetuado com sucesso.");
SendClientMessage(ID, -1, "Vocк foi kickado por um admin.");
SetTimerEx("Kickar", 100, false, "i", ID);
return 1;
}
forward Kickar(playerid);
public Kickar(playerid) return Kick(playerid);
Simples não é ?
• Uso de comandos adicionais
Para usar comandos adicionais com a mesma funзхes usaremos alias exemplos:
PHP код:
- Código:
CMD:jetpack(playerid, params[]) // comando simples para criar uma jetpack
{
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid, -1, "Jetpack criada com sucesso.");
return 1;
}
alias:jetpack("criarjetpack", "cjet"); // Ou seja, /criarjetpack ou /cjet tem a mesma funзгo que /jetpack
• Uso de restriзхes em comandos
Para criar restriзгo nos comandos podemos usar a callback OnPlayerCommandReceived
Veja exemplos:
- Código:
#include <Pawn.CMD>
#include <sscanf2>
new CMD_ADMIN = 1;
flags:jetpack(CMD_ADMIN); // Use flags:cmd(CMD_ADMIN) para restringir o comando, lembre se de criar a restriзгo em OnPlayerCommandReceived
flags:kick(CMD_ADMIN);
CMD:jetpack(playerid, params[])
{
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid, -1, "Jetpack criada com sucesso.");
return 1;
}
CMD:kick(playerid, params[])
{
new ID;
if(sscanf(params, "u", ID)) return SendClientMessage(playerid, -1, "Uso correto /kick [ID]");
if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, -1, "Erro, id invalido.");
SendClientMessage(playerid, -1, "Comando efetuado com sucesso.");
SendClientMessage(ID, -1, "Vocк foi kickado por um admin.");
SetTimerEx("Kickar", 100, false, "i", ID);
return 1;
}
- Código:
public OnPlayerCommandReceived(playerid, cmd[], params[], flags)
{
if((flags & CMD_ADMIN) && Admin[playerid] == 0) // Deve se trocar "Admin[playerid]" pela variavel de admin usada em seu GM.
{
SendClientMessage(playerid, -1, "Erro, comando restrito a administradores.");
return 0;
}
return 1;
}
• Inexistencia de comando digitado
Use a callback OnPlayerCommandPerformed para o player receber a mensagem de inexistencia de comando:
- Código:
public OnPlayerCommandPerformed(playerid, cmd[], params[], result, flags)
{
if(result == -1)
{
SendClientMessage(playerid, -1, "Erro, comando inexistente.");
return 0;
}
return 1;
}
• Forзar player a usar o comando
Use callcmd para forзar player a usar um determinado comando:
PHP код:
- Código:
public OnPlayerSpawn(playerid)
{
callcmd::jetpack(playerid, ""); // exemplo forзaremos o player usar o comando /jetpack quando ele spawnar
return 1;
}
CMD:jetpack(playerid, params[])
{
SetPlayerSpecialAction(playerid, 2);
SendClientMessage(playerid, -1, "Jetpack criada com sucesso.");
return 1;
}
• Download & Creditos
Download GitHub
Criador da PawnCMD: YourShadow
Qualquer dъvida e erros por favor me informar.