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. ^^