fCommand - (Multiparвmetros e Rбpido) [2.0] -
ipsBruno - 18.01.2011
Introduзгo:
Oi gente.
Hoje venho publicar meu sistema de comandos criado juntamente com Dark TeaM PT.
Este sistema de comandos tem suporte a MultiParametros assim nгo precisando de sscanf,strtok e similares.
Acessibilidade:
#Multi-Parametros:
Ele tem um avanзado sistema base explode e split.
ELe funciona com Multi-Parвmetros,assim sendo muito mais fбcil a quem usa.
@Exemplo:
#Comando:
/vida 0 100
Код:
/vida = iParams[0]
0 = iParams[1]
100 = iParams[2]
Assim a partir do parametros '1' ele pegarб todos espaзos e farб as divisхes,tudo isto no prуprio sistema de comandos,ficando mais acessнvel.
#Acessibilidade de Comandos:
Assim como ZCMD ele й criado todos comandos fora que qualquer public,como se fosse uma Stock.
pawn Код:
fcmd(comando,playerid)
{
return true;
}
Assim facilitando a todos que usam.
Velocidade:
#Modo:
fCommand ultiliza a mesma base do zcmd.
Sгo basicamente CallLocalFunctions que redirecionam para CallBack,assim sem necessitar strcmp para comparar
o comando,pois tudo й feito atravйs de chamadas nas mesmas,no caso de a callback nгo existir ele automбticamente
retorna false,assim sendo uma velocidade incomparбvel a outros sistemas de comandos
#Comparaзхes
Infelizmente nгo fiz comparaзхes com outros sistemas de comandos,apenas com o mais rбpido zcmd
Segundo DarK TeaM PT:
Код:
# ZCMD - 52
# FCMD - 25
Portanto nгo foi necessбrio outras verificaзхes.
Cуdigos:
#Codнgo
pawn Код:
#define fcmd(%1,%2) \
forward fcmd_%1(%2); \
public fcmd_%1(%2)
#define MaxFrequence (025)
#define MaxParameter (064)
#define MaxFunctions (032)
#define MaxLenString (128)
new
sIndex = 0,
iLenPart = 0,
iPosPart = 0,
iStrMid = 0,
iLenght = 0,
cmds[ MaxFunctions ]
;
public OnFilterScriptInit()
{
OnPlayerCommandText(0,"/me Hoje me sinto bem");
return true;
}
public OnPlayerCommandText(playerid,cmdtext[])
{
//Here you can write cmds witout params!
return DelimiterCommand(playerid,cmdtext);
}
new iParams[ MaxFrequence ][ MaxParameter ],iTotalParams[MaxLenString];
stock
DelimiterCommand(playerid,sStringSource[])
{
iLenght = strlen(sStringSource);
sIndex = 0;
iLenPart = 0;
iPosPart = 0;
iStrMid = 0;
for(new aIndex = 1; aIndex < MaxFrequence; ++aIndex) iParams[aIndex][0] = '\0';
iTotalParams[0] = '\0';
while(sIndex <= iLenght)
{
if(sStringSource[sIndex] == ' ' && sStringSource[sIndex - 1] != ' ' || sIndex == iLenght)
{
iStrMid = strmid(iParams[iPosPart], sStringSource, iLenPart, sIndex, 128);
iParams[iPosPart][iStrMid] = 0,iLenPart = (sIndex + 1), ++iPosPart;
if(iPosPart == 1)
format(iTotalParams,MaxLenString, "%s",sStringSource[sIndex]);
}
++sIndex;
}
format(cmds, sizeof cmds,"fcmd_%s",iParams[0][1]);
return CallLocalFunction(cmds,"i",playerid);
}
//iTotalParams = All Params in One String
//iParams[id] = Only one Parameter
ou Entгo
Clique aqui para Download
Crйditos:
Sistema de Comandos FeK Squad Commands й criado por:
#
[FeK]DraKiNs
#
DarK TeaM PT
Em Agradecimento geral a Equipe [
FeK]Squad and DracoBlue
Re: fCmd (Suporta Multiparвmetros) -
[FeK]Knife - 18.01.2011
Boa Include !
Parabйns !
Vou parar de usar zcmd pra usar fcmd
Re: fCommand (Suporta Multiparвmetros) -
PsyShotter - 18.01.2011
Wow...
Jб estб em minha gamemode '-'
Dragгozinho sempre ajudando o povo do fуrum
Respuesta: fCommand (Suporta Multiparвmetros) -
ipsBruno - 18.01.2011
PsyShotter
O povo e a pova
Companheiros e Companheiras.
Knife
Valeu Knife,aguardo Tutorial,tem gente que nгo vai entender,apesar de ser o sistema mais prбtico
Ah,se dar Unknow Command me avisem (to sem GTA nгo posso testar..)
Resposta. -
ベータ版 マスター - 19.01.2011
Legal.
Re: fCommand (Suporta Multiparвmetros) -
[NWD]Jim._.Carrey - 19.01.2011
Mell Deosss arregaзo agora cat 100/100 alucinou euri.
parabйns.
Respuesta: fCommand (Suporta Multiparвmetros) -
ipsBruno - 19.01.2011
Obrigado ベータ版 マスター pela Mirror em Inc
Re: fCommand (Suporta Multiparвmetros) -
SlashPT - 19.01.2011
EXCELENTE trabalho vou para de usar ZCMD... pois OnPlayerRcon e tudo й anulado... e este e mt facil de utilizar nunca tinha pensado numa coisa assim!!
so uma coisa podes fazer testes de velocidade?
pk se nao ouver mt diferenзa irei usar de certeza!
mais uma vez excelente trabalho e obrigado por partilhares!
Respuesta: fCommand (Suporta Multiparвmetros) -
ipsBruno - 19.01.2011
ZCMD Atй ontem era o mais rбpido sistema de comandos Kyle,rs.
Re: fCommand (Suporta Multiparвmetros) -
SlashPT - 19.01.2011
sim eu e tu ja falamos sobre isso...