[Любая игра] Vote Game Configuration

Тема в разделе "Утверждённые плагины", создана пользователем AlmazON, 9 июл 2014.

  1. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Vote Game Configuration
    Текущая версия: 1.2.0

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

    Требования:

    Поддерживаются игры:
    • Любая игра
      Кроме тех, где меню не поддерживается. Например, Dota.

    Установка:
    • Содержимое скаченного архива "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 будет исполняться, если никого из людей нет на сервере (эксклюзивный конфиг - специальный конфиг для активизации ботов/привлечения интереса новых игроков).

    Настройки(CVAR's):
    • votegameconfig_elect - Выключение плагина "0", либо максимальное время продолжительности голосования.
    • votegameconfig_round - Возможность голосования: "0" - только для карты, "1" и больше - раундов для повтора голосования, "-1" и меньше - только указанный раунд.

    Команды:
    • Вызвать голосование вручную (для администраторов с флагом "i" (CONFIG)):
      • !VGC
      • \VGC
    • Повторно отобразить меню голосования:
      • !votegame
      • \votegame
    • Отобразить информацию о статусе плагина:
      • !vgc_info
      • \vgc_info

    Примеры использования:
    • У вас сервер с ботами, но вы не знаете, какое количество лучше для игроков. Так почему бы не спросить их самих?
      Просто вписываем в файле 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_lock
      

    PHP:
    v1.0.0 (09.07.2014) - релиз плагина;
    v1.1.0 (16.07.2014) - добавлен новый квар "votegameconfig_round" и оптимизация кода под него.
     

    Вложения:

    Последнее редактирование: 14 фев 2016
    komashchenko, trueattack, san911 и 3 другим нравится это.
  2. KapaT

    KapaT Эгоист

    Сообщения:
    1.983
    Симпатии:
    408
    Какой командой вызывается голосование? Или голосование ставит админ, а игроки просто выбирают?
     
  3. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    KapaT,
    т.е. само, без команд. Раунд начинается - начинается голосование.
    Далее планирую сделать такие голосования: 1 раз для карты (только для 1 раунда), через каждые 10 раундов и т.д.
    Именно так. Админ спланировал голосование - и оно проходит само.
     
  4. Metamoto

    Metamoto

    Сообщения:
    414
    Симпатии:
    13
    А ты можешь сделать на подобии этого, только немного другой плагин? Вот людям на сервере нужно забанить читера, а для этого каждый должен писать voteban. Естественно половина не пишет потому, что школота тупая или же пофигист и т.д. А суть плагина такая: вот допустим напишет кто-нибудь voteban, выберет кого банить и должно появиться голосование, чтобы остальным оставалось только выбрать забанить или нет игрока. В общем, как простые голосовалки, только чтобы игроки могли запускать.
    Забанить игрока, кикнуть, замютить на 30 минут, сменить карту если все выбрали да, то появляется список с картами.

    П.С. как бы улучшить playervotes, со всеми кварами о промежутке голосования и количеством, и т.д.
     
  5. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    И все
    потыкают, что попало или специально забанят, ради "прикола".
    Сделать то можно, но надо ли оно тебе? Может резко онлайн упасть.
     
  6. Metamoto

    Metamoto

    Сообщения:
    414
    Симпатии:
    13
    Да надо, полезная вещь. Чтобы каждому не приходилось писать. Главное, чтобы я мог регулировать сколько раз за карту и с каким интервалом времени дается эта опция.
     
  7. KapaT

    KapaT Эгоист

    Сообщения:
    1.983
    Симпатии:
    408
    Где то видел такой плагин на АМ, определенный процент пишет вотебан и появляется голосование для всех
     
  8. Metamoto

    Metamoto

    Сообщения:
    414
    Симпатии:
    13
    да, вот именно такое нужно )
     
  9. Daniel Khovansky

    Daniel Khovansky Source Guru

    Сообщения:
    95
    Симпатии:
    18
    Исходничек бы ) А так есть много идей использования
     
  10. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Где комментарии о работе? Может, я бред создал какой...
    Желающие реально протестировать плагин - можете написать мне в личку и получить с исходником.
    Делитесь ими здесь. Если есть вопросы, как это реализовать, вписать в плагин - я помогу.
     
    Последнее редактирование: 17 июл 2014
    lansy нравится это.
  11. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Vote Game Configuration v1.1.0

    Обновлено до версии 1.1.0.
    Изменения:
    Прежний квар "votegameconfig_votetime" переименован в "votegameconfig_timer".
    Переустановлен код в виду нового функционала для нового квара "votegameconfig_round", а именно:
    Значение 0 - игрокам будет предложен выбор сразу после загрузки карты и не важно, какое количество раундов произойдёт (полезен, например, в разогревочном раунде GunGame).
    Значение 1 или больше - количество раундов для появления нового голосования. Если, например, 2, то голосование будет проводится каждые 2 раунда (и т.д. - любое целое положительное число), а 1 - каждый раунд (как прежде).
    Значение -1 или меньше - голосование появится лишь в том раунде, который вы указали.

    Голосование будет предлагаться сразу 1 раз для зашедших на сервер. Не зависимо от голосования - повторов меню таким игрокам не будет, пока они не появятся живыми в команде.
    Для каждого ожившего (не важно, сколько раз за раунд) будет предлагаться голосование со звуковым уведомлением по указаниям кваров, пока игрок не сделает выбор. Выбор будет подтверждён новым звуком, как и итоги голосования.
     
  12. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    White Wolf нравится это.
  13. gowasirius

    gowasirius

    Сообщения:
    8
    Симпатии:
    0
    Столкнулся с такой проблемой. У меня ДМ сервер и при заходе выскакивает меню выбора оружия поверх Вашего голосования за режим, не подскажите как можно исправить? (т.е нереально выбрать режим)
     
  14. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Мало информации для автоматизации исправления проблемы. Только командой вызывать меню голосования (которой ещё и нет) - в любом случае, пока могу сказать, что надо редактировать плагин.
     
  15. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Возможно пропустил, но предложу.
    Сделать вызов голосования когда на сервере X игроков. 10/20 начинаем голосование и т.д
     
  16. MIV

    MIV

    Сообщения:
    633
    Симпатии:
    26
    Как вызвать голосование командой? Либо для определенной карты?
     
  17. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    Её нет. Меню появляется автоматически - не даром квары уточнения для вызова голосования сделаны.
    Подгружать другим плагином на нужной карте.
     
  18. MIV

    MIV

    Сообщения:
    633
    Симпатии:
    26
    Нужно чтоб было на одной карте, не на всех)

    Вот я и спросил команду запуска плагина?) Либо каким образом запустить голосование?
     
  19. AlmazON

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

    Сообщения:
    4.515
    Симпатии:
    1.969
    sm plugins unload НазваниеФайлаЭтогоПлагинаУтебяВпапке.smx в плагине для карт или в конфиге http://hlmod.ru/forum/stati-i-manualy/7278-ustanovka-svoih-komand-na-kajdoi-karte.html. Подгрузится сам, где не пропишешь.
    Для CS:GO не знаю, другим плагином выгружать то точно можно.
    Вряд ли такое делать буду, ведь начнётся потом: а количество без учёта ботов? А только играющих в команде игроков? А только террористов?
    И будет куча всего, кваров.
    Хотя, есть идейка, как сделать это универсально, правда, возможно, не так удобно для пользователя.
     
  20. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    Можно сделать так, набралось определенное кол-во играющих игроков (не ботов) и выводится голосование.
    Добавить квар.
    0 - Учитывать, обе стороны.
    1 - Учитывать, игроков команды (террористов).
    2 - Учитывать, игроков команды (спецназа).
    Как-то так.