1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Плагин [MECH/FUN] ReActions - Что? Тогда? Иначе! [BukkitDev]

Тема в разделе "Релизы плагинов", создана пользователем fromgate, 16 июл 2013.

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

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @Lyosha12
    Идея очень хорошая, но такого (item:%hand%) пока нет.
    У меня в планах расширить функционал работы с предметами - тогда будет и "обратный" разбор в строку и соответственно, можно будет использовать и такой "плейсхолдер".

    По поводу сравнения, хочу обратить внимание, что у меня сейчас Lore хоть и добавляется, но игнорируется. Т.е. два предмета с одинаковым именем, но разным Lore будут восприниматься одинаково при проверке.
     
  2. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    А когда примерная дата релиза новой версии? Безумно нравится Ваш аналог лего-пластилина :)
     
  3. TTNrAt

    TTNrAt Старожил Пользователь

    Баллы:
    153
    Здравствуйте.
    Решил организовать турнир с друзьями на одной очень занимательной карте, но потребовалась автоматизация всего и вся. За основу взял ваш плагин. После установки регионов (без подключения к ним функционала плагина) плагин начал сильно и с грохотом сыпать на меня ошибки, при любом движении игрока в регионе.
    Версия вашего плагина: 0.9.3
    Версия WorldGuard`a: 6.0 Beta 2
    Версия ядра: spigot 1.7.5
    Лог ошибки:
    Код:
    [Server thread/ERROR]: Could not pass event PlayerJoinEvent to ReActions v0.9.3
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[craftbukkit.jar:?]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:?]
        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) ~[craftbukkit.jar:?]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.PlayerList.c(PlayerList.java:225) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.PlayerList.a(PlayerList.java:116) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.LoginListener.c(LoginListener.java:97) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.NetworkManager.a(NetworkManager.java:151) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.ServerConnection.c(ServerConnection.java:77) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.MinecraftServer.v(MinecraftServer.java:705) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:273) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:568) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:474) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [craftbukkit.jar:?]
    Caused by: java.lang.IncompatibleClassChangeError: Found interface com.sk89q.worldguard.protection.ApplicableRegionSet, but class was expected
        at me.fromgate.reactions.externals.RAWorldGuard.getRegions(RAWorldGuard.java:71) ~[?:?]
        at me.fromgate.reactions.event.EventManager.raiseRegionEvent(EventManager.java:256) ~[?:?]
        at me.fromgate.reactions.RAListener.onPlayerJoinActivators(RAListener.java:341) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_05]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_05]
        at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_05]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[craftbukkit.jar:?]
        ... 15 more
    [Server thread/ERROR]: Could not pass event PlayerTeleportEvent to ReActions v0.9.3
    org.bukkit.event.EventException
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:294) ~[craftbukkit.jar:?]
        at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:62) ~[craftbukkit.jar:?]
        at org.bukkit.plugin.TimedRegisteredListener.callEvent(TimedRegisteredListener.java:30) ~[craftbukkit.jar:?]
        at org.bukkit.plugin.SimplePluginManager.fireEvent(SimplePluginManager.java:502) [craftbukkit.jar:?]
        at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:487) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.PlayerConnection.a(PlayerConnection.java:523) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.PlayerList.a(PlayerList.java:117) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.LoginListener.c(LoginListener.java:97) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.LoginListener.a(LoginListener.java:42) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.NetworkManager.a(NetworkManager.java:151) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.ServerConnection.c(ServerConnection.java:77) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.MinecraftServer.v(MinecraftServer.java:705) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.DedicatedServer.v(DedicatedServer.java:273) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.MinecraftServer.u(MinecraftServer.java:568) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.MinecraftServer.run(MinecraftServer.java:474) [craftbukkit.jar:?]
        at net.minecraft.server.v1_7_R2.ThreadServerApplication.run(SourceFile:618) [craftbukkit.jar:?]
    Caused by: java.lang.IncompatibleClassChangeError: Found interface com.sk89q.worldguard.protection.ApplicableRegionSet, but class was expected
        at me.fromgate.reactions.externals.RAWorldGuard.getRegions(RAWorldGuard.java:71) ~[?:?]
        at me.fromgate.reactions.event.EventManager.raiseRegionEvent(EventManager.java:256) ~[?:?]
        at me.fromgate.reactions.RAListener.onPlayerTeleport(RAListener.java:331) ~[?:?]
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_05]
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_05]
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_05]
        at java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_05]
        at org.bukkit.plugin.java.JavaPluginLoader$1.execute(JavaPluginLoader.java:292) ~[craftbukkit.jar:?]
        ... 15 more
    upd
    Решилось всё установкой WorldGuard`a 5.9, но я почему-то был уверен что плагин будет работать и с 6.0 :)
     
    Последнее редактирование: 20 сен 2014
  4. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    В WG6 и WE6 что-то поменяли. Поскольку стабильных версий пока нет, то как бы и подстраиваться под них рано - уже была версия, которая не работала с ReActions, но следующая работала нормально.
    В общем пока жду.
    Ну последняя версия на прошлой неделе выложена. Пока нового ничего не добавлено выпускать нечего. В общем как что-то добавится - так сразу :)
     
  5. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate
    Идея 1: Вода, текущая вверх...
    Можно ли сделать плавное перемещение вверх\вниз\в стороны? Не рывком? Или можно как-то модернизировать рывок?
    Идея 2: комбинирование флагов в логические элементы. Например:
    Код:
        flags:
        - Если это1, и это2, и это3
        - Или если это4, и это5, и это6
        - Но, если !это6, и это7
        - и ↑↓
        - Если это8, и это9, и это10
        - Или если это11, и это12, и это13
        - Но, если !это14, и !это15
    
     
    Последнее редактирование: 23 сен 2014
  6. mishkagrishka

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

    Баллы:
    78
    @fromgate
    Хочу создать таймер (например, выводит сообщение тест в 7 утра), пишу такие команды (версия 0.7.0):
    /ra add exec sp2
    /ra add sp2 a message world:world &9Тест
    /react add timer TIMER1 timer-type:INGAME activator:sp2 time:07:00 player:all

    Ничего не происходит в 7 утра. Прошу помочь.
     
  7. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    По идее, что-то в реализации EXEC не так. Таймер, вроде бы, работает исправно. А EXEC, как знаю, можно вызвать через /ra run, но ошибку выдаёт...
     
  8. mishkagrishka

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

    Баллы:
    78
    Ох, извиняюсь за беспокойство!
    Событие срабатывает в 5:00, а я думал, что в 7:00 сработает...
     
  9. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Но почему в 5, если ты указал 7?...
     
  10. mishkagrishka

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

    Баллы:
    78
    действие происходит в 5:00pm, как-то так.
    Я сейчас сделал действие каждый игровой час, уже не принципиально))
    И вот созрел очередной вопрос. @Lyosha12 @fromgate

    В доках для описания предмета пишут надо использовать такую систему:
    <ИмяПредмета>@<Описание>$

    следующая конструкция вместо lore создает то, что я прикрепил на скриншоте.

    /ra add sp2 a item_drop %here% scatter:true item:&8Ножницы@&6Описание@&7Медицинские ножницы из бортовой аптечки@&9Это квестовый предмет$359

    lore.PNG
     
  11. Korvinius

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

    Баллы:
    88
    /ra run activator execute:name_activator
     
    Последнее редактирование: 23 сен 2014
  12. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Ни действия, ни реакции :(
    Код:
    EXEC:
      TestTrial:
        flags:
        - WORLD=world
        - GROUP=trial
        actions:
        - cmd_console=pex user %player% group set player
        - message=player:%plauer% &3Креатив-режим был снят!
        - cmd_console clear %player% **
        reactions:
        - message=player:%plauer% &3Креатив-режим &cне&3 был снят!
    
    [​IMG]
    Походу, /ra run вообще не пашет...
     
  13. Korvinius

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

    Баллы:
    88
    Странно, у меня работает
    Стоп, прошу прощения, только заметил, я же неправильно команду написал, нужно:

     
  14. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    EXEC работает, /ra run тоже, а таймер нет :(
    Снимок.PNG
    Работает :)
    Код:
    SERVER:
      TimerTestTrial:
        time: 0/1 * * * * ?
        player: all
        paused: 'false'
        activator: TestTrial
    

    Идея: сделать поддержку Scoreboard.
    Например, я хочу сделать PvP-поединок на время. Для этого я создаю переменную Kills типа playerKillCount и переменную Timer типа dummy.
    По команде /stats будет выводиться следующее:
    Код:
    Убийств: player:%player% score_objective:playerKillCount
    Времени осталось: player:%player% score_objective:Timer 
    Я бы мог сделать это через ScoreboardStats, но этот плагин блокирует возможности команд (teams) в самой Scoreboard. Т.е. не работает ни частичная невидимость дружественных игроков, ни FrendlyFire: deny. Если выводить значение переменных через sidebar, то надо по таймеру переключать их, т.к. 2 переменных в одном табло делать нельзя. Мало того, переменные будут выводиться всем игрокам на сервере (даже тем, что не на игре), что не есть хорошо.

    Управлять переменными можно через cmd_console. А вот выводить значение переменных, задавать рандомного игрока (как в КБ)... Мне приходится выдавать через КБ игрокам свои выдуманные права, на которые нацеливаются флаги активаторов. Не очень удобно, так сказать... Сделаете, @fromgate ? :)
    Ну что делать с этой ересью при использовании рывка? :(
    Код:
     [WARNING] Lyosha12 moved too quickly! 0.0,0.0,0.0 (7.5357106515336225, 2.1599999999999997, 7.5357106515336225)
     
    Последнее редактирование: 23 сен 2014
  15. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    А если так: /ra add Lamp a timer_start time:TimerTestTrial

    Насчет ScoreBoard подумаю. В принципе, наверное можно сделать.

    Не совсем понял что имеется в виду. Давайте с примерами? ;)
     
  16. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    @fromgate
    С первым тупанул, извиняюсь :)
    Смотрите:
    У меня есть таймер на редстоуне. В конце отсчёта идёт сигнал на КБ, который выдаёт право "perm.perm" игроку. Далее, регион, в котором стоит игрок, ловит это право, выполняет действия от игрока (в моём случае это выделение региона, //set 0 и //set 11), а дальше удаляет право "perm.perm" у игрока и выставляет переменную scoreboard go типа dummy, которую ловит КБ, удаляет у игрока (а-ля беспроводной редстоун). Таким образом я создаю связь плагина и Scoreboard, но очень геморрно.

    Гораздо удобнее было бы ловить переменную Scoreboard прямо в плагине и уже с ней проделывать финты. (Может даже делить, умножать, отнимать, складывать разные переменные у разных игроков\одного игрока дабы вести какую-то общую статистику. Например, сколько игрок Jim убил игрока Vasya и Petya, сколько они убили его и т.д. Это делает тип переменной playerKillCount)

    Что не удобно: для некоторых махинаций нужно право игроку сначала дать (В группе PEX), а после забрать (это я делаю для каких-то разовых событий. Например, взятие уникального набора или предмета). Ну, к тому же засирается конфиг PEX отрицательными пермами.
     
    Последнее редактирование: 23 сен 2014
  17. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Для выдачи прав, рекомендую попробовать пользоваться группами. Т.е. устанавливать/группы через ReAcitions.
    Мне кажется, что это удобнее — группе можно назначить несколько пермишенов.

    Для Scoreboard - используете стандартные команды? или же какой-то отдельный плагин?
     
  18. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Стандартные команды для изменения переменных Scoreboard, юзаю через cmd_console. Плагинов на увеличение потенциала Scoreboard, как таковых, не находил. Группы PEX - ещё большая морока. Я приписываю группе игроков нужные мне права, а на регионах забираю их у игроков. А если прописывать группы, то мало того, что они будут приписываться каждому игроку отдельно, так ещё и место дополнительное будут занимать. Даже если я пропишу стандартную группу Player, через /pex user nick group set Player, то всё равно будет записано, что игрок Nick состоит в группе Player. (С костылями я умею обращаться :D )
    И, раз уж, наверно, будет реализация функций Scoreboard, то хотелось бы увидеть действия на других игроков в радиусе. Например, игрок Nick1 использовал жемчуг эндера, а игрокам Nick2 и Nick3 в радиусе 10 блоков от него сообщилось через message: "Nick1 использовал жемчуг эндера". Ну или после телепортации на всех игроков, кроме Nick1, будет накладываться какой-то эффект. И так далее...
    ---
    1. Столкнулся с проблемой вывода персонального времени окончания задержки в реакцию через message. Это вообще возможно?
    UPD:
    Возможно ли в lore поместить личные часики окончания задержки?
    ---
    2. Проблема:
    Если во время action_delayed игрок перезайдёт в игру, то действие по отношению к нему не будет выполнено.
    [MECH/FUN] ReActions v0.9.2 - Что? Тогда? Иначе! [1.7.9-R0.2]
    3. Вы указали, что можно ссылаться на команду точно. Но почему-то это не работает и в документации ни слова об этом...
    UPD:
    Конструкция
    Код:
    COMMAND:
      Test:
        command: arg0:test arg1:argument
        flags: []
        actions:
        - message=player:%player% &2Тест
        reactions: []
    
    Срабатывает только при вводе команды "/arg0:test arg1:argument" Как правильно надо? Добавлял через "/ra add command Test arg0:test arg1:argument"
    UPD2:
    Разобрался. Формат:
    "/ra add command Test cmd:test arg1:argument"

    4. Конструкция
    Код:
    ITEM_WEAR:
      Satana:
        item: '&2Нагрудник_&4Сатаны$311'
        flags: []
        actions:
        - message=player:%player% &4Мухахахахахаха
        reactions: []
    
    Выполняется циклично. Можно ли добавить аналогичный вариант для разового выполнения?
    (И не работает вообще, если надевать через ПКМ)
    5. Неплохо было бы добавить в указание на предмет такие параметры, как "прочность больше, чем: n" и "прочность меньше, чем: n" :)
    6. Можно ли отследить взрыв зелья (с опциями предмета) и далее выполнить действия (может даже в радиусе)?
    7. На одной из страниц предлагали использовать регион из самого плагина. Т.е. задания кубоида (в виде флага\активатора). Например:
    Код:
    flag:
       region=x1,y1,z1,x2,z2,y2
    
    RegionReact:
       regionra: x1,y1,z1,x2,z2,y2
         action:
           -
       rgleavera: x1,y1,z1,x2,z2,y2
         action:
           -
       rgenterra: x1,y1,z1,x2,z2,y2
         action:
           -
    
    
    Реализуете?
    8. Счётчик. Он добавлен или... (не прочитал ещё всю тему)? Если нет, то можно реализовать по логике delay или тем же Scoreboard:
    1) Создавать переменную dummy
    2) Добавлять в неё значения (из плагина напрямую или через cmd_console=scoreboard players set %player% переменная число). Но тут проблема: нельзя добавить переменную для всех игроков вообще. Так что, лучше реализовать счётчик в самом плагине.
    3) Проверять соответствие переменной в флагах (больше\меньше\равно).
    4) Действие\противодействие.

    Кстати, не видел логики "больше\меньше\равно". Она вообще используется где-то на данный момент?
    9. Некоторая неудобность... Если создавать активатор двери\кнопки\рычага при смотрении на них, то есть небольшой казус. Например:
    Есть стена. На стене висит кнопка на уровне ног игрока. Выше кнопки (на уровне головы игрока) висит табличка. Активатор создать не получится, если смотреть на кнопку вплотную. То есть табличка считается полным блоком и посмотреть "в пустую облать, не занятую текстурой таблички" не выйдет. Расценивается так, как будто я смотрю на табличку. Помогает "смотреть на кнопку так, чтобы не смотреть на фантомный блок-табличку". Может, табличка и считается полным блоком, только текстура создаёт из неё "микроблок"? о_О
    10. Если долго юзать
    Код:
      Topor:
        item: '275'
        flags: []
        actions:
        - VELOCITY=vector:1,1,1 kick:true
        reactions: []
    То кикает за флай сам серв, не NCP. Правда, отключается в конфиге, но всё же.
    11. Как насчёт добавить проверку на нахождение блока над игроком... Перед игроком... За игроком... В радиусе от игрока... В радиусе сзади от игрока... Ну, в общем, понятно :D

    12. Документацию на русиче не обновляли со времён 0.6 :(
    13. А можно ли сэмулировать отправку сообщения в чат от игрока? Команды, как таковой, на отправку простого текста в чат, вроде, нет. Только /me. Вопрос бы не возник, если бы в message можно было указывать радиус получения сообщения относительно игрока :)
    15. Можно ли уменьшать прочность предмета активатором? (Забирать предмет и выдавать его же с прочкой на 1 меньше не найс, ибо... более 1000 активаторов... :creeper:)
    16. Надо разрешить выполнение команды от имени оператора, т.к. перм не рабочий...
    Собственно, делаю я так:
    Код:
      Firework:
        command: firework
        flags: []
        actions:
        - cmd_op=firework   //иии... Как выполнять команду с любыми аргументами от имени оператора? Не создавать же для каждого аргумента активатор...
        reactions: []
    

    17. Есть операции с деньгами, а операции с опытом? Да, cmd_console и все дела, но ради эстетики добавьте хоть :)
    18. Почему в message (да и вообще в любом тексте после действия) нельзя юзать двоеточие? Не люблю не соблюдать правила грамматики :( Да и вообще, двоеточие необходимо при перечислении, например, характеристик предмета в lore... :( (да, привязка к переменным... Но можно же это поправить?)
    19. В item_click нужно отследить момент, когда ПКМ зажата и когда не нажата. Соответственно, пускать\останавливать личный таймер, который, например, будет ставить delay_player на item_click. Можно это как-то замутить? (Именно нужно фиксировать нажатую кнопку. Фишки с добавлением переменных при активации item_click и последующим отлавливании оных не прокатят, т.к. кликать можно с разной скоростью, а время нужно установить фиксированное)
    20.
    Код:
    MESSAGE:
      Pepel_II:
        mask: Выдал набор pepel_ii игроку %player%
    Собственно, пытаюсь скрыть сообщение "Выдал набор pepel_ii игроку %player%", которое даёт essentials после cmd_op=kit Pepel_II
    Но ник в %player% не подставляет. Работает если точно написать "Выдал набор pepel_ii игроку %player%" :(
     
    Последнее редактирование: 26 сен 2014
  19. Автор темы
    fromgate

    fromgate Старожил Пользователь

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Ох сколько вопросов ) я сейчас в командировке, ноутбук с собой поленился брать, с телефона писать естественно лениво. Вернусь — напишу
     
  20. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Окей... Когда приедете? :)
    21. Как насчёт добавления флага "command"? Например, есть несколько одинаковых сообщений от разных команд. Мне нужно скрывать только сообщения от некоторых команд. Или действие "cancel true" отменяет и сообщение?
    Не, не тот пример привёл... Например:
    В активаторе есть действие cmd_op, которое выводит ненужное сообщение игроку, которое нужно бы убрать. Но такое же сообщение выводится и игроку с операторкой, который использует команду из чата. И не желательно, чтобы сообщение удалялось. Как можно реализовать?
    22. Как насчёт активатора... Звука? Можно было бы заменять звуки о_О
    23. Как насчёт действия по управлению сытостью?
    24. Было бы отлично, если бы команды из активаторов command были доступны через tab :)
    25. Насчёт Scoreboard. Наверно, я слишком абстрактно описал проблему. Начнём сначала.
    Командные блоки работают только при подаче сигнала на них. На КБ я сделал множество ивентов, но основная их проблема была в скорости срабатывания и фиксации событий.

    Например, нужно было зафиксировать, кто умер в PvP, кто убил в PvP и кто просто умер. Для этого нет специальных переменных. Но ReActions, хвала ему, компенсирует недостаток...

    Из-за причин активации КБ, чанк с ними должен быть всегда загружен. Да не только чанк, вся схема. Да, есть плагины для этого, но скорость работы КБ остаётся проблемой. С ReActions я могу вычислять некоторые события быстрее, но передавать их в схему дальше всё так же приходится медленно. (Я на 1.5.2)
    Мало того, что медленно, приходится почти всегда преобразовывать сигнал, выводить его на ячейки "и" и "или", что ReActions не может делать с разными активаторами (в смысле сравнивать разные активаторы на предмет срабатывания\не срабатывания. Знаю, что можно сделать кучу костылей, но на это уйдёт куда больше времени, чем простое подключение к схеме.)

    Ещё одним казусом в КБ является очерёдность срабатывания. Я научился создавать схемы, которые проводят моментальные операции.

    Например: определить двух рандомных игроков, определить трёх рандомных игроков, которые не являются предыдущими двумя, определить всех игроков, которые не являются перечисленными ранее. Выдать первым 5 эффектов, 3 вещи и пару сообщений. Выдать вторым 3 эффекта и 3 сообщения. И последним выдать пару сообщений и переменных.

    Можете посчитать, сколько действий требовалось сделать одновременно. А проблема такая: если одновременно запитать все КБ, которые требуются для выполнения тех команд, то сработают они абсолютно рандомно. Мне приходилось вписывать в каждый КБ "/say 1-∞" и определять, что за чем срабатывает. Мало того, если я хочу расширить схему всего лишь одним КБ, то вся последовательность сбивается. Это тратит уйму времени и отбивает желание что-то исправлять :(

    Да, ReActions как манна небесная, но большинство операций всё же приходится делать в схемах, которые требуют загруженных чанков. А мои ивенты только растут в масштабах и целях. И держать загруженным чанки со схемой просто нереально.

    Прошу я, значит, вот что: добавить весь функционал КБ, выбора игрока и его определения через КБ в ReActions. (В том числе и функции из высших версий. Думаю, сделать алгебраические действия в плагине не проблема). В высших версиях (1.8, вроде) есть возможность выводить значение переменной (не знаю как, не изучал подробно). Можно было бы это добавить в качестве плейсхолдеров.

    Например, хотелось бы, чтобы все активаторы умели ловить игрока в радиусе от точки, с переменной Scoreboard. И чтобы к любому событию можно было бы привязать это определение. Это то, что безумно не хватает в ReActions :)

    Что, собственно, я хочу получить:
    Я хочу свести все действия со Scoreboard и ловлей игроков по координатам\радиусам\наличию переменных (самое главное)\ в плагине, а результат тестировать всего лишь одним КБ, который будет выводить сигнал с помощью компаратора :)

    P.S.
    Накопал я какие-то %var%, понятного для меня описания к которым не нашёл :(
    Думаю, что эти %var% и являются чем-то на подобии переменных в Scoreboard?
    Если да, то почему бы не убрать их и не сделать более простую и уже встроенную работу со Scoreboard?
    26. Можно ли в качестве маски message использовать несколько строк текста? Если да, то как это можно сделать?
    27. Можно ли ссылаться на игрока, который находится в мире/с правом/в группе/и та далее? Можно ли применять флаги к плейсхолдерами? :D
    Например:
    Игрок пишет команду /whois nick. Если nick в мире/с правом/в группе/.../, то команда выполнена не будет. (И можно ли создать плейсхолдер к аргументу? То есть есть cmd:whois и arg1:*. Можно ли превратить arg1:nick в %arg1:*%?)
    28. WALK_BLOCK не проверяет нахождение внутри блока. Только стоя на блоке :(
     
    Последнее редактирование: 26 сен 2014

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