Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Скрыть пункты меню в Amxmodmenu

, Скрыть неактивные пункты в админском меню
Статус пользователя ncux0Zz
сообщение 2.11.2016, 12:47
Сообщение #1


Стаж: 14 лет

Сообщений: 359
Благодарностей: 14
Полезность: < 0

Привет всем, наверное у многих есть сервера, где есть админы, как с полным доступом к "amxmodmenu", так с частичным (ограниченным) доступом.
И вот когда админы с частичным доступом в меню заходят, то у них видно серым (неактивным) некоторые пункты меню, например:
Неактивное меню

Так же здесь неактивно последнее меню "Телепорт", точнее плагин приостановлен через "amx_pausecfgmenu".
Возникает вопрос, как можно сделать так, чтобы у админов, с неполным доступом флагов в "amxmodmenu" скрывались неактивные пункты меню, и у любого админа, будь то с полным или нет доступом, убирались пункты меню, которые временно отключены через "amx_pausecfgmenu"?
Я хочу добиться подобного результата, как в "amxmodx/configs/configs.ini":
configs.ini
\y"Live\w" "servercfgfile live.cfg;exec HLDS_TAIL/clanwar-mod/live.rc" "a" "u"
\y"Wur map\w" "servercfgfile warm.cfg;exec HLDS_TAIL/clanwar-mod/warm.rc" "a" "u"
\y"Knife\w" "servercfgfile knife1.cfg;exec HLDS_TAIL/clanwar-mod/knife.rc" "a" "u"
\y"Over time\w" "servercfgfile dops.cfg;exec HLDS_TAIL/clanwar-mod/dops.rc" "a" "u"
\y"Training\w" "servercfgfile dops.cfg;exec HLDS_TAIL/clanwar-mod/trop.rc" "a" "u"
" " "-" "" "s"
" " "-" "" "s"
" " "-" "" "s"
\r"Перезапуск\w" "servercfgfile serf.cfg;exec HLDS_TAIL/clanwar-mod/srel.rc" "a" "s"
\r"Рестарт\w" "servercfgfile serf.cfg;exec HLDS_TAIL/clanwar-mod/sres.rc" "a" "s"
\r"Выключить\w" "servercfgfile sern.cfg;exec HLDS_TAIL/clanwar-mod/soff.rc" "a" "s"

Там где флаги "s", в меню у админов без этого флага их просто нет, даже неактивных нет! У админов с полным доступом меню перелистывается и есть все пункты.

P.S. Флаги доступа будут меняться со временем, поэтому проверку по каждому флагу неактуально делать. Мне предложили что-то вроде этого сделать:
Цитата
Если админ не имеет такого-то флага, то сформировать ему одно меню (из menufront убираешь лишнее), иначе сформировать другое меню (например, оставить все по умолчанию):
Пример
Код:
if(~get_user_flags(id) & ADMIN_LEVEL_E)
{
bla bla
}
else
{
bla bla bla
}

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

Сам я в скриптинге не соображаю, поэтому просьба максимально подробно объяснять :)
Думаю тема будет многим интересна.
Заранее спасибо!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя SpeedF1ghter
сообщение 2.11.2016, 19:09
Сообщение #2


Стаж: 9 лет 6 месяцев

Сообщений: 4
Благодарностей: 1
Полезность: 0

ncux0Zz,
Тебя устроит такой алгоритм:
1. Переназначаешь команды в cmdaccess.ini на более удобную тебе форму, пример:
Флаг a - вип
Флаг b - админ
Флаг c - гл. админ
2. А проверку на флаг ты будешь след. образом делать:
if(get_user_flags(id) & ADMIN_BAN)) && !(get_user_flags(id) & ADMIN_KICK))
{
bla bla
}
if(get_user_flags(id) & ADMIN_KICK)
{
bla bla bla
}
Что-то типо такого, чем больше флагов будет задействовано, тем, соответственно, больше код.
* Хотя я бы предложил тебе сделать подменю в меню, с доп. командами, которое бы высвечивалась уже лицам с опр. флагами... Так всего одна проверка.


Ты меня ненавидишь, но ждешь.
[size="3"][/size]
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя ncux0Zz
сообщение 4.11.2016, 6:00
Сообщение #3


Стаж: 14 лет

Сообщений: 359
Благодарностей: 14
Полезность: < 0

SpeedF1ghter, зачем тут команды бана и кик админа?))
Цитата
ADMIN_BAN и ADMIN_KICK


Флаги доступа, я так понимаю?
А по другим флагам? У меня у некоторых админов флага 4-5 отсутствует, у главных полный доступ

Отредактировал: ncux0Zz, - 4.11.2016, 6:11
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: