Símbolos e letras - Turv - 29/04/2021
Bom dia galera, este é meu primeiro post e preciso de sua ajuda se possível
Algumas semanas atrás eu comecei um projeto e estou tendo um bug desde então, acontece que o servidor não pega as letras e símbolos como:
ñ
Ñ
!
á
Á
Você sabe como consertar este problema? muito obrigado por ler
RE: Símbolos e letras - xbruno1000x - 29/04/2021
As letras do GTA SA usadas em SA-MP são provenientes da língua inglesa, e por esse motivo a acentuação não é suportada em textdraws.
Felizmente isso pode ser resolvido com um simples código:
Código: stock FixText(string[])
{
new szFixed[1024], iPos, iLen;
for(iLen = strlen(string); iPos < iLen; iPos ++)
switch(string[iPos])
{
case '%': szFixed[iPos] = 37;
case '&': szFixed[iPos] = 38;
case '¡': szFixed[iPos] = 64;
case '°': szFixed[iPos] = 124;
case 'À': szFixed[iPos] = 128;
case 'Á': szFixed[iPos] = 129;
case 'Â': szFixed[iPos] = 130;
case 'Ä', 'Ã': szFixed[iPos] = 131;
case 'Ç': szFixed[iPos] = 133;
case 'È': szFixed[iPos] = 134;
case 'É': szFixed[iPos] = 135;
case 'Ê': szFixed[iPos] = 136;
case 'Ë': szFixed[iPos] = 137;
case 'Ì': szFixed[iPos] = 138;
case 'Í': szFixed[iPos] = 139;
case 'Î': szFixed[iPos] = 140;
case 'Ï': szFixed[iPos] = 141;
case 'Ò': szFixed[iPos] = 142;
case 'Ó': szFixed[iPos] = 143;
case 'Ô': szFixed[iPos] = 144;
case 'Ö', 'Õ': szFixed[iPos] = 145;
case 'Ù': szFixed[iPos] = 146;
case 'Ú': szFixed[iPos] = 147;
case 'Û': szFixed[iPos] = 148;
case 'Ü': szFixed[iPos] = 149;
case 'à': szFixed[iPos] = 151;
case 'á': szFixed[iPos] = 152;
case 'â': szFixed[iPos] = 153;
case 'ä', 'ã': szFixed[iPos] = 154;
case 'ç': szFixed[iPos] = 156;
case 'è': szFixed[iPos] = 157;
case 'é': szFixed[iPos] = 158;
case 'ê': szFixed[iPos] = 159;
case 'ë': szFixed[iPos] = 160;
case 'ì': szFixed[iPos] = 161;
case 'í': szFixed[iPos] = 162;
case 'î': szFixed[iPos] = 163;
case 'ï': szFixed[iPos] = 164;
case 'ò': szFixed[iPos] = 165;
case 'ó': szFixed[iPos] = 166;
case 'ô': szFixed[iPos] = 167;
case 'ö', 'õ': szFixed[iPos] = 168;
case 'ù': szFixed[iPos] = 169;
case 'ú': szFixed[iPos] = 170;
case 'û': szFixed[iPos] = 171;
case 'ü': szFixed[iPos] = 172;
case 'Ñ': szFixed[iPos] = 173;
case 'ñ': szFixed[iPos] = 174;
case '¿': szFixed[iPos] = 175;
case '`': szFixed[iPos] = 177;
default: szFixed[iPos] = string[iPos];
}
return szFixed;
}
Para utilizar textdraw com caracteres corrigidos, basta usar o formato abaixo:
Código: GameTextForPlayer(playerid, FixText("~r~VOCÊ SUBIU DE LEVEL!"), 3000, 3);
Use FixText e coloque os caracteres acentuados dentro do parêntesis dele.
RE: Símbolos e letras - Turv - 29/04/2021
(29/04/2021 08:27)xbruno1000x Escreveu: As letras do GTA SA usadas em SA-MP são provenientes da língua inglesa, e por esse motivo a acentuação não é suportada em textdraws.
Felizmente isso pode ser resolvido com um simples código:
Código: stock FixText(string[])
{
new szFixed[1024], iPos, iLen;
for(iLen = strlen(string); iPos < iLen; iPos ++)
switch(string[iPos])
{
case '%': szFixed[iPos] = 37;
case '&': szFixed[iPos] = 38;
case '¡': szFixed[iPos] = 64;
case '°': szFixed[iPos] = 124;
case 'À': szFixed[iPos] = 128;
case 'Á': szFixed[iPos] = 129;
case 'Â': szFixed[iPos] = 130;
case 'Ä', 'Ã': szFixed[iPos] = 131;
case 'Ç': szFixed[iPos] = 133;
case 'È': szFixed[iPos] = 134;
case 'É': szFixed[iPos] = 135;
case 'Ê': szFixed[iPos] = 136;
case 'Ë': szFixed[iPos] = 137;
case 'Ì': szFixed[iPos] = 138;
case 'Í': szFixed[iPos] = 139;
case 'Î': szFixed[iPos] = 140;
case 'Ï': szFixed[iPos] = 141;
case 'Ò': szFixed[iPos] = 142;
case 'Ó': szFixed[iPos] = 143;
case 'Ô': szFixed[iPos] = 144;
case 'Ö', 'Õ': szFixed[iPos] = 145;
case 'Ù': szFixed[iPos] = 146;
case 'Ú': szFixed[iPos] = 147;
case 'Û': szFixed[iPos] = 148;
case 'Ü': szFixed[iPos] = 149;
case 'à': szFixed[iPos] = 151;
case 'á': szFixed[iPos] = 152;
case 'â': szFixed[iPos] = 153;
case 'ä', 'ã': szFixed[iPos] = 154;
case 'ç': szFixed[iPos] = 156;
case 'è': szFixed[iPos] = 157;
case 'é': szFixed[iPos] = 158;
case 'ê': szFixed[iPos] = 159;
case 'ë': szFixed[iPos] = 160;
case 'ì': szFixed[iPos] = 161;
case 'í': szFixed[iPos] = 162;
case 'î': szFixed[iPos] = 163;
case 'ï': szFixed[iPos] = 164;
case 'ò': szFixed[iPos] = 165;
case 'ó': szFixed[iPos] = 166;
case 'ô': szFixed[iPos] = 167;
case 'ö', 'õ': szFixed[iPos] = 168;
case 'ù': szFixed[iPos] = 169;
case 'ú': szFixed[iPos] = 170;
case 'û': szFixed[iPos] = 171;
case 'ü': szFixed[iPos] = 172;
case 'Ñ': szFixed[iPos] = 173;
case 'ñ': szFixed[iPos] = 174;
case '¿': szFixed[iPos] = 175;
case '`': szFixed[iPos] = 177;
default: szFixed[iPos] = string[iPos];
}
return szFixed;
}
Para utilizar textdraw com caracteres corrigidos, basta usar o formato abaixo:
Código: GameTextForPlayer(playerid, FixText("~r~VOCÊ SUBIU DE LEVEL!"), 3000, 3);
Use FixText e coloque os caracteres acentuados dentro do parêntesis dele.
Muito obrigado por ler e responder
Infelizmente não consegui resolver o problema, ao compilar recebo este erro:
Código: [758] return szFixed;
C:\Users\Turv2\Desktop\Servidor Oficial\gamemodes\pito.pwn(758) : error 010: invalid function or declaration
OBS: Também tenho o erro no GameModeText, Hostname e Language
Mais uma vez, obrigado pela leitura.
RE: Símbolos e letras - xbruno1000x - 29/04/2021
Para corrigir language e outros textos que aparecem no SA-MP, basta assinalar os nomes dentro do gamemode usando SendRconCommand na OnGameModeInit.
Código: SendRconCommand("language Português");
Código: SendRconCommand("hostname NOME DO SEU SERVER");
Código: SendRconCommand("gamemodetext GAMEMODE TEXT");
Código: SendRconCommand("mapname São Paulo");
RE: Símbolos e letras - Turv - 29/04/2021
(29/04/2021 18:42)xbruno1000x Escreveu: Para corrigir language e outros textos que aparecem no SA-MP, basta assinalar os nomes dentro do gamemode usando SendRconCommand na OnGameModeInit.
Código: SendRconCommand("language Português");
Código: SendRconCommand("hostname NOME DO SEU SERVER");
Código: SendRconCommand("gamemodetext GAMEMODE TEXT");
Código: SendRconCommand("mapname São Paulo");
Obrigado por responder novamente.
Como antes, o problema permanece. Eu configurei o idioma do server.cfg (então apague a linha do idioma e ela permanece a mesma)
Eu atualizei a_samp.inc, também atualizei samp-server.exe, coloquei o código como você postou (eu já tinha assim antes) e ainda nada funciona. Ainda aparecendo Português
Também como eu disse antes, coloco o FixText no GM e recebo o erro mencionado
Obrigado pela leitura
RE: Símbolos e letras - zBL4CK - 29/04/2021
(29/04/2021 20:05)Turv Escreveu: (29/04/2021 18:42)xbruno1000x Escreveu: Para corrigir language e outros textos que aparecem no SA-MP, basta assinalar os nomes dentro do gamemode usando SendRconCommand na OnGameModeInit.
Código: SendRconCommand("language Português");
Código: SendRconCommand("hostname NOME DO SEU SERVER");
Código: SendRconCommand("gamemodetext GAMEMODE TEXT");
Código: SendRconCommand("mapname São Paulo");
Obrigado por responder novamente.
Como antes, o problema permanece. Eu configurei o idioma do server.cfg (então apague a linha do idioma e ela permanece a mesma)
Eu atualizei a_samp.inc, também atualizei samp-server.exe, coloquei o código como você postou (eu já tinha assim antes) e ainda nada funciona. Ainda aparecendo Português
Também como eu disse antes, coloco o FixText no GM e recebo o erro mencionado
Obrigado pela leitura você esta usando qual editor? se for o vscode troque a codificação para windows 1252
RE: Símbolos e letras - Turv - 29/04/2021
(29/04/2021 21:01)zBL4CK Escreveu: (29/04/2021 20:05)Turv Escreveu: (29/04/2021 18:42)xbruno1000x Escreveu: Para corrigir language e outros textos que aparecem no SA-MP, basta assinalar os nomes dentro do gamemode usando SendRconCommand na OnGameModeInit.
Código: SendRconCommand("language Português");
Código: SendRconCommand("hostname NOME DO SEU SERVER");
Código: SendRconCommand("gamemodetext GAMEMODE TEXT");
Código: SendRconCommand("mapname São Paulo");
Obrigado por responder novamente.
Como antes, o problema permanece. Eu configurei o idioma do server.cfg (então apague a linha do idioma e ela permanece a mesma)
Eu atualizei a_samp.inc, também atualizei samp-server.exe, coloquei o código como você postou (eu já tinha assim antes) e ainda nada funciona. Ainda aparecendo Português
Também como eu disse antes, coloco o FixText no GM e recebo o erro mencionado
Obrigado pela leitura você esta usando qual editor? se for o vscode troque a codificação para windows 1252 Atualmente, uso o Sublime Text 3.
Tentei com Pawno (integrado) e ainda não funciona
RE: Símbolos e letras - xbruno1000x - 29/04/2021
(29/04/2021 21:08)Turv Escreveu: (29/04/2021 21:01)zBL4CK Escreveu: (29/04/2021 20:05)Turv Escreveu: (29/04/2021 18:42)xbruno1000x Escreveu: Para corrigir language e outros textos que aparecem no SA-MP, basta assinalar os nomes dentro do gamemode usando SendRconCommand na OnGameModeInit.
Código: SendRconCommand("language Português");
Código: SendRconCommand("hostname NOME DO SEU SERVER");
Código: SendRconCommand("gamemodetext GAMEMODE TEXT");
Código: SendRconCommand("mapname São Paulo");
Obrigado por responder novamente.
Como antes, o problema permanece. Eu configurei o idioma do server.cfg (então apague a linha do idioma e ela permanece a mesma)
Eu atualizei a_samp.inc, também atualizei samp-server.exe, coloquei o código como você postou (eu já tinha assim antes) e ainda nada funciona. Ainda aparecendo Português
Também como eu disse antes, coloco o FixText no GM e recebo o erro mencionado
Obrigado pela leitura você esta usando qual editor? se for o vscode troque a codificação para windows 1252 Atualmente, uso o Sublime Text 3.
Tentei com Pawno (integrado) e ainda não funciona
Intenta con Pawn Community Compiler. Puede descargar en https://github.com/openmultiplayer/compiler .
Utilizo ambos códigos y funcionan correctamente
RE: Símbolos e letras - MarcosBrazz - 29/04/2021
(29/04/2021 21:08)Turv Escreveu: (29/04/2021 21:01)zBL4CK Escreveu: (29/04/2021 20:05)Turv Escreveu: (29/04/2021 18:42)xbruno1000x Escreveu: Para corrigir language e outros textos que aparecem no SA-MP, basta assinalar os nomes dentro do gamemode usando SendRconCommand na OnGameModeInit.
Código: SendRconCommand("language Português");
Código: SendRconCommand("hostname NOME DO SEU SERVER");
Código: SendRconCommand("gamemodetext GAMEMODE TEXT");
Código: SendRconCommand("mapname São Paulo");
Obrigado por responder novamente.
Como antes, o problema permanece. Eu configurei o idioma do server.cfg (então apague a linha do idioma e ela permanece a mesma)
Eu atualizei a_samp.inc, também atualizei samp-server.exe, coloquei o código como você postou (eu já tinha assim antes) e ainda nada funciona. Ainda aparecendo Português
Também como eu disse antes, coloco o FixText no GM e recebo o erro mencionado
Obrigado pela leitura você esta usando qual editor? se for o vscode troque a codificação para windows 1252 Atualmente, uso o Sublime Text 3.
Tentei com Pawno (integrado) e ainda não funciona
Eu Também uso o Sublime, e para corrigir o problema de acentuação eu clico em File > Save With Encoding > Western (Windows 1252) e compilo.
|