Русское сообщество по скриптингу

Как сделать динамичное меню?  [Решено]

Все вопросы по работе и настройке AMXX и его плагинов.

Модератор: liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только вопросов по AMX Mod X и его плагинам.

Как сделать динамичное меню?  [Решено]

Сообщение Kasperskiy » 05 фев 2018, 09:49

Доброго времени суток. Сразу хочу сказать, что начал разработки плагинов AMXX недавно, поэтому прошу не ругаться :-) . Теперь к сути. Я недавно решил создать меню с "0". Чтобы было как-то красивее, хотелось сделать его динамичным. Т.е. чтобы оно изменялось в самой игре. Я задался 3 вопросами
=============================================================================================
1. Как сделать, чтобы в заголовке меню могло бы отображаться: имя игрока, название карты, дата, привилегия, время и т.д.?

Код: Выделить всё
Пример заголовка:

[WP] Привет "Имя"
[WP] Карта "Название карты"
[WP] Время "Время сервера"

=============================================================================================
2. Как оформить код, который будет в зависимости от полученного флага и указанного названия опубликовывать название привилегии в заголовок меню?

Код: Выделить всё
Примеры заголовка:

[WP] Меню выдачи оружия
[WP] Вы [Администратор]

[WP] Меню выдачи оружия
[WP] Вы [VIP]

=============================================================================================
3. Как сделать, чтобы пункты или заголовок меню изменялись например от флага?

Код: Выделить всё
// Пример заголовка с флагом доступа:

[WP] Меню выдачи оружия
[WP] У вас\y есть доступ

// Пример заголовка без флага с доступом:

[WP] Меню выдачи оружия
[WP] У вас\r нет доступа

// Пример пункта с флагом:

\r[\y1\r]\w Взять оружие

// Пример пункта без флага:

\r[\y1\r]\d Взять оружие                 // Точно не помню, но вроде как \d - серый цвет
Аватара пользователя
Kasperskiy
 
Сообщения: 10
Зарегистрирован: 02 фев 2018, 16:30
Откуда: Саратовская обл. - г.Ртищево
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.
Опыт программирования: Около 3 месяцев
Языки программирования: Counter-Strike 1.6 (AMXX)
Pascal
Pawn

Re: Как сделать динамичное меню?

Сообщение RevCrew » 05 фев 2018, 11:14

Код: Выделить всё
new title[128];
new name[33]; get_user_name(id, name, charsmax(name))
formatex(title, charsmax(title), " [WP] Привет %s", name)

new menu = menu_create(title, "HandleMenu")

formatex(title, charsmax(title), " [WP] Вы %s", get_user_flags(id) & ADMIN_RCON ? "Администратор" : "Игрок")
menu_additem(menu, title, "1")

menu_display(id, menu, 0)

public HandleMenu(iPlayer, menu, item)
{
    if( item == MENU_EXIT )
    {
        menu_destroy(menu);
        return PLUGIN_HANDLED;
    }
    
    new data
[6], iName[64];
    new access, callback;
    
    menu_item_getinfo
(menu, item, access, data,5, iName, 63, callback);
    
    new key 
= str_to_num(data);
    switch(key)
    {
        case 1: client_print(id, print_chat, "Вы %s",get_user_flags(id) & ADMIN_RCON ? "Администратор" : "Игрок")
    }
}


Добавлено спустя 31 секунду:
А вообще, есть множество готовых плагинов, вы можете глянуть там
Аватара пользователя
RevCrew
Скриптер
 
Сообщения: 1648
Зарегистрирован: 15 июл 2013, 20:45
Благодарил (а): 273 раз.
Поблагодарили: 357 раз.
Языки программирования: Unkown


Вернуться в Вопросы по AMXX и его плагинам

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12