OKStyle
| Дата: Среда, 07.01.2015, 02:20 | Сообщение # 1 |
 Архивариус
Группа: Администраторы
Зарегистрирован: 19.02.2011
Сообщений: 125
Репутация: 8
Статус: Offline
| 
В сегодняшнем рождественском уроке я покажу как делать забытое всеми меню с цветными пунктами. Например, удобно выделять цветом в меню покупки оружия те строчки, которые игроку не доступны из-за нехватки финансов или скилла/ранга. В коде меню я показал все возможные цветовые вариации, дальше только математика и ваша фантазия.
Создадим меню:
Код 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");
Ну и добавим простенькие команды для показа и скрытия меню:
Код 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 (а также ещё один человек, который когда-то давным-давно показывал скриншот цветного меню на оф. форуме).
|
|
| |