18.01.2011, 23:35
(
Последний раз редактировалось ipsBruno; 22.01.2011 в 16:23.
)
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
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.
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:
Portanto nгo foi necessбrio outras verificaзхes.
Cуdigos:
#Codнgo
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
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]
#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;
}
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
Crйditos:
Sistema de Comandos FeK Squad Commands й criado por:
# [FeK]DraKiNs
# DarK TeaM PT
Em Agradecimento geral a Equipe [FeK]Squad and DracoBlue