[Мануал] Русский текст в TextDraw
Sprunk
Дата: Четверг, 14.08.2014, 06:16 | Сообщение # 1
Боец
Сообщений: 237
Статус: Offline
Автор: alex009 (Если я не ошибаюсь) И так, как вы знаете в TextDraw and GameTextForPlayer , писать русским языком нельзя. Будут непонятные иероглифы и так далее, или же нужен будет русификатор.. Ну так вот, с этим кодом вы сможете делать TextDraw and GameTextForPlayer русским... Собственно сам код: В конец мода: Код
stock FixText(string[]) { new result[256]; for(new i=0; i < 256; i++) { switch(string[i]) { case 'а':result[i] = 'a'; case 'А':result[i] = 'A'; case 'б':result[i] = '—'; case 'Б':result[i] = 'Ђ'; case 'в':result[i] = 'ў'; case 'В':result[i] = '‹'; case 'г':result[i] = '™'; case 'Г':result[i] = '‚'; case 'д':result[i] = 'љ'; case 'Д':result[i] = 'ѓ'; case 'е':result[i] = 'e'; case 'Е':result[i] = 'E'; case 'ё':result[i] = 'e'; case 'Ё':result[i] = 'E'; case 'ж':result[i] = '›'; case 'Ж':result[i] = '„'; case 'з':result[i] = 'џ'; case 'З':result[i] = '€'; case 'и':result[i] = 'њ'; case 'И':result[i] = '…'; case 'й':result[i] = 'њ'; case 'Й':result[i] = '…'; case 'к':result[i] = 'k'; case 'К':result[i] = 'K'; case 'л':result[i] = 'ћ'; case 'Л':result[i] = '‡'; case 'м':result[i] = 'Ї'; case 'М':result[i] = 'M'; case 'н':result[i] = '®'; case 'Н':result[i] = '*'; case 'о':result[i] = 'o'; case 'О':result[i] = 'O'; case 'п':result[i] = 'Ј'; case 'П':result[i] = 'Њ'; case 'р':result[i] = 'p'; case 'Р':result[i] = 'P'; case 'с':result[i] = 'c'; case 'С':result[i] = 'C'; case 'т':result[i] = '¦'; case 'Т':result[i] = 'Џ'; case 'у':result[i] = 'y'; case 'У':result[i] = 'Y'; case 'ф':result[i] = ''; case 'Ф':result[i] = 'Ѓ'; case 'х':result[i] = 'x'; case 'Х':result[i] = 'X'; case 'ц':result[i] = '*'; case 'Ц':result[i] = '‰'; case 'ч':result[i] = '¤'; case 'Ч':result[i] = 'Ќ'; case 'ш':result[i] = 'Ґ'; case 'Ш':result[i] = 'Ћ'; case 'щ':result[i] = 'Ў'; case 'Щ':result[i] = 'Љ'; case 'ь':result[i] = '©'; case 'Ь':result[i] = '’'; case 'ъ':result[i] = 'ђ'; case 'Ъ':result[i] = '§'; case 'ы':result[i] = 'Ё'; case 'Ы':result[i] = '‘'; case 'э':result[i] = 'Є'; case 'Э':result[i] = '“'; case 'ю':result[i] = '«'; case 'Ю':result[i] = '”'; case 'я':result[i] = '¬'; case 'Я':result[i] = '•'; default:result[i]=string[i]; } } return result; }
Срезал немного строки, что бы не занимал места
Код
stock FixText(string[]) { new result[256]; for(new i=0; i < 256; i++) { switch(string[i]) { case 'а':result[i] = 'a';case 'А':result[i] = 'A';case 'б':result[i] = '—';case 'Б':result[i] = 'Ђ';case 'в':result[i] = 'ў';case 'В':result[i] = '‹'; case 'г':result[i] = '™';case 'Г':result[i] = '‚';case 'д':result[i] = 'љ';case 'Д':result[i] = 'ѓ';case 'е':result[i] = 'e';case 'Е':result[i] = 'E'; case 'ё':result[i] = 'e';case 'Ё':result[i] = 'E';case 'ж':result[i] = '›';case 'Ж':result[i] = '„';case 'з':result[i] = 'џ';case 'З':result[i] = '€'; case 'и':result[i] = 'њ';case 'И':result[i] = '…';case 'й':result[i] = 'њ';case 'Й':result[i] = '…';case 'к':result[i] = 'k';case 'К':result[i] = 'K'; case 'л':result[i] = 'ћ';case 'Л':result[i] = '‡';case 'м':result[i] = 'Ї';case 'М':result[i] = 'M';case 'н':result[i] = '®';case 'Н':result[i] = '*'; case 'о':result[i] = 'o';case 'О':result[i] = 'O';case 'п':result[i] = 'Ј';case 'П':result[i] = 'Њ';case 'р':result[i] = 'p';case 'Р':result[i] = 'P'; case 'с':result[i] = 'c';case 'С':result[i] = 'C';case 'т':result[i] = '¦';case 'Т':result[i] = 'Џ';case 'у':result[i] = 'y';case 'У':result[i] = 'Y'; case 'ф':result[i] = '';case 'Ф':result[i] = 'Ѓ';case 'х':result[i] = 'x';case 'Х':result[i] = 'X';case 'ц':result[i] = '*';case 'Ц':result[i] = '‰'; case 'ч':result[i] = '¤';case 'Ч':result[i] = 'Ќ';case 'ш':result[i] = 'Ґ';case 'Ш':result[i] = 'Ћ';case 'щ':result[i] = 'Ў';case 'Щ':result[i] = 'Љ'; case 'ь':result[i] = '©';case 'Ь':result[i] = '’';case 'ъ':result[i] = 'ђ';case 'Ъ':result[i] = '§';case 'ы':result[i] = 'Ё';case 'Ы':result[i] = '‘'; case 'э':result[i] = 'Є';case 'Э':result[i] = '“';case 'ю':result[i] = '«';case 'Ю':result[i] = '”';case 'я':result[i] = '¬';case 'Я':result[i] = '•'; default:result[i]=string[i];}} return result;}
Использование:
TextDraw. По типу: Код
logotip = TextDrawCreate(571.500000, 1.244426,FixText("Тест")); TextDrawLetterSize(logotip, 0.449999, 1.600000); TextDrawAlignment(logotip, 1); TextDrawColor(logotip, -1); TextDrawSetShadow(logotip, 0); TextDrawSetOutline(logotip, 1); TextDrawBackgroundColor(logotip, 51); TextDrawFont(logotip, 3); TextDrawSetProportional(logotip, 1); Как вы поняли вместо обычного текста мы добавляем FixText("Тест"));.
GameTextForPlayer: Код
GameTextForPlayer(playerid, FixText("~w~Тест"), 5000, 1);
SopranoV
Дата: Суббота, 16.08.2014, 23:29 | Сообщение # 2
Боец
Сообщений: 282
Статус: Offline
Не очень.
Изучаю AHK программирование
Sprunk
Дата: Вторник, 19.08.2014, 15:39 | Сообщение # 3
Боец
Сообщений: 237
Статус: Offline
u p!
[ARP]Kaizen
Дата: Четверг, 28.08.2014, 03:51 | Сообщение # 4
Новичок
Сообщений: 16
Статус: Offline
В павн строки нельзя возвращать, так как много памяти жрут. Присмотрись к тому же стандартному GetPlayerName. Думаешь там просто так сделали так, чтобы нужно было создавать переменную и в нее записывать значение? Ведь проще сделать как у тебя, чтобы сразу строка возвращалась с ником. Пару таких комманд и длинных строк и твой мод сдохнет и будет жаловаться на нехватку памяти.
[CM]Rampage
Дата: Пятница, 29.08.2014, 11:33 | Сообщение # 5
Боец
Сообщений: 104
Статус: Offline
Не очень, но за старания лойс)
Лунатик
Дата: Пятница, 29.08.2014, 15:30 | Сообщение # 6
Новичок
Сообщений: 24
Статус: Offline
Спасибо большое помог продложай