dCMD - Processador de comandos - 
DanDRT -  13.02.2015
 dCMD - Processador de comandos
Basicamente o uso й igual ao do ZCMD.
Testes de velocidade:
Nгo fiz pensando em ser mais veloz, fiz apenas no intuito de testar o que eu sei(nгo tenho certeza sobre a precisгo dos testes).
10000 interaзхes
Nem sempre й mais rapida e nem sempre mais lenta - Pastebin (usei no teste)
Com Params
PHP Code:
146ms - DCMD
155ms - ZCMD
154ms - DCMD
152ms - ZCMD 
 Sem Params
PHP Code:
126ms - DCMD
124ms - ZCMD
126ms - DCMD
131ms - ZCMD 
 Include:
PHP Code:
#if defined _dcmd_included
    #endinput
#endif    
#define _dcmd_included
#define COMMAND:%1(%2)          \
            forward dcmd_%1(%2); \
            public dcmd_%1(%2)
#define CMD:%1(%2) \
            COMMAND:%1(%2)
#define command(%1,%2,%3) \
            COMMAND:%1(%2, %3)
#define cmd(%1,%2,%3) \
            COMMAND:%1(%2, %3)
#if !defined isnull
    #define isnull(%1) \
                ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
#endif
 
static __c, __command[32] = "dcmd_";
forward OnPlayerCommandPerfomed(playerid, sucess);
public OnPlayerCommandText(playerid, cmdtext[]) 
{ 
    __command = "dcmd_",
    __c = 0;
 
    while(cmdtext[++__c] > 0x20)
    if(0x41 <= cmdtext[__c] <= 0x5A)
        cmdtext[__c] = tolower(cmdtext[__c]);
    strcat(__command, cmdtext, __c+6);
    strdel(__command, 5, 6);
    if(!cmdtext[__c])
        return CallLocalFunction("OnPlayerCommandPerfomed", "ii", playerid, CallLocalFunction(__command, "is", playerid, "\1")), true;
    
    return CallLocalFunction("OnPlayerCommandPerfomed", "ii", playerid, CallLocalFunction(__command, "is", playerid, cmdtext[__c+1])), true;
} 
 Pastebin
Pra retornar a mensagem de que um comando nгo existe vocк pode utilizar (public obrigatуria):
PHP Code:
public OnPlayerCommandPerfomed(playerid, sucess)
{
    if(!sucess)
        return SendClientMessage(playerid, 0xFF0000AA, "ERRO: Comando Invalido!");
    return 1;
} 
 Crйditos:
DanDRT - Include.
Agradecimentos:
JonathanFeitosa - Ajudou-me nos testes e deu-me algumas dicas.
-
Me esforcei pra fazer, espero que se forem criticar que faзam crнticas construtivas. 
Re: dCMD - Processador de comandos - JkS -  13.02.2015
Vou testar amanhг depois em um dos meus filterscripts. 

Mais parece que ficou bom 

Parabйns.
3 Publicaзхes em Release de uma lapada sу hsaushaushuashuashu
Re: dCMD - Processador de comandos - 
WLSF -  13.02.2015
Bom, primeiramente parabйns, й sempre bom manter os estudos em dia, no mais, a include estб simples e nгo contйm os mesmos features da ZCMD para estar batendo a mesma velocidade, entгo nгo hб benefнcios em usa-la, correto ?
Re: dCMD - Processador de comandos - 
ipsLuan -  13.02.2015
Parabйns pela include.
Re: dCMD - Processador de comandos - 
DanDRT -  13.02.2015
Quote:
| 
					Originally Posted by Willian_Luigi  Bom, primeiramente parabйns, й sempre bom manter os estudos em dia, no mais, a include estб simples e nгo contйm os mesmos features da ZCMD para estar batendo a mesma velocidade, entгo nгo hб benefнcios em usa-la, correto ? | 
 nгo fiz pra bater velocidades, fiz mais para testar o que eu sei :v
Quote:
| 
					Originally Posted by xCR7  Parabйns pela include. | 
 Obrigado :v
