[Include] fCommand - (Multiparвmetros e Rбpido) [2.0]
#1

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
Reply
#2

Boa Include !
Parabйns !
Vou parar de usar zcmd pra usar fcmd
Reply
#3

Wow...
Jб estб em minha gamemode '-'

Dragгozinho sempre ajudando o povo do fуrum
Reply
#4

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..)
Reply
#5

Legal.
Reply
#6

Mell Deosss arregaзo agora cat 100/100 alucinou euri.

parabйns.
Reply
#7

Obrigado ベータ版 マスター pela Mirror em Inc
Reply
#8

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!
Reply
#9

ZCMD Atй ontem era o mais rбpido sistema de comandos Kyle,rs.
Reply
#10

sim eu e tu ja falamos sobre isso...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)