Плагин [INFO/ADMN/CHAT] rscMessages v0.7.5b — менеджер межсерверных объявлений [1.5.x-1.10.x]

Можно ли сделать так, чтобы некоторые объявления видели только новички?
Или одноразовые сообщения, поочередно отправляются игроку в чат.
 
Можно ли сделать так, чтобы некоторые объявления видели только новички?
Сделай отдельный список, например Newbie, для новичков, и новичкам дай право (rscm.receive.newbie) его получать, а остальным не давай. А то, как у тебя на сервере определяются новички и не-новички, уже не есть задача этого плагина.
Или одноразовые сообщения, поочередно отправляются игроку в чат.
Это громоздко, нужно держать для каждого игрока список номеров сообщений, которые он получил, и которые ещё нет. Сложно и не нужно.
Заработало только через знак §
ALT + 21 (NUM)
 
Это громоздко, нужно держать для каждого игрока список номеров сообщений, которые он получил, и которые ещё нет. Сложно и не нужно.
Не думаю, что нужно хранить информацию о том, какие сообщения игрок получил.
Думаю, лучше будет так, как в Welcome плагинах. Если нет playerdata то игрок одноразово видит сообщение из списка newbie
Одна проблема Welcome плагинов в том, что они пишут текст быстрее всех и все в одну строку. Хотелось бы, чтобы было несколько отдельных сообщений и отправлялись с задержкой в ~3s
 
@chief, я мог бы имитировать право receive для вошедшего игрока, если для него сработает !.hasPlayedBefore().
Устроит ли тебя такой вариант, что ему будет показываться указанный список (со всеми его, списка, параметрами — задержкой/random и т.п.), но не одноразово, а циклически (то есть пока он не перезайдёт)? То есть, механика броадкаста сообщений та же, только сообщения из определённого списка получат "first-joined" игроки, даже не имея спец. права receive.

Это довольно-таки простой способ для реализации. На более сложные у меня нет времени пока что.
@chief, попробуй последнюю сборку, https://ci.methuselah.ru/job/rscMessages/
После перезапуска сервера конфиг обновится: появится новая строковая переменная special-list-for-newbies.
Укажи в ней название любого списка, и игроки, который впервые вошли на сервер, будут получать из него сообщения. Если выйдут и перезайдут, то уже не будут получать.

Для трансляции сообщений используется прежний планировщик, то есть нет гарантии, что игрок получит сообщение из списка моментально после входа, а получит его в случайное время между 0 и задержкой списка. Можно выставить списку маленькую задержку (секунд 10?), это допустимо, если все остальные игроки его не получают.
 
Последнее редактирование:
игроки, который впервые вошли на сервер, будут получать из него сообщения. Если выйдут и перезайдут, то уже не будут получать.
@chief, я мог бы имитировать право receive для вошедшего игрока, если для него сработает !.hasPlayedBefore().
Устроит ли тебя такой вариант, что ему будет показываться указанный список (со всеми его, списка, параметрами — задержкой/random и т.п.), но не одноразово, а циклически (то есть пока он не перезайдёт)? То есть, механика броадкаста сообщений та же, только сообщения из определённого списка получат "first-joined" игроки, даже не имея спец. права receive.

Это довольно-таки простой способ для реализации. На более сложные у меня нет времени пока что.
@chief, попробуй последнюю сборку, https://ci.methuselah.ru/job/rscMessages/
После перезапуска сервера конфиг обновится: появится новая строковая переменная special-list-for-newbies.
Укажи в ней название любого списка, и игроки, который впервые вошли на сервер, будут получать из него сообщения. Если выйдут и перезайдут, то уже не будут получать.

