18.07.2012, 20:17
(
Последний раз редактировалось RebeloX; 17.12.2012 в 20:35.
Причина: New Version (v1.8)
)
bCMD
"Novo processador de comandos"
Depois de ter desenvolvido o bcmd eu deparei-me com vбrios problemas no cуdigo e com bugs crнticos, prometi resolver esses bugs, mas com alguma preguiзa minha nгo resolvi os bugs, depois veio a escola e ainda pior, mas agora chegou as fйrias e jб algum tempo estava a editar ele, estava a desenvolver a versгo 2.0, mas antes disso necessitei de fazer um upgrade para a versгo 1.8, acho que seria mais importante, do que criar outras coisas nгo tгo importantes, mas bem, o bcmd й um processador de comandos, processado por via CallLocalFunction, o comando cria callbacks o que torna mais rбpido a sua execuзгo."Novo processador de comandos"
Syntaxs
pawn Код:
bCMD[nome_do_comando]>(playerid:params[]:help) return 1;
CMD::nome_do_comando(playerid,params[],help) return 1;
cmd(nome_do_comando:playerid,params[],help) return 1;
[pawn]
Help
Este sistema й idкntico ao YCMD, alguns membros pediram-me para adicionar e eu adicionei em umas versхes anteriores.
exemplo de uso:
pawn Код:
bCMD[grana]>(playerid:params[]:help) {
if(help)
return SendClientMessage(playerid,-1,"Este comando й usado para dar dinheiro, ex: /grana 100");
if(isnull(params)
return SendClientMessage(playerid,-1,"USE: /grana [valor]");
GivePlayerMoney(playerid,strval(params));
return 1;
}
AVISO: Lembre-se que й necessбrio colocar a condiзгo if(help) primeiro que if(isnull) ou if(sscanf(...))
CallBacks
Quando o comando й chamando tambйm й chamada a funзгo OnPlayerCallCommand, vocк pode usa-lo e verificar se o comando existe ou nгo, exemplo:
pawn Код:
public OnPlayerCallCommand(playerid,cmdtext[],sucess){
if(!sucess) {
new result[128];
format(result,sizeof(result),"O comando %s nгo existe",cmdtext);
SendClientMessage(playerid,-1,result);
}
return 1;
}
BenchMarks
Todas as benchmarks anteriores foram consideradas com nulas, apуs eu ter descoberto que benchmark do slice mostra quantas vezes uma funзгo pode ser executada em um ms(milissegundo)
Код:
Bench for bcmd2: executes, by average, 236.99 times/ms. Bench for bcmd: executes, by average, 98.40 times/ms.
ChangeLog
- 18/07/2012 - v1.0
- Lanзameto
- 19/07/2012 - v1.1 (BETA)
- Optimizaзгo do cуdigo.
- Perda de velocidade, nгo era essa minha intenзгo, logo depois estarei reparando isso.
- Nova forma de usar comandos, agora em vez de usarmos /meucommando podemos usar !meucommando ou @meucommando (mais informaзхes veja no topo)
- 20/07/2012 - v1.2
- Optimizaзгo
- Mais velocidade.
- 21/07/2012 - v1.3
- Reparaзгo de bugs, agradecimentos ao paulor por ter reportado!
- Optimizaзгo
- Mais um pouco de velocidade, nгo muita.
- 27/07/2012 - v1.4
- Reparaзгo de bugs crнticos.
- Adicionado o parвmetro help. (veja como funciona no topo do tуpico)
- 30/07/2012 - v1.5
- Reparaзгo de bugs crнticos. Obrigado Paulo!
- Optimizaзгo, agradecimentos ao bruno por me falar sobre o funcidx.
- Agora tambйm detectamos a palavra "ajuda" (ver na parte do help)
- 30/07/2012 - v1.6
- Optimizaзгo do cуdigo.
- Agora tambйm й chamada a OnPlayerCallCommand caso o comando exista
- 22/08/2012 - v1.7
- Resoluзгo de bugs.
- 17/12/2012 - v1.8
- Reparaзгo de um bug critico.
- Optimizaзгo do cуdigo.
- Reajuste no cуdigo.
- Nova syntax.
Download-Pastebin v1.8
Pastebin v1.7
Pastebin v1.6
Pastebin v1.5
Pastebin v1.4
Pastebin v1.3
Pastebin v1.2
Pastebin v1.1
Download - Pastebin v1.0
Nota: Versгo 1.0 nгo estб para download por causa dos links corrompidos e nгo tenho o mesmo link, as outras versхes deixo apenas o pastebin
BUG'S
Testei muitas vezes para ver se existia qualquer bug, mas nгo detetei nenhum bug, porйm eu testei apenas por via console, pois nгo conseguia entrar InGame devido a problemas internos do meu bonito computador, enfim, penso que nгo existem bugs, mas caso encontre um bug reporte-me por PM ou aqui no tуpico.
Crйditos
- ZeeX
- Criador do ZCMD e deu-me a luz para o inicio da include.
- BlueX
- Criador da include.
- ******
- Criador do sscanf
- [iPs]Team
- Melhor equipe de programaзгo.
- SA-MP Team
- Team past, present and future - SA:MP.
- Paulo_Terror
- Tirou-me algumas duvidas.
- Stewie`
- Um grande amigo.
- Wiki SA-MP
- Tirou-me algumas duvidas.
- DraKiNs ou Bruno
- Ajudou-me em optimizaзгo.