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

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

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

  1. olegikoligik

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

    Баллы:
    88
    Не пойму какая должна быть структура... Вот например флаг:
    Следующая структура не работает (я понимаю что она и не должна работать)
     
  2. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    С переменными по-другому. Это вообще нигде не написано...
    Однако, можно попробовать указать аргумент в фигурных скобках
     
  3. olegikoligik

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

    Баллы:
    88
    Да ё... ладно, спасибо.
    Не работает. Ладно, придётся сажать на костыли.
     
  4. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Такое пока не работает. FLAG_SET писался когда ещё не было фигурных скобок, потом я просто про него забыл. Соответственно, сейчас тут просто при наличии "лишних" пробелов появляются путаницы.

    Попробую на досуге привести всё к нормальному виду.
    0.9.4/31
    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
    Изменения:
    - Модификация FLAG_SET - поддерживаются фигурные скобки в параметрах. Т.е. FLAG_SET=FLAG1:{...параметры} FLAG2:{...параметры}
    - В активаторе COMMAND добавлены дополнительные параметры: args1, args2, .. argsN. Они содержат строку с аргументом от "слова" с указанным номером до конца строки.
    Т.е. в команде-активаторе /команда 123 456 789 abc def ghi jkl args -- это "123 456 789 abc def ghi jkl args", args1 - "456 789 abc def ghi jkl args", args2 - "789 abc def ghi jkl args" и т.д.
    С переменными теперь всё также ;) Подстановка переменных (и прочих плейсхолдеров) происходит и во флагах и в действиях.
    Это просто указание описание шаблона команды. В случае регулярного выражение должно быть что-то вроде
    command:deldonate arg1:\w+ .*
    или
    command:deldonate arg1:\S+ .*
    Но это повлияет именно на "отлов" команды.
    А вот получить строку после определенного аргумента - только через args1, args2 и т.д.
    P.S. плейсхолдеры arg1, arg2... тоже остались и также указывают на соответствующее слово.
     
  5. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    Привет ведро! Помогите мне!
    У меня реактионс отказывается работать! Я удалил файл активаторов, перезапустил сервер, но он не создал файл! А комманды работают. В чем проблема?
    А еще как сделать так, что бы при нажатии плиты (plate) выдавались деньги с рандомным шансом? Это можно вооьще слелать?
     
  6. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @BrainRTP
    Файл активаторов создается при создании первого активатора. Естественно, если файл удалён, новых активаторов нет и сохранять нечего.

    Создать плиту, которая выдает деньги можно.
    Для этого нужно, чтобы помимо ReActions стоял плагин экономики и Vault.

    Делается это так (пластина будет выдавать случайно количество денег от 100 до 500):


    В файле активаторов это будет выглядеть так:
    Код:
    PLATE:
      moneygive:
        world: world
        x: 1432
        y: 64
        z: -2146
        actions:
        - money_give=%RANDOM:100-500%
     
  7. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    Вы не поняли! Вообщем расскажу как было:
    У меня есть настроенный РА под себя, все работало, все гуд! Но сегодня мне нужно было изменить информацию, я внутри игры добавил к кнопки block_set, после через фтп зашел и удалил старые block_set на этой кнопке, после залил на сервер и пишу /RA reload ..... И тут мне пишет что типа все хорошо, все загружено: 0 активаторов и 10 локаций. И что вы думаете? Никаких активаторов нет! Кнопки не работают, когда в РГ вхожу, ничего не работает!!!!
    Я зашел в фтп, обновил деррикторию где лежит activators.yml и ято вы думаете? Он там был! И он был в порядке, все в норме! И размер файла и тип файла, даже внутри все ок!
    Тогда, я все вернул обратно (типа залил бэкап) но ничего до сих пор не работает! Реактиос будто заного начал работать, сам себя удалил! Что делать? Подключаюсь я точно к своему серверу!
     
  8. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Проверьте синтаксис. ReActions работает прекрасно. Такое случается только при фатальной ошибке в синтаксисе: не доставили пробел, лишняя скобка, скобки нет и т.д. Файл в студию, если он, конечно, остался.
     
  9. olegikoligik

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

    Баллы:
    88
    Ставил последние версии (та что выше и ещё несколько последних), и во всех них одна проблема - флаг типа VAR перестал отвечать true даже если значения соответствуют проверочным. Используется следующая структура (может она изменилась?):
     
  10. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Я понял. Скорее всего ошибка в синтаксисе - не удается разобрать yaml-формат (это делается функциями встроенными в баккит) при этом в консоль выбрасывается сообщение об ошибке и там даже отмечается в какой строке/колонке что-то пошло не так.
    Частые ошибки - использование символов табуляции (можно только пробелы - у меня в редакторе табуляция автоматически заменяется на 4 пробела), использование некоторых символов (решается установкой одинарных кавычек вокруг строки - « ' »), не соблюдено форматирование, не стоит двоеточие в разграничении ключей и параметров) .
    Хмм... Я проверю, может пока переделывал работу с переменными, то ещё чего-то сломал ;)
    @olegikoligik Т.е. структура остается такой же, единственное там добавилась возможность указывать игрока через параметр "player", но если он не указывает, что "берётся" текущий игрок.
     
  11. rukaban96

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

    Баллы:
    76
    Есть проблема в точности определения пинга в плагине ScoreboardStats из переменной %ping% .Вопрос - можно ли как то исправить переменную пинга на правильное значение. Если да то в 2ух словах хотя бы куда копать . Заранее спасибо.
     
  12. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    @rukaban96
    Ну что там в ScoreboardStats делается это тема для отдельного обсуждения. Тут всё ж ReActions живёт.
    А вообще откуда ScoreboardStats берёт ping - это ещё отдельная история. В java нет реализации ICMP протокола (это тот который "ping" :))
    Помню когда я делал "ping" для своего OkGlass, то провозился с ним долго, но не могу сказать, что получил действительно верный и точны результат.
     
  13. rukaban96

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

    Баллы:
    76
    Спасибо , просто я не знаком особо с переменными , я думал может это переменная баккита на которую можно повлиять...
    ...через ReAction
     
  14. olegikoligik

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

    Баллы:
    88
    Прошу прощения но не очень понял - какое решение?:oops:
     
    Последнее редактирование: 23 июн 2015
  15. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    А можно сделать тайм аут?
    Пример: Игрок нажал на кнопку ему выдалось 500$, потом он снова нажимает, а ему пишет: Подожди 5 минут....
    У меня паркур, так встаешь на плиту и тебе выдается рандомно от 500 до 1500$ А люди с Fly злоупотребляют)
     
  16. Korvinius

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

    Баллы:
    88
    Сделай при входе в регион паркура чтобы консоль всем принудительно отключала флай.
     
  17. BrainRTP

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

    Баллы:
    76
    Имя в Minecraft:
    BrainRTP
    Да, так сойдет) Спасибо)
     
  18. rukaban96

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

    Баллы:
    76
    там есть флаг delay вроде
     
  19. Автор темы
    fromgate

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

    Баллы:
    173
    Имя в Minecraft:
    fromgate
    Таймаут тоже можно сделать. Для этого есть флаги DELAY_PLAYER и аналогичное действие. Но fly всё равно лучше отключать - какой же это паркур получает ;)
    Решение было - ждать пока я проверю ;)

    Выяснилось, что у меня в девбилдах действительно появилась ошибка. Если имя игрока не было указано явно (параметр player:<Игрок>), то происходила работа с глобальной переменной (это касается только флагов).
    Т.е. можно было указать: - VAR_PLAYER_COMPARE=id:cmptest value:10 player:%player% и всё заработало бы как надо.

    Но в любом случае уже исправлено:

    0.9.4/32
    - Исправлена ошибка во флагах VAR_PLAYER_* (требовали явного указания имени игрока)
    - Тотальная переработка работы с командами плагина (правда кроме меня этого никто не заметит ;))
    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
    0.9.4/33
    - Сделал то, что давно очень хотел: добавил флагам DELAY и DELAY_PLAYER возможность устанавливать задержку, если она ещё не установлена. Для этого используется формат с указанием параметров:
    id:<Id> [player:<Player>] [set-time:<Time>]
    Если указано какое-то значение set-time, то если флаг возвращает true (т.е. задержка ещё не устанавливалось или время уже прошло) то тогда дополнительно устанавливается флаг. Соответственно в списке действий уже не нужно ставить действие DELAY (DELAY_PLAYER)
    - Действия и флаги DELAY (DELAY_PLAYER) поддерживают параметр player:<Player> - т.е. можно задавать и проверять чужие задержки.

    https://dl.dropboxusercontent.com/u/64799811/ReActions/ReActions.jar
     
  20. Lyosha12

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

    Баллы:
    98
    Skype:
    alexey_zyuz
    Имя в Minecraft:
    Lyosha12
    Не совсем понятно. Если флаг DELAY вернул true, то, в случае указания параметра set-time, его значение будет сразу же установлено для данной задержки, что даёт возможность не указывать действие установки времени данной задержки в действиях?
    Спасибо, что делаете нашу жизнь лучше :)
     

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