Хостинг серверов Minecraft playvds.com
  1. Вы находитесь в русском сообществе Bukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на русский язык плагины наших собратьев из других стран.
    Скрыть объявление

Идея Продолжение [CommandVote] - голосование на запуск команд

Тема в разделе "Запросы на разработку плагинов", создана пользователем craftist, 2 сен 2015.

  1. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    Upgrade 2 sep 2015! Нам нужно больше переменных!

    Внимание! Создателя идеи ( @craftiste - зараза, ник спер ) уже больше 2 недель нет на руведре. Я решил продолжить его идею.
    Возможно, такой плагин уже есть. Не посылайте меня в поиск, а лучше напишите ссылку на русское ведро.


    Категория плагина: ГОЛОСОВАНИЕ, ВЫПОЛНЕНИЕ ЗАДАННЫХ КОМАНД

    Предлагаемое название: CommandVote
    Что я хочу: Человек с пермишеном пишет команду типа /cvote <Название отображаемое в конфиге> <Нужно голосов> <Выполняемая команда> [Таймаут] [Выполнять раз во сколько секунд]
    Легенда скобок: <Обязательно> [Необязательно]
    Пример:/cvote FirstOp 10 op_{LastVoted} false 10
    Этот пример запустит голосование. Когда наберется 10 голосов за, опнется последний проголосовавший игрок.
    Второй пример:/cvote SayAsKlichko 25 say_{YesVotes}_голосов_за 14
    Этот пример запустит голосование. Когда наберется 25 голосов за, в чат высветится "25 голосов за"
    Третий пример: /cvote NewVote 100 pex_user_{RandVoted}_group_set_Moder 120 604800
    Этот пример запустит голосование, которое будет запускаться раз в 604800 секунд (раз в неделю). После набора 100 голосов, рандомный из голосовавших станет модератором, если 100 голосов наберется за 2 минуты.


    Идеи для команд: /cvote <Название отображаемое в конфиге> <Нужно голосов> <Выполняемая команда> [Таймаут] [Выполнять раз в x секунд] - Запускает голосование (смотреть примеры)
    /cvoteyes (или /cvote yes) - смотря как легче реализовать - голосует "За"
    /cvoteno (или /cvote no) - голосует "Против"
    /ccancel [Название отображаемое в конфиге] [if all] - Отменяет голосование. Если параметр не указан, отменяет последнее голосование. Если команда приобретает вид /ccancel false all - отменяются все. Следовательно, голосования с именем false не может быть
    /cbroadcast [Message] - Пишет в чат сообщение [Message].
    Просто сообщение. Без ника, и т.д. Просто такст. Если не указан, пишет тот, что указан в messages.yml по пути messages.broadcast
    Идея от @tyumencev2004: /cv <Player> <Some> <Count> - в <Some> может быть либо Ban, либо Mute, либо Kick. Если наберется <count> голосов за, игрок <Player> будет либо кикнут (если <Some> == Kick), либо заглушен в чате (если <some> == Mute), либо забанен (если <Some> == Ban). Время мута или бана настраивается в конфиге.
    /cyes <player> - голосует За в /cv за действие с <player>
    /cnull <player> - обнуляет кол-во голосов за <player>
    /cdelete <player> - удаляет VoteDo за <player>

    Переменные (необязательно, но если можно реализовать - пожалуйста): {FirstVoted} - ник игрока, проголосовавшего первым
    {LastVoted} - ник игрока, проголосовавшего последним
    {Votes} - кол-во голосов (всего)
    {YesVotes} - кол-во голосов "За"
    {NoVotes} - кол-во голосов "Против"
    {RandVoted} - рандомный игрок из проголосовавших
    Не факт, что реализуется, может, другой синтаксис, но: {Rand:x,y} - рандомное число от x до y
    {RandUser} - рандомный игрок на сервере (даже если он не голосовал)
    Реализовать еще труднее, чем {Rand:x,y} - {RandWord="a","b"} - заменяется рандомным словом (а, или б) - причем этих слов может быть от 2 до бесконечности.
    {RandPlayerPerm="example"} - рандомный игрок с правом cvote.perm.example
    {RandBlockID} - рандомный ID блока
    {RandItemID} - рандомный ID предмета
    {RandMeta=1,0,4} - рандомный предмет с рандомной метадатой (в примере - вернет 1:0, 1:1:, 1:2, 1:3 или 1:4)

    Update 2 sep 2015:
    {CreatorNick} - ник создателя голосования
    {TimesPlayed} - количество проигранных раз (если голосование таймерное, то есть запускается снова само раз в x секунд)
    {NextTime} - кол-во секунд до следующего голосования (только если голосование таймерное)


    Переменные можно конкатенировать, например {RandBlockID}{RandUser} может поменяться на 7VasyaPupkin (то есть, бедрок и ник рандомного игрока не сервере)

    Идеи пермишенов: cvote.vote.yes - возможность голосовать "За"
    cvote.vote.no - возможность голосовать "Против"
    cvote.create.timed - возможность создавать голосования с таймаутом
    cvote.create.notimed - возможность создавать вечные голосования
    cvote.create.timed.timer - возможность создавать голосования, которые будут автоматически создаваться раз в x секунд (если ввести все аргументы, то по счету 5-ый аргумент) и с таймаутом
    cvote.create.notimed.timer - возможность создавать вечные голосования, которые могут создаваться раз в x секунд
    cvote.perm.abc - пермишен для переменной {RandPlayerPerm=""}
    cvote.broadcast - пермишен для команды /cbroadcast
    cvote.colored - пермишен для возможности писать цветовыми кодами в имени предмета (Item Meta Эссенциаловская) или в чате. Без нее все будет стандартного цвета, как без цветовых кодов.
    cvote.player.create - пермишен для /cv
    cvote.player.vote - пермишен для /cyes
    cvote.adm.null - пермишен для /cnull
    cvote.adm.delete - пермишен для /cdelete

    Когда мне это нужно? В сентябре -_- надоело ждать

    Зачем плагин? Возможность развлечь игроков. Администратор или человек с правом cvote.create.* создает голосование, игроки голосуют. После получения необходимого кол-ва голосов выполняется команда, в которой вместо пробелов - нижнее подчеркивание _. Также можно использовать переменные. Конфиг таким образом вообще не нужен, но можно создавать файлик yml, в котором будут все голосования.
    А так же с помощью этого плагина можно сделать VoteBan, VoteMute или VoteKick.

    Примерный вид конфига:
    votes_main:
    ИмяГолосования:
    Timed: true
    Timer:
    - false
    - 0
    Timeout: 25
    Command:
    - '/kill {FirstVoted}'
    VoteName:
    Timed: false
    Timer:
    - true
    - 604800
    Timeout: -1
    Command:
    - '/gamemode {LastVoted} 1'
    votes_players:
    VasyaPupkin: #Ник игрока в голосовании
    expiry: 10 #Сколько голосов осталось до действия
    action: ban #Действие (ban, kick, mute)
    Second:
    expiry: 20
    action: kick
    settings:
    broadcast: true #true - пишет в чат при создании голосования, adminonly - пишет только создателю, false - ваще никому не пишет
    maxvotes: inf #число - максимально голосований. Если inf - то бесконечно.
    maximals:
    player_votes:
    ban: 30 #Макс время бана - 30 секунд
    kick: 10 #Зайти можно ток через 10 секунд после кика
    mute: 120 #Макс время мута - 2 минуты (120 секунд)
    Вид файла с языками:
    messages:
    error: '&4Ошибка в команде. Попробуйте снова'
    noperm: '&4У вас нет прав!'
    created:
    timed: 'Создано временное голосование!'
    notimed: 'Создано вечное голосование!'
    timertimed: 'Создано временное таймерное голосование!'
    timernotimed: 'Создано вечное таймерное голосование!'
    broadcast: 'Стандартное сообщение для команды /cbroadcast'
    #Еще необходимые сообшения.

    Как-то так. Будут вопросы - задавайте.
    Если вы видите конфиг по-другому (но с теми же функциями), то можете поделиться им в комментариях. Самый удобный конфиг попадет в шапку (чтобы его увидели девелоперы) с указанием авторства (можете попросить и без, я укажу без указания)
    Критика (не жесткая) принимается. Тапки, валенки, другая обувь - нет.
     
    Последнее редактирование: 6 сен 2015
  2. Хостинг MineCraft
    <
  3. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    Его уже пишет @fromgate . Наверное, пишет. А может, времени нету.[DOUBLEPOST=1441212720,1441212636][/DOUBLEPOST]
    В таком случае тебе сюда, потому что в этом разделе - идеи, а не покупка плагина.
     
  4. TheBlacK.Z

    TheBlacK.Z Активный участник Пользователь

    Баллы:
    78
    Если вы ему заплатили то он однозначно его пишет.
    Этот человек уже ни раз показывал свои навыки в кодинге и создании стабильных плагинов.
     
  5. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    1) ReActions
    2) Он уже начал писать (наверное). И что вы все его так ненавидите?
    Подождем плагин. Раз вам всем так неймется, что ж, просто подождем плагин, и вы исправите его, раз вам не нравится fromgate.
     
  6. tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    Я жду моей реализации - VoteBan/VoteMute. Это эта же реализация, но нужно что бы мог запускать любой игрок и параметров не было так много, а был один - ник игрока за которого голосуешь в бан/мут.
     
  7. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    Жди =) Хорошо. Добавлю в идею VoteBan[DOUBLEPOST=1441215036,1441214640][/DOUBLEPOST]
    Читай и радуйся. Готова простая команда. Для голосования дай игрокам пеимишен cvote.player.* и все! Они смогут создавать голосования и голосовать за!
     
  8. Rider3217

    Rider3217 Активный участник Пользователь

    Баллы:
    98
    Имя в Minecraft:
    Planet0111
    Мы не говорили что он плохой.
    Я не заставляют вас покупать у меня плагин, просто предложил ускорить написание плагина.
     
  9. tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    Уже радуюсь :p
     
  10. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    PHP:
    <?
    up();
    ?>
     
  11. tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    xD
     
  12. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    Ищо ап, скучали, да? :good:
     
  13. tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    Дя
     
  14. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
  15. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    Хорошо. Отпиши(те)сь, когда начне(шь|те) делать.
     
  16. tyumencev2004

    tyumencev2004 Активный участник Пользователь

    Баллы:
    66
    <up>Когда будет мой VoteBan? Когда я его сам напишу?</up>
     
  17. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
  18. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    UP Чтоле[DOUBLEPOST=1451674321,1451559738][/DOUBLEPOST]@изВорот[DOUBLEPOST=1453297265][/DOUBLEPOST]@fromgate приди да вспомни про этот плагин!
    Да, еще, ап, даа =)[DOUBLEPOST=1453999719][/DOUBLEPOST]@fromgate[DOUBLEPOST=1454083861][/DOUBLEPOST]@up @fromgate
     
  19. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    )(0р0LLl0[DOUBLEPOST=1456239952,1454183048][/DOUBLEPOST]не хочу показаться надоедливым, поэтому просто подниму тему, без обращения.[DOUBLEPOST=1457279234][/DOUBLEPOST]@fromgate :c
     
  20. StainyCode

    StainyCode Активный участник Пользователь

    Баллы:
    66
    Взяли идею, сейчас пойдем писать.
     
  21. Автор темы
    craftist

    craftist Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    SavaSivkov
    хорошо:lol:[DOUBLEPOST=1457537026,1457367734][/DOUBLEPOST]Плагин даже под нуккит не может писаться три месяца.
    Или может?
     

Поделиться этой страницей