30.12.2010, 17:52
Introduзгo:
Olб,hoje vou ensinar como usar ZCMD com SSCANF,que й o melhor sistema de comandos que tem.
PRIMEIRO PASSOS:
Baixando SSCANF:
Clique aqui e baixe SSCANF PLUGIN
Apуs baixar mova o Plugin para pasta 'Plugins'.
No caso,eu nгo uso Include,simplesmente defino a funзгo nativa no Prуprio Game Mode..
Agora no Topo do GameMode:
Baixando ZCMD:
Apуs Toda isto vamos baixar o sistema de comandos
Clique Aqui para baixar Zeex Commands Include. (ZCMD)
Apуs baixar coloque a Include a coloque na pasta 'Pawno/Include'
e Coloque no Topo do Game Mode
Apуs isto vamos comeзar a criar o comando...
SEGUNDO PASSO:
Callback de ZCMD:
Vamos comeзar a usar ZCMD.
Primeiramente vamos modificar a CallBack
Delete a CallBack OnPlayerCommandText e todos seus Comandos e coloque:
sucess й a array referente a verificaзгo se o comando existe ou nгo e se foi executado corretamente.
Alн vocкs podem mudar a vontade para bloquear comandos e outras coisas.
LEMBRANDO OS COMANDOS NГO FICAM ALI DENTRO DESTA CALLBACK
Comeзando a usar comando:
Para usar comando й como se fosse uma Stock,sempre com RETURN TRUE;
Vamos lб:
Sempre que o comando nгo tiver /oi [id] ou /oi [texto] ou qualquer outro parametros devemos usar:
Neste caso ele rende a pessoa com animaзгo
Comando com Parametros + SSCAN:
Para usar SSCANF devemos usar com uma condicional,pois ele automaticamente jб retorna se foi tudo corretamente certo:
Veja o Comando:
Notem a Parte:
Assim devemos usar:
Para IDS / NOMES
A Letra "u" pega Nome de Players e converte em ID,tambйm pega a ID e deixa id assim podendo fazer
/comando [id/nome]
Para TEXTOS
A Letra "s" formata a string,lembrando que deve ter "s[lenght]", LENGHT й equivalente ao nъmero de caracteres,no caso coloquei [128]
/comando [texto]
Para NUMEROS
A Letra "d" pega nъmero apenas,tambйm pode ser usada apenas como ID,mas й preferнvel "u"
/comando [numero]
Simples,Rбpido e Fбcil.
Apуs implementar as Includes/Plugins,basta sair fazendo comandos,bem fбcil,mais fбcil que qualquer outro sistema.
Obrigado a Todos.
Agradeзo a Dark por me Indicar/Ensinar a usar ZCMD
Olб,hoje vou ensinar como usar ZCMD com SSCANF,que й o melhor sistema de comandos que tem.
PRIMEIRO PASSOS:
Baixando SSCANF:
Clique aqui e baixe SSCANF PLUGIN
Apуs baixar mova o Plugin para pasta 'Plugins'.
No caso,eu nгo uso Include,simplesmente defino a funзгo nativa no Prуprio Game Mode..
Agora no Topo do GameMode:
pawn Код:
native sscanf(const data[], const format[], {Float,_}:...);
native unformat(const data[], const format[], {Float,_}:...) = sscanf;
Apуs Toda isto vamos baixar o sistema de comandos
Clique Aqui para baixar Zeex Commands Include. (ZCMD)
Apуs baixar coloque a Include a coloque na pasta 'Pawno/Include'
e Coloque no Topo do Game Mode
pawn Код:
#include <zcmd>
SEGUNDO PASSO:
Callback de ZCMD:
Vamos comeзar a usar ZCMD.
Primeiramente vamos modificar a CallBack
Delete a CallBack OnPlayerCommandText e todos seus Comandos e coloque:
pawn Код:
public
OnPlayerCommandPerformed(playerid, cmdtext[], success)
{
static Name[24];
GetPlayerName(playerid,Name,24);
printf("[COMANDOS]: Player %s Digitou | Comando: %s",Name,cmdtext);
if (!success)
return SendClientMessage(playerid,0xFFFFFF,"[ERRO] Comando nгo Reconhecido");
return true;
}
Код:
!sucess = Nгo foi executado sucess = Foi Executado
LEMBRANDO OS COMANDOS NГO FICAM ALI DENTRO DESTA CALLBACK
Comeзando a usar comando:
Para usar comando й como se fosse uma Stock,sempre com RETURN TRUE;
Vamos lб:
pawn Код:
cmd(renderse,playerid,params[])
{
#pragma unused params
SetPlayerSpecialAction(playerid, 10);
SetPlayerSpecialAction(playerid, 10);
return true;
}
pawn Код:
#pragma unused params
Comando com Parametros + SSCAN:
Para usar SSCANF devemos usar com uma condicional,pois ele automaticamente jб retorna se foi tudo corretamente certo:
Veja o Comando:
pawn Код:
cmd(dance,iPlayer,params[])
{
if(sscanf(params, "d", id))
return SendClientMessage(iPlayer, AMARELO, "Use: /dance <id>");
if(id < 1 || id > 4)
return SendClientMessage(iPlayer, VERMELHO, "[ERRO] Estilos sгo vбlidos apenas [1~4]");
if(id == 1)
SetPlayerSpecialAction(iPlayer,5);
if(id == 2)
SetPlayerSpecialAction(iPlayer,6);
if(id == 3)
SetPlayerSpecialAction(iPlayer,7);
if(id == 4)
SetPlayerSpecialAction(iPlayer,8);
return true;
}
Notem a Parte:
pawn Код:
if(sscanf(params, "d", id))
return SendClientMessage(iPlayer, AMARELO, "Use: /dance <id>");
Para IDS / NOMES
pawn Код:
new id;
if(sscanf(params, "u", id))
/comando [id/nome]
Para TEXTOS
pawn Код:
new id[128];
if(sscanf(params, "s[128]", id))
/comando [texto]
Para NUMEROS
pawn Код:
new id;
if(sscanf(params, "d",id))
/comando [numero]
Simples,Rбpido e Fбcil.
Apуs implementar as Includes/Plugins,basta sair fazendo comandos,bem fбcil,mais fбcil que qualquer outro sistema.
Obrigado a Todos.
Agradeзo a Dark por me Indicar/Ensinar a usar ZCMD