[Tutorial] Цветные меню
#1



В сегодняшнем рождественском уроке я покажу как делать забытое всеми меню с цветными пунктами. Например, удобно выделять цветом в меню покупки оружия те строчки, которые игроку не доступны из-за нехватки финансов или скилла/ранга. В коде меню я показал все возможные цветовые вариации, дальше только математика и ваша фантазия.

Создадим меню:

pawn Code:
ColoredMenu = CreateMenu("Colored Menu", 2, 200.0, 100.0, 150.0, 150.0);
SetMenuColumnHeader(ColoredMenu, 0, "Row 1");
SetMenuColumnHeader(ColoredMenu, 1, "Row 2");

AddMenuItem(ColoredMenu, 0, "Row1 ~r~Item1");
AddMenuItem(ColoredMenu, 0, "Row1 ~r~~h~Item2");
AddMenuItem(ColoredMenu, 0, "Row1 ~r~~h~~h~Item3");
AddMenuItem(ColoredMenu, 0, "Row1 ~r~~h~~h~~h~Item4");
AddMenuItem(ColoredMenu, 0, "Row1 ~r~~h~~h~~h~~h~Item5");
AddMenuItem(ColoredMenu, 0, "Row1 ~r~~h~~h~~h~~h~~h~Item6");
AddMenuItem(ColoredMenu, 0, "Row1 ~g~Item7");
AddMenuItem(ColoredMenu, 0, "Row1 ~g~~h~Item8");
AddMenuItem(ColoredMenu, 0, "Row1 ~g~~h~~h~Item9");
AddMenuItem(ColoredMenu, 0, "Row1 ~g~~h~~h~~h~Item10");
AddMenuItem(ColoredMenu, 0, "Row1 ~p~Item11");

AddMenuItem(ColoredMenu, 1, "Row2 ~p~~h~Item1");
AddMenuItem(ColoredMenu, 1, "Row2 ~b~Item2");
AddMenuItem(ColoredMenu, 1, "Row2 ~b~~h~Item3");
AddMenuItem(ColoredMenu, 1, "Row2 ~b~~h~~h~Item4");
AddMenuItem(ColoredMenu, 1, "Row2 ~b~~h~~h~~h~Item5");
AddMenuItem(ColoredMenu, 1, "Row2 Item6");
AddMenuItem(ColoredMenu, 1, "Row2 ~y~Item7");
AddMenuItem(ColoredMenu, 1, "Row2 ~y~~h~Item8");
AddMenuItem(ColoredMenu, 1, "Row2 ~y~~h~~h~Item9");
AddMenuItem(ColoredMenu, 1, "Row2 ~w~Item10");
AddMenuItem(ColoredMenu, 1, "Row2 ~l~Item11");
Ну и добавим простенькие команды для показа и скрытия меню:

pawn Code:
if(strcmp(cmdtext, "/showmenu", true) == 0) return ShowMenuForPlayer(ColoredMenu, playerid);
if(strcmp(cmdtext, "/hidemenu", true) == 0) return HideMenuForPlayer(ColoredMenu, playerid);
Экспериментируйте с сочетаниями цветов и функционалом меню, однако запомните несколько очень важных моментов, которые при написании урока были добавлены в официальные WIKI:
1) В меню не может быть больше 12 строк (точнее, 13-я станет неким подобием заголовка первой колонки (цветовое оформление сохранится), а 14-я и все последующие вообще не будут показаны).
2) Колонок по-умолчанию в меню может быть не больше 2-х (с ID 0 и 1). Однако, используя вышеописанный баг, можно сделать 4.
3) Вы можете использовать только 8 кодов цвета подряд (~r~, ~g~ и другие).
4) Длина строки с текстом пункта меню не должна превышать 31 символ (всё, что выходит за рамки - не показывается).
5) Код цвета занимает в строке 3 символа: ~, буква и второй ~.

Автор: OKStyle (а также ещё один человек, который когда-то давным-давно показывал скриншот цветного меню на этом форуме).
Reply


Messages In This Thread
Цветные меню - by OKStyle - 06.01.2015, 20:46
Re: Цветные меню - by Darge - 01.03.2015, 11:53
Re: Цветные меню - by OKStyle - 01.03.2015, 12:58

Forum Jump:


Users browsing this thread: 2 Guest(s)