Войти или зарегистрироваться

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

Вопрос: как расшифровать таймштамп
Если вы имеете ввиду записи, сохранённые в файле delayed-actions.yml, например:
Код:
0c8c6c1c-c24a-483d-af7d-b6dd6c4be1b6:
  player: ''
  execution-time: 1489784598495
  actions:
    action: true
    list:
    - execute=activator:my_activator

Там есть отметка времени (execution-time) в мили-секундах. Её очень просто перевести в дату. Убираете 3 последние цифры, получаем отметку времени в секундах 1489784598. Затем, идём на любой онлайн-конвертер unixtime, например здесь:
https://www.cy-pr.com/tools/time/
и узнаём привычное для нас дату-время. В данном случае, это Thu, 13 Apr 2017 05:21:48 GMT
 
Если вы имеете ввиду записи, сохранённые в файле delayed-actions.yml, например:
Код:
0c8c6c1c-c24a-483d-af7d-b6dd6c4be1b6:
  player: ''
  execution-time: 1489784598495
  actions:
    action: true
    list:
    - execute=activator:my_activator

Там есть отметка времени (execution-time) в мили-секундах. Её очень просто перевести в дату. Убираете 3 последние цифры, получаем отметку времени в секундах 1489784598. Затем, идём на любой онлайн-конвертер unixtime, например здесь:
https://www.cy-pr.com/tools/time/
и узнаём привычное для нас дату-время. В данном случае, это Thu, 13 Apr 2017 05:21:48 GMT
Ясно, спасибо.

В PEx ведь аналогичная система счета времени??
 
Как и можно ли вообще использовать %var:%/%varp:% плейсхолдеры в других плагинах?
 
Как и можно ли вообще использовать %var:%/%varp:% плейсхолдеры в других плагинах?
Плейсхолдеры видны только в плагине, который создал их, в данном случае в ReActions. Другими словами, сторонние плагины не увидят плейсхолдеров.
Можно сделать связь ReActions со сторонними плагинами другим образом. Если внешний плагин использует свою базу данных MySQL, то ReActions может подключиться к ней и изменять нужные вам данные.
 
ППц, 'chanse' функция неработает в действии ITEM_GIVE <наборПредметов>.
Шанс распределяет всегда поровну между всеми указанными предметами.
Можете исправить ??
 
ППц, 'chanse' функция неработает в действии ITEM_GIVE <наборПредметов>.
Шанс распределяет всегда поровну между всеми указанными предметами.
Можете исправить ??
Может, вместо chanSe указать chanCe? Тогда будет работать. У меня работает.
 
@fromgate
Как можно отключить вывод сообщений о том что был забран предмет?
 
Может, вместо chanSe указать chanCe? Тогда будет работать. У меня работает.
Да, действительно. Не заметил опечатки. Спс.

Скажите ещё пожалуйсто, нельзя ли как-то отловить предмет, на который выпал шанс и вывести его плейсхолдером в сообщении (в идеале ещё и указать собственное значение этого плейсхолдера
Например если указан шанс: 25, то %25=Название для шанса 25% ) ??
Да, действительно. Не заметил опечатки. Спс.

Скажите ещё пожалуйсто, нельзя ли как-то отловить предмет, на который выпал шанс и вывести его плейсхолдером в сообщении (в идеале ещё и указать собственное значение этого плейсхолдера
Например если указан шанс: 25, то %25=Название для шанса 25% ) ??
Есть временный плейсхолдер %item_str%, который выводит название предмета (name:<>, если указано в наборе) вместо дефолтного ID. Но увы без поддержки цветных/текстовых кодов и этот вариант мне ещё не нравится тем, что name-теґ изменяет NBT данные предмета из за чего они например не будут стакатся с другими, идентичными им по ID предметам и проч...

Так что было бы здорово если б автор добавил вариант с плейсхолдером для шанса, который я описал выше
 
Последнее редактирование:
Скажите ещё пожалуйсто, нельзя ли как-то отловить предмет
А кто мешает Вам подменить сообщение, с помощью активатора Message?

Например, вы получаете сообщение, что получили 10 золотых мечей:
You receive item(s): GoldSword*10
Это сообщение подменяем следующим образом:

Код:
MESSAGE:
  gimsg:
    mask: 'You receive item(s): GoldSword*10'
    source: ALL
    type: EQUAL
    actions:
    - CANCEL_EVENT=true
    - MESSAGE=&eВы получили 10 Золотых Мечей
 
