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

@SOHIGH Спасибо. Буду tellraw использовать. Этот знак не по центру, он действует мне на нервы :rolleyes:
За сайт отдельное спасибо. Тоже пригодится.
---------------------------------------------------------
Точно! Надо было взять весь IF_ELSE в кавычки, а не MESSAGE в нём. Спасибо, @maxdikiy .
 
Последнее редактирование:
Ребят, вопрос есть. Такой вариант работает:
Код:
CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда: §f%varp:thirst%"]
А такой не хочет из-за ':' (без ':' работает):
Код:
    - IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда: §f%arg2%"]}
              }
Если переписать вот так, то работает:
Код:
    - IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда:"," §f%arg2%"]}
              }
Почему? И если с title понятно, то что делать с MESSAGE (метод с взятием в кавычки не работает, как это было в (re)actions: )? Создавать EXEC ради одного сообщения? Тут тоже выдаёт ошибку из-за ':' в сообщении:
Код:
    - IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{MESSAGE=§r郯 §bВы установили себе новый уровень жажды: %arg2%.}
              }

Ребят, вопрос есть. Такой вариант работает:
Код:
CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда: §f%varp:thirst%"]
А такой не хочет из-за ':' (без ':' работает):
Код:
    - IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда: §f%arg2%"]}
              }
Если переписать вот так, то работает:
Код:
    - IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда:"," §f%arg2%"]}
              }
Почему? И если с title понятно, то что делать с MESSAGE (метод с взятием в кавычки не работает, как это было в (re)actions: )? Создавать EXEC ради одного сообщения? Тут тоже выдаёт ошибку из-за ':' в сообщении:
Код:
    - IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{MESSAGE=§r郯 §bВы установили себе новый уровень жажды: %arg2%.}
              }
Здесь всё просто. Yaml считает двоеточие с пробелом ": " началом следующего массива и ждёт, когда ему дадут нужные данные. Чтобы Yaml этого не делал, необходимо сказать ему, что это не массив, а строка, обернув её в кавычки. Вот что должно получиться:
Код:
    - 'IF_ELSE=if:{%argscount%==2}
              then:run:actions:{
                action1:{CMD_CONSOLE=title %PLAYER_NAME% actionbar ["§bЖажда: §f%arg2%"]}
              }'
В этом случае ошибок не будет.
 
Имею активатор:
Код:
COMMAND:
  x:
    command: x
    actions:
    - ACTION_DELAYED=time:1s action:{MESSAGE=2}
    - MESSAGE=1

При выполнении активатора, выполняется действие
- MESSAGE=1, а - ACTION_DELAYED=time:1s action:{MESSAGE=2} выполнять не отказывается.

upload_2017-10-26_16-39-13.png
 
Имею активатор:
Код:
COMMAND:
  x:
    command: x
    actions:
    - ACTION_DELAYED=time:1s action:{MESSAGE=2}
    - MESSAGE=1

При выполнении активатора, выполняется действие
- MESSAGE=1, а - ACTION_DELAYED=time:1s action:{MESSAGE=2} выполнять не отказывается.

Посмотреть вложение 48531
Здесь неверный синтаксис. Нужно так:
- ACTION_DELAYED=time:1s action:{MESSAGE 2}
 
Ребят, как я понял, в действие IF_ELSE
Можно добавить флаги.
Где можно найти список флагов, которые можно вписать:
- IF_ELSE=if:{%Сюда%==true} then:{&aВы присели} else:{&cВы встали}

Читал эту страницу, но никак допереть не могу.
 
Ребят, как я понял, в действие IF_ELSE
Можно добавить флаги.
Где можно найти список флагов, которые можно вписать:
- IF_ELSE=if:{%Сюда%==true} then:{&aВы присели} else:{&cВы встали}

Читал эту страницу, но никак допереть не могу.
Флаги пока нельзя использовать. Прикручу в будущем. Но можно использовать плейсхолдеры флагов. Например:
%WORLD_FLAG%
%GAMEMODE_FLAG%
При этом эти флаги должны быть указаны в поле flags:[] активатора
 
В теории одним этим плагином можно заменить несколько других. Например можно создать авто сообщения и даже регистрацию на сервере. И мне интересно, если я это сделаю, то будет ли сервер меньше потре****ь ресурсов?
 
В теории одним этим плагином можно заменить несколько других. Например можно создать авто сообщения и даже регистрацию на сервере. И мне интересно, если я это сделаю, то будет ли сервер меньше потре****ь ресурсов?
В этом плане я не уверен. Но будет огромный плюс в том, что вы будете знать на какой полке, что лежит. Вам не нужно будет ждать каких-то изменений сторонних плагинов после обновления сервера. Вы сможете быстро перейти на новую версию сервера и быть всегда в топе. Вы сможете быстро решить любую проблему, возникшую с сервером. Также быстро вы сможете отловить читеров. Еще много и много чего можно сделать с помощью ReActions.
 
