Advanced MapChooser 1.4 для CS 1.6 от neygomon позволяет очень тонко и детально настроить систему карт на сервере: смена карт, голосование за следующую карту (номинирование), rtv и др. способности. Очень легкий код, не несущий сильной нагрузки на сервер, а так же море функций, каждую из которых вы можете настроить сами для себя.



Когда приходит время голосования, в начале раунда обе команды замирают на месте, экран темнеет, а после производится отсчет и далее появляется список карт для голосования. Если карту решили не продлевать, т.е. выбрали новую, играет короткий отрывок из песни «Всем спасибо, далеко не расходимся» и тут же плавно происходит смена карты. Очень классно!

Возможности менеджера карт:




  • Вывод карт в зависимости от количества игроков на сервере

  • Номинирование карт

  • Досрочная смена карты для админов

  • RTV

  • Блокировка последних сыгранных карт

  • Поддержка серверов с бесконечным раундом

  • Возможность воспроизвести звук перед сменой карты

  • Продление карты

  • Гибкая настройка момента голосования за следующую карту

  • Цикличное сообщение в чат с временем до конца карты



Установка:


1. В первую очередь, отключаем стандартный mapchoser на вашем сервере и все остальные, если таковые имеются, а так же два плагина: timeleft.amxx и nextmap.amxx.

2. После, качаем архив, и в архиве находим файл advanced_mapchooser.sma (исходник) и настраиваем его по своему вкусу. Описание функций исходника есть ниже.

3. Далее ваш файл maps.ini (в папке configs сервера) приводим в такой порядок:

;; Карта    минимум игроков    максимум игроков

de_dust      10                  32

de dust2      0                   32

de_train       0                   32

de_inferno   0                   32





4. В последнюю очередь, компилируем из исходника .sma сам плагин .amxx и устанавливаем на сервер.

5. Перезагружаем сервер. Радуемся!

Настройки исходника:




#define BLOCK_MAPS     10    // Количество последних сыгранных карт

#define VOTE_TIME    10    // Время голосования

#define MAP_ON_VOTE    5    // Карт в меню голосования



#define ROCK_THE_VOTE        // Функция rtv

#define RTV_DELAY    180    // Задержка о начала карты для использования rtv функции (в секундах)

#define RTV_PERCENTS    60    // Процент голосов



// #define NOMINATE        // Функция номинаций

#define NOM_MAX        3    // Максимум карт для номинации

#define NOM_PLAYER    1    // Максимум карт для номинации одним игроком

#define SAY_MAPS        // Команда /maps

#define NOM_WITH_PREFIXES    // Номинация карты без префиксов(de_dust2 можно номинировать как dust2)



#define MAX_EXTENDS    3    // Количество продлений

#define EXTEND_TIME    15    // Время одного продления



#define SHOW_TIMELEFT        // Показывать в чате в начале раунда, сколько осталось до конца карты



#define ADMIN_ROCK_THE_VOTE    // Досрочное голосование у админов

#define ADMIN_RTV_TIME    5

    // Сколько времени нужно играть на карте, чтобы можно было вызвать досрочное для админов

    // Команда в консоль сервера и админы с флагом ADMIN_RCON("l") имеют иммунитет к данной настройке

    // Закомментируйте, чтобы было доступно всегда



#define SHOW_MENU_WITH_PERCENTS // Показывать результаты с процентами голосов после выбора карты при голосовании



//#define ADMIN_DUAL_VOTE    // Голос админа(ADMIN_MAP) и VIP(ADMIN_LEVEL_H) имеют вес двух голосов

//#define ONLY_GAME_PLAYERS    // Считать только реальных игроков. Спектров не учитывать.

//#define BLOCK_CHATS        // Блокировать VOICE и TEXT чаты на время голосования



#define VSEM_SPS_SOUND     "misc/neugomon/vsem_sps.wav"

    // Звук в 3 сек перед сменой карты.

    // Закомментируйте или удалите строку, если не требуется



//#define NO_ROUND_SUPPORT    // Режим работы в realtime. Для серверов CSDM



// #define NIGHTMODE

    // Ночной список карт. НЕ работает блокировка карт, сортировка по онлайну и номинации

    // Map List addons/amxmodx/configs/nmaps.ini | Просто список карт и все | ФАЙЛ НУЖНО СОЗДАТЬ САМОМУ!!!

#define BLOCK_CMDS        // Блокировать команды

#define NIGHT_START    1    // Начало ночного режима

#define NIGHT_END    10    // Окончание ночного режима



#if defined BLOCK_CMDS

    new g_szBlockCMDs[][] = { "amx_map", "amx_votemap", "amx_votemapmenu" };

    // Команды для блокировки во время ночного режима

    // Чтобы работала блокировка команд, нужно прописывать mapchooser  в plugins.ini выше плагина который выполняет эту команду!

#endif

#if defined NOM_WITH_PREFIXES

    new const g_szMapPrefixes[][] = { "de_", "cs_", "as_" };

    // Префиксы карт, используемые для быстрой номинации

#endif

new g_iColors[3] = { 50, 255, 50 };  // R G B цвет для HUD отсчета

new Float:g_fPos[2] = { -1.0, 0.6 }; // X и Y координаты в HUD отсчета




Команды для чата:




say /rtv // голосование за досрочную смены карты

say nextmap // следующая карта

say timeleft // время до смены карты

say thetime // текущее время на сервере

say название_карты // номинирование карты

amx_rtv // консольная команда для админов, досрочная смена карты





Чтобы включить номинацию карт, разблокируйте строчку // #define NOMINATE        // Функция номинаций, убрав в начале "//".



ВАЖНО!!! Вывод карт в зависимости от онлайна включен по умолчанию, это значит что для любого количества игроков на сервере карт должно быть больше чем: BLOCK_MAPS 5 + MAP_ON_VOTE 5, в данном случае 10 карт минимум. В противном случае ваш сервер может отключится. 

Источник : dream-x.ru