[CS: Source] mpbhops_unload

Тема в разделе "Новые плагины", создана пользователем orel_s_binoklem, 2 дек 2014.

  1. orel_s_binoklem

    orel_s_binoklem

    Сообщения:
    40
    Симпатии:
    7
    Описание: Заметил на своём сервере, что после смены карты, с бенихопа на обычный mg, сервер падал. И зделал плагин который при смене карты меняет значение переменной mpbhops_enable на "0", если следующая карта тоже бенихоп то надо перевести переменную в "1", это можно зделать с помощью плагина mapconfigs.

    mpbhops_unload_end_map.smx кинуть в cstrike\addons\sourcemod\plugins
    mpbhops_unload_end_map.sp кинуть в cstrike\addons\sourcemod\scripting

    Посмотреть вложение mpbhops_unload_end_map.smx
    Посмотреть вложение mpbhops_unload_end_map.sp
     
    Konstantin нравится это.
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.570
    Симпатии:
    1.989
    orel_s_binoklem, у вас там карты как начинаются для банихопа (префикс)?
    Так попробуй и не надо будет переводить в cfg квар в 1:
    PHP:
    public OnConfigsExecuted()
    {
        
    decl String:m[6];
        if (
    GetCurrentMap(m6)) ServerCommand("sm_cvar mpbhops_enable %i"strcmp(m"bhop_") ? 0:1);
    }

    public 
    OnMapEnd() ServerCommand("sm_cvar mpbhops_enable 0");
     
  3. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    892
    Симпатии:
    659
    AlmazON
    PHP:
    // лишнее, видимо
    public OnMapEnd() ServerCommand("sm_cvar mpbhops_enable 0");
    и почему бы OnMapStrat не использовать?
     
  4. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.000
    Симпатии:
    2.992
    AlmazON,
    Точно уверен что получит сколько влезет, а остальное проигнорит??
     
  5. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.570
    Симпатии:
    1.989
    Не лишнее, ему же надо изменить переменную до новой карты, иначе сервер падает.
    OnMapStart - переменная может быть изменена server.cfg, а
    уже проставит после снова 0 (на всякий случай) или же изменит на 1, если карта из группы банихопа.
    Можешь проверить, вывести в чат или в консоль. Получишь обрывок в 5 символов, что нам и необходимо. Достаточно прямой сверки.
    Насколько помню, я всегда так делал. И концы получал через strlen, минусовав к переменной, сколько надо символов для сравнения и после проверял strcmp, а не StrContains (когда много поисков по концу строки, то так оптимальнее).
     
  6. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.000
    Симпатии:
    2.992
    AlmazON, есть такая штука как strncmp
    и обращение через индексы. Так куда оптимальней.
     
    Алихан Кагиров 348093558 нравится это.
  7. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.570
    Симпатии:
    1.989
    Для чего? Всё равно же надо получить конец через strlen, минусовав. То же самое, переменная нужна.
    А если ты про пример с картой - глупо подготавливать и записывать всю строку (а вдруг там аж 1024 символов?!), когда можно сохранить и сравнить лишь то, с чем работаешь. НЕ оптимальнее, наоборот.
     
  8. R1KO

    R1KO Супер-модератор

    Сообщения:
    6.000
    Симпатии:
    2.992
    я не об этом говорил.
    Просто хотел поинтересоваться корректно ли получается кусок имени карты.
     
  9. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.570
    Симпатии:
    1.989
    Проверяем:
    PHP:
    public OnConfigsExecuted()
    {
        
    decl String:m[4];
        if (
    GetCurrentMap(m4)) PrintToServer("Prefix map de_? %s"strcmp(m"de_") ? "NO":"YES");
    }
    Запускаем сервер и получаем:
    [​IMG]
    Меняем карту:
    [​IMG]
    Весьма корректно.
     
    R1KO нравится это.
  10. Серый™

    Серый™ CS:S Server

    Сообщения:
    2.570
    Симпатии:
    1.153
    А не проще просто выгружать плагин?
     
  11. orel_s_binoklem

    orel_s_binoklem

    Сообщения:
    40
    Симпатии:
    7
    пробовал но он вообще перестает работать на всех картах.

    Добавлено через 1 минуту
    я плохо понимаю - я только начал изучать соурс павн.
     
    Последнее редактирование: 2 дек 2014
  12. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.570
    Симпатии:
    1.989
    Вставь мой код в блокнот, подпиши такой файл с расширением .sp, скомпилируй и попробуй вообще без