как добавить меню сервера

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
Всем привет
как добавить в меню сервера "выкл" "Вкл" она меняется когда нажимаешь на неё, как на скриншоте, вкл и выкл командой /trail у меня

Код:
menu_additem(g_iMenu, "\r[\yТраил за игрокомт\r]", "1");


case 1: client_cmd(id, "say /trail");
 

Вложения

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
IIuToH, вот тебе пример реализации именно "вкл" / "выкл"
Код:
PrintToChat(id, "Вы ^3не можете ^1общаться. Проверка: ^4 %s^1! [chat]", check_mode[id] ? "включено" : "выключено");
Но так, как у тебя за trail отвечает другой плагин, то тебе нужен натив оттуда, чтобы получать какой-нибудь бул, который отвечает за включение/выключение. Собсна, тебе надо добавить код в плагин trail + натив и заюзать в плагине меню.
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
ThePhoenix, вот взял другой плагин звуков, команда вкл/выкл /gsound
вижу в этом плагине только 1 бул и это
Код:
new bool:g_bDisabled[MAX_PLAYERS + 1];
 

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
IIuToH, правильно) в том плагине этот бул отвечает за включение/выключение, но чтобы передать этот бул в другом плагин, в меню, надо сделать Натив в том плагине и передавать состоянии була в меню
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
ThePhoenix, а что за натив если можно
разве натив нужен если это обычное меню сервера на клавишу N
 

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
IIuToH, да я ж понятия не имею, что там за плагин /trail и реализовано ли в нём вообще включение/выключение! Исходник нужен как бы, причём обеих плагинов
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
IIuToH, вы никак не получите значение вкл выкл. В меню без натива, форварда, паблик функции, или xvar.
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
fantom, по этому надо сделать в том плагине саму функцию переключения состояния + Натив и тогда в менюшке можно будет выводить инфу :)
Верно же?)
 

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
fantom, а какой лучший?
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
fantom, спасибо вроде сделал! единственное как сделать еще такое? например в пункте в меню у меня Очки anew, и если у игрока нету этих очков то как сделать ему в меню пункт тусклым?
 

fantom

Разработчик
Регистрация
11 Июн 2017
Сообщения
426
Симпатии
293
Пол
Мужской
Зависит от того старое или новое меню. По большому счету условие if
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
fantom, выглядет вот так
Код:
public server_menu(id)
{
     new name[32]
     get_user_name(id, name, 31)
     static menu[650], iLen
     iLen = 0
     iLen = formatex(menu[iLen], charsmax(menu) - iLen, "\yМеню игрока (1\2)^n\yПривет, \w%s^n^n", name)
   
     iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r1. \wОчки anew^n")
     keys |= MENU_KEY_1

     iLen += formatex(menu[iLen], charsmax(menu) - iLen, "\r2. \wТестовый \rVIP^n")
     keys |= MENU_KEY_2
выдача вот так
Код:
public func_menu(id, key)
{
     switch(key)
     {
          case 0: client_cmd(id, "say /anew")
 

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
IIuToH, через натив плагина с бонусами чекаешь, очки равны ли нулю и если да, тогда выводишь твой iLen без второй строчки с keys, чтобы при нажатии ничего не происходило, допустим, а если больше 0 тогда выводи уже с keys.
Есть конечно и другие варианты, но этот тоже пойдёт)
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
ThePhoenix, может вот это? вроде более подходящее в плагине скальпа
Код:
// Вызывается при добавлении/убавлении очков /aNew
//    num - количество прибавленных/убавленных очков
forward ar_forward_addanew(id, num)
 

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
IIuToH,
Код:
// Возвратит данные игрока по его статистике
//    data[0] - опыт
//    data[1] - уровень
//    data[2] - дополнительный опыт
//    data[3] - очки /anew
native ar_get_stats_data(data[4], stats[22])
 

IIuToH

Только чтение
Заблокированные
Регистрация
5 Авг 2018
Сообщения
143
Симпатии
0
Предупреждения
260
ThePhoenix, ну вроде норм!
как еще подскажите сохранить состояние true/false со сменой карты?
а именно: выключаю звуки (сам плагин звуков их гасит до полного выхода игрока, заного включаются если игрока нет на сервере больше минуты) и если карта сменилась то всё норм звуков нет а вот в меню уже показывает что включены, то есть как то нужно запоминать true/false в самом меню, так же на минуту видимо
 

ThePhoenix

Пользователь
Регистрация
8 Июл 2017
Сообщения
205
Симпатии
38
Пол
Мужской
IIuToH, сохранять в бд или nvault/sqlite и проверять состояние, дергая инфу оттуда, куда сохранил.
Но такое себе занятие, ради одной функции.
 
Сверху Снизу