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

Найди нужные номера слотов через активатор, который тебе дали.
Потом проверяй через флаг FLAG_SET с COMPARE, и запихни там-сям сравнивание %slot% с нужными слотами.
Если не понял - могу показать пример.


Покажи активатор и скрин предмета, подскажу мб
ITEM_CLICK:
slab_stick_click:
item: type:STICK name:{&7слабый посох} lore:{&f\n&1-------------------------\n&9Урoн:&9 4-7\n&1-------------------------\n&7для заряда ПКМ\n&7для выстрела ШИФТ+ПКМ\n&1-------------------------\n&7слабый магический предмет.}
flags:
- delay_player=id:ssccd
- '!STATE=SNEAK'
- '!VAR_PLAYER_EXIST=id:ssc'
actions:
- MESSAGE=&5 Посох заряжается.
.....

Я с помощью других активаторов выдавал себе точно такой же предмет и ничего не работало, и без цветового кода после двоеточия и перед цифрами с пробелом активатор не читается плагином
 
Возможно я немного не так выразился. Я имел ввиду, что это надо организовать на уровне плагина, самим разработчикам ReActions. Я пару раз поднимал этот вопрос, но меня послали в MySQL.
Но с БД невсегда удобно работать.
Аа ну так то да. Была бы удобна такая фича - выводить переменные (и мб отложеные активаторы) в отдельный файл под каждого игрока
 
ITEM_CLICK:
slab_stick_click:
item: type:STICK name:{&7слабый посох} lore:{&f\n&1-------------------------\n&9Урoн:&9 4-7\n&1-------------------------\n&7для заряда ПКМ\n&7для выстрела ШИФТ+ПКМ\n&1-------------------------\n&7слабый магический предмет.}
flags:
- delay_player=id:ssccd
- '!STATE=SNEAK'
- '!VAR_PLAYER_EXIST=id:ssc'
actions:
- MESSAGE=&5 Посох заряжается.
.....

Я с помощью других активаторов выдавал себе точно такой же предмет и ничего не работало, и без цветового кода после двоеточия и перед цифрами с пробелом активатор не читается плагином

Этот вариант работает. Дальше, думаю, сам знаешь.
Код:
ITEM_CLICK:
  slab_stick_click:
    item: type:STICK name:{&7слабый посох} lore:{.*Урoн:&9 4-7.*слабый магический предмет\..*} regex:true
    actions:
    - MESSAGE=&5 Посох заряжается.
 
Этот вариант работает. Дальше, думаю, сам знаешь.
Код:
ITEM_CLICK:
  slab_stick_click:
    item: type:STICK name:{&7слабый посох} lore:{.*Урoн:&9 4-7.*слабый магический предмет\..*} regex:true
    actions:
    - MESSAGE=&5 Посох заряжается.
Что-то я не понял.
 
Пожалуйста добавьте каталог для готовых меню чтоб не пихать все в один файл. Очень надо.
 
Build #133
  • Добавлен активатор PICKUP_ITEM
  • срабатывает на поднятие игроком лута
  • Описание
А возможно при поднятии автоматически редактировать тег предмета, что бы не вызывать одни и те же действия при дропе-пикапе одного и того же предмета ?
 
Последнее редактирование:
А возможно при поднятии автоматически редактировать тег предмета, что бы не вызывать одни и те же действия при дропе-пикапе одного и того же предмета ?
Можно!

Build #134
  • Модификация активаторов:
  • BLOCK_BREAK: добавлен плейсхолдер is_drop, который является переменной, и её можно изменить. Устанавливает разрешение на дроп при разрушении блока (true|false)
- VAR_TEMP_SET=id:is_drop value:false
  • DROP: добавлен плейсхолдер item, который является переменной, и её можно изменить. Если его изменить, выпадет другой предмет
- VAR_TEMP_SET=id:item value:{предмет}
  • PICKUP_ITEM: добавлен плейсхолдер item, который является переменной, и её можно изменить. При изменении этой переменной, игрок получит совсем другой предмет, а не тот на который расчитывал
