Профиль
Информация Управление
Здравствуйте, уважаемый посетитель. К сожалению, Вы не были распознаны форумом, как зарегистрированный пользователь. Для полноценного использования возможностей нашего форума вам необходимо зарегистрироваться. Если вы уже зарегистрированы на форуме, то вам необходимо пройти авторизацию, используя Ваш логин и пароль. Зарегистрированные пользователи получают возможность возможность общения на нашем форуме.


[Новые сообщения · Правила форума · RSS ]
  • Страница 1 из 1
  • 1
[Tutorial] Цветные меню
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 (а также ещё один человек, который когда-то давным-давно показывал скриншот цветного меню на оф. форуме).
Прикрепления: 5444777.png (658.8 Kb)


 
  • Страница 1 из 1
  • 1
Поиск:

Сайт управляется системой uCoz