їAlguno sabe como crear comandos con "Espacios"?
#7

Quote:
Originally Posted by the_chaoz
Посмотреть сообщение
Aqui un esquema casi completo:
pawn Код:
if(!strcmp(cmdtext, "/micomando", true, strlen("/micomando")))//comparamos solo la primer parte del string => ver funcionamiento de strcmp
{
    new
        idx = strlen("/micomando") + 1;//Indicamos en una variable la posicion a partir de la cual leeremos
       
    print(cmdtext[idx]);
    if(!strcmp(cmdtext[idx], "opcion 1", true))
    {
        //accion 1
        printf("opcion 1");
    }
    else if(!strcmp(cmdtext[idx], "opcion 2", true))
    {
        //accion 2
        printf("opcion 2");
    }
    else
    {
        //accion 3
        printf("error");
    }
    return 1;
}
La idea es evitar el uso de strtok y a su vez poder tener opciones de textos con espacios si quisieramos, por este motivo, accedemos directamente al string desde la posicion que nos interesa, en este caso omitiriamos todo el texto en rojo: "/micomando {este texto que sigue a lo rojo es variable}"

PD: podrias tranquilamente crear un comando que sea: "/hola a todos" de la siguiente forma:
pawn Код:
if(!strcmp(cmdtext, "/hola a todos", true))
Esto se debe a que la funcion strcmp compara texto caracter a caracter y los espacios, son caracteres validos.
Muchas gracias The_Chaoz por esa forma, no se me habнa ocurrido y nunca la habнa visto.

Saludos!
Reply


Messages In This Thread

Forum Jump:


Users browsing this thread: 1 Guest(s)