[Ajuda] com SSCANF!
#1

Aн pessoal.. venho de novo pedir a ajuda com o SSCANF... quero fazer um comano com parвmetros e sub-parвmetros, alguйm pode me ajudar?

Por exemplo:

/vender [arma/droga/remйdio]

aн os sub-parвmetros pra droga e remйdio sгo [quantidade] e [preзo]

Porйm, para arma, os sub-parвmetros sгo [nome] e [preзo].

Algo mais ou menos assim:

pawn Код:
YCMD:vender(playerid, params[], pHELPS) // TERMINAR
{
    new Fun[15];

    if(sscanf(params, "s[12]", Fun))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender [droga/medicamento/arma]");
        return 1;
    }
    if(!strcmp(Fun, "droga"))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender droga [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(!strcmp(Fun, "medicamento"))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender medicamento [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(!strcmp(Fun, "arma"))
    {
        new nome[15], price;

        if(sscanf(params, "s[15]d", nome, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender arma [nome] [preзo]");
            return 1;
        }
        return 1;
    }
    return 1;
}
Sу que dessa maneira nгo funciona... help?!

Muito obrigado.
Reply
#2

Quote:
Originally Posted by SuperChock
Посмотреть сообщение
Aн pessoal.. venho de novo pedir a ajuda com o SSCANF... quero fazer um comano com parвmetros e sub-parвmetros, alguйm pode me ajudar?

Por exemplo:

/vender [arma/droga/remйdio]

aн os sub-parвmetros pra droga e remйdio sгo [quantidade] e [preзo]

Porйm, para arma, os sub-parвmetros sгo [nome] e [preзo].

Algo mais ou menos assim:

pawn Код:
YCMD:vender(playerid, params[], pHELPS) // TERMINAR
{
    new Fun[15];

    if(sscanf(params, "s[12]", Fun))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender [droga/medicamento/arma]");
        return 1;
    }
    if(!strcmp(Fun, "droga"))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender droga [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(!strcmp(Fun, "medicamento"))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender medicamento [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(!strcmp(Fun, "arma"))
    {
        new nome[15], price;

        if(sscanf(params, "s[15]d", nome, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender arma [nome] [preзo]");
            return 1;
        }
        return 1;
    }
    return 1;
}
Sу que dessa maneira nгo funciona... help?!

Muito obrigado.
/vender medicamento [quantidade] quando funciona?
Reply
#3

Nгo entendi...

vocк entendeu o que eu preciso?
Reply
#4

pawn Код:
YCMD:vender(playerid, params[], pHELPS) // TERMINAR
{
    new Fun[15];

    if(sscanf(params, "s", Fun))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender [droga/medicamento/arma]");
        return 1;
    }
    if(!strcmp(Fun, "droga"))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender droga [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(!strcmp(Fun, "medicamento"))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender medicamento [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(!strcmp(Fun, "arma"))
    {
        new nome[15], price;

        if(sscanf(params, "s[15]d", nome, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender arma [nome] [preзo]");
            return 1;
        }
        return 1;
    }
    return 1;
}
Reply
#5

Que tipo de flood й esse cara? Sу copiou e colou o que eu jб tinha sugerido. Jб disse acima que esse mйtodo nгo funciona.
Reply
#6

Eu modifiquei essa linha:
pawn Код:
if(sscanf(params, "s", Fun))
Funcionou?
@Edit
Tente:
pawn Код:
YCMD:vender(playerid, params[], pHELPS) // TERMINAR
{
    new Fun[15];

    if(sscanf(params, "s[12]", Fun))
    {
        SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender [droga/medicamento/arma]");
        return 1;
    }
    if(strcmp(Fun, "droga",true))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender droga [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(strcmp(Fun, "medicamento",true))
    {
        new qntd, price;

        if(sscanf(params, "dd", qntd, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender medicamento [quantidade] [preзo]");
            return 1;
        }
        return 1;
    }
    if(strcmp(Fun, "arma",true))
    {
        new nome[15], price;

        if(sscanf(params, "s[15]d", nome, price))
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "USE: /vender arma [nome] [preзo]");
            return 1;
        }
        return 1;
    }
    return 1;
}
Reply
#7

Mesma coisa amigo.. deve ter alguma espйcie de "truque", parece que sу aceita um sscanf por comando. Apenas o primeiro й executado. Й o que dб a entender... talvez os servers que vi isso usam strcmp/strtok nos comandos @.@
Reply
#8

alguйm?!
Reply
#9

A forma mais conveniente de se fazer isto й utilizando Dialogs.
Reply
#10

Quote:
Originally Posted by Dolby
Посмотреть сообщение
A forma mais conveniente de se fazer isto й utilizando Dialogs.
Concordo... porйm e a preguiзa? kkkk Jб tenho muitos dialogs bastante personalizados, tenho uma infinidade de PVars por causa disso. Mutias etapas em dialogs e tal.
Reply


Forum Jump:


Users browsing this thread: 5 Guest(s)