Настройка голосования за карту

Материал из Википедия MyArena.ru
Версия от 14:10, 28 апреля 2017; Ronswonson (обсуждение | вклад) (Отключения пользовательского голосования за смену карты)

Перейти к: навигация, поиск

Типы голосования за следующую карту в CS:GO

В Counter-Strike: Global Offensive возможны всего лишь два типа голосований:

  • Встроенное стандартное голосование за карту;
  • SourceMod плагин голосования за карту;


Особенности встроенного голосования за карту

Рисунок 1. Скриншот стандартного встроенного голосования за следующую карту.
  • Доступно максимум 10 карт в голосовании.
  • Голосование начинается по истечении времени на карту (mp_timelimit) или при завершении финального раунда (mp_maxrounds) или когда одна команда набрала больше побед, чем предыдущая (mp_match_can_clinch 1).
  • Список карт для голосования берется из файла gamemodes_server.txt.


Особенности SourceMod голосования за карту

Рисунок 2. Скриншот SourceMod голосования за следующую карту.
  • Доступно максимум 6 карт в голосовании.
  • Голосование начинается за 3 минуты до конца времени на карту (mp_timelimit).
  • Список карт берется из файла mapcycle.txt.


Настройка встроенного голосования за карту

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

Встроенное голосование по-умолчанию включено, в противном случае необходимо его включить в конфиге игрового режима. Игровой режим по-умолчанию Classic Casual (Обычный) (посмотреть какой у Вас режим можно в разделе "Настройки"), следовательно, конфиг данного игрового режима называется gamemode_casual_server.cfg (найти его можно в разделе "Конфиги"). В этом конфиге необходимо выставить следующие значения переменных:

 mp_endmatch_votenextleveltime 20 // длительность голосования за следую карту (в секундах);
 mp_endmatch_votenextmap 1 // включить встроенное голосование за следующую карту;
 mp_endmatch_votenextmap_keepcurrent 1 // добавить в голосование текущую карту;


Редактирование списка карт для стандартного голосования

Список карт для голосования берется из файла gamemodes_server.txt, в группе карт mg_bomb. Пример:

 // Группа карт "mg_bomb" режима игры: Classic Casual (Обычный)
 "mg_bomb"
 {
 	"imagename"		"mapgroup-bomb"
 	"nameID"		"#SFUI_Mapgroup_bomb"
 	"name"			"mg_bomb"
 	"maps"
 	{
 		"de_dust2"		""
 		"de_train"		""
 		"de_inferno"		""
 		"de_mirage"		""
 		"de_cbble"		""
 		"de_overpass"		""
 		"de_dust"		""
 		"de_aztec"		""
 		"de_nuke"		""
 		"de_vertigo"		""
 		"de_cache"		""
 	}
 }

Существенным недостатком встроенного голосования является тот факт, что в голосовании принимает участие ровно 10 первых карт из списка, они никаким образом не чередуются и если у Вас будет в списке более чем 10 карт, то остальные карты участия в голосовании не будут принимать никогда.

Отключения пользовательского голосования за смену карты

Часто бывает, когда игроки с помощью встроенного меню на ESC вызывают голосование за смену карты. Убрать это можно с помощью квара:

 sv_vote_issue_nextlevel_allowed 0 // отключить возможность досрочного голосования за следующую карту из меню ESC;
 sv_vote_issue_changelevel_allowed 0 // отключить возможность досрочной смены текущей карты из меню ESC.

Можно и вовсе полностью отключить голосование:

 sv_allow_votes 0 // запретить любые голосования из меню ESC.

Настройка SourceMod голосования за следующую карту

Включение SourceMod плагинов для голосования за следующую карту

Прежде всего, Вам необходимо отключить стандартное голосование, а для этого нужно в конфиге игрового режима (по-умолчанию это gamemode_casual_server.txt) добавить (или изменить, если она уже есть) следующею переменную:

 mp_endmatch_votenextmap 0 // отключить стандартное голосование

Следующим шагом будет включение SourceMod плагинов для голосования за следующую карту. Переместите плагины mapchooser.smx (отвечает за голосования за карту), nominations.smx (отвечает за номинацию карт /nominate), rockthevote.smx (отвечает за досрочную смену карты /rtv) из папки:

 /addons/sourcemod/plugins/disabled/

