Sscanf com erro no log - fear - 27/12/2021
boa noite eu andei percebendo que esta dando esse erro no log do servidor e sempre quando alguem digita no chat eu tenho chat local e chat global /cg qual dos dois pode estar ocasiando isso?
ERRO:
Código PHP: Strings without a length are deprecated, please add a destination size
/CG
Código PHP: CMD:cg(playerid, params[]) { if(ChecarPermissoes(playerid)) return 1; new textomsg[256], stringcc[256], nomecc[MAX_PLAYER_NAME]; GetPlayerName(playerid, nomecc, MAX_PLAYER_NAME); if(sscanf(params, "s[256]", 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; }
CHAT LOCAL
Código PHP: new StringTexto[256]; format(StringTexto, sizeof(StringTexto), "[CHAT - LOCAL] %s[ID:%d] Diz: %s", Nome(playerid), playerid, text); new Float:PosChatLocalX, Float:PosChatLocalY, Float:PosChatLocalZ; GetPlayerPos(playerid, PosChatLocalX, PosChatLocalY, PosChatLocalZ); for(new i; i < MAX_PLAYERS; i++) { if(IsPlayerConnected(i)) { if(IsPlayerInRangeOfPoint(i, 30.0, PosChatLocalX, PosChatLocalY, PosChatLocalZ)) { SendClientMessage(i, -1, StringTexto); } } }
RE: Sscanf com erro no log - ipsLuan - 28/12/2021
Provavelmente não é nesse comando.
O log está informando que a função de não especificar o tamanho da string no sscanf foi depreciada, sendo assim, precisará especificar em todos.
RE: Sscanf com erro no log - fear - 28/12/2021
(28/12/2021 08:52)ipsLuan Escreveu: Provavelmente não é nesse comando.
O log está informando que a função de não especificar o tamanho da string no sscanf foi depreciada, sendo assim, precisará especificar em todos.
como vou saber aonde que precisa especificar??
RE: Sscanf com erro no log - fear - 28/12/2021
(28/12/2021 08:52)ipsLuan Escreveu: Provavelmente não é nesse comando.
O log está informando que a função de não especificar o tamanho da string no sscanf foi depreciada, sendo assim, precisará especificar em todos.
acho que achei..
estava assim:
Código PHP: if(sscanf(params, "ud", id, value)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Pix [id] [valor]");
coloquei assim:
Código PHP: if(sscanf(params, "ud[32]", id, value)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Pix [id] [valor]");
porém deu isso agora..
Código PHP: sscanf warning: String buffer overflow
Código PHP: sscanf warning: Format specifier does not match parameter count
RE: Sscanf com erro no log - Luiz - 28/12/2021
Parâmetros "d" não precisam de index. Tem algum comando na sua gamemode que algum parâmetro de string você não adicionou o index.
Exemplo:
Código PHP: new texto[128];
if(sscanf(params, "s", texto)) // Vai apresentar o erro if(sscanf(params, "s[128]", texto)) // Não vai apresentar o erro
RE: Sscanf com erro no log - fear - 28/12/2021
(28/12/2021 19:04)Luiz Escreveu: Parâmetros "d" não precisam de index. Tem algum comando na sua gamemode que algum parâmetro de string você não adicionou o index.
Exemplo:
Código PHP: new texto[128];
if(sscanf(params, "s", texto)) // Vai apresentar o erro if(sscanf(params, "s[128]", texto)) // Não vai apresentar o erro
ABAIXO ESTÁ TODOS OS COMANDOS QUE NÃO TEM INDEX.
Código PHP: if(sscanf(params, "u", PlayerID)) return SendClientMessage(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Espiar <id>");
if(sscanf(params, "ui", id, time)) return SendClientMessage(playerid, cortag, "<!> {FFFFFF}Use: /Mutar <id> <tempo em minutos>");
if(sscanf(params, "u", id)) return SendClientMessage(playerid, cortag, "<!> {FFFFFF}Use: /Desmutar <id>");
if(sscanf(params, "dd", ID, nivel)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Setlevel <id> <Level>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Ip [ID]");
if(sscanf(params, "i", ID)) return SendClientMessage(playerid, cortag, "<!> {FFFFFF}Use: /Fakes <id>");
if(sscanf(params, "u", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Explodir <id>");
if(sscanf(params, "u", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Crashar <id>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Tapa <id>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Desarmar <id>");
if(sscanf(params, "d", vida)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Coletet <Numero>");
if(sscanf(params, "d", vida)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /vidat <Numero>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Descongelar <id>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Congelar <id>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Force <id>");
if(sscanf(params, "ds", ID, Motivo)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Report [id] [ Menssagem ]");
if(sscanf(params, "i", id)) return Msg(playerid, COLOR_YELLOW,"<!> {FFFFFF}Use: /Trazer <id>");
if(sscanf(params, "d", Climaid)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Climat <id>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW,"<!> {FFFFFF}Use: /Gotoadm <id>");
if(sscanf(params, "i", ID)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Amnick <id>");
if(sscanf(params, "ud", id, value)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Dargrana [id] [valor]");
if(sscanf(params, "u", jogador)) return SendClientMessage(playerid,-1,"{E84F33}<!> {FFFFFF}Use: /Pagr [id]");
if(sscanf(params, "d", mund)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Mundo 4 [Gravações/Drifters] - /Mundo 5 - PvP[DM] - /Mundo 6 - RP");
if(sscanf(params, "d", skinid)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Skin [id]");
if(sscanf(params, "ud", id, value)) return Msg(playerid, COLOR_YELLOW, "<!> {FFFFFF}Use: /Pix [id] [valor]");
if(sscanf(params, "i", ID)) return Msg(playerid, Vermelho,"<!> {FFFFFF}Use: {FF0000}/Goto [id]");
if(sscanf(params, "d", Hora)) return Msg(playerid, Vermelho,"<!> {FFFFFF}Use: {FF0000}/Hora");
if(sscanf(params, "d", ClimaID)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Clima [ID]");
if(sscanf(params, "d", armaid)) return Msg(playerid, Vermelho,"<!> {FFFFFF}Use: {FF0000}/Arma [id]");
SÃO TODOS OS CMDS QUE ESTÃO SEM INDEX.. COLOQUEI TODOS!!
RE: Sscanf com erro no log - xbruno1000x - 28/12/2021
Código: if(sscanf(params, "ds", ID, Motivo)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Report [id] [ Menssagem ]");
Esse foi o único que contem string sem o tamanho.
RE: Sscanf com erro no log - fear - 28/12/2021
(28/12/2021 20:23)xbruno1000x Escreveu: Código: if(sscanf(params, "ds", ID, Motivo)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Report [id] [ Menssagem ]");
Esse foi o único que contem string sem o tamanho.
qual o valor que coloco?
RE: Sscanf com erro no log - ipsLuan - 28/12/2021
(28/12/2021 21:05)fear Escreveu: (28/12/2021 20:23)xbruno1000x Escreveu: Código: if(sscanf(params, "ds", ID, Motivo)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Report [id] [ Menssagem ]");
Esse foi o único que contem string sem o tamanho.
qual o valor que coloco?
O valor que você definiu quando criou a string Motivo, né.
RE: Sscanf com erro no log - xbruno1000x - 28/12/2021
(28/12/2021 21:05)fear Escreveu: (28/12/2021 20:23)xbruno1000x Escreveu: Código: if(sscanf(params, "ds", ID, Motivo)) return Msg(playerid, Vermelho, "<!> {FFFFFF}Use: {FF0000}/Report [id] [ Menssagem ]");
Esse foi o único que contem string sem o tamanho.
qual o valor que coloco?
Se
new motivo[9999];
Então
Código: if(sscanf(params, "ds[9999]", ID, Motivo))
|