Portal SAMP
[Ajuda] Sscanf com erro no log - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Sscanf com erro no log (/showthread.php?tid=1988)

Páginas: 1 2


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 deprecatedplease add a destination size 

/CG

Código PHP:
CMD:cg(playeridparams[])
{
    if(
ChecarPermissoes(playerid)) return 1;
    new 
textomsg[256], stringcc[256], nomecc[MAX_PLAYER_NAME];
    
GetPlayerName(playeridnomeccMAX_PLAYER_NAME);
    if(
sscanf(params"s[256]"textomsg)) return Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Cg [Menssagem]");
     if(
playerChatMuted[playerid])
    {
        if(
gettime() < playerChatTalkedTime[playerid])
            return 
SendClientMessage(playeridCOLOR_YELLOW"<!> {FFFFFF}Voce foi mutado durante 30 segundos por flood no chat GLOBAL.");
        else
            
playerChatMuted[playerid] = falseplayerChatTalkedTime[playerid] = 0;
    }
    if(
gettime() < playerChatTalkedTime[playerid])
    {
        
playerChatTimesSpoken[playerid]++;

        if(
playerChatTimesSpoken[playerid] > 1)
        {
            
playerChatMuted[playerid] = true;
            
playerChatTimesSpoken[playerid] = 0;
            
playerChatTalkedTime[playerid] = gettime() + 30;

            return 
SendClientMessage(playeridCOLOR_YELLOW"<!> {FFFFFF}Voce foi mutado durante 30 segundos por flood no chat GLOBAL.");
        }
    }
    else
    if(
GetPlayerAdminLevel(playerid) <= && !IsVip(playerid))
     {
        
playerChatTimesSpoken[playerid] = 0;
        
playerChatTalkedTime[playerid] = gettime() + 5;
        
format(stringccsizeof(stringcc), "** /Cg **  {FFFFFF}%s[ID:%d] {FFFFFF}Diz: {0080C0}%s"nomeccplayeridtextomsg); //quando é player comum
        
SendClientMessageToAll(0x0080C0AAstringcc);
    }
    else
    if(
GetPlayerAdminLevel(playerid) <= && IsVip(playerid)) // quando não é admin e é vip
     
{
        
format(stringccsizeof(stringcc), "{FFFFFF}[{%s}VIP{FFFFFF}] {FFFFFF}%s[ID:%d] {FFFFFF}Diz: {0080C0}%s"ContaPlayer[playerid][Cor_Tag], nomeccplayeridtextomsg);
        
SendClientMessageToAll(0x0080C0AAstringcc);
    }
    else
     if(
ContaPlayer[playerid][VipLevel] == 1  && GetPlayerAdminLevel(playerid) > 0// quando é vip comum e admin
    
{
        
format(stringccsizeof(stringcc), "{FFFFFF}[{%s}VIP{FFFFFF}] [%s{FFFFFF}] %s [ID:%d]: {FFFFFF}Diz: {0080C0}%s"ContaPlayer[playerid][Cor_Tag],  admins(playerid1), nomeccplayeridtextomsg);
        
SendClientMessageToAll(0x0080C0AAstringcc);
    }
    else
    if(
ContaPlayer[playerid][VipLevel] == 2  && GetPlayerAdminLevel(playerid) > 0// quando é vip sócio e admin
    
{
        
format(stringccsizeof(stringcc), "{FFFFFF}[{%s}SOCIO{FFFFFF}] [%s{FFFFFF}] %s [ID:%d]: {FFFFFF}Diz: {0080C0}%s"ContaPlayer[playerid][Cor_Tag],  admins(playerid1), nomeccplayeridtextomsg);
        
SendClientMessageToAll(0x0080C0AAstringcc);
    }
    else
    if(
GetPlayerAdminLevel(playerid) > 0// quando é somente admin
    
{
         
format(stringccsizeof(stringcc), "{FFFFFF}[{27AE60}%s{FFFFFF}] {FFFFFF}%s[ID:%d] {FFFFFF}Diz: {0080C0}%s",  admins(playerid1), nomeccplayeridtextomsg);
        
SendClientMessageToAll(0x0080C0AAstringcc);
    }
    return 
1;


CHAT LOCAL
Código PHP:
new StringTexto[256];
    
format(StringTextosizeof(StringTexto), "[CHAT - LOCAL] %s[ID:%d] Diz: %s"Nome(playerid), playeridtext);
    new 
Float:PosChatLocalXFloat:PosChatLocalYFloat:PosChatLocalZGetPlayerPos(playeridPosChatLocalXPosChatLocalYPosChatLocalZ);
    for(new 
iMAX_PLAYERSi++)
    {
        if(
IsPlayerConnected(i))
        {
            if(
IsPlayerInRangeOfPoint(i30.0PosChatLocalXPosChatLocalYPosChatLocalZ))
            {
                 
SendClientMessage(i, -1StringTexto);
            }
        }
     } 



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"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]"); 

coloquei assim:
Código PHP:
if(sscanf(params"ud[32]"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]"); 

porém deu isso agora..
Código PHP:
sscanf warningString buffer overflow 
Código PHP:
sscanf warningFormat 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(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Espiar <id>");

if(
sscanf(params"ui"idtime))
        return 
SendClientMessage(playeridcortag"<!> {FFFFFF}Use: /Mutar <id> <tempo em minutos>");

if(
sscanf(params"u"id))
        return 
SendClientMessage(playeridcortag"<!> {FFFFFF}Use: /Desmutar <id>");

if(
sscanf(params"dd"IDnivel)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Setlevel <id> <Level>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Ip [ID]");

if(
sscanf(params"i"ID)) return SendClientMessage(playeridcortag"<!> {FFFFFF}Use: /Fakes <id>");

if(
sscanf(params"u"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Explodir <id>");

if(
sscanf(params"u"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Crashar <id>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Tapa <id>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Desarmar <id>");

if(
sscanf(params"d"vida))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Coletet <Numero>");

if(
sscanf(params"d"vida))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /vidat <Numero>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Descongelar <id>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Congelar <id>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Force <id>");

if(
sscanf(params"ds"IDMotivo))  return Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Report [id] [ Menssagem ]");

if(
sscanf(params"i"id)) return Msg(playeridCOLOR_YELLOW,"<!> {FFFFFF}Use: /Trazer <id>");

if(
sscanf(params"d"Climaid)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Climat <id>");

if(
sscanf(params"i"ID)) return Msg(playeridCOLOR_YELLOW,"<!> {FFFFFF}Use: /Gotoadm <id>");

if(
sscanf(params"i"ID))
        return 
Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Amnick <id>");

if(
sscanf(params"ud"idvalue))
        return 
Msg(playeridCOLOR_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(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Mundo 4 [Gravações/Drifters] - /Mundo 5 - PvP[DM] - /Mundo 6 - RP");

if(
sscanf(params"d"skinid)) return Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Skin [id]");

if(
sscanf(params"ud"idvalue)) return Msg(playeridCOLOR_YELLOW"<!> {FFFFFF}Use: /Pix [id] [valor]");

if(
sscanf(params"i"ID))
            return 
Msg(playeridVermelho,"<!> {FFFFFF}Use: {FF0000}/Goto [id]");

if(
sscanf(params"d"Hora)) return Msg(playeridVermelho,"<!> {FFFFFF}Use: {FF0000}/Hora");

if(
sscanf(params"d"ClimaID)) return Msg(playeridVermelho"<!> {FFFFFF}Use: {FF0000}/Clima [ID]");

    if(
sscanf(params"d"armaid))
        return 
Msg(playeridVermelho,"<!> {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))