Для трансляции сообщений используется прежний планировщик, то есть нет гарантии, что игрок получит сообщение из списка моментально после входа, а получит его в случайное время между 0 и задержкой списка. Можно выставить списку маленькую задержку (секунд 10?), это допустимо, если все остальные игроки его не получают.
Цикличность вполне годится.
Наверное, что-то пошло не так. Сообщение даже после перезахода отправляются. Запускал на 1.7.10 Cauldron (права в rscp не вписывал)
Полезно новичку (полном новичку) рассказать прямо в игре, как надо пользоваться чатовыми командами, инвентарем, инструментами и т. д. Удобнее ему сообщить в чате отдельными сообщениями, это привлечет больше его внимания.
 
Наверное, что-то пошло не так. Сообщение даже после перезахода отправляются.
Может где-то накосячил, хз. Не имею времени потестировать. А после рестарта они перестают получать сообщения? Никто, кроме новичков, не получает их?
Всё ли устраивает?
 
Может где-то накосячил, хз. Не имею времени потестировать. А после рестарта они перестают получать сообщения? Никто, кроме новичков, не получает их?
special-list-for-newbies это работает и сообщения выводятся в чат но вот это !.hasPlayedBefore() не определяет, игрок впервые на сервере или нет. Сообщение транслируются почти в обычном режиме (только без прав), для всех игроки, и после рестарта.
Такой принцип вполне устраивает. Спасибо)

Кажется, что здесь просто не получится сделать
Теперь все сообщения транслируются без наличия прав 😆. Возможно, такое было и раньше но только сейчас это заметил.
Наверное я где-то накосячив с настройками. Сейчас устанавливаю на тестовый сервер
 
Последнее редактирование:
Кажется, что здесь просто не получится сделать. Теперь все сообщения транслируются без наличия прав 😆. Возможно, такое было и раньше но только сейчас это заметил.
Наверное я где-то накосячив с настройками. Сейчас устанавливаю на тестовый сервер
Аааа, я поспешил и накосячил! Забыл зарегистрировать Listener! Дописал, пересобрал, качай оттуда же )
 
Думаю, это будет хорошей фишкой. При трансляции сообщения, проигрывается мелодия (нотный блок, наковальня, ендермен)
Только, чтобы в таблице задавался звук
 
Думаю, это будет хорошей фишкой. При трансляции сообщения, проигрывается мелодия. Только, чтобы в таблице задавался звук
Типа колонка, в которой указывать путь к файлу звука? Например, mob.villager.hit? Если нету (NULL, ""), то не проигрывать. ОКъ, в TO DO. Функция не сложная и может стать популярной.
 
Типа колонка, в которой указывать путь к файлу звука? Например, mob.villager.hit? Если нету (NULL, ""), то не проигрывать. ОКъ, в TO DO. Функция не сложная и может стать популярной.
Именно так.
Я такого не видел ни в одном подобном плагине. Будет вполне полезно сопровождать сообщение звуком
 
Предварительная, не тестировавшаяся сборка v0.6.5b:
  • Скачайте файл и замените плагин на сервере. Перезапустите сервер.
  • Произойдёт автоматическое обновление конфига + БД до "единой" версии 6:
  • Если указан, то во время трансляции сообщения каждому получающему его игроку будет проигран соответствующий звук. Если значение указано неверно или отсутствует в ядре вашей версии (старый Spigot, например, где этого звука ещё не было), просто ничего не проиграется.
  • Отдельной команды плагина для установления звука списку нет, но команда info умело показывает его с остальными свойствами.
@chief, прошу проверить эту фичу и доложить 🙂
 