В папку:

 /addons/sourcemod/plugins/

Сделать это можно с помощью FTP-доступа (смотрите инструкцию по подключению к FTP). Переместив данные плагины в директорию повыше, тем самым Вы их включили, теперь будет работать голосование за следующую карту от SourceMod плагина.


Редактирование списка карт для SourceMod голосования

Прежде всего, стоит обратить внимание на тот факт, что при использовании стандартного плагина для голосования за следующую карту от SourceMod, список карт для голосования и список карт в меню администратора будет отличаться, ведь они читаются с разных файлов.

Список карт для голосования за следующую карту берется из файла:

 /mapcycle.txt

Список карт в меню администратора берется из файла:

 /addons/sourcemod/configs/adminmenu_maplist.ini

В данных файлах список карт выглядит следующим образом:

 cs_italy
 de_dust
 de_aztec
 cs_office
 de_dust2
 de_train
 de_inferno
 de_nuke

Настройка длительности игры на карте

Все переменные нужно менять в файле Вашего игрового режима, по-умолчанию это gamemode_casual_server.cfg

Ограничение по времени

Если Вы хотите, чтоб карта менялась через какое-то время, необходимо менять переменные:

 mp_timelimit 20 // время на карту в минутах;
 mp_maxrounds 0 // убрать ограничение по раундам;


Ограничение по количеству раундов

Если нужно настроить игру так, что бы время игры на карте было не ограничено, но сделать ограничение по количеству сыгранных раундов, тогда необходимо менять переменные:

 mp_timelimit 0 // убрать ограничение по времени на карту;
 mp_maxrounds 30 // установить максимальное кол-во раундов 30.

Но не стоит забывать о том, что есть ещё одна немаловажная переменная mp_match_can_clinch, она отвечает за досрочное завершение матча при условии, что одна из команд набрала больше половины победных раундов из возможных (mp_maxrounds). Например максимальное количество раундов 30, одна из команд набирает 16 побед и карта меняется (при этом, если использовать голосование за следующую карт от SourceMod, то голосования за следующую карту не будет и карта сменится на случайную). Чтоб убрать этот баг, достаточно выставить следующее значение переменной:

 mp_match_can_clinch 0 // убрать досрочный конец матча.

Бесконечная игра на одной карте

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

 mp_timelimit 0 // убрать ограничение по времени;
 mp_maxrounds 0 // убрать ограничение по раундам;
 mp_endmatch_votenextmap 0 // отключить стандартное голосование;
 mp_match_end_changelevel 0 // отключить смену карты в конце.

Если нужно сделать так, чтоб был рестарт матча по истечению времени (или раундов, в зависимости как настроите), тогда выставьте следующие настройки:

 mp_timelimit 20 // ограничение по времени в 20 минут;
 mp_maxrounds 0 // убрать ограничение по раундам;
 mp_match_end_restart 1 // делать рестарт матча по истечению 20 минут;
 mp_endmatch_votenextmap 0 // отключить стандартное голосование;
 mp_match_end_changelevel 0 // отключить смену карты в конце.

Есть ещё один вариант настройки таким образом, чтоб карта менялась на текущую по окончанию времени (или раундов). Но для этого Вам необходимо будет отключить плагины голосования за следующую карту от SourceMod и оставить лишь одну карту в списке карт:

 mp_timelimit 20 // ограничение по времени в 20 минут;
 mp_maxrounds 0 // убрать ограничение по раундам;
 mp_match_end_restart 0 // не делать рестарт матча по истечению времени;
 mp_endmatch_votenextmap 0 // отключить стандартное голосование;
 mp_match_end_changelevel 1 // включить смену карты по истечению 20 минут;
 mp_endmatch_votenextmap_keepcurrent 1 // добавить в голосование текущую карту.

Частые вопросы

Карта иногда меняется без голосования за следующую карту
Такая проблема может быть лишь при использовании плагина от SourceMod для голосования за следующую карту и настройке времени игры на карте по раундам. А конкретнее из-за того, что включена возможность досрочного завершения матча если команда набирает больше половины победных раундов. Это нужно отключить:

 mp_match_can_clinch 0 // отключить досрочную смену карты.

Как уменьшить время после конца матча до смены карты
За это отвечает квар:

 mp_endmatch_votenextleveltime 20 // продолжительность (в сек.) стандартного голосования в конце матча.