ПОЛНОЕ отключение плагина на других картах

russline

Участник
Сообщения
45
Реакции
3
Добрый день. Подскажите, какой есть альтернативный способ отключения плагина на других картах, кроме map-cfg и sm plugins unload? Поставил на свой паблик мод "захват территории" (там всего один плагин). Отключив его на других картах, через мапконфиг, он всё равно продолжает работать. Тут нюанс, он отключется наполовину. С этим плагином идут сообщения в чат, там, где этот плагин отключён, сообщений нет, но по факту он продолжает работать. Такая же проблема, если поставить банихоп плагин, ради одной карты, он не отключается на других картах.

И сюда же ещё один вопрос, возможно тут есть связь. У меня стоит карта мультигеймс, там есть подкарта футбол, нужно мяч забить в ворота, чтобы мяч далеко летал, эта карта меняет физику отдачи тел. После смены карты, эта физика остаётся, убиваешь врага, он отлетает как пушинка. Вопрос, как сделать, чтобы после смены карты, настройка физики оставалась дефолтной, как после рестарта? Спасибо.
 

StormX

Участник
Сообщения
891
Реакции
302
В некоторых случаях требуется переименовать плагин, что бы отключение сработало.
Пробовал как то делать мультимод с модом classic в итоге плюнул на это т.к. map_config оказался беспомощным в отключении загрузки звуков и моделей.
 

☠ ÄйӃи ☠

Добрая душа
Сообщения
220
Реакции
86
PHP:
public void OnMapStart()  
{
     char Map[512]; 
     GetCurrentMap(Map, sizeof(Map)); 
     if (strncmp(Map, "de_", 3) == 0) 
     {
         PrintToServer("Plugin МОЙПЛАГИН.smx loaded"); 
     }
     else
     {
         ServerCommand("sm plugins unload МОЙПЛАГИН.smx");
         PrintToServer("Plugin МОЙПЛАГИН.smx  unloaded");
     }
}
 

wayLANder

Где AlmazON?
Сообщения
1,742
Реакции
577
Скорее всего просто мапконфиг настроил неверно, ибо у меня сервер с 4-мя режимами и разными префиксами карт, и всё работает как по маслу.
 

russline

Участник
Сообщения
45
Реакции
3
Скорее всего просто мапконфиг настроил неверно, ибо у меня сервер с 4-мя режимами и разными префиксами карт, и всё работает как по маслу.
/cfg/sourcemod/map-cfg по этому пути находятся cfg-файлы с названиями карт и в них sm plugins unload "плагин.smx". Какой-то ещё вариант существует?
--- Добавлено позже ---
PHP:
public void OnMapStart() 
{
     char Map[512];
     GetCurrentMap(Map, sizeof(Map));
     if (strncmp(Map, "de_", 3) == 0)
     {
         PrintToServer("Plugin МОЙПЛАГИН.smx loaded");
     }
     else
     {
         ServerCommand("sm plugins unload МОЙПЛАГИН.smx");
         PrintToServer("Plugin МОЙПЛАГИН.smx  unloaded");
     }
}
Это что откуда и куда?)
--- Добавлено позже ---
не сработало
--- Добавлено позже ---
Камон народ. Не ужели это не решить?
 
Последнее редактирование:

ShmoNiX

Участник
Сообщения
532
Реакции
212
@russline, заходи в /cfg/map_config/map_prefix далее название префикса карты
в него пиши
sm plugins unload advancedc4timer.smx
и плагин выгружается на определенных картах.
Если на одной карте то иди в /cfg/map_config/map_name
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@russline, тупо отредактировать плагин и добавить в его код проверки на имя карты, если карта не та, то плагин просто должен отключаться.
Это самый простой и малозатратный способ
 

russline

