Entendi o que você quer fazer.
Otimizei o código pra você além de também melhorar e corrigir a questão da quebra de linha.
Quando o texto tem um size maior que 75, ele quebra em 2 partes:
(Se eu não me engano, o samp já faz a quebra de linha automaticamente, sem a necessidade de criar essa observação ao enviar a mensagem.
Outra coisa é que, por exemplo, se a posição 70-76 for uma palavra, a 76 seria a part2 que seria a última letra da palavra, e com isso, em algumas ocasiões dependendo do "text" seria enviado uma unica palavra no chat do jogador, onde seria viável completar a palavra na part1
Tipo:
Texto original: ola meu nome é BitSain
Suponhamos que o texto original tenha um size > 75:
Part1: ola meu nome é BitSai
Part2: n
)
Otimizei o código pra você além de também melhorar e corrigir a questão da quebra de linha.
Quando o texto tem um size maior que 75, ele quebra em 2 partes:
Código PHP:
public OnPlayerText(playerid, text[]){
new String[128], textPart1[128], textPart2[128];
static const prefixos[7][64] = {
"%s[%d]: %s", // Civil
"{FFFF00}[Ajudante] {CFCFCF}%s[%d]: %s", // Ajudante
"{00FF00}[Moderador] {CFCFCF}%s[%d]: %s", // Moderador
"{FF0000}[Administrador] {CFCFCF}%s[%d]: %s", // Administrador
"{FFA500}[Gerente] {CFCFCF}%s[%d]: %s", // Gerente
"{0000FF}[Diretor] {CFCFCF}%s[%d]: %s", // Diretor
"{4B0082}[Fundador] {CFCFCF}%s[%d]: %s" // Fundador
};
if(strlen(text) > 75) {
strmid(textPart1, text, 0, 75, sizeof(textPart1));
strmid(textPart2, text, 75, strlen(text), sizeof(textPart2));
format(String, sizeof(String), prefixos[Player[playerid][pAdmin]], pName(playerid), playerid, textPart1);
ProxDetector(20.0, playerid, String, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
format(String, sizeof(String), prefixos[Player[playerid][pAdmin]], pName(playerid), playerid, textPart2);
ProxDetector(20.0, playerid, String, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
}
else {
format(String, sizeof(String), prefixos[Player[playerid][pAdmin]], pName(playerid), playerid, text);
ProxDetector(20.0, playerid, String, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY, COLOR_GREY);
}
return false; //true envia a mensagem global do samp. False desativa isso
}
(Se eu não me engano, o samp já faz a quebra de linha automaticamente, sem a necessidade de criar essa observação ao enviar a mensagem.
Outra coisa é que, por exemplo, se a posição 70-76 for uma palavra, a 76 seria a part2 que seria a última letra da palavra, e com isso, em algumas ocasiões dependendo do "text" seria enviado uma unica palavra no chat do jogador, onde seria viável completar a palavra na part1
Tipo:
Texto original: ola meu nome é BitSain
Suponhamos que o texto original tenha um size > 75:
Part1: ola meu nome é BitSai
Part2: n
)