[Ajuda] Problema com sscanf.
#1

Boa Tarde.
Eu efetuei um comando de PM, mais quando eu o efetuo, fica dando uma mensagem da funзгo sscanf que eu puis.

Cуdigo;
pawn Код:
CMD:sms(playerid, params[])
{
    new string[128], giveplayerid;
    if(sscanf(params, "us", giveplayerid, texto))
    {
        SendClientMessage(playerid, -1, "{FFFE10}|| INFO ||{FFFFFF} /sms [id] [menssagem]"); /* essa linha fica repetindo, mesmo se eu por o comando corretamente.*/
    }
    else
    {
        if(IsPlayerConnected(playerid))
        {
            if(IsPlayerConnected(giveplayerid))
            {
                GetPlayerName(playerid, playername, sizeof(playername));
                GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
                format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Enviado para: %s: %s", giveplayername, texto);
                SendClientMessage(playerid,-1,string);
                format(string,sizeof(string),"{F4FFB8}SmS{FFFFFF} Recebido de: %s: %s", playername, texto);
                SendClientMessage(giveplayerid,-1,string);
                PlayerPlaySound(giveplayerid, 1085, 0.0, 0.0, 0.0);
                printf("SmS: %s envio para %s: %s", playername, giveplayername, texto);
                for(new i; i < MAX_PLAYERS; i++)
                {
                    if(IsPlayerAdmin(playerid) && LerPms[i] == true)
                    {
                        format(string, sizeof(string), "{FF8000}|| Admin || %s envio para %s: %s", playername, giveplayername, texto);
                        SendClientMessage(i, -1, string);
                    }
                }
            }
            else
            {
                format(string, sizeof(string), "{FF0000}|| ERRO ||{FFFFFF} O ID %d nгo estб online.", giveplayerid);
                SendClientMessage(playerid, -1, string);
            }
        }
        else
        {
            SendClientMessage(playerid, -1, "{FF0000}|| ERRO ||{FFFFFF} Vocк tem que estб logado para usar este comando!");
        }
    }
    return 1;
}
Alguйm pode me ajudar? '-'
Reply
#2

pawn Код:
if(sscanf(params, "us[64]", giveplayerid, texto)) return SendClientMessage(playerid, -1, "{FFFE10}|| INFO ||{FFFFFF} /sms [id] [menssagem]");
Espero ter Ajudado
Reply
#3

Vocк declarou 'texto'?

Se usar sscanf2, use assim :
pawn Код:
if(sscanf(params, "us[64]", giveplayerid, texto)) // 64 = tamanho de 'texto'
Reply
#4

Eu tenho um sйrio problema com sscanf;

Esse comando estб dando a mesma coisa ;s

pawn Код:
CMD:p(playerid, params[])
{
    new mesagem[80], str[128];
    if(sscanf(params, "s[128]", texto)) return SendClientMessage(playerid, -1, "{FFFE10}|| INFO ||{FFFFFF} /p [menssagem]");
    else
    {
        for(new P=0; P < MAX_PLAYERS; P++)
        {
            if(GetDistanceBetweenPlayers(playerid, P) < 25)
            {
                format(str, sizeof(str), "{FF90EE}|| Prуximo || %s diz: %s", Nome(playerid), mesagem);
                SendClientMessage(P, -1, str);
            }
        }
    }
    return 1;
}
Reply
#5

pawn Код:
CMD:p(playerid, params[])
{
    new mesagem[80], str[128];
    if(sscanf(params, "s[128]", mesagem)) return SendClientMessage(playerid, -1, "{FFFE10}|| INFO ||{FFFFFF} /p [menssagem]");
    for(new P=0; P < MAX_PLAYERS; P++)
    {
        if(GetDistanceBetweenPlayers(playerid, P) < 25)
        {
            format(str, sizeof(str), "{FF90EE}|| Prуximo || %s diz: %s", Nome(playerid), mesagem);
            SendClientMessage(P, -1, str);
         }
    }
    return 1;
}
Reply
#6

pawn Код:
CMD: sms(playerid, params[])
{
    new string[128], giveplayerid;
    if (sscanf(params, "us[64]", giveplayerid, texto)) return SendClientMessage(playerid, -1, "{FFFE10}|| INFO ||{FFFFFF} /sms [id] [menssagem]");
    if (!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, -1, "{FF0000}|| ERRO ||{FFFFFF} Este player nгo estб online.", giveplayerid);
    if (!IsPlayerConnected(playerid)) return SendClientMessage(playerid, -1, "{FF0000}|| ERRO ||{FFFFFF} Vocк tem que estб logado para usar este comando!");
    GetPlayerName(playerid, playername, sizeof(playername));
    GetPlayerName(giveplayerid, giveplayername, sizeof(giveplayername));
    format(string, sizeof(string), "{F4FFB8}SmS{FFFFFF} Enviado para: %s: %s", giveplayername, texto);
    SendClientMessage(playerid, -1, string);
    format(string, sizeof(string), "{F4FFB8}SmS{FFFFFF} Recebido de: %s: %s", playername, texto);
    SendClientMessage(giveplayerid, -1, string);
    PlayerPlaySound(giveplayerid, 1085, 0.0, 0.0, 0.0);
    printf("SmS: %s envio para %s: %s", playername, giveplayername, texto);
    for (new i; i < MAX_PLAYERS; i++)
    {
        if (IsPlayerAdmin(playerid) && LerPms[i] == true)
        {
            format(string, sizeof(string), "{FF8000}|| Admin || %s envio para %s: %s", playername, giveplayername, texto);
            SendClientMessage(i, -1, string);
        }
    }
    return 1;
}
Reply
#7

Ainda estб a dar o mesmo problema
Nos dois comandos '-'
Reply
#8

Quote:
Originally Posted by Ley
Посмотреть сообщение
Eu tenho um sйrio problema com sscanf;

Esse comando estб dando a mesma coisa ;s

pawn Код:
CMD:p(playerid, params[])
{
    new mesagem[80], str[128];
    if(sscanf(params, "s[128]", texto)) return SendClientMessage(playerid, -1, "{FFFE10}|| INFO ||{FFFFFF} /p [menssagem]");
    else
    {
        for(new P=0; P < MAX_PLAYERS; P++)
        {
            if(GetDistanceBetweenPlayers(playerid, P) < 25)
            {
                format(str, sizeof(str), "{FF90EE}|| Prуximo || %s diz: %s", Nome(playerid), mesagem);
                SendClientMessage(P, -1, str);
            }
        }
    }
    return 1;
}
Tб tudo bagunзado.

Vocк declarou 'mesagem', mas tб usando 'texto' em sscanf ...
Reply
#9

Pra que checar se o playerid estб conectado? sa parada foi consertada desde 0.2. Para de copiar esses comandos do inferno e tentar editar sem saber.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)