SA-MP Forums Archive
[Ajuda] Problema com sscanf. - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Problema com sscanf. (/showthread.php?tid=383159)



Problema com sscanf. - Ley - 06.10.2012

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? '-'


Re: Problema com sscanf. - .FuneraL. - 06.10.2012

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


Re: Problema com sscanf. - ViniBorn - 06.10.2012

Vocк declarou 'texto'?

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



Re: Problema com sscanf. - Ley - 06.10.2012

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;
}



Re: Problema com sscanf. - .FuneraL. - 06.10.2012

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;
}



Re: Problema com sscanf. - dPlaYer_ - 06.10.2012

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;
}



Re: Problema com sscanf. - Ley - 06.10.2012

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


Re: Problema com sscanf. - ViniBorn - 06.10.2012

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 ...


Re: Problema com sscanf. - OnlyOne - 06.10.2012

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.