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

Плагин [ADMIN] Re:ReActions | Простейший скриптовый плагин (1.20.6+)

@imDaniX
Доброго времени суток!
Пара вопросиков:
1 - Будут ли какие-то обновления (в плане добавления активаторов, к примеру, выстрел из лука. А одним из аргументом были координаты, куда попадёт стрела).
2 - Были ли вообще за последние пару месяцев подобные обновления? :D Может, что-то пропустил..
3 - Будет ли русская документация восстановлена?
1-2. Будут, просто я несколько занят двумя другими проектами. В скором времени вернусь к РеА.
3. Неполная вики есть на оригинальном гитхабе. Позже скопирую к себе и буду обновлять.
 
в IF_ELSE изменилось чтото?
старые скрипты перенес на этот форк, не пашут

например, вот на это нет результата и ошибок нет:
- IF_ELSE=if:{%arg1% < 1000} then:run:actions:{action1:{message=Недостаточно денег!}} else:run:actions:{action1:{message=Достаточно денег!}}
 
в IF_ELSE изменилось чтото?
старые скрипты перенес на этот форк, не пашут

например, вот на это нет результата и ошибок нет:
- IF_ELSE=if:{%arg1% < 1000} then:run:actions:{action1:{message=Недостаточно денег!}} else:run:actions:{action1:{message=Достаточно денег!}}

Попробуйте после run: тоже добавить {
Ну и вконце ещё одну } соответственно.
У меня так все работает. Если не поможет - отпишите, также указав используемую версию RA. Я попробую заставить работать ваш скрипт :)
 
в IF_ELSE изменилось чтото?
старые скрипты перенес на этот форк, не пашут

например, вот на это нет результата и ошибок нет:
- IF_ELSE=if:{%arg1% < 1000} then:run:actions:{action1:{message=Недостаточно денег!}} else:run:actions:{action1:{message=Достаточно денег!}}
Во-первых, не советую использовать это действие - оно буквально использует JavaScript чтобы проверить условие в if. Это намного медленнее, чем если бы ты проверял это же в обычном exec активаторе.
Во-вторых, действительно занимался этим действием, чтоб хоть как-то облегчить его работу. Мб перемудрил. Если способ @Soul_KRT не сработает - отпишись здесь.
 
Попробуйте после run: тоже добавить {
Ну и вконце ещё одну } соответственно.
это помогло

а так и должно быть, что нет никаких ошибок в консоли, даже если я специально сделаю синтаксическую ошибку? например лишнюю } поставлю

ReActions v0.13.0-b0
 
это помогло

а так и должно быть, что нет никаких ошибок в консоли, даже если я специально сделаю синтаксическую ошибку? например лишнюю } поставлю

ReActions v0.13.0-b0
О, значит работает.
Возможно, дело в новом парсере параметров - он работает в десятки раз быстрее, но немного отличается от старого в нестандартных случаях.
В данном случае у нас "слово"(без пробелов и скобок т.е.) с несколькими двоеточиями идет, и из-за этого он, вероятно, прочёл выражение иначе. T.е. парсер рассчитывает увидеть что-то вроде then:{run:{actions:{...бла-бла-бла...}}}, а получает then:run:actions:{...бла-бла-бла...}.
Ошибок быть не должно при этом - РеА всегда просто игнорировал действия/флаги с неправильно-записанным синтаксисом, либо вызывал какие-то действия с настройками по-умолчанию. Возможно, стоит поменять такой расклад, и предупреждать о каждом недочете?
 
по мне так лучше указывать на ошибки. а то написал скрипт, забыл где то скобку указать, в логах тишина и приходится искать
 
Привет. Сильно проседает tps при использовании плагина на кастомные чары, а именно при использовании зачарования, которое позволяет киркой убирать сразу 3Х3 блоков. Репорт по timings в топе показывает этот класс:
ReActions::Task: me.fromgate.reactions.logic.StoragesManager$$Lambda$7344 (Single)
Как бы это пофиксить?

