[Ajuda] Sscanf e duvidas gerais
#1

Ola, bom dia a todos.

Bom, meu problema com o Sscanf estб sendo o seguinte, estou criando um comando de mensagem, porйm quando o uso o sscanf e o jogador digita uma mensagem muito grande, a mensagem й cortada e no emulador aparece uma mensagem, algo como "Ssscanf buffer overflow".

Pelo o que parece, o texto excede algum limite do sscanf, pois a variбvel aonde eu armazeno esse texto tem tamanho suficiente para nгo sofer um "overflow".

Minha dъvida й, como posso resolver este problema?

-----------------------------------------

Outra dъvida que tenho й a seguinte, como posso desabilitar as lojas de tunnings nativas do GTA? Quando um jogador entra nessas lojas, no meu gamemode, abre normalmente a janela de tunning, porйm eu gostaria de desabilita-las.

Agradeзo desde jб.
Reply
#2

Aumente limite ou avise que ultrapasso o limite.
ex:
pawn Код:
if(1>(text)<300)return SendClientMessage(playerid,COR,"aviso");
Reply
#3

Esse й o problema, como posso aumentar esse limite?
Reply
#4

Posta a parte do sscanf do cmd!
Reply
#5

Quote:

Outra dъvida que tenho й a seguinte, como posso desabilitar as lojas de tunnings nativas do GTA? Quando um jogador entra nessas lojas, no meu gamemode, abre normalmente a janela de tunning, porйm eu gostaria de desabilita-las.

Agradeзo desde jб.

Nгo sei se resolveria algo colocando o DisableInteriorEnterExits(); no OnGameModeInit, Mas Tente
Reply
#6

Nгo estou em casa. O que posso adiantar й que usei conforme o post oficial, os demais comandos nгo tem problema, a variбvel que o sscanf pega, foi setada como string[1024], ou seja existe bastante espaзo, o problema nгo deve ser na variбvel, mas no sscanf.
Reply
#7

Aqui um exemplo

Ele esta assim
pawn Код:
if(sscanf(params, "s", text)) return SendClientMessage(playerid,-1,"[USE] /ao [texto]");
Limitar fica assim
pawn Код:
if(sscanf(params, "s[200]", text)) return SendClientMessage(playerid,-1,"[USE] /ao [texto]");

Entendeu?
Reply
#8

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Aqui um exemplo

Ele esta assim
pawn Код:
if(sscanf(params, "s", text)) return SendClientMessage(playerid,-1,"[USE] /ao [texto]");
Limitar fica assim
pawn Код:
if(sscanf(params, "s[200]", text)) return SendClientMessage(playerid,-1,"[USE] /ao [texto]");

Entendeu?
Don, se utilizar o params sem o limitar, ele nгo irб imprimir um warning do prуprio sscanf no console?
Reply
#9

Quote:
Originally Posted by Don_Speed
Посмотреть сообщение
Aqui um exemplo

Ele esta assim
pawn Код:
if(sscanf(params, "s", text)) return SendClientMessage(playerid,-1,"[USE] /ao [texto]");
Limitar fica assim
pawn Код:
if(sscanf(params, "s[200]", text)) return SendClientMessage(playerid,-1,"[USE] /ao [texto]");

Entendeu?
Sem problemas. O meu estб igual ao primeiro exemplo, testarei hoje o segundo exemplo.

@.FuneraL.

Testarei tambйm.

Muito obrigado a todos pela ajuda.
Reply
#10

Quote:
Originally Posted by .FuneraL.
Посмотреть сообщение
Don, se utilizar o params sem o limitar, ele nгo irб imprimir um warning do prуprio sscanf no console?
Nao .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)