@chief, прошу проверить эту фичу и доложить 🙂
Java:
[16:36:49 WARN]: [rscAPI][SQL] Exception in Execute():
{0}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
        PRIMARY KEY (`id`),
        UNIQUE KEY `id_UNIQUE` (`id`),
        UNIQUE KEY `name_UNIQUE`' at line 8
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_74]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_74]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.Util.getInstance(Util.java:382) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeUpdate(ConnectionMySQL.java:179) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeUpdateT(ConnectionMySQL.java:151) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.Database.deploy(Database.java:21) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.BukkitPluginMain.onEnable(BukkitPluginMain.java:113) [rscMessages_v0.6.5b.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_74]
[16:36:49 INFO]: [rscm] ProtocolLib wasn't found. You cannot use json messages now.
[16:36:49 INFO]: [rscm] rscMessages has been successfully enabled.
[16:36:49 INFO]: [WorldBorder] Enabling WorldBorder v1.8.4
[16:36:49 WARN]: [rscAPI][SQL] Exception in Execute():
{0}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'db_server.rscm_messages' doesn't exist
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_74]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_74]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.Util.getInstance(Util.java:382) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeUpdate(ConnectionMySQL.java:179) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeUpdateT(ConnectionMySQL.java:151) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.Database.cleanup(Database.java:26) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.Fetcher.run(Fetcher.java:20) [rscMessages_v0.6.5b.jar:?]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_74]
[16:36:49 WARN]: [rscAPI][SQL] Exception in Query():
{0}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'db_server.rscm_lists' doesn't exist
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_74]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_74]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.Util.getInstance(Util.java:382) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1474) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeQuery(ConnectionMySQL.java:161) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.Database.fetch(Database.java:48) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.Fetcher.run(Fetcher.java:22) [rscMessages_v0.6.5b.jar:?]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_74]
[16:36:49 WARN]: Exception in thread "Thread-9"
[16:36:49 WARN]: java.lang.NullPointerException
[16:36:49 WARN]:        at ru.simsonic.rscMessages.Database.fetch(Database.java:50)
[16:36:49 WARN]:        at ru.simsonic.rscMessages.Fetcher.run(Fetcher.java:22)
[16:36:49 WARN]:        at java.lang.Thread.run(Unknown Source)

v0.6.5b не создает таблицу. v0.6.4b работает нормально. Поэтому это проблема в новой версии.
Плагин все еще требует колонку json, но не создает ее

