Vote Game Configuration 1.2.0

Голосование Игровой Конфигурации

  1. AlmazON
    Поддерживаемые игры:
    • CS: Source
    • CS: GO
    • Team Fortress 2
    • DOD: Source
    • L4D 1 & 2
    Наверное, большинство из вас видели в админском меню Sourcemod'а пункт "Выполнить конфигурацию" и подпункты, вроде "Стандартный сервер", "War-мод включить" и "War-мод выключить". Ещё реже, пожалуй, ими пользуются. Каждый подпункт отвечает за выполнение определённого файла, который может выбрать администратор сервера. Но что, если их будут выбирать сами игроки, а не вы? По сути, это и предлагает данный плагин.
    • По указанному значению квара votegameconfig_round создаётся голосование (со звуковым предупреждением), которое заранее составляет серверадмин. В нём может быть показано до 10 пунктов, т.е. до 10 выбираемых игроками конфигураций сервера + 1, если никто ничего не выбрал и + 1, если на сервере нет людей. Выбранный пункт и является исполняемым сервером конфиг-файл.
    • Исполняются любые существующие квары, будь то серверные переменные или каких-либо плагинов. Последние можно выгружать или загружать, в зависимости от результатов голосования - полная аналогия с вышеупомянутым War-модом.
    У плагина достаточно широкие возможности, главное - уметь его верно применять.

    Примеры использования:
    • У вас сервер с ботами, но вы не знаете, какое количество лучше для игроков. Так почему бы не спросить их самих?
      Просто вписываем в файле VoteGameConfiguration.phrases.txt:
      Код:
      "Phrases"
      {
          "Scenario"
          {
              "en"        "Select the scenario of the game:\n \n"
              "ru"        "Сколько ботов добавить в игру?\n \n"
          }
          "Scenario Text"
          {
              "en"        "\n \nNo choice - no changes."
              "ru"        ""
          }
      
          "Decision Voters"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:s}"
              "en"        "{1}{2}{3} {4}Players selected {7}scenario game {6}\"{5}{9}{8}\"."
              "ru"        "{1}{2}{3} {4}Игроками выбран {7}сценарий игры {6}\"{5}{9}{8}\"."
          }
          "Votes"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:.1f},{10:d},{11:d}"
              "en"        "{1}{2}{9}‰ {4}of the votes ({5}{10} {6}out of {7}{11} {8}players)."
              "ru"        "{1}{2}{9}‰ {4}голосов ({5}{10} {6}из {7}{11} {8}игроков)."
          }
          "No Votes"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c}"
              "en"        "{1}{2}{3} {4}No one voted. The {5}default {7}mode{6}."
              "ru"        "{1}{2}{3} {4}Никто не проголосовал! {7}Режим {5}по умолчанию{6}."
          }
      
          "Config1"
          {
              "en"        "2 bots"
              "ru"        "2 бота"
          }
          "Config2"
          {
              "en"        "3 bots"
              "ru"        "3 бота"
          }
          "Config3"
          {
              "en"        "4 bots"
              "ru"        "4 бота"
          }
          "Config4"
          {
              "en"        "5 bots"
              "ru"        "5 ботов"
          }
          "Config5"
          {
              "en"        "6 bots"
              "ru"        "6 ботов"
          }
          "Config6"
          {
              "en"        "7 bots"
              "ru"        "7 ботов"
          }
          "Config7"
          {
              "en"        "8 bots"
              "ru"        "8 ботов"
          }
          "Config8"
          {
              "en"        "10 bots"
              "ru"        "10 ботов"
          }
          "Config9"
          {
              "en"        "12 bots"
              "ru"        "12 ботов"
          }
          "Config10"
          {
              "en"        "Standard"
              "ru"        "Стандарт"
          }
      
          "Already Vote"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c}"
              "en"        "{1}{2}{3} {4}Voting has {5}already {7}begun{6}."
              "ru"        "{1}{2}{3} {4}Голосование {5}уже {7}начато{6}."
          }
      
          "Info Settings"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:.1f},{10:d},{11:d}"
              "en"        "{1}{2}{3} {4}Vote time is {7}{9}{6} seconds for {5}{10}{8} rounds (counted: {11})."
              "ru"        "{1}{2}{3} {4}Время голосования - {7}{9}{6} сек для {5}{10}{8} раунда(ов) (отсчётный: {11})."
          }
      }
      Создаём файлы ConfigX.txt с указанным в них количеством ботов в виде bot_quota X. Например, файл Config6.txt должен содержать строчку:
      Код:
      bot_quota 7
      что соответствует: 6 пункт меню - Config6 = Config6.txt = 7 ботов в игре.
      В итоге вы должны получить:
      [​IMG]
    • Скорей всего, каждый знаком со стандартным плагином SM "funvotes". Помните их команды? Например, предложить игрокам сменить гравитацию. Сделаем это автоматически?
      Вписываем в файле VoteGameConfiguration.phrases.txt:
      Код:
      "Phrases"
      {
          "Scenario"
          {
              "en"        "What is the gravity set?\n \n"
              "ru"        "Какую гравитацию установить?\n \n"
          }
          "Scenario Text"
          {
              "en"        "\n \nNo choice - no changes."
              "ru"        "\n \nНет выбора - нет изменений."
          }
      
          "Decision Voters"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:s}"
              "en"        "{1}{2}{3} {4}Players selected {7}scenario game {6}\"{5}{9}{8}\"."
              "ru"        "{1}{2}{3} {4}Игроками выбран {7}сценарий игры {6}\"{5}{9}{8}\"."
          }
          "Votes"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:.1f},{10:d},{11:d}"
              "en"        "{1}{2}{9}‰ {4}of the votes ({5}{10} {6}out of {7}{11} {8}players)."
              "ru"        "{1}{2}{9}‰ {4}голосов ({5}{10} {6}из {7}{11} {8}игроков)."
          }
          "No Votes"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c}"
              "en"        "{1}{2}{3} {4}No one voted. The {5}default {7}mode{6}."
              "ru"        "{1}{2}{3} {4}Никто не проголосовал! {7}Режим {5}по умолчанию{6}."
          }
      
          "Config1"
          {
              "en"        "Lower (600)"
              "ru"        "Пониженную (600)"
          }
          "Config2"
          {
              "en"        "Increased (1000)"
              "ru"        "Повышенную (1000)"
          }
          "Config3"
          {
              "en"        "High (1200)"
              "ru"        "Высокую (1200)"
          }
          "Config4"
          {
              "en"        "Very high (1600)"
              "ru"        "Очень высокую (1600)"
          }
          "Config5"
          {
              "en"        ""
              "ru"        ""
          }
          "Config6"
          {
              "en"        ""
              "ru"        ""
          }
          "Config7"
          {
              "en"        ""
              "ru"        ""
          }
          "Config8"
          {
              "en"        ""
              "ru"        ""
          }
          "Config9"
          {
              "en"        ""
              "ru"        ""
          }
          "Config10"
          {
              "en"        "Standard"
              "ru"        "Стандарт"
          }
      
          "Already Vote"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c}"
              "en"        "{1}{2}{3} {4}Voting has {5}already {7}begun{6}."
              "ru"        "{1}{2}{3} {4}Голосование {5}уже {7}начато{6}."
          }
      
          "Info Settings"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:.1f},{10:d},{11:d}"
              "en"        "{1}{2}{3} {4}Vote time is {7}{9}{6} seconds for {5}{10}{8} rounds (counted: {11})."
              "ru"        "{1}{2}{3} {4}Время голосования - {7}{9}{6} сек для {5}{10}{8} раунда(ов) (отсчётный: {11})."
          }
      }
      Создаём файлы ConfigX.txt с указанным в них значением квара гравитации: sv_gravity X. Например, файл Config3.txt должен содержать строчку:
      Код:
      sv_gravity 1200
      По описанному выше должны получить:
      [​IMG]
    • У вас установлен плагин Weapon Restrict и вы хотите учесть пожелания игроков по запрету AWP?
      Вписываем в файле VoteGameConfiguration.phrases.txt:
      Код:
      "Phrases"
      {
          "Scenario"
          {
              "en"        "To prohibit the use of AWP?\n \n"
              "ru"        "Запретить использование AWP?\n \n"
          }
          "Scenario Text"
          {
              "en"        ""
              "ru"        ""
          }
      
          "Decision Voters"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:s}"
              "en"        "{1}{2}{3} {4}Players selected {7}scenario game {6}\"{5}{9}{8}\"."
              "ru"        "{1}{2}{3} {4}Игроками выбран {7}сценарий игры {6}\"{5}{9}{8}\"."
          }
          "Votes"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:.1f},{10:d},{11:d}"
              "en"        "{1}{2}{9}‰ {4}of the votes ({5}{10} {6}out of {7}{11} {8}players)."
              "ru"        "{1}{2}{9}‰ {4}голосов ({5}{10} {6}из {7}{11} {8}игроков)."
          }
          "No Votes"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c}"
              "en"        "{1}{2}{3} {4}No one voted. The {5}default {7}mode{6}."
              "ru"        "{1}{2}{3} {4}Никто не проголосовал! {7}Режим {5}по умолчанию{6}."
          }
      
          "Config1"
          {
              "en"        "Yes"
              "ru"        "Да"
          }
          "Config2"
          {
              "en"        "No"
              "ru"        "Нет"
          }
          "Config3"
          {
              "en"        ""
              "ru"        ""
          }
          "Config4"
          {
              "en"        ""
              "ru"        ""
          }
          "Config5"
          {
              "en"        ""
              "ru"        ""
          }
          "Config6"
          {
              "en"        ""
              "ru"        ""
          }
          "Config7"
          {
              "en"        ""
              "ru"        ""
          }
          "Config8"
          {
              "en"        ""
              "ru"        ""
          }
          "Config9"
          {
              "en"        ""
              "ru"        ""
          }
          "Config10"
          {
              "en"        ""
              "ru"        ""
          }
      
          "Already Vote"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c}"
              "en"        "{1}{2}{3} {4}Voting has {5}already {7}begun{6}."
              "ru"        "{1}{2}{3} {4}Голосование {5}уже {7}начато{6}."
          }
      
          "Info Settings"
          {
              "#format"    "{1:c},{2:c},{3:s},{4:c},{5:c},{6:c},{7:c},{8:c},{9:.1f},{10:d},{11:d}"
              "en"        "{1}{2}{3} {4}Vote time is {7}{9}{6} seconds for {5}{10}{8} rounds (counted: {11})."
              "ru"        "{1}{2}{3} {4}Время голосования - {7}{9}{6} сек для {5}{10}{8} раунда(ов) (отсчётный: {11})."
          }
      }
      Создаём файлы ConfigX.txt с указанным в них значением кваров плагина для запрета AWP: sm_restrict_awp_ct X и sm_restrict_awp_t X. Например, файл Config1.txt должен содержать строчки:
      Код:
      sm_restrict_awp_ct 0 
      sm_restrict_awp_t 0
      Меню здесь выглядит так:
      [​IMG]
    • Снова вспоминая War-мод, задаёмся вопросом, как это повторить в голосовании?
      Как и прежде, вписываем необходимое нам меню, а, например, в файл Config1.txt копируем содержимое:
      Код:
      sm plugins unload_all
      sm plugins load_unlock
      sm plugins load basebans.smx
      sm plugins load basecommands.smx
      sm plugins load admin-flatfile.smx
      sm plugins load adminhelp.smx
      sm plugins load adminmenu.smx
      sm plugins load admin-flatfile.smx
      sm plugins load_lock
      
    Требования:
    Переменные:
    • votegameconfig_elect - Выключение плагина "0", либо максимальное время продолжительности голосования.
    • votegameconfig_round - Возможность голосования: "0" - только для карты, "1" и больше - раундов для повтора голосования, "-1" и меньше - только указанный раунд.
    Команды:
    • Вызвать голосование вручную (для администраторов с флагом "i" (CONFIG)):
      • !VGC
      • /VGC
    • Повторно отобразить меню голосования:
      • !votegame
      • /votegame
    • Отобразить информацию о статусе плагина:
      • !vgc_info
      • /vgc_info
    Установка:
    • Содержимое скаченного архива "VoteGameConfiguration.rar" распаковать в папку сервера (cstrike, tf2 и т.п.).
    • Скомпилируйте плагин. Переместите или скопируйте полученный файл "VoteGameConfiguration.smx" в директорию addons\sourcemod\plugins сервера.
    • В файле VoteGameConfiguration.phrases.txt по пути cstrike\addons\sourcemod\translations заполняется лишь меню голосования и, по желанию, можете изменить итоговые сообщения чата о голосовании (применяя свои цвета).
      Заполняем лишь те пункты меню, которые должны быть отображены, иначе оставляем кавычки "" пустыми.
      1. По пути cstrike\cfg\vote_game_config сервера будут находиться сами исполняемые конфиги (новые создаёте сами, по необходимости).
        Файл конфигурации должен обязательно быть в формате ConfigX.txt, где X - отображаемый в меню пункт (т.е. от 1 до 10, 10 - это 0 при выборе).
      2. Файл Config10.txt рекомендуется сделать в качестве настроек по умолчанию ("Стандарт").
      3. Файл Config.txt будет исполняться, если никто не проголосовал (восстановление серверных настроек, также некий конфиг "по умолчанию").
      4. Файл Config0.txt будет исполняться, если никого из людей нет на сервере (эксклюзивный конфиг - специальная конфигурация для активизации ботов/привлечения интереса новых игроков).
    Иванчо Бальбовски нравится это.

Пoследние рецензии

  1. Sasha7
    Sasha7
    5/5,
    Версия: 1.2.0
    Всё, как всегда - на высшем уровне! Автору спасибо за помощь в настройке "под свои нужды".
  2. Monomizer
    Monomizer
    5/5,
    Версия: 1.2.0
    Отличная проделанная работа