bCMD - Processador de comandos (v1.8) -
RebeloX - 18.07.2012
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.
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;
Reformulei a syntax do bcmd, lembrando que й necessбrio colocar todos os parametros (playerid,params[],help), caso nгo coloque um erro ocorrerб no bcmd o que pode prejudicar o seu funcionamento.
[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;
}
Quando voce executar o comando, ao digitar /grana help ou /grana ajuda ele irб processar a condiзгo if(help){...}
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.
Esta benchmark й uma comparaзгo entre a versгo antiga (bcmd) e a versгo recente (bcmd2)
ChangeLog- 18/07/2012 - v1.0
- 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
- 17/12/2012 - v1.8
- Reparaзгo de um bug critico.
- Optimizaзгo do cуdigo.
- Reajuste no cуdigo.
- Nova syntax.
Download
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
- ******
- [iPs]Team
- Melhor equipe de programaзгo.
- SA-MP Team
- Team past, present and future - SA:MP.
- Paulo_Terror
- Tirou-me algumas duvidas.
- Stewie`
- Wiki SA-MP
- Tirou-me algumas duvidas.
- DraKiNs ou Bruno
- Ajudou-me em optimizaзгo.
Re: bCMD - Processador de comandos -
Don_Speed - 18.07.2012
Zika Mano
Re: bCMD - Processador de comandos -
RebeloX - 18.07.2012
Quote:
Originally Posted by Don_Speed
Zika Mano 
|
Obrigado
Re: bCMD - Processador de comandos -
paulor - 18.07.2012
Vamos analizar!
@Edit
Bem legal, dava para melhorar em certos aspectos, mais estб de Parabйns!
Re: bCMD - Processador de comandos -
Bruno Alves - 18.07.2012
Muito bom parabйns +REP
Re: bCMD - Processador de comandos -
RebeloX - 18.07.2012
Quote:
Originally Posted by paulor
Vamos analizar!
|
Esperando a analizaзгo do sr.paulor
Quote:
Originally Posted by Bruno Alves
Muito bom parabйns +REP
|
Obrigado
AW: bCMD - Processador de comandos -
billy the kid - 18.07.2012
E COMPLETAMENTE PERFEITO PARABENS!!!! vou usar pra ver como e ! ficou massa memo!
+ rep por vc espor seus conhecimentos aki com a gente !
Re: AW: bCMD - Processador de comandos -
RebeloX - 18.07.2012
Quote:
Originally Posted by billy the kid
E COMPLETAMENTE PERFEITO PARABENS!!!! vou usar pra ver como e ! ficou massa memo!
+ rep por vc espor seus conhecimentos aki com a gente !
|
Obrigado!
Re : bCMD - Processador de comandos -
ipsBruno - 18.07.2012
Usa CallLocalFunction, brother.

Muito bom o sistema )
-> PaStEbIN?
Re: bCMD - Processador de comandos -
Kuddy - 18.07.2012
Parabйns, уtimo sistema
AW: bCMD - Processador de comandos -
billy the kid - 18.07.2012
bini e do drakins ?
Re: bCMD - Processador de comandos -
F_Cinco - 18.07.2012
Parece ser уtimo, porйm, dificulta ao menos para mim estб diferenciando
bCMD
[]-() para colocar o nome do cmd. Se й q vc me entende. Mais com o tempo se acostuma.
Re: AW: bCMD - Processador de comandos -
RebeloX - 18.07.2012
Quote:
Originally Posted by [FeK]DraKiNs
Usa CallLocalFunction, brother.  Muito bom o sistema )
-> PaStEbIN? 
|
Nгo sabia da CallLocalFunction sйrio, obrigado
Depois coloco no Pastebin
Quote:
Originally Posted by Kuddy
Parabйns, уtimo sistema 
|
Obrigado Kuddy!
Quote:
Originally Posted by billy the kid
bini e do drakins ?
|
Desculpe, mas isto aqui nгo й discussхes sobre outras coisas...
Mas sim o bini й do drakins.
Quote:
Originally Posted by F_Cinco
Parece ser уtimo, porйm, dificulta ao menos para mim estб diferenciando bCMD[]-() para colocar o nome do cmd. Se й q vc me entende. Mais com o tempo se acostuma.
|
Sim, por isso que eu coloquei a outra forma, caso queira a forma basica й sу usar.
pawn Code:
bcmd:meucomando(playerid,params[]);
AW: bCMD - Processador de comandos -
billy the kid - 18.07.2012
Quote:
Desculpe, mas isto aqui nгo й discussхes sobre outras coisas...
Mas sim o bini й do drakins.
|
nao quis discutir sobre qual e melhor ou pior so queria saber se era dele pra mim tanto faz funcionando e o que importa!
Re: bCMD - Processador de comandos -
_.MeT4L._ - 18.07.2012
Mto bom Blue parabens.
Re: bCMD - Processador de comandos -
RebeloX - 18.07.2012
Quote:
Originally Posted by billy the kid
nao quis discutir sobre qual e melhor ou pior so queria saber se era dele pra mim tanto faz funcionando e o que importa!
|
Tudo bem...
Quote:
Originally Posted by _.MeT4L._
Mto bom Blue parabens.
|
Obrigado.
Re: bCMD - Processador de comandos -
CidadeNovaRP - 18.07.2012
Apenas mais um processador de comandos, prefiro o YCMD do que todos os outros, alias, o que muda em 50ms de diferenзa
Mesmo assim estб bom parabйns '-'
Re: bCMD - Processador de comandos -
Ricop522 - 18.07.2012
Quote:
Originally Posted by CidadeNovaRP
Apenas mais um processador de comandos, prefiro o YCMD do que todos os outros, alias, o que muda em 50ms de diferenзa
Mesmo assim estб bom parabйns '-'
|
Sua opiniгo nй,
Bom gonзalo! ; )
Re: bCMD - Processador de comandos -
sanalex - 18.07.2012
Posso nгo utilizб-lo agora, mas quem sabe futuramente, mesmo assim parabйns!
Re: bCMD - Processador de comandos -
RebeloX - 18.07.2012
Quote:
Originally Posted by CidadeNovaRP
Apenas mais um processador de comandos, prefiro o YCMD do que todos os outros, alias, o que muda em 50ms de diferenзa
Mesmo assim estб bom parabйns '-'
|
50 ms podem mudar muito, no inicio parece pouco, mas imagina que sгo 10 players que executam 1 comando, entгo ai jб sгo 500ms, agora faзa as contas, mas й sua opiniгo claro, eu ainda quero colocar o comando mais dinвmico
Mesmo assim obrigado!
Quote:
Originally Posted by Ricop522
Bom gonзalo! ; )
|
Obrigado Ricardo!
Quote:
Originally Posted by sanalex
Posso nгo utilizб-lo agora, mas quem sabe futuramente, mesmo assim parabйns!
|
Obrigado na mesma!