- VAR_TEMP_SET=id:item value:{предмет}
 
Последнее редактирование:
А как сделать чтобы действие IF_ELSE выдавало true, если какая-либо переменная входит какой-либо диапазон?
 
А как сделать чтобы действие IF_ELSE выдавало true, если какая-либо переменная входит какой-либо диапазон?
Пример 1<%переменная%<100

%переменная% - нужная тебе переменная; then-else и так ясно, наверно.
Код:
- IF_ELSE=if:{(1<%переменная%)&&(%переменная%<100)} then:{Если подходит} else:{Если не подходит}

http://reactions.fromgate.ru/actions/if_else/
 
Пример 1<%переменная%<100

%переменная% - нужная тебе переменная; then-else и так ясно, наверно.
Код:
- IF_ELSE=if:{(1<%переменная%)&&(%переменная%<100)} then:{Если подходит} else:{Если не подходит}

http://reactions.fromgate.ru/actions/if_else/
Спасибо! а где можно найти описание условных операторов?
 
Спасибо. А почему в if нельзя использовать двойное неравенство?
Потому что в коде мы подключаем интерпретатор javascript, а там, как известно нет двойного неравенства. Используйте "!=" вместо "<>"
 
Потому что в коде мы подключаем интерпретатор javascript, а там, как известно нет двойного неравенства. Используйте "!=" вместо "<>"
Приветствую. У меня снова всплыл вопрос по поводу открытия сундука (пост).

Данный код, который Вы мне давали не работает.
Код:
BLOCK_CLICK:
  CHEST_OPEN:
   block-type: CHEST
   click-type: RIGHT
   flags:
   - ITEM=type:STICK
   - WORLD=world_build
   actions:
   - MESSAGE=Сундук открыт
   reactions:
   - if_else=if:{%WORLD_FLAG%==world_build}
                  then:run:actions:{
                      action1:{MESSAGE=Нужна палка, чтобы поддеть петли сундука.}
                      action2:{CANCEL_EVENT=true}
                  }
                  else:{}

Так как же всётаки реализовать данную функцию?
 
Приветствую. У меня снова всплыл вопрос по поводу открытия сундука (пост).

Данный код, который Вы мне давали не работает.
Код:
BLOCK_CLICK:
  CHEST_OPEN:
   block-type: CHEST
   click-type: RIGHT
   flags:
   - ITEM=type:STICK
   - WORLD=world_build
   actions:
   - MESSAGE=Сундук открыт
   reactions:
   - if_else=if:{%WORLD_FLAG%==world_build}
                  then:run:actions:{
                      action1:{MESSAGE=Нужна палка, чтобы поддеть петли сундука.}
                      action2:{CANCEL_EVENT=true}
                  }
                  else:{}

Так как же всётаки реализовать данную функцию?
Попробуйте просмотреть ошибки в действии IF_ELSE, используя плейсхолдер %ifelsedebug%.
Скорей всего ошибка в том, что в поле условия IF, параметр %WORLD_FLAG% должен быть в кавычках (одинарные кавычки сойдут)
 
Доброго времени суток. Не получается сделать действие IF_Else с дополнительными параметрами. Например: /rea add test a if_else if:{0==0} then:run:actions:action1:{potion=jump time:5m} else:{}. Просто {potion=jump} работает, накладывает прыгучесть 0 уровня на 1 секунду.
 
Доброго времени суток. Не получается сделать действие IF_Else с дополнительными параметрами. Например: /rea add test a if_else if:{0==0} then:run:actions:action1:{potion=jump time:5m} else:{}. Просто {potion=jump} работает, накладывает прыгучесть 0 уровня на 1 секунду.
Попробуйте jump time:5m закрыть фигурными скобками:
potion={jump time:5m}
или так:
'potion=jump time:5m'
 
Как в примере не работает :( Хотя если писать {potion=jump} дает прыгучесть II хотя должен быть обычный уровень. В любом случае спасибо за ответ. Было бы интересно знать как добавлять доп параметры, если кто то найдет решение :)
 
Последнее редактирование:
Назад
Верх