Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Irei abordar aqui a maneira correta de inserir letras com acentos nas funções GameTextForPlayer e outras relacionadas a textdraws. Irei mostrar um exemplo abaixo errôneo do ato: GameTextForPlayer(playerid, "Você está logado no servidor!", 2000, 1); // Not work for ANSI on SAMP
- Errôneo porque a codificação padrão do jogo não aceita letras acentuadas! Vejamos como você poderia contornar isso. Para poder colocar letras acentuadas, é preciso de que você substitua a letra que você quer pelo símbolo correspondente a ela. Haverá um símbolo (caractere) específico para uma porção de letras que, usando-os, você a terá acentuada.
- г = љ
- Г = ѓ
- б =
- а = —
- в = ™
- й = ћ
- Й = ‡
- к = џ
- К = €
- н = ў
- х = Ё
- у = ¦
- ф = §
- Ф = ‘
- ъ = Є
- Ъ = “
- з = њ
- З = …
- Exemplo de uso: GameTextForPlayer (playerid, "VOCÊ ESTÁ LOGADO!", 2000, 1); // Not work!
- GameTextForPlayer (playerid, "VOC€ EST LOGADO!", 2000, 1); // Work
- O conceito é simples, basta você substituir a letra pelo símbolo e você terá ela acentuada, conforme podem ver na segunda chamada da função GameTextForPlayer acima.
- Convert ANSI characters to show in gametext and textdraw
- */
- stock ConverterTexto(texto[])
- {
- new string[256];
- for(new i = 0; texto[i]; ++i)
- {
- string[i] = texto[i];
- switch(string[i])
- {
- case 0xC0 .. 0xC3: string[i] -= 0x40; case 0xC7 .. 0xC9: string[i] -= 0x42; case 0xD2 .. 0xD5: string[i] -= 0x44; case 0xD9 .. 0xDC: string[i] -= 0x47; case 0xE0 .. 0xE3: string[i] -= 0x49;
- case 0xE7 .. 0xEF: string[i] -= 0x4B; case 0xF2 .. 0xF5: string[i] -= 0x4D; case 0xF9 .. 0xFC: string[i] -= 0x50; case 0xC4, 0xE4: string[i] = 0x83; case 0xC6, 0xE6: string[i] = 0x84; case 0xD6, 0xF6: string[i] = 0x91; case 0xD1, 0xF1: string[i] = 0xEC; case 0xDF: string[i] = 0x96; case 0xBF: string[i] = 0xAF;
- }
- }
- return string;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement