Вопрос по отключению действия на карте

Статус
В этой теме нельзя размещать новые ответы.
Сообщения
49
Реакции
0
Помог
1 раз(а)
Доброго времени суток , хотел спросить вопрос для уточнения
Есть карта возьмём в пример $1000$ нужно чтобы на ней действие не работало я так понимаю как пример можно сделать так или можно как то по проще ))

что получилось )
PHP:
{
    new MapName[64]
    get_mapname(MapName, 63)
    if(contain(MapName, "$1000$" ) != -1)
    {
    client_print_color(id, print_team_default, "^0[^21^0]  ^1На этой карте нельзя открыть меню");
    }
    else
        {
            if(get_user_flags(id) & GLADM_FLAG)     
            {
                new menu = menu_create("\rМеню Главного Администратора", "funkmenu");
                menu_additem(menu, "\wКикнуть", "1");
                menu_additem(menu, "\wМеню банов", "2");
                menu_additem(menu, "\wМеню карты", "3");
                menu_additem(menu, "\wУдарить/убить", "4");
                menu_additem(menu, "\wАдмин магазин", "5");
                menu_additem(menu, "\wВип магазин", "6");
                menu_setprop(menu, MPROP_NEXTNAME, "Далее")
                menu_setprop(menu, MPROP_BACKNAME, "Назад")
                menu_setprop(menu, MPROP_EXITNAME, "Выход^n\dСайт сервера \r[\y1\r]")
                //menu_setprop(menu, MPROP_PERPAGE, 0) // Убрать кнопки назад, далее
                menu_display(id, menu, 0)
            }
            else
            {
                client_print_color(id, print_team_default, "^0[^21^0]  ^1У тебя нету доступа к меню главного администратора");       
                client_print_color(id, print_team_default, "^0[^21^0]  ^1Приобрести админку можно на сайте ^21");
            }
        }
    
}

при попытке получилось чтобы не открывалось меню но текст который пишет в чат выходит просто никнейм мой на сервере , как исправить пока что не пойму
 
Сообщения
91
Реакции
141
Помог
1 раз(а)
Ничего связанного с никнеймом тут нет, мб в других местах кода что то у тебя вызывается не то, вот и всё.
А еще вот тебе облегченный вариант твоего показа меню, так будет правильнее (кому как)

C++:
{
    if(~get_user_flags(id) & GLADM_FLAG)
    {
        client_print_color(id, print_team_default, "^0[^21^0]  ^1У тебя нету доступа к меню главного администратора");       
        client_print_color(id, print_team_default, "^0[^21^0]  ^1Приобрести админку можно на сайте ^21");
        return;
    }

    static MapName[64]; if(!strlen(MapName)) get_mapname(MapName, charsmax(MapName));
    if(contain(MapName, "$1000$") != -1)
    {
        client_print_color(id, print_team_default, "^0[^21^0]  ^1На этой карте нельзя открыть меню");
        return;
    }

    new menu = menu_create("\rМеню Главного Администратора", "funkmenu");
    menu_additem(menu, "\wКикнуть", "1");
    menu_additem(menu, "\wМеню банов", "2");
    menu_additem(menu, "\wМеню карты", "3");
    menu_additem(menu, "\wУдарить/убить", "4");
    menu_additem(menu, "\wАдмин магазин", "5");
    menu_additem(menu, "\wВип магазин", "6");
    menu_setprop(menu, MPROP_NEXTNAME, "Далее")
    menu_setprop(menu, MPROP_BACKNAME, "Назад")
    menu_setprop(menu, MPROP_EXITNAME, "Выход^n\dСайт сервера \r[\y1\r]")
    //menu_setprop(menu, MPROP_PERPAGE, 0) // Убрать кнопки назад, далее
    menu_display(id, menu, 0)
}
 
Сообщения
49
Реакции
0
Помог
1 раз(а)
Ничего связанного с никнеймом тут нет, мб в других местах кода что то у тебя вызывается не то, вот и всё.
А еще вот тебе облегченный вариант твоего показа меню, так будет правильнее (кому как)