Обнаружена ошибка в плагине. Добавил колонку 'sound' вручную. Но запустить плагин не удалось
Java:
[16:49:03 INFO]: [rscAPI][SQL] Connecting to "rscMessages"...
[16:49:04 WARN]: [rscAPI][SQL] Exception in Execute():
{0}
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ';
        PRIMARY KEY (`id`),
        UNIQUE KEY `id_UNIQUE` (`id`),
        UNIQUE KEY `name_UNIQUE`' at line 8
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:1.8.0_74]
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) ~[?:1.8.0_74]
        at java.lang.reflect.Constructor.newInstance(Unknown Source) ~[?:1.8.0_74]
        at com.mysql.jdbc.Util.handleNewInstance(Util.java:407) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.Util.getInstance(Util.java:382) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1052) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2570) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:779) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at com.mysql.jdbc.StatementImpl.execute(StatementImpl.java:622) ~[spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeUpdate(ConnectionMySQL.java:179) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.rscCommonsLibrary-shaded.ConnectionMySQL.executeUpdateT(ConnectionMySQL.java:151) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.Database.deploy(Database.java:21) [rscMessages_v0.6.5b.jar:?]
        at ru.simsonic.rscMessages.BukkitPluginMain.onEnable(BukkitPluginMain.java:113) [rscMessages_v0.6.5b.jar:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:340) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.loadPlugin(CraftServer.java:357) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at org.bukkit.craftbukkit.v1_8_R3.CraftServer.enablePlugins(CraftServer.java:317) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.s(MinecraftServer.java:414) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.k(MinecraftServer.java:378) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.a(MinecraftServer.java:333) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.DedicatedServer.init(DedicatedServer.java:263) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at net.minecraft.server.v1_8_R3.MinecraftServer.run(MinecraftServer.java:525) [spigot-1.8.8-R0.1-SNAPSHOT-latest.jar:git-Spigot-db6de12-18fbb24]
        at java.lang.Thread.run(Unknown Source) [?:1.8.0_74]
[16:49:04 INFO]: [rscm] ProtocolLib wasn't found. You cannot use json messages now.
[16:49:04 INFO]: [rscm] rscMessages has been successfully enabled.
 
Нет, не воспроизводится
:\
ОКъ, принял ... сегодня уже не исправлю. Ладно, чуть-чуть в будущем ...
В новой, не очень оттестированной сборке #61 (v0.6.8b) (скачать):
  • Исправлен парсинг команд так, чтобы числа, начинающиеся с символа # (например, #303), интерпретировались как число 303, а то можно было случайно удалить целый список:
    /rscm remove testlist #303 (пример)
    У меня на сервере уже парочку списков удалили...

Новая публичная версия v0.7.0b:
  • Каждому списку можно установить текстовое свойство sound, и каждому игроку, при получении сообщения из этого списка, будет проигрываться соответствующий звук!
    Для установки (или удаления) звука списку используйте команду set <список> sound [звук]. Команда info показывает текущее значение. Список возможных значений звуков (внимание, может отличаться на устаревших ядрах!).
  • Функция определения "Новичков" изменилась: теперь это не те, кто .hasPlayedBefore(), а кто впервые зашёл на сервер в рамках указанного временного интервала (по умолчанию одна неделя) от текущего времени.
    За счёт этого плагин даже упростился, ибо стал ненужен внутренний Listener.
    Напоминаю, что игроки, считающиеся "Новичками", могут не иметь явно право rscm.receive.<список-для-новичков>, они всё равно будут его получать.
    Команда сервера (игроки с правом rscm.admin) никогда не считаются новичками и сообщения для них не получают.
  • Изменение в парсере аргументов команд: теперь ещё немного сложнее случайно взять и убить целый список вместо сообщения.
  • Исправления в автоматической обновлялке (она какое-то число версий назад не работала).
  • Другие многочисленные исправления.
  • Конфиг теперь имеет версию 7.
Если у Вас более-менее свежая версия, введите /rscm update do для скачивания и установки новой версии.

Я тестирую нововведения на своём сервере (версия 1.8), но на других более старых и более новых провести тесты времени/возможности не имею, поэтому всегда рад отзывам.
 
Последнее редактирование:
функции, которые уже выходят за рамки стандартного плагина прав
Плагина — менеджера сообщений, ты хотел написать, наверное? Пожалуйста, не путайте rscPermissions и rscMessages. Я понимаю, что у меня есть свой стиль в оформлении тем и наименовании плагинов, и он может способствовать некоторой путанице, но всё же.
Функция проигрывания звуков при получении сообщений вообще никак не является нагрузочной, т.к. это всего лишь код вида:
Java:
if(sound != null)
   player.playSound(sound, ...);
 
Звук в 1.9.2 не работает
 
Звук в 1.9.2 не работает
Я только что скачал BuildTools.jar и собрал (--rev 1.9.4) свежайший Spigot 1.9.4. Чистый сервер, закинул в него rscMessages, создал список:
  • rscm a test
Создал в нём сообщения
  • rscm a test Hello, Hello!
  • rscm a test Привет, привет!
Прописал списку звук (ещё раз, список всех возможных звуков)
  • rscm s test sound block_comparator_click
Проверяем:
  • rscm i test
upload_2016-5-12_12-51-50.png
Залогинился на сервер и сделал себя OP-ом (чтобы не прописывать пермишен на получение сообщений из списка test)
  • op Reality_SC
Стимулирую отправку сообщения:
  • rscm b test
Я вижу текст и слышу звук!
upload_2016-5-12_12-53-45.png

Стоит ли упоминать, что звуки также работают на моём основном сервере 1.8?
@chief, что я делаю не так? 🙂
 
Последнее редактирование:
😬
При копировании звука копировался пробел в конце 😢
шикарный плагин👍
Спасибо 🙂
 
Назад
Верх Низ