Последнее редактирование:
А кто мешает Вам подменить сообщение, с помощью активатора Message?

Например, вы получаете сообщение, что получили 10 золотых мечей:
You receive item(s): GoldSword*10
Это сообщение подменяем следующим образом:

Код:
MESSAGE:
  gimsg:
    mask: 'You receive item(s): GoldSword*10'
    source: ALL
    type: EQUAL
    actions:
    - CANCEL_EVENT=true
    - MESSAGE=&eВы получили 10 Золотых Мечей
Увы, не отлавливает оно таким образом меседж с EXEC активаторов. Пробывал разными методами, даже через REGEX '.*'
Когда в чат написать - срабатывает. А от действия MESSAGE из EXEC активатора - нет.
 
Я как раз тестировал отлов сообщения из EXEC активатора. У меня работает.
Покажите свой активатор
момент
Ну вот к примеру https://pastebin.com/kFVivYa5

Ввожу в чат 123 - ловит, отменяет и заменяет.
Но если активировать EXEC активатор командой из консоли exec exec1 player:<player>
то msg1 не срабатывает
Интересно, а можна ли при перехвате сообщения (например если есть знак ! вначале) не отменять его, не отправлять новое, а просто добавить что-то к нему? Например цветной код вначале. Что бы все глобальные сообщения были другого цвета.
P.S. плейсхолдера, который бы отвечал за полный текст, в активаторе MESSAGE я не нашел.
 
Но если активировать EXEC активатор командой из консоли exec exec1 player:<player>
то msg1 не срабатывает
Для команды
Код:
'CMD_CONSOLE=tellRaw %player_name% {"text":"123"}'
текст необходимо отлавливать другим образом. Попробуйте изменить тип вместо EQUAL установить type: CONTAINS
При использовании команды tellRaw сообщение выводится с невидимыми символами, поэтому тип сравнения EQUAL не подходит .

P.S. плейсхолдера, который бы отвечал за полный текст, в активаторе MESSAGE я не нашел
Плейсхолдер есть: %message%
 
Последнее редактирование:
текст необходимо отлавливать другим образом. Попробуйте изменить тип вместо EQUAL установить type: CONTAINS
Там есть невидимые символы.
Да один буй, я же говорю: даже тип: REGEX и mask: '.*' непомогает

Попробуйте и убедитесь сами
 
Да один буй, я же говорю: даже тип: REGEX и mask: '.*' непомогает

Попробуйте и убедитесь сами
Я попробовал и у меня работает:
Код:
EXEC:
  exec1:
    actions:
    - 'CMD_CONSOLE=tellRaw %player% {"text":"123"}'
    - 'MESSAGE=123'
MESSAGE:
  msg1:
    source: ALL
    type: CONTAINS
    mask: '123'
    actions:
    - CANCEL_EVENT=true
    - 'MESSAGE=&eТест 1'
/-------------------------------/

/exec exec1

Результат:
Тест 1
Тест 1
/-------------------------------/

/exec exec1 player:<мой ник>

Результат:
Тест 1
Тест 1
/-------------------------------/

/exec exec1 player:<ник игрока, которого нет на сервере>

Нет результата

У меня отсутствует результат, если игрока нет на сервере, в остальных вариантах всё работает.
 
Я попробовал и у меня работает:
Код:
EXEC:
  exec1:
    actions:
    - 'CMD_CONSOLE=tellRaw %player% {"text":"123"}'
    - 'MESSAGE=123'
MESSAGE:
  msg1:
    source: ALL
    type: CONTAINS
    mask: '123'
    actions:
    - CANCEL_EVENT=true
    - 'MESSAGE=&eТест 1'
/-------------------------------/

/exec exec1

Результат:
Тест 1
Тест 1
/-------------------------------/

/exec exec1 player:<мой ник>

Результат:
Тест 1
Тест 1
/-------------------------------/

/exec exec1 player:<ник игрока, которого нет на сервере>

Нет результата

У меня отсутствует результат, если игрока нет на сервере, в остальных вариантах всё работает.

Черт его знает что не так... Может быть из за разных версий ? У меня билд #33 из CircleCI
 
Черт его знает что не так... Может быть из за разных версий ? У меня билд #33 из CircleCI
У меня тоже билд #33, я проверал как на версии 1.10.2, так и на 1.11.2. Везде работает. Где-то у Вас в коде активаторов проблема.
 
Назад
Верх