Участник
Сообщения
45
Реакции
3
@russline, тупо отредактировать плагин и добавить в его код проверки на имя карты, если карта не та, то плагин просто должен отключаться.
Это самый простой и малозатратный способ
Спасибо за совет. Мне выше кинули код, это тот самый?
--- Добавлено позже ---
А, понял, этот код и есть плагин, который мне кинули)
--- Добавлено позже ---
@russline, тупо отредактировать плагин и добавить в его код проверки на имя карты, если карта не та, то плагин просто должен отключаться.
Это самый простой и малозатратный способ
Я был бы признателен тебе, если бы ты написал этот код) или ссылку, где это обсуждалось.
 
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
Спасибо за совет. Мне выше кинули код, это тот самый?
--- Добавлено позже ---
А, понял, этот код и есть плагин, который мне кинули)
нет и нет
--- Добавлено позже ---
PHP:
public void OnMapStart()
{
    char sMap[32];
    GetCurrentMap(sMap, sizeof(sMap));
    if(!StrEqual(sMap, "имя_карты")) return;

    // ниже остальной код
    ...
}
 

russline

Участник
Сообщения
45
Реакции
3
нет и нет
--- Добавлено позже ---
PHP:
public void OnMapStart()
{
    char sMap[32];
    GetCurrentMap(sMap, sizeof(sMap));
    if(!StrEqual(sMap, "имя_карты")) return;

    // ниже остальной код
    ...
}

от души) буду пробовать...
--- Добавлено позже ---
нет и нет
--- Добавлено позже ---
PHP:
public void OnMapStart()
{
    char sMap[32];
    GetCurrentMap(sMap, sizeof(sMap));
    if(!StrEqual(sMap, "имя_карты")) return;

    // ниже остальной код
    ...
}

Я криворукий, ошибка вылазиет. Хочу сделать, чтобы этот плагин работал только на картах с префиксом "zapdm_". Вставишь этот код по феншую? Исходник Я скомпилирую потом.
 

Вложения

  • ZapDM.sp
    4.6 КБ · Просмотры: 10
Последнее редактирование:

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979

Вложения

  • ZapDM.sp
    4.8 КБ · Просмотры: 13

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979

Вложения

  • ZapDM.sp
    4.9 КБ · Просмотры: 9

Grey83

не пишу плагины с весны 2022
Сообщения
8,520
Реакции
4,979
@russline, а точно плагин перезагружался?
 

russline

Участник
Сообщения
45
Реакции
3
@russline, а точно плагин перезагружался?
Не совсем понял вопрос. Делаю рестарт, начало с карты 2000, всё норм, убийства проходят, новый раунд. Ставлю карту для этого мода, где этот мод работает, всё норм, он работает) Меняю карту на 2000, убийство и всё, то есть в моде прописано, что идёт возрождение после убийства, оно не происходит, плагин как бы отключён, но не совсем. Меняю карту на даст2, бомбы нет и тоже самое, пока не наступишь на молнию, раунд не кончается, а молния эта только на картах с префиксом zapdm_ .
 
S

SymbaPumba

Не совсем понял вопрос. Делаю рестарт, начало с карты 2000, всё норм, убийства проходят, новый раунд. Ставлю карту для этого мода, где этот мод работает, всё норм, он работает) Меняю карту на 2000, убийство и всё, то есть в моде прописано, что идёт возрождение после убийства, оно не происходит, плагин как бы отключён, но не совсем. Меняю карту на даст2, бомбы нет и тоже самое, пока не наступишь на молнию, раунд не кончается, а молния эта только на картах с префиксом zapdm_ .
Кинь плагин который надо что бы загружался на нной карте в папку disabled. И пропиши в конфиге sm plugins load disabled/ыыыыы.
На другие карты сделай типа того - sm plugins unload disabled/ыыыы.
 

russline

Участник
Сообщения
45
Реакции
3
Кинь плагин который надо что бы загружался на нной карте в папку disabled. И пропиши в конфиге sm plugins load disabled/ыыыыы.
На другие карты сделай типа того - sm plugins unload disabled/ыыыы.
Не вышло) всё так же.
 
Сверху Снизу