Mensagem grande demais - MatheuzPatoo - 20/07/2021
Fiz um sistema simples de /d [mensagem] que possibilita policiais se comunicarem, porem a mensagem ficou muito grande, mesmo aumentando o tamanho da string ele não aparece quando uso, não sei se é um bug do proprio samp ou fiz algo errado!
RE: Mensagem grande demais - ipsLuan - 20/07/2021
Cadê o código?
RE: Mensagem grande demais - Luiz - 20/07/2021
A única maneira de corrigir isso é fazendo um sistema automático de quebra de linha ou então diminuindo a mensagem padrão, por exemplo:
Ao invés de:
Código PHP: | Chat-Policia | O(A) Policial Nick[ID] diz: Olá
Reduzir para:
Código PHP: | Chat-Polícia | Nick[ID]: Olá.
Lembrando que o chat do SAMP aceita até 128 caracteres. Se você, por acaso, definiu a variável da string como menor que 128, mensagens com mais caracteres que o limite não aparecerão no chat.
RE: Mensagem grande demais - MatheuzPatoo - 20/07/2021
(20/07/2021 16:02)Luiz Escreveu: A única maneira de corrigir isso é fazendo um sistema automático de quebra de linha ou então diminuindo a mensagem padrão, por exemplo:
Ao invés de:
Código PHP: | Chat-Policia | O(A) Policial Nick[ID] diz: Olá
Reduzir para:
Código PHP: | Chat-Polícia | Nick[ID]: Olá.
Lembrando que o chat do SAMP aceita até 128 caracteres. Se você, por acaso, definiu a variável da string como menor que 128, mensagens com mais caracteres que o limite não aparecerão no chat. Já reduzi muito man, porem não vai tlgd, deixei a string em 1000 porem n vai!
RE: Mensagem grande demais - Luiz - 20/07/2021
(20/07/2021 17:24)MatheuzPatoo Escreveu: (20/07/2021 16:02)Luiz Escreveu: A única maneira de corrigir isso é fazendo um sistema automático de quebra de linha ou então diminuindo a mensagem padrão, por exemplo:
Ao invés de:
Código PHP: | Chat-Policia | O(A) Policial Nick[ID] diz: Olá
Reduzir para:
Código PHP: | Chat-Polícia | Nick[ID]: Olá.
Lembrando que o chat do SAMP aceita até 128 caracteres. Se você, por acaso, definiu a variável da string como menor que 128, mensagens com mais caracteres que o limite não aparecerão no chat. Já reduzi muito man, porem não vai tlgd, deixei a string em 1000 porem n vai!
Poste o código aqui do comando para verificar.
Se por acaso estiver tentando enviar uma mensagem muito longa no comando, realmente não vai aparecer. O que você pode fazer é evitar que digitem textos muito longos:
Código PHP: if(strlen(texto) > 100) return SendClientMessage(playerid, -1, "| ERRO | Mensagem muito grande.");
Dá para fazer também uma checagem da quantidade de caracteres do nick do(a) jogador(a) e a quantidade de caracteres do ID dele e somar com a mensagem fixa, caso seja maior que 128, retornar a mensagem.
RE: Mensagem grande demais - theCrawler - 21/07/2021
(20/07/2021 08:18)MatheuzPatoo Escreveu:
Fiz um sistema simples de /d [mensagem] que possibilita policiais se comunicarem, porem a mensagem ficou muito grande, mesmo aumentando o tamanho da string ele não aparece quando uso, não sei se é um bug do proprio samp ou fiz algo errado!
Não aparece pq o chat do samp tem um limite de 128 caracters. Não existe como modificar isso de forma nativa.
RE: Mensagem grande demais - Flenex - 21/07/2021
um detalhe importante: as cores também ocupam caracteres, se vc usa por exemplo
Código PHP: SendClientMessage(playerid, -1, "{00ffff}| COPS | %s[%d] diz: {FFFFFF}%s");
vai consumir vários espaços, deixando o texto menor, deixe tudo na mesma cor e coloca no "-1" a cor q vc quer
RE: Mensagem grande demais - MatheuzPatoo - 23/07/2021
(21/07/2021 18:14)Flenex Escreveu: um detalhe importante: as cores também ocupam caracteres, se vc usa por exemplo
Código PHP: SendClientMessage(playerid, -1, "{00ffff}| COPS | %s[%d] diz: {FFFFFF}%s");
vai consumir vários espaços, deixando o texto menor, deixe tudo na mesma cor e coloca no "-1" a cor q vc quer
Resolvi disponibilizar o codigo pq ta osso!
Código PHP: CMD:d(playerid, params[]) { if(sscanf(params, "s", Mensagem)) return SendClientMessage(playerid, 0xFF230AFF, "{FF0000}[Erro | CMC] {FFFFFF}Você digitou o comando errado!");
if(PlayerInformacoes[playerid][pOrg] == 0) { SendClientMessage(playerid, -1, "{FF0000}[Erro | CMC] {FFFFFF}Você não participa de uma corporação para modular na radio do departamento!"); } if(PlayerInformacoes[playerid][pOrg] >= 6 && PlayerInformacoes[playerid][pOrg] <= 13) { SendClientMessage(playerid, -1, "{FF0000}[Erro | CMC] {FFFFFF}Você participa de uma facção e não de uma corporação, por isso não pode modular na radio do departamento!"); }
if(PlayerInformacoes[playerid][pOrg] == 1) { format(String, sizeof(String), "{CDC1C5}[DP|%d |PM|CMC] - %s", playerid, Mensagem); SendMessageRadioToDepartamento(playerid, String); }
if(PlayerInformacoes[playerid][pOrg] == 2) { format(String, sizeof(String), "{CDC1C5}[DP|%d|BOPE|CMC] - %s", playerid, Mensagem); SendMessageRadioToDepartamento(playerid, String); }
if(PlayerInformacoes[playerid][pOrg] == 3) { format(String, sizeof(String), "{CDC1C5}[DP|%d|PRF|CMC] - %s", playerid, Mensagem); SendMessageRadioToDepartamento(playerid, String); }
if(PlayerInformacoes[playerid][pOrg] == 4) { format(String, sizeof(String), "{CDC1C5}[DP|%d|PF|CMC] - %s", playerid, Mensagem); SendMessageRadioToDepartamento(playerid, String); }
if(PlayerInformacoes[playerid][pOrg] == 5) { format(String, sizeof(String), "{CDC1C5}[DP|%d|EB|CMC] - %s", playerid, Mensagem); SendMessageRadioToDepartamento(playerid, String); } return 1; }
SendMessageRadioToDepartamento(playerid, const string[]) { if(PlayerInformacoes[playerid][pOrg] <=5 && PlayerInformacoes[playerid][pOrg] == 0) { foreach(new i : Player) if(PlayerInformacoes[playerid][pOrg] >= 1 && PlayerInformacoes[playerid][pOrg] <= 5) { SendClientMessage(i, 0xFFBD9DFF, string); } } return 1; }
RE: Mensagem grande demais - zBL4CK - 23/07/2021
eu utilizo um sistema parecido em minha gamemode para dar quebra de linha:
Código PHP: //OnplayerText if(strlen(text) > 75) { new SegundaLinha[128]; format(SegundaLinha, sizeof SegundaLinha, text[75]); strdel(text, 75, 149); format(stringv, sizeof(stringv), "{FF0000}[ tag ]%s{FFFFFF}[%d]: %s", GetPlayerNameEx(playerid), playerid, text); SendClientMessageToAll(-1, stringv); SendClientMessageToAll(-1, SegundaLinha); return 0; } else { format(stringv, sizeof(stringv), "{FF0000}[ tag™ ]%s{FFFFFF}[%d]: %s", GetPlayerNameEx(playerid), playerid, text); SendClientMessageToAll(-1, stringv); return 0; }
stock GetPlayerNameEx(playerid) { new PlayerNameLevel[MAX_PLAYER_NAME]; GetPlayerName(playerid, PlayerNameLevel, MAX_PLAYER_NAME); return PlayerNameLevel; }
adapte ao seu gamemode!
|