Re: dCMD - Processador de comandos - 
PT -  13.02.2015
Quote:
| 
					Originally Posted by Willian_Luigi  Bom, primeiramente parabйns, й sempre bom manter os estudos em dia, no mais, a include estб simples e nгo contйm os mesmos features da ZCMD para estar batendo a mesma velocidade, entгo nгo hб benefнcios em usa-la, correto ? | 
 Nao, porem й bom ver que o povo aqui esta fazendo para estudar e nao fazer so por fazer.
Como eu vejo muitos fazendo so por fazer ai coisas que chamam de "tutoriais".
Re: dCMD - Processador de comandos - 
WLSF -  14.02.2015
Quote:
| 
					Originally Posted by DanDRT  nгo fiz pra bater velocidades, fiz mais para testar o que eu sei :v | 
 Foi oque se passou pela minha cabeзa, por isso fiz a pergunta. Podia ter citado isso no tуpico, alguns usuбrios nгo tem o conhecimento para avaliar a melhoria entre includes, e as vezes sу olham o tуpico e jб pensam em adotar por pensar ser melhor... Esses detalhes vocк (criador da include) tem que explicar... 
 
Assim como por exemplo, para usar a sua include o usuбrio tem que obrigatуriamente criar uma public OnPlayerCommandPerfomed, se nгo a mesma nгo funcionarб e possivelmente irб gerar erros...
Entende ? Vocк precisa detalhar o uso e os seus devidos benefнcios.
Quote:
| 
					Originally Posted by PT  Nao, porem й bom ver que o povo aqui esta fazendo para estudar e nao fazer so por fazer.
 Como eu vejo muitos fazendo so por fazer ai coisas que chamam de "tutoriais".
 | 
 Й уbvio que й bom, por isso foi uma das primeiras coisas que citei, caso vocк nгo saiba ler... ^^
Re: dCMD - Processador de comandos - 
GM_KoDi -  14.02.2015
Parabйns pela include DanDRT, testarei isso em breve 
 
Re: dCMD - Processador de comandos - 
DanDRT -  14.02.2015
Quote:
| 
					Originally Posted by Willian_Luigi  Foi oque se passou pela minha cabeзa, por isso fiz a pergunta. Podia ter citado isso no tуpico, alguns usuбrios nгo tem o conhecimento para avaliar a melhoria entre includes, e as vezes sу olham o tуpico e jб pensam em adotar por pensar ser melhor... Esses detalhes vocк (criador da include) tem que explicar...    
Assim como por exemplo, para usar a sua include o usuбrio tem que obrigatуriamente criar uma public OnPlayerCommandPerfomed, se nгo a mesma nгo funcionarб e possivelmente irб gerar erros...
 
Entende ? Vocк precisa detalhar o uso e os seus devidos benefнcios.
 
Й уbvio que й bom, por isso foi uma das primeiras coisas que citei, caso vocк nгo saiba ler... ^^ | 
 Corrigido 
 
Re: dCMD - Processador de comandos - 
Dolpin -  15.02.2015
Nossa, atй que enfim um trabalho decente nessa board(ultimamente), onde nesta board um mero "tutorial" tenha mais feedback do que um trabalho de verdade(como o seu).
Primeiramente, analisei seu cуdigo, e analisei com outros processadores, vocк deu mais ou menos uma minimizada, mas de cara dб para ver que foi vocк fez.
Se eu trabalhasse com o Pawn ainda, eu realmente iria dar uma estudada em seu cуdigo, que apesar de nгo estб longo(nгo que isso significa alguma coisa), conseguiu ser mais 'eficiente' que atй o prуprio zCMD, porйm ele(zCMD) contйm mais coisas, mas nгo й o caso comparar os 2, mas de fato seu trabalho, depois do ъltimo trabalho Willian, й com certeza o melhor.
Parabйns Dan.
Re: dCMD - Processador de comandos - 
JonathanFeitosa -  15.02.2015
A include estб legal e interessante de ser estudada. Jб dei rep. ^^