[Ajuda] Sub Comandos
#1

Uma duvida, como crio sub comandos do tipo

/celular >
ligar [numero]

sub comandos eu sei, mais com algo a mais depois [exemplo] do sub-comando nгo...

E a proposito nгo achei nenhum tutorial sobre o mesmo, por isso estou perguntando
Reply
#2

vocк quer dizer "/celular ligar numero" ?

vocк pode fazer um sscanf nos parвmetros, bem bбsico.

pawn Код:
new t[10], n;
sscanf(params, "s[10]d", t, n);
if (!strcmp(t, "ligar"))
    printf("Telefone: %d", n);
Reply
#3

E se no caso eu quisesse fazer da seguinte forma

/celular ligar numero
/celular atender
/celular recusar

em diante..

por que creio eu que assim verificaria todos os sub cmds de ter algo depois dele, ou nгo?

ps: Obrigado por ajudar hehe
Reply
#4

Pode usar um strfind, ao invйs de strcmp...

pawn Код:
new t[30];
sscanf(params, "s[30]", t);
if (!strfind(t, "ligar")) {
    new n;
    sscanf(t, "d", n);
    printf("Telefone: %d", n);
}
Porйm, nгo acho que seja a melhor soluзгo.
Reply
#5

Qual seria entгo, nгo usar sub comandos?
Reply
#6

Eu estava me referindo ao cуdigo exemplar que eu usei, foi a primeira coisa que passou pela minha cabeзa, utilizar strfind, porйm se vocк utilizar strfind, dependendo da forma como tratar, pode ocorrer erros caso o usuбrio digite "/celular ligar atender recusar"

Mas vocк pode tentar fazer assim mesmo, como citei no exemplo.

Modele o seu problema primeiro, isso me ajuda muito quando tenho algo a fazer. Por exemplo, alguns subcomandos exigem outros parвmetros, como por exemplo 'ligar' exige um nъmero, e 'atender' nгo, logo vocк nгo pode utilizar o strcmp, pois se tiver o parвmetro nъmero na string geral, a comparaзгo de 'ligar' com 'ligar numero' serб claramente falsa.
Reply
#7

@edit

tem algum tutorial sobre o uso de strfind?
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)