C++:
{
    if(~get_user_flags(id) & GLADM_FLAG)
    {
        client_print_color(id, print_team_default, "^0[^21^0]  ^1У тебя нету доступа к меню главного администратора");      
        client_print_color(id, print_team_default, "^0[^21^0]  ^1Приобрести админку можно на сайте ^21");
        return;
    }

    static MapName[64]; if(!strlen(MapName)) get_mapname(MapName, charsmax(MapName));
    if(contain(MapName, "$1000$") != -1)
    {
        client_print_color(id, print_team_default, "^0[^21^0]  ^1На этой карте нельзя открыть меню");
        return;
    }

    new menu = menu_create("\rМеню Главного Администратора", "funkmenu");
    menu_additem(menu, "\wКикнуть", "1");
    menu_additem(menu, "\wМеню банов", "2");
    menu_additem(menu, "\wМеню карты", "3");
    menu_additem(menu, "\wУдарить/убить", "4");
    menu_additem(menu, "\wАдмин магазин", "5");
    menu_additem(menu, "\wВип магазин", "6");
    menu_setprop(menu, MPROP_NEXTNAME, "Далее")
    menu_setprop(menu, MPROP_BACKNAME, "Назад")
    menu_setprop(menu, MPROP_EXITNAME, "Выход^n\dСайт сервера \r[\y1\r]")
    //menu_setprop(menu, MPROP_PERPAGE, 0) // Убрать кнопки назад, далее
    menu_display(id, menu, 0)
}
вот исходник сам , просто по нику нечего вроде нету что могло как то по идее вызывать , но могу естественно ошибатся
21 Мар 2022
пишет ник как я просто понимаю когда вызывается пункт того что нельзя открыть

PHP:
    static MapName[64]; if(!strlen(MapName)) get_mapname(MapName, charsmax(MapName));
    if(contain(MapName, "de_dust2") != -1)
    {
        client_print_color(id, print_team_default, "^0[^21^0]  ^1На этой карте нельзя открыть меню");
        return;
    }
 

Вложения

Сообщения
91
Реакции
141
Помог
1 раз(а)
zlodey, тут ничего нет, может скорее всего сторонний плагин, не знаю, смотри в остальных плагинах, ну или если железобетонно ты знаешь и уверен что в этом плагине, по отключай принты в чат и включай по одному, но тут как я посмотрел, ничего нет
 
Сообщения
49
Реакции
0
Помог
1 раз(а)
zlodey, тут ничего нет, может скорее всего сторонний плагин, не знаю, смотри в остальных плагинах, ну или если железобетонно ты знаешь и уверен что в этом плагине, по отключай принты в чат и включай по одному, но тут как я посмотрел, ничего нет
буду смотреть просто стороннего плагина нету , только один он на тестовом сервере подключен , буду тогда искать где проблема
спасибо хоть что подсказал )
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
zlodey, замени "^0" на "^1" в client_print_color.
^0 - этого нет вообще, но у меня он при тестах обрывает дальнейший вывод текста напрочь.
^1 - стандартный жёлтый цвет
^2 - использует цвет команды.
^3 - цвет, зависимый от 2 аргумента (print_team_*/id игрока)
^4 - зелёный цвет

А ник, который ты видишь - это мусор из буфера выводится.

Также карту нужно чекать единожды в plugin_init, запоминать в глобальную переменную результат и проверять потом перед созданием меню эту переменную. Если весь функционал плагина не нужен, то вообще на паузу ставить сразу без иных обработок.


upd. Этот пост является верным ответом.
 
Последнее редактирование модератором:
  • Нравится
Реакции: Ayk
Сообщения
49
Реакции
0
Помог
1 раз(а)
незнаю почему если писать в
PHP:
client_print_color(id, print_team_default, "^0[^21^0] ^1На этой карте нельзя открыть меню");
Цвет ^0 то такая проблема есть
а если поменять то она пропадает , спасибо всем кто помог ))
 
Сообщения
494
Реакции
341
Помог
11 раз(а)
zlodey, так я выше тебе же написал, что "параметра" "^0" вообще нет.
Отметь как решение, чтобы закрыть тему.
 
Статус
В этой теме нельзя размещать новые ответы.

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу