boa noite. estou com essa warning mas eu aumentei todas as strings e mesmo assim está dando isso.
Estou achando que o problema está no comando de chat global
WANING:
Estou formatando varias vezes a mesma string.. pode ser isso?? e como resolver?
obs: teria algum problema ficar com esse warning?
Estou achando que o problema está no comando de chat global
WANING:
Código PHP:
sscanf warning: String buffer overflow.
Código PHP:
CMD:cg(playerid, params[])
{
if(ChecarPermissoes(playerid)) return 1;
new textomsg[1000], stringcc[1000], nomecc[MAX_PLAYER_NAME];
GetPlayerName(playerid, nomecc, MAX_PLAYER_NAME);
if(sscanf(params, "s[1000]", textomsg)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Cg [Menssagem]");
if(playerChatMuted[playerid])
{
if(gettime() < playerChatTalkedTime[playerid])
return SendClientMessage(playerid, COLOR_YELLOW, "<!> {FFFFFF}Voce foi mutado durante 30 segundos por flood no chat GLOBAL.");
else
playerChatMuted[playerid] = false, playerChatTalkedTime[playerid] = 0;
}
if(gettime() < playerChatTalkedTime[playerid])
{
playerChatTimesSpoken[playerid]++;
if(playerChatTimesSpoken[playerid] > 1)
{
playerChatMuted[playerid] = true;
playerChatTimesSpoken[playerid] = 0;
playerChatTalkedTime[playerid] = gettime() + 30;
return SendClientMessage(playerid, COLOR_YELLOW, "<!> {FFFFFF}Voce foi mutado durante 30 segundos por flood no chat GLOBAL.");
}
}
else
if(GetPlayerAdminLevel(playerid) <= 0 && !IsVip(playerid))
{
playerChatTimesSpoken[playerid] = 0;
playerChatTalkedTime[playerid] = gettime() + 5;
format(stringcc, sizeof(stringcc), "** /Cg ** {FFFFFF}%s[ID:%d] {FFFFFF}Diz: {0080C0}%s", nomecc, playerid, textomsg); //quando é player comum
SendClientMessageToAll(0x0080C0AA, stringcc);
}
else
if(GetPlayerAdminLevel(playerid) <= 0 && IsVip(playerid)) // quando não é admin e é vip
{
format(stringcc, sizeof(stringcc), "{FFFFFF}[{%s}VIP{FFFFFF}] {FFFFFF}%s[ID:%d] {FFFFFF}Diz: {0080C0}%s", ContaPlayer[playerid][Cor_Tag], nomecc, playerid, textomsg);
SendClientMessageToAll(0x0080C0AA, stringcc);
}
else
if(ContaPlayer[playerid][VipLevel] == 1 && GetPlayerAdminLevel(playerid) > 0) // quando é vip comum e admin
{
format(stringcc, sizeof(stringcc), "{FFFFFF}[{%s}VIP{FFFFFF}] [%s{FFFFFF}] %s [ID:%d]: {FFFFFF}Diz: {0080C0}%s", ContaPlayer[playerid][Cor_Tag], admins(playerid, 1), nomecc, playerid, textomsg);
SendClientMessageToAll(0x0080C0AA, stringcc);
}
else
if(ContaPlayer[playerid][VipLevel] == 2 && GetPlayerAdminLevel(playerid) > 0) // quando é vip sócio e admin
{
format(stringcc, sizeof(stringcc), "{FFFFFF}[{%s}SOCIO{FFFFFF}] [%s{FFFFFF}] %s [ID:%d]: {FFFFFF}Diz: {0080C0}%s", ContaPlayer[playerid][Cor_Tag], admins(playerid, 1), nomecc, playerid, textomsg);
SendClientMessageToAll(0x0080C0AA, stringcc);
}
else
if(GetPlayerAdminLevel(playerid) > 0) // quando é somente admin
{
format(stringcc, sizeof(stringcc), "{FFFFFF}[{27AE60}%s{FFFFFF}] {FFFFFF}%s[ID:%d] {FFFFFF}Diz: {0080C0}%s", admins(playerid, 1), nomecc, playerid, textomsg);
SendClientMessageToAll(0x0080C0AA, stringcc);
}
return 1;
}
Estou formatando varias vezes a mesma string.. pode ser isso?? e como resolver?
obs: teria algum problema ficar com esse warning?