Доступ к готовым решениям

Переход в группу "Пользователь"

300.00
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Мануал Цветные меню

OKStyle

Адвокат по делам семейным
Administrator
Wiki Team
Регистрация
4 Мар 2011
Сообщения
7,094
Лучшие ответы
226
Репутация
2,455
Награды
11


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

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

PHP:
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");
Ну и добавим простенькие команды для показа и скрытия меню:

PHP:
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 (а также ещё один человек, который когда-то давным-давно показывал скриншот цветного меню на оф. форуме).
 
Сверху Снизу