[Ajuda] ssacanf
#1

como adaptar sscanf para strcmp ?

seria assim?
pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
{
    new lol[128];
    msg[128];
    sscanf(cmdtext, "s", lol);
    format(msg, sizeof(msg), "%s", lol):
    return 1;
}
Reply
#2

pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
{
    new lol;
    msg[128];
    sscanf(cmdtext, "s[128]", lol);
    format(msg, sizeof(msg), "%s", lol):
    return 1;
}
Reply
#3

Quote:
Originally Posted by Ricop522
Посмотреть сообщение
pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
{
    new lol;
    msg[128];
    sscanf(cmdtext, "s[128]", lol);
    format(msg, sizeof(msg), "%s", lol):
    return 1;
}
pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
{
    new lol;
    msg[128];
    sscanf(cmdtext, "s[128]", lol);
    format(msg, sizeof(msg), "%s", lol):
    SendClientMessageToAll(-1, msg);
    return 1;
}
a mensagem que eu digitar apуs o /lol irб enviar corretamente??
Reply
#4

pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
{
    new msg[2][128]; //faltou arrays.
    sscanf(cmdtext, "s[128]", msg[1]);
    format(msg[0], 128, "%s", msg[1]): //abaixo faзa o SendClientMessage.
    return 1;
}
ou

pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
{
    new lol[128], msg[128];
    sscanf(cmdtext, "s[128]", lol);
    format(msg, sizeof(msg), "%s", lol):
    return 1;
}
Reply
#5

Ou tambйm:
pawn Код:
if(sscanf(cmdtext, "s[128]", lol)) return SendClientMessage(playerid, -1, "/lol [texto]");
Para comparar se o jogador digitou todos os parвmetros(no caso sу um) antes de formatar a mensagem.
Use zcmd/y_commands para comandos, nгo strcmp.
Reply
#6

pawn Код:
if (strcmp(cmdtext, "/av", true) == 0)
    {
        new av[128];
        new msg[128];
        if(sscanf(cmdtext, "s[128]", av)) return SendClientMessage(playerid, VERMELHO, "Use: /av [aviso/texto]");
        {
            format(msg, sizeof(msg), "%s", av);
            SendClientMessageToAll(-1, msg);
        }
        return 1;
    }
quando digito /av envia "/av" pra todos os players, e quando digito uma mensagem na frente do /av aparece comando inexistente..
Reply
#7

pawn Код:
if(strcmp(cmdtext, "/lol", true) == 0)
    {
        static
            lol[128],
            msg[128];
        if(sscanf(cmdtext, "s[128]", lol)) return SendClientMessage(playerid,-1,"use /lol [txt]");
        format(msg, sizeof(msg), "%s", lol);
        return SendClientMessageToAll(-1,msg);
    }
tenta
Reply
#8

Quote:
Originally Posted by Cristhian
Посмотреть сообщение
pawn Код:
if (strcmp(cmdtext, "/av", true) == 0)
    {
        new av[128];
        new msg[128];
        if(sscanf(cmdtext, "s[128]", av)) return SendClientMessage(playerid, VERMELHO, "Use: /av [aviso/texto]");
        {
            format(msg, sizeof(msg), "%s", av);
            SendClientMessageToAll(-1, msg);
        }
        return 1;
    }
quando digito /av envia "/av" pra todos os players, e quando digito uma mensagem na frente do /av aparece comando inexistente..
Tire essas chaves daн.
Reply
#9

pawn Код:
if (strcmp(cmdtext, "/av", true) == 0)
    {
        new av[128];
        new msg[128];
        if(sscanf(cmdtext, "s[128]", av)) return SendClientMessage(playerid, VERMELHO, "Use: /av [aviso/texto]");
        format(msg, sizeof(msg), "%s", av);
        SendClientMessageToAll(-1, msg);
        return 1;
    }
continua com o msm bug..
Reply
#10

pawn Код:
if ( strcmp ( "/av" , cmdtext , true , 3 ) == 0 )
    {
        new
            av [ 128 ]
        ;
        if ( ( cmdtext [ 3 ] != '\0' ) && ( cmdtext [ 4 ] != ' ' ) && ( cmdtext [ 4 ] != '\0' ) ) // verificar se existe um espaзo e apos o espaзo existe ao menos um caracter valido...
        {
            if ( sscanf ( cmdtext [ 4 ] , "s[128]" , av ) ) return SendClientMessage ( playerid , -1 , "Use: /av [aviso/texto]" ) ;
            SendClientMessageToAll ( -1 , av ) ;
        }
        else return SendClientMessage ( playerid , -1 , "Use: /av [aviso/texto]" ) ;
    }
Nгo testei mas ve se isso funciona...
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)