Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Плагин [FUN] AskMe 1.2 - Задай игрокам парочку вопросов :) [Все версии]

Qmaks

Старожил
Пользователь
Баллы
173
Имя в Minecraft
Qmaks
AskMe
source.gif

​
Версия: 1.2
Версия ядра: Все версии.
Версия компилятора (Java): 1.7+
Описание: Данный плагин позволит вам разнообразить игру на сервере и содействовать развитию и расширению кругозора игроков.
Нагрузка: Минимальная. Плагин изначально разрабатывался с обязательным пунктом, который гласил, что оптимизация - не маловажный компонент.
Баги: Не обнаружено.
Сложность настройки конфигурации: Средняя.
Важные пункты:​
- Нет прав и команд.
​
Код:
# Плагин разработан пользователем форума rubukkit.org под ником Qmaks.
# Официальная тема плагина -> http://rubukkit.org/threads/fun-askme-zadaj-igrokam-parochku-voprosov-vse-versii.130026/
# Страница создателя на форуме (Все вопросы, просьбы, предложения в личку) -> http://rubukkit.org/members/qmaks.45892/

# Порядок задавания вопросов:
# 1 - рандомно (В неизвестном порядке).
# 2 - по порядку (От первого до последнего вопроса и так по кругу).
mode: 1
# Задержка перед задаванием следующего вопроса.
# Время до следующего вопроса после ответа на поставленный вопрос или сообщения о истечении времени, отведенного на ответ на заданный вопрос.
# Указывается в секундах.
# 60 секунд - 1 минута (Пасиба, Кэп).
gameDelay: 60
# Время, отведенное на ответ на заданный вопрос.
# Указывается в секундах, соответственно.
gamePeriod: 30
# Символ, который должен стоять вначале ответа или предложения и т.д.
# Т.е если вы что-то напишите туда, то для того, чтоб сообщение считалось "ответом" надо поставить вначале этот символ.
# Если же нам не нужна данная функция, то просто оставляем поле пустым.
# По дефолту вначале сообщения должна стоять стрелочка вправо (Т.е в чат надо будет отвечать так: >Ответ на вопрос).
# Если мы ее уберем (Смотреться будет так: answerPrefix: ""), то в чат надо будет отвечать так: Ответ на вопрос.
answerPrefix: ">"
# Выводимый в чат префикс плагина
# Placeholder: <pluginPrefix>
# Используется в нижеприведенных примерах вопросов.
pluginPrefix: "&f[&6AskMe&f]&r"
# То, что выводится в чат когда пробивает час умников и умниц.
# Тут так-же используется placeholder <questuion>, вместо него высвечивается вопрос.
question-msg:
    - "&c█▀▀▀▀▀▀▀▀█ &bВнимание, вопрос! &c█▀▀▀▀▀▀▀█"
    - "&c█▌"
    - "&c██▌ &6<question>"
    - "&c█▌"
    - "&c█▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄█"
# Список вопросов.
questions:
    # Номер вопроса
    1:
        # Вопрос
        # Placeholder - <question>
        question: "Чему равно число ПИ если его сократить до сотых?"
        # Все возможные ответы. Регистр не учитывается.
        answers:
            - "3.14"
            - "3,14"
        # Команда, выполняемая от имени консоли в случае правильного ответа от игрока.
        # Placeholder <sender> - игрок, отправивший ответ.
        # В данном примере правильно ответившему игроку прибавляется 3000$ на баланс.
        reward-command: "eco give <sender> 3000"
        # Сообщение, выводимое при отправлении неверного ответа.
        # Placeholder <pluginPrefix> - префикс плагина.
        # Placeholder <sender> - игрок, отправивший ответ.
        wrong-answer: "<pluginPrefix> &cНеправильный ответ! <sender>, хорошенько подумай!"
        # Сообщение, выводимое при отправлении верного ответа.
        # Placeholder <pluginPrefix> - префикс плагина.
        # Placeholder <sender> - игрок, отправивший ответ.
        correct-answer: "<pluginPrefix> &a<sender>, великолепно! Учительница математики должна гордиться тобой :)"
        # Сообщение, выводимое в общий чат при истечении выделенного времени для ответа на вопрос.
        # Placeholder <pluginPrefix> - префикс плагина.
        no-reply-msg: "<pluginPrefix> &cИ где ваши математические знания, а?!"
        # Сообщение, выводимое при отправлении игроком верного ответа.
        # Placeholder <pluginPrefix> - префикс плагина.
        # Placeholder <sender> - игрок, отправивший ответ.
        massnotification: "<pluginPrefix> &6Игрок <sender> ответил верно и получил 3000$"
    2:
        question: "Какая гора считается самой высокой?"
        answers:
            - "Эверест"
        reward-command: "give <sender> diamond_sword"
        wrong-answer: "<pluginPrefix> &cФу, глупенький ты какой-то :c"
        correct-answer: "<pluginPrefix> &a<sender>, ты несомненно умён! Ты правильно ответил и получишь за это приз :)"
        no-reply-msg: "<pluginPrefix> &aСила георграааафииии, приди!"
        massnotification: "<pluginPrefix> &6Игрок <sender> загуглил быстрее всех, поздравим его с этим! :D"