Build #156 или Последняя версия
  • Добавлен новый активатор GAME_MODE
  • Он активируется, когда игрок меняет режим игры
  • Описание
  • Добавлено состояние игрока GOD
  • Показывает включён ли режим бога сейчас у игрока
  • - STATE=GOD
  • Имейте ввиду, режим бога считается включённым, если игроку нельзя причинить урон. И не важно, каким плагином или флагом региона был активирован этот режим.
 
Последнее редактирование:
Не подскажите, как действием IF_ELSE проверить наличие предмета в слотах брони?

Прочитал эту статью, понял, что нужно использовать этот плейсхолдер - %ITEM_WEAR_FLAG%.

Попытался сделать, но не вышло.
- IF_ELSE=if:{(%ITEM_WEAR_FLAG%==type:302 name:{&6Антирадиационный шлем})} then:run:actions:{ action1:{MESSAGE=1} } else:{}
 
Последнее редактирование:
Ребят, что делать, подскажите. То ли я тупой, то ли я требую от плагина невозможного.
Проблема в том, что плагин отказывается в меню (MENU_ITEM) отображать плейсхолдеры.
Код:
crypto_admin:
  title: Администрирование
  size: 27
  slot14:
    item: name:{&6Свободные сервера} lore:{&2Ваших серверов, которые ничего не добывают︰ &6&l%varp:crypto_server0%} type:381
Плейсхолдер отображается тупо текстом.
Сервер 1.8.8 ReActions 0.10.1
 

Вложения

  • 2017-10-28_11.26.42.png
    2017-10-28_11.26.42.png
    26,9 КБ · Просмотры: 7
Не подскажите, как действием IF_ELSE проверить наличие предмета в слотах брони?

Прочитал эту статью, понял, что нужно использовать этот плейсхолдер - %ITEM_WEAR_FLAG%.

Попытался сделать, но не вышло.
- IF_ELSE=if:{(%ITEM_WEAR_FLAG%==type:302 name:{&6Антирадиационный шлем})} then:run:actions:{ action1:{MESSAGE=1} } else:{}
Для начала посмотрите, что выдаёт сам плейсхолдер %ITEM_WEAR_FLAG%. Например, так:
Код:
- message=%ITEM_WEAR_FLAG%
А затем делайте сравнение. Также не забывайте пользоваться плейсхолдером для отладки %ifelsedebug% после выполнения действия ifelse
Код:
- message=%ifelsedebug%
Судя, по вашему коду у вас ошибка. Вам нужно обернуть весь предмет в кавычки.
 
Ребят, что делать, подскажите. То ли я тупой, то ли я требую от плагина невозможного.
Проблема в том, что плагин отказывается в меню (MENU_ITEM) отображать плейсхолдеры.
Код:
crypto_admin:
  title: Администрирование
  size: 27
  slot14:
    item: name:{&6Свободные сервера} lore:{&2Ваших серверов, которые ничего не добывают︰ &6&l%varp:crypto_server0%} type:381
Плейсхолдер отображается тупо текстом.
Сервер 1.8.8 ReActions 0.10.1
В сохранённое меню не передаются переменные. Для этого вам нужно создавать меню динамически, т.е. в самом активаторе.
 
Еще один вопрос. Следующий код:
Код:
  crypto_mining:
    flags:
    - var_player_greater=id:crypto_server value:0
    actions:
    - 'var_player_inc=id:crypto1 value:%calc:%varp:crypto_server1%*0.05%'
    - 'message=&e[КриптоТех]:&3 За этот час ваши сервера добыли %calc:%varp:crypto_server1%*0.05% BitMine.'
Дело в том, что в чат итог калькуляции из плейсхолдера выводится без проблем и все ровно. Однако в переменную при любом значении добавляется только 1. С чем это связано и как это можно решить? Всякие скобки добавлять уже пытался, без толку...
 
В сохранённое меню не передаются переменные. Для этого вам нужно создавать меню динамически, т.е. в самом активаторе.
Спасибо, помогло. Громоздко получилось, но работает)
 
Еще один вопрос. Следующий код:
Код:
  crypto_mining:
    flags:
    - var_player_greater=id:crypto_server value:0
    actions:
    - 'var_player_inc=id:crypto1 value:%calc:%varp:crypto_server1%*0.05%'
    - 'message=&e[КриптоТех]:&3 За этот час ваши сервера добыли %calc:%varp:crypto_server1%*0.05% BitMine.'
Дело в том, что в чат итог калькуляции из плейсхолдера выводится без проблем и все ровно. Однако в переменную при любом значении добавляется только 1. С чем это связано и как это можно решить? Всякие скобки добавлять уже пытался, без толку...
действие var_player_inc всегда добавляет единицу или другое значение. Это суть этого действия.
Вам нужно другое действие использовать: var_player_set
 
Как-же не удобно спрашивать у вас каждый раз.

Имею 7 активаторов:
Вот несколько 3 из них

Лучше создать один активатор-обработчик команд, и уже в зависимости от аргумента запускать нужные тебе EXEC-активаторы
 
Назад
Верх