- 8
- 87
Text colorizer
Здраствуйте дорогие форумчане!
Вчера появилась идея сделать инклуйд который позволил бы красить текст в разноцветный текст.
Его можно использовать не только в диалогах, но и в MaterialText так и 3D текст.
Я сильно не запаривался и не углублялся в глупокий дзен оптимизации. тупа по фану и на коленке.
В чём суть спросите вы. Не поверите но у цвета есть множество форматов и одно из них RGB. Ок, но как на счёт HSV?
Тем кто вообще только что познакомился с HSL.
Читаем эту тему
Wikipedia
Там формула есть HSV в RGB ок вот она:
Красим текст::
Прошу обратить внимание!!!!!!!!!
Вы создали массив 128 байт и размер текста будет 120 цвет просто на просто закрасится одним цветом.
Вы должны брать с запасом.
Использование
&c - заменится на цвета "{ff0000}" в диапазоне от "hstart" до "hend"
Красим строку:
Использование:
Пример диалога который на скриншоте:
Скачать:
Автор Я. vawylon/pawlo
Здраствуйте дорогие форумчане!
Вчера появилась идея сделать инклуйд который позволил бы красить текст в разноцветный текст.
Его можно использовать не только в диалогах, но и в MaterialText так и 3D текст.
Я сильно не запаривался и не углублялся в глупокий дзен оптимизации. тупа по фану и на коленке.
В чём суть спросите вы. Не поверите но у цвета есть множество форматов и одно из них RGB. Ок, но как на счёт HSV?
Тем кто вообще только что познакомился с HSL.
Читаем эту тему
Wikipedia
Там формула есть HSV в RGB ок вот она:
Код:
stock HSVtoRGB(Float:H, Float:S = 100.0, Float:V= 100.0)
H от 0.0 до 360.0!!!
S - тон
V - насыщенность
возвращает RGB цвет
Код:
stock HSVtoRGBA(Float:H, A = 0xFF, Float:S = 100.0, Float:V= 100.0)
возвращает RGBA цвет
Красим текст::
Код:
ColorazeText(text[], Float: hstart = 0.0, Float: hend = 360.0, sizet = sizeof(text))
text - текст
hstar - начало цветового тона
hend - конец цветового тона
sizet - максимальная длинна
Прошу обратить внимание!!!!!!!!!
Вы создали массив 128 байт и размер текста будет 120 цвет просто на просто закрасится одним цветом.
Вы должны брать с запасом.
Использование
Код:
new line[256] = "&c1.List
&c2.List
&c3.List
&c4.List
&c5.List";
ColorazeText(line, 120.0, 230);
&c - заменится на цвета "{ff0000}" в диапазоне от "hstart" до "hend"
Красим строку:
Код:
ColorizeString(string[], Float: hstart = 0.0, Float: hend = 360.0, ssize = sizeof(string))
Всё тоже самое только закрасит строку в диапазон цветов он hstart до hend
Использование:
Код:
new line[256] = "||||||||||||||||||||||||||||||||||||||||||||||||";
ColorizeString(line);
Пример диалога который на скриншоте:
Код:
CMD:colorize(playerid)
{
new string[2048];
new line[256] = "||||||||||||||||||||||||||||||||||||||||||||||\n"; символы которые на скриншоте не отображаются. заменил на то что есть. в чате зажмите LCNTRL + Backspace
ColorizeString(line);
strcat(string, line);
line = "||||||||||||||||||||||||||||||||||||||||||||||\n";
ColorizeString(line, 120.0, 260.0);
strcat(string, line);
line = "&c1. List\n&c2. List\n&c3. List\n&c4. List\n&c5. List\n&c6. List\n&c7. List\n&c8. List\n&c9. List\n&c10. List\n&c11. List\n&c12. List";
ColorazeText(line, 120.0, 230);
strcat(string, line, sizeof(string));
new head[128] = "Text colorize by vawylon";
ColorizeString(head, 120.0, 290.0);
new leftbutton[128] = "Выбрать";
ColorizeString(leftbutton, 90.0, 0);
new rightbutton[128] = "Закрыть";
ColorizeString(rightbutton, 0.0, 90);
ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, head, string, leftbutton, rightbutton);
return 1;
}
Скачать:
GitHub - vawylon/Text-Colorize: Multicolored text in dialogs, 3d text, text material in samp. Smooth transition from color tone in each character
Multicolored text in dialogs, 3d text, text material in samp. Smooth transition from color tone in each character - vawylon/Text-Colorize
github.com