ChangeLog:​
[05.12.16 | Версия 1.0] Релиз плагина.
[06.12.16 | Версия 1.1] Фикс недочета (Исправлена функция генерации рандомных чисел).
[08.03.17 | Версия 1.2] Фикс массового сообщения (При глобальном оповещении вместо победившего игрока был ник того, которому отправлено сообщение).
​
​
* Если есть какие-то замечания - пишите (желательно конструктивно).​
​
Просьба написать свое мнение о плагине после тестирования.
Предложения и критика принимается.
​
 
Последнее редактирование:
Это вот поэтому нельзя ставить нечетное количество вопросов?:)
Код:
int average = (min + max) / 2;
 
Не вижу отношения между моими обходами и плагинами. И если уж речь зашла о обходах, то с ними все в порядке. Работали, некоторые работают до сих пор. То, что их со временем фиксят - не моя вина. Если бы они были кусками фекалий, по косарю скачиваний минимум не было бы.

Я был бы не против обоснования критики своих обходов.
Обновление​
Версия: 1.1
Описание: Более проблемы с количеством вопросов не существует.
 
Последнее редактирование:
Не конструктивно, однако. Лучше заливай исходники на гитхаб(или подобные).
 
Не конструктивно, однако. Лучше заливай исходники на гитхаб(или подобные).
Пока-что нет желания. Знаю, что удобно, но я сижу вовсе не со своего ноута и не могу ставить репозитории и т.д на комп.

Добавил гифарик, который служит мини-превьюшкой плагина.​

По просьбе @Sonicxd2 исходники залиты на GitHub.
Им хоть кто-то пользуется? xD
Может сделать прогу с гуи для добавления вопросов?
 
Пока-что нет желания. Знаю, что удобно, но я сижу вовсе не со своего ноута и не могу ставить репозитории и т.д на комп.

Добавил гифарик, который служит мини-превьюшкой плагина.​

По просьбе @Sonicxd2 исходники залиты на GitHub.
Им хоть кто-то пользуется? xD
Может сделать прогу с гуи для добавления вопросов?
сделай прогу )
 
Код:
2017-01-10 23:58:31 [INFO] [AskMe] Enabling AskMe v1.1
2017-01-10 23:58:31 [SEVERE] Cannot load configuration from stream
org.bukkit.configuration.InvalidConfigurationException: unacceptable character '?' (0xFFFD) special characters are not allowed
in "<string>", position 2294
    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55)
    at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:138)
    at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:202)
    at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:121)
    at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111)
    at qmaks.askme.Main.onEnable(Main.java:28)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:284)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:266)
    at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:315)
    at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:292)
    at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:252)
    at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.java:152)
    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:393)
    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
Caused by: unacceptable character '?' (0xFFFD) special characters are not allowed
in "<string>", position 2294
    at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:70)
    at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:50)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:399)
    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:53)
    ... 16 more
2017-01-10 23:58:31 [SEVERE] Error occurred while enabling AskMe v1.1 (Is it up to date?)
java.lang.NullPointerException
    at qmaks.askme.Main.onEnable(Main.java:32)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:284)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:266)
    at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:315)
    at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:292)
    at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:252)
    at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.java:152)
    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:393)
    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
 
Код:
2017-01-10 23:58:31 [INFO] [AskMe] Enabling AskMe v1.1
2017-01-10 23:58:31 [SEVERE] Cannot load configuration from stream
org.bukkit.configuration.InvalidConfigurationException: unacceptable character '?' (0xFFFD) special characters are not allowed
in "<string>", position 2294
    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:55)
    at org.bukkit.configuration.file.FileConfiguration.load(FileConfiguration.java:138)
    at org.bukkit.configuration.file.YamlConfiguration.loadConfiguration(YamlConfiguration.java:202)
    at org.bukkit.plugin.java.JavaPlugin.reloadConfig(JavaPlugin.java:121)
    at org.bukkit.plugin.java.JavaPlugin.getConfig(JavaPlugin.java:111)
    at qmaks.askme.Main.onEnable(Main.java:28)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:284)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:266)
    at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:315)
    at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:292)
    at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:252)
    at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.java:152)
    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:393)
    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
