[Ajuda] Warning no SSCANF
#1

pawn Код:
CMD:ban(playerid, params[])
{
    new userid, Str2[64], Str[128], Str3[MAX_PLAYER_NAME], pNome[MAX_PLAYER_NAME];
    if(sscanf(params, "ds",userid, Str2)) return SendClientMessage(playerid,-1,"Use: /ban [id] [motivo]");

    if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, COR_VERMELHO, "Server: {FFFFFF}Este player estб offline.");
    GetPlayerName(userid, pNome, sizeof(pNome));
    format(Str, sizeof(Str), "Server: {FFFFFF}O player %s foi banido por um {FF0000}administrador{FFFFFF} por %s.", pNome, Str2);
    SendClientMessageToAll(-1, Str);
    GetPlayerName(playerid, Str3, sizeof(Str3));
    format(Str, sizeof(Str), "Nome: %s Motivo: %s Responsavel: %s", pNome, Str2, Str3);
    BanEx(playerid, Str);
    return 1;
}
Warning: sscanf warning: String without a lenght are deprecated, please add a destination size.

Como resolvo isso?
PS: Sou iniciante em SSCANF.
Reply
#2

pawn Код:
CMD:ban(playerid, params[])
{
    new userid, Str2[128], Str[128], Str3[MAX_PLAYER_NAME], pNome[MAX_PLAYER_NAME];
    if(sscanf(params, "ds[128]",userid, Str2)) return SendClientMessage(playerid,-1,"Use: /ban [id] [motivo]");

    if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, COR_VERMELHO, "Server: {FFFFFF}Este player estб offline.");
    GetPlayerName(userid, pNome, sizeof(pNome));
    format(Str, sizeof(Str), "Server: {FFFFFF}O player %s foi banido por um {FF0000}administrador{FFFFFF} por %s.", pNome, Str2);
    SendClientMessageToAll(-1, Str);
    GetPlayerName(playerid, Str3, sizeof(Str3));
    format(Str, sizeof(Str), "Nome: %s Motivo: %s Responsavel: %s", pNome, Str2, Str3);
    BanEx(playerid, Str);
    return 1;
}
@edit

estava assim:
pawn Код:
if(sscanf(params, "ds",userid, Str2))
o correto seria assim:
pawn Код:
if(sscanf(params, "ds[128]",userid, Str2))
Reply
#3

Quote:
Originally Posted by BlackDonelly
Посмотреть сообщение
pawn Код:
CMD:ban(playerid, params[])
{
    new userid, Str2[64], Str[128], Str3[MAX_PLAYER_NAME], pNome[MAX_PLAYER_NAME];
    if(sscanf(params, "ds[64]",userid, Str2)) return SendClientMessage(playerid,-1,"Use: /ban [id] [motivo]");

    if(!IsPlayerConnected(userid)) return SendClientMessage(playerid, COR_VERMELHO, "Server: {FFFFFF}Este player estб offline.");
    GetPlayerName(userid, pNome, sizeof(pNome));
    format(Str, sizeof(Str), "Server: {FFFFFF}O player %s foi banido por um {FF0000}administrador{FFFFFF} por %s.", pNome, Str2);
    SendClientMessageToAll(-1, Str);
    GetPlayerName(playerid, Str3, sizeof(Str3));
    format(Str, sizeof(Str), "Nome: %s Motivo: %s Responsavel: %s", pNome, Str2, Str3);
    BanEx(playerid, Str);
    return 1;
}
@edit

estava assim:
pawn Код:
if(sscanf(params, "ds",userid, Str2))
o correto seria assim:
pawn Код:
if(sscanf(params, "ds[64]",userid, Str2))
Muito thanks very much ;P
Reply
#4

np
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)