P.S. Я бы сам пофиксил, был бы доступ к исходникам.
Может автор откроет код сообществу? Все таки в случае чего, мы сможем продолжить благородное дело.
 

Вложения:

  • Screenshot 2021-04-19 at 21.35.16.png
    Screenshot 2021-04-19 at 21.35.16.png
    Размер файла
    288,8 КБ
    Просмотров
    7
P.S. Я бы сам пофиксил, был бы доступ к исходникам.
Может автор откроет код сообществу? Все таки в случае чего, мы сможем продолжить благородное дело.
Но исходный код и так открыт - в конце первого же поста ссылка на гитхаб. Если сможешь поправить проблему - буду рад принять пул реквест.
 
Спасибо, пропустил видимо. Попробую исправить
 
Посмотрел в код и понял, что узкое место - это сохранение переменных в json файл, переключил плагин на MySql базу и проблема ушла.
 
Посмотрел в код и понял, что узкое место - это сохранение переменных в json файл, переключил плагин на MySql базу и проблема ушла.
Вроде имеется асинхронное сохранение в файлы - не пробовал включить? К слову, с MySQL всё может пойти ещё хуже, ибо все запросы делаются в основном потоке. Для исправления нужно много чего переделывать...
 
Да, кстати синхронное сохранение я тоже включал локально и кажется как раз оно и помогло, но MySql проблем вроде как не добавил.
 
Вот только спамит теперь в логах:
[13:57:36 WARN]: java.io.FileNotFoundException: plugins/ReActions/variables.yml (No such file or directory)
Хотя файл есть, просто он теперь пустой.
 
Не работает DAMAGE_BY_MOB. Сообщение "Тыц!" не появляется ни в actions ни в reactions. Что я делаю не так?
DAMAGE_BY_MOB:
prison_kick:
damager-type: PLAYER
damager-name: ''
entity-type: PLAYER
cause: ANY
flags:
- REGION=new_world.prison
actions:
- MESSAGE=§6[§cПобег из Тюряги§6]§f Тыц!
- cancel_event=true
- cmd_console=counter inc %damagername% grt 1
- execute=activator:put_to_random_cell_on_leave
- execute=activator:giftik_%random:1-10%
reactions:
- MESSAGE=§6[§cПобег из Тюряги§6]§f Тыц!
 
Не работает DAMAGE_BY_MOB. Сообщение "Тыц!" не появляется ни в actions ни в reactions. Что я делаю не так?
DAMAGE_BY_MOB:
prison_kick:
damager-type: PLAYER
damager-name: ''
entity-type: PLAYER
cause: ANY
flags:
- REGION=new_world.prison
actions:
- MESSAGE=§6[§cПобег из Тюряги§6]§f Тыц!
- cancel_event=true
- cmd_console=counter inc %damagername% grt 1
- execute=activator:put_to_random_cell_on_leave
- execute=activator:giftik_%random:1-10%
reactions:
- MESSAGE=§6[§cПобег из Тюряги§6]§f Тыц!
Попробуй убрать damager-name.
 
Не работает.
При этом же не работает создание активатора через комманды, например комманда
/react add MOB_CLICK mob_cklick1 type:PIG
возвращает ошибку
Unknown type of activator
 
Ehh. Постараюсь пофиксить в ближайшие пару дней.
/react add MOB_CLICK mob_cklick1 type:pIG
возвращает ошибку
Unknown type of activator
Создание активаторов, локаций, таймеров и меню перенесены в команду /react create, ибо логика самой команды была очень напряженной.

Обещаю, что займусь РеА вплотную в следующем месяце. Мне нужно разгрести последние дела с другими проектами. РеА весьма комплексный плагин, но одновременно с этим оригинальный код плагина часто написан очень и очень топорно - многое проще и лучше переписать с нуля(как я это уже сделал с системами параметров и плейсхолдеров), нежели пытаться исправить положение, но это требует много усилий.
 
В копилку к неработающему функционалу: мне так же не удалось завести TIMERS, ни INGAME ни SERVER не хотят тригериться...
 

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

Назад
Верх