Vote Game Configuration

Vote Game Configuration 1.2.0

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #1
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:
    C-подобный:
    "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 должен содержать строчку:
    C-подобный:
    bot_quota 7
    что соответствует: 6 пункт меню - Config6 = Config6.txt = 7 ботов в игре.
    В итоге вы должны получить:
    3f7d07ba59a3.jpg
  • Скорей всего, каждый знаком со стандартным плагином SM "funvotes". Помните их команды? Например, предложить игрокам сменить гравитацию. Сделаем это автоматически?
    Вписываем в файле VoteGameConfiguration.phrases.txt:
    C-подобный:
    "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 должен содержать строчку:
    C-подобный:
    sv_gravity 1200
    По описанному выше должны получить:
    e5a001573496.jpg
  • У вас установлен плагин Weapon Restrict и вы хотите учесть пожелания игроков по запрету AWP?
    Вписываем в файле VoteGameConfiguration.phrases.txt:
    C-подобный:
    "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 должен содержать строчки:
    C-подобный:
    sm_restrict_awp_ct 0 
    sm_restrict_awp_t 0
    Меню здесь выглядит так:
    ae18d207b269.jpg

    Пункт "Стандарт" вовсе не обязателен, можете и убирать.
  • Снова вспоминая War-мод, задаёмся вопросом, как это повторить в голосовании?
    Как и прежде, вписываем необходимое нам меню, а, например, в файл Config1.txt копируем содержимое:
    C-подобный:
    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" и оптимизация кода под него.
 

Вложения

  • Multi-SM_VoteGameConfiguration_v1.2.0.rar
    5.6 КБ · Просмотры: 39
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #3
KapaT,
В каждом раунде создаётся голосование
т.е. само, без команд. Раунд начинается - начинается голосование.
Далее планирую сделать такие голосования: 1 раз для карты (только для 1 раунда), через каждые 10 раундов и т.д.
голосование ставит админ, а игроки просто выбирают?
Именно так. Админ спланировал голосование - и оно проходит само.
 

Metamoto

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

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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #5
напишет кто-нибудь voteban, выберет кого банить и должно появиться голосование, чтобы остальным оставалось только выбрать забанить или нет игрока
И все
школота тупая или же пофигист и т.д.
потыкают, что попало или специально забанят, ради "прикола".
Сделать то можно, но надо ли оно тебе? Может резко онлайн упасть.
 

Metamoto

Участник
Сообщения
407
Реакции
14
И все

потыкают, что попало или специально забанят, ради "прикола".
Сделать то можно, но надо ли оно тебе? Может резко онлайн упасть.

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

KapaT

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

П.С. как бы улучшить playervotes, со всеми кварами о промежутке голосования и количеством, и т.д.
Где то видел такой плагин на АМ, определенный процент пишет вотебан и появляется голосование для всех
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #10
Ввиду невозможности проверить хотя бы то же голосование, пока тестируем.
Где комментарии о работе? Может, я бред создал какой...
Желающие реально протестировать плагин - можете написать мне в личку и получить с исходником.
есть много идей использования
Делитесь ими здесь. Если есть вопросы, как это реализовать, вписать в плагин - я помогу.
 
Последнее редактирование:

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #11
Vote Game Configuration v1.1.0

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

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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #12

gowasirius

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

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #14
подскажите как можно исправить?
Мало информации для автоматизации исправления проблемы. Только командой вызывать меню голосования (которой ещё и нет) - в любом случае, пока могу сказать, что надо редактировать плагин.
 

Hejter

xor ebx, ebx
Сообщения
1,759
Реакции
393
Возможно пропустил, но предложу.
Сделать вызов голосования когда на сервере X игроков. 10/20 начинаем голосование и т.д
 

MIV

Участник
Сообщения
613
Реакции
32
Как вызвать голосование командой? Либо для определенной карты?
 

AlmazON

Не путать с самим yand3xmail
Сообщения
5,099
Реакции
2,755
  • Автор ресурса
  • #17
вызвать голосование командой
Её нет. Меню появляется автоматически - не даром квары уточнения для вызова голосования сделаны.
для определенной карты
Подгружать другим плагином на нужной карте.
 

MIV

Участник
Сообщения
613
Реакции
32
Её нет. Меню появляется автоматически - не даром квары уточнения для вызова голосования сделаны.

Нужно чтоб было на одной карте, не на всех)

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

AlmazON

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

Hejter

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

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