[Tutorial] Como usar acentos em coisas como GameTexts
#1

- 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);
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.

Sнmbolos:
Код:
г = љ
Г = ѓ
б = 
а = — 
в = ™

й = ћ
Й = ‡ 
к = џ
К = €

н = ў

х = Ё
у = ¦                         
ф = §
Ф = ‘

ъ = Є
Ъ = “

з = њ
З = …
Exemplo de uso:
Код:
GameTextForPlayer (playerid, "VOCК ESTБ LOGADO!", 2000, 1); - Isso estб errado!
GameTextForPlayer (playerid, "VOC€ EST LOGADO!", 2000, 1) - Esta forma que estб correta!
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.
Reply
#2

Belo tutorial
Reply
#3

Simples mas informativo, gostei.
Reply
#4

Vocк poderia fazer uma include baseada em hook para fixar esses problemas de acentuaзгo, seria bem legal atй.
Reply
#5

Boa! Vai ajudar quem precisa.
Reply
#6

Bem ъtil +rep
Reply
#7

Nem eu sabia, Obrigado ! +1
Reply
#8

Legal isso vai ajudar muitos que estгo tendo problemas com acentos nas letras em textdraws e gametexts +rep
Reply
#9

O Н (›) estб errado.
Reply
#10

pawn Код:
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;
}
O cуdigo acima converte os acentos para serem utilizados nas TextDraws e GameText.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)