[FilterScript] Simples Processador de Comandos (Usando Strtok)
#1


Por DraKoN
Introduзгo:
Oi Galerinha estava aqui mexendo na Strtok e vendo algumas coisas interessantes entгo resolvi criar um Processador de Comandos usando ela,й muito simples e praticamente o mesmo que outros porйm achei mais simples de mexer nela..

Cуdigo:
O Cуdigo й Muito Simples nem necessita colocar para Download pelo fato de ser simples 8 Linhas (como disse muito simples)
Aqui o Cуdigo Basta Adicionar ao Topo ou Final GameMode dependendo do uso e posiзхes das CallBacks de comandos

pawn Код:
#define CMD:(%1) if(!strcmp(cmd,%1, true))
#define UsarProcessador new cmd[128],idx;cmd = Processar(cmdtext, idx);
#define UsarParametros new tmp[128],idxp;tmp = Processar(cmdtext, idxp);
Processar(const s[], &i)
{
    new l = strlen(s);while ((i < l) && (s[i] <= ' ')) {
    i++;}new o = i;new r[20];while ((i < l) && (s[i] > ' ') && ((i - o) < (sizeof(r) - 1))) {
    r[i - o] = s[i];i++;}r[i - o] = EOS; return r;
}
Usando:
Para usar deve ser da Seguinte Forma:

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    UsarProcessador // Indica que Irб processar os Comandos
    CMD:("/cmd1") // Comando desta forma "CMD:("/COMANDO") "
    {
        UsarParametros //Indica que usaram parвmetros para /comandos [id] ,etc..
        printf("Vocк Digitou '/cmd1 %s",tmp);//Faz uma impressгo como exemplo do que digitamos
    }
    return 0;
}
Cуdigos Complementares:
Bom caso queira colocar mensagem do tipo, "Player OFF-LINE" ou Caracter Invalido,algo do Tipo faзa Assim:

pawn Код:
if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid,0x08005,"O player Esta OFF-LINE");
if(!strlen(tmp)) return SendClientMessage(playerid,0x08005,"Digite /comando [id]|[texto]");
if(strval(tmp) == playerid) return SendClientMessage(playerid,0x08005,"Nгo pode usar esse comando em si mesmo");
( Como Podem Ver 'tmp' й o que o player Digitarб apуs o Comando )

Espero que tenham Gostado й bem Simples de se mexer,Bug? Envie uma PM para mim,irei testar a Corrigi-lo

CRЙDITOS A DRAKON
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 3 Guest(s)