Caused by: unacceptable character '?' (0xFFFD) special characters are not allowed
in "<string>", position 2294
    at org.yaml.snakeyaml.reader.StreamReader.checkPrintable(StreamReader.java:70)
    at org.yaml.snakeyaml.reader.StreamReader.<init>(StreamReader.java:50)
    at org.yaml.snakeyaml.Yaml.load(Yaml.java:399)
    at org.bukkit.configuration.file.YamlConfiguration.loadFromString(YamlConfiguration.java:53)
    ... 16 more
2017-01-10 23:58:31 [SEVERE] Error occurred while enabling AskMe v1.1 (Is it up to date?)
java.lang.NullPointerException
    at qmaks.askme.Main.onEnable(Main.java:32)
    at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:217)
    at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:457)
    at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:381)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.loadPlugin(CraftServer.java:284)
    at org.bukkit.craftbukkit.v1_6_R3.CraftServer.enablePlugins(CraftServer.java:266)
    at net.minecraft.server.v1_6_R3.MinecraftServer.l(MinecraftServer.java:315)
    at net.minecraft.server.v1_6_R3.MinecraftServer.f(MinecraftServer.java:292)
    at net.minecraft.server.v1_6_R3.MinecraftServer.a(MinecraftServer.java:252)
    at net.minecraft.server.v1_6_R3.DedicatedServer.init(DedicatedServer.java:152)
    at net.minecraft.server.v1_6_R3.MinecraftServer.run(MinecraftServer.java:393)
    at net.minecraft.server.v1_6_R3.ThreadServerApplication.run(SourceFile:583)
Конфиг почини
Обнаружен баг при объявлении победителя, исправлю в ближайшее время (как сяду за комп).
 
Конфиг почини
Обнаружен баг при объявлении победителя, исправлю в ближайшее время (как сяду за комп).
https://github.com/TheQmaks/AskMe/blob/master/src/qmaks/askme/threads/GameThread.java
Убери здесь static у prevRnd и prevQuestion. (P.S Знаю не мешает, но всё таки так будет куда красивее)
 
Бален, как игроки допрут, что надо ставить ">" перед ответом?
Можно добавить в конфиг отключение необходимости вводить этот значек перед ответом ?
 
Бален, как игроки допрут, что надо ставить ">" перед ответом?
Можно добавить в конфиг отключение необходимости вводить этот значек перед ответом ?
Можно попробовать оставить поле answerPrefix в конфиге пустым.То есть, answerPrefix: ""
 
Бален, как игроки допрут, что надо ставить ">" перед ответом?
Можно добавить в конфиг отключение необходимости вводить этот значек перед ответом ?
Просто ничего туда не ставь и вводить какие-либо символы перед ответом не нужно будет ;) 
 
Можно попробовать оставить поле answerPrefix в конфиге пустым.То есть, answerPrefix: ""

Просто ничего туда не ставь и вводить какие-либо символы перед ответом не нужно будет ;) 

Как же шикарно. Прямо всё предусмотрел.
Спасибо за такую качественную работу!
 
Как же шикарно. Прямо всё предусмотрел.
Спасибо за такую качественную работу!
Не за что) Рад, что пользователей все устраивает)
Кстати, я не против предложений, так что пишем сюда идеи, а я их постараюсь реализовать)
 
Не за что) Рад, что пользователей все устраивает)
Кстати, я не против предложений, так что пишем сюда идеи, а я их постараюсь реализовать)

Плагин четок, но как насчет, скажем:
1.Подсказки.
Для некоторых сложных вопросов можно будет добавить подсказки, которые будут появляться спустя определенное время после начала задания
2. Топ отгдачиков
Тут все понятно
 
Плагин четок, но как насчет, скажем:
1.Подсказки.
Для некоторых сложных вопросов можно будет добавить подсказки, которые будут появляться спустя определенное время после начала задания
2. Топ отгдачиков
Тут все понятно
Хм, хорошие идеи. Принято.
Как будет время - сделаю) Ждем обновы)
 

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

Назад
Верх