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

Джентельмены, хелпаните в вопросике
Создаю команды, суть её: вывести сообщение при наличии определенного значения в ячейке. Мне надо, чтоб было значение 2 или больше.
Код:
Код:
  t:
    override: true
    regex: true
    command: t1
    flags:
    - SQL_CHECK=query:{SELECT value FROM vote WHERE name='%player_name%';} value:2 //проверяем наличие значения в ячейке
    actions:
    - message=&1Success.
    - SQL_UPDATE=query:{UPDATE vote set value=value-2 where name='%player_name%';} //отнимаем необходимое значение с ячейки
    reactions:
    - message=&cFailed.

Как работает механизм:
При строгом значении 2 - срабатывает. При остальных - нет. Надо чтоб срабатывало при значении 2 и больше. Как правильно задать флаг ?
Да!
У Лёши видел ту же проблему с таймером, что и у меня! За 1 секунду таймер срабатывает 10 раз!
 
Да!
У Лёши видел ту же проблему с таймером, что и у меня! За 1 секунду таймер срабатывает 10 раз!
Читайте предыдущую страницу. Вчера совместными усилиями выявили причину. Перекачайте дев.билд (там на самом деле файл, который я залью уже в виде релиза 0.9.9) - там исправлено.
 
Читайте предыдущую страницу. Вчера совместными усилиями выявили причину. Перекачайте дев.билд (там на самом деле файл, который я залью уже в виде релиза 0.9.9) - там исправлено.
Гут, спасибо.
А с запросом чем-нибудь поможешь?
 
Можно ли в активаторе сообщения в шаблон прописать несколько слов через пробел , у меня не работает такая комбинация или быть может ковычки нужны...???
@@fromgate
Предложение
1)Сделать для флагов задержку , (на подобии ACTION_DELAYED)
2)Возможность вставки действий,флагов между уже существующими (к примеру между 1 и 2 )(из игры)
 
Можно ли в активаторе сообщения в шаблон прописать несколько слов через пробел , у меня не работает такая комбинация или быть может ковычки нужны...???
Вы лучше покажите код активатора и объясните что хотите сделать.


@fromgate
Предложение
1)Сделать для флагов задержку , (на подобии ACTION_DELAYED)
2)Возможность вставки действий,флагов между уже существующими (к примеру между 1 и 2 )(из игры)

1. Как может флаг быть "отложенным". Мы же не будем завешивать майнкрафт чтобы дождаться когда его нужно проверить. Если нужно проверить флаг через какое-то время и принять решение что выполнять - тогда надо просто выполнять активатор EXEC с задержкой и там всё проверять.
2. Вообще не хотелось бы усложнять конструкцию. Но вообще я уже думал сделать как-то действие FLAG с параметрами flag: action: reaction: Посмотрим.
Гут, спасибо.
А с запросом чем-нибудь поможешь?

Ну тут вариант два. Записывать результат запроса в переменную и потом сравнивать её.
Или использовать SQL_RESULT , но проверку значения поля (больше или равно 2) сделать уже в самом запросе.
 
Чёт не соображаю. Можешь привести кусок кода?
 
@fromgate, как можно очистить инвентарь вышедшего из игры игрока?
@fromgate, при увеличении несуществующей переменной хотелось бы видеть отсчёт от нуля, я не единицы.
@fromgate, нужен плейсхолдер, содержащий IP игрока.
@fromgate, можно выполнить EXEC в одном тике с действиями, которые его запускают? Получается, что телепортацию к игроку в запретной зоне отменить нельзя. Можно детектить это комбинированное событие и откатывать позицию телепортирующегося, но сам факт телепорта иногда неприемлем.
@fromgate, при выполнении этого момента игра немного подлагивает. Сервер или клиент - определить сложно.
Код:
# Запуск игроков на ивент.
  RF-LIMITED-Set-Time-To-Start:
    flags:
    - var_compare=id:RF-LIMITED-Time-To-Start value:0
    actions:
    - var_set=id:RF-Amount-Player-In-Game value:0
    - var_set=id:RF-LIMITED-Amount-Places-In-Queue value:0
    - var_set=id:RF-LIMITED-Time-To-Start value:61
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line1:{Недостаточно}
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line2:{игроков для}
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line3:{начала игры!}
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line4:{Минимум 2!}
    - var_set=id:RF-LIMITED-Time-Out-To-Jump-From-Start value:16
    - delay=id:RF-LIMITED-Delay-Reset-Time-Out-No-Players time:2s
    - execute=activator:RF-LIMITED-PreLaunch-Procedures-Set-Count-Wins
    - execute=activator:RF-LIMITED-PreLaunch-Procedures region:world_the_end.rf-pvp-deny
    - cmd_console=rg f -w world_the_end rf-game-area pvp deny
    - WAIT=100ms
    - message=&7[&aRF&7] &aИгра началась! До включения PvP 10 секунд! region:world_the_end.rf
    - WAIT=10s
    - execute=activator:RF-LIMITED-In-Game-Time-Out-5
    reactions: []
# Установка счёта побед, если его не было.
  RF-LIMITED-PreLaunch-Procedures-Set-Count-Wins:
    flags:
    - '!var_player_exist=id:RF-LIMITED-Count-Wins'
    - var_player_compare=id:RF-LIMITED-Space-In-Queue value:Occupied
    actions:
    - var_player_set=id:RF-LIMITED-Count-Wins value:0
    reactions: []

  RF-LIMITED-PreLaunch-Procedures:
    flags:
    - var_player_compare=id:RF-LIMITED-Space-In-Queue value:Occupied
    actions:
    - var_player_set=id:RF-LIMITED-Space-In-Queue value:Not-Occupied
    - var_player_set=id:RF-LIMITED-In-Game value:1
    - var_set=id:RF-LIMITED-During value:1
    - var_inc=id:RF-Amount-Player-In-Game
    - var_player_set=id:RF-Items-Inventory-0 value:{%PLAYER_INV:0%}
    - var_player_set=id:RF-Items-Inventory-1 value:{%PLAYER_INV:1%}
    - var_player_set=id:RF-Items-Inventory-2 value:{%PLAYER_INV:2%}
    - var_player_set=id:RF-Items-Inventory-3 value:{%PLAYER_INV:3%}
    - var_player_set=id:RF-Items-Inventory-4 value:{%PLAYER_INV:4%}
    - var_player_set=id:RF-Items-Inventory-5 value:{%PLAYER_INV:5%}
    - var_player_set=id:RF-Items-Inventory-6 value:{%PLAYER_INV:6%}
    - var_player_set=id:RF-Items-Inventory-7 value:{%PLAYER_INV:7%}
    - var_player_set=id:RF-Items-Inventory-8 value:{%PLAYER_INV:8%}
    - var_player_set=id:RF-Items-Inventory-9 value:{%PLAYER_INV:9%}
    - var_player_set=id:RF-Items-Inventory-10 value:{%PLAYER_INV:10%}
    - var_player_set=id:RF-Items-Inventory-11 value:{%PLAYER_INV:11%}
    - var_player_set=id:RF-Items-Inventory-12 value:{%PLAYER_INV:12%}
    - var_player_set=id:RF-Items-Inventory-13 value:{%PLAYER_INV:13%}
    - var_player_set=id:RF-Items-Inventory-14 value:{%PLAYER_INV:14%}
    - var_player_set=id:RF-Items-Inventory-15 value:{%PLAYER_INV:15%}
    - var_player_set=id:RF-Items-Inventory-16 value:{%PLAYER_INV:16%}
    - var_player_set=id:RF-Items-Inventory-17 value:{%PLAYER_INV:17%}
    - var_player_set=id:RF-Items-Inventory-18 value:{%PLAYER_INV:18%}
    - var_player_set=id:RF-Items-Inventory-19 value:{%PLAYER_INV:19%}
    - var_player_set=id:RF-Items-Inventory-20 value:{%PLAYER_INV:20%}
    - var_player_set=id:RF-Items-Inventory-21 value:{%PLAYER_INV:21%}
    - var_player_set=id:RF-Items-Inventory-22 value:{%PLAYER_INV:22%}
    - var_player_set=id:RF-Items-Inventory-23 value:{%PLAYER_INV:23%}
    - var_player_set=id:RF-Items-Inventory-24 value:{%PLAYER_INV:24%}
    - var_player_set=id:RF-Items-Inventory-25 value:{%PLAYER_INV:25%}
    - var_player_set=id:RF-Items-Inventory-26 value:{%PLAYER_INV:26%}
    - var_player_set=id:RF-Items-Inventory-27 value:{%PLAYER_INV:27%}
    - var_player_set=id:RF-Items-Inventory-28 value:{%PLAYER_INV:28%}
    - var_player_set=id:RF-Items-Inventory-29 value:{%PLAYER_INV:29%}
    - var_player_set=id:RF-Items-Inventory-30 value:{%PLAYER_INV:30%}
    - var_player_set=id:RF-Items-Inventory-31 value:{%PLAYER_INV:31%}
    - var_player_set=id:RF-Items-Inventory-32 value:{%PLAYER_INV:32%}
    - var_player_set=id:RF-Items-Inventory-33 value:{%PLAYER_INV:33%}
    - var_player_set=id:RF-Items-Inventory-34 value:{%PLAYER_INV:34%}
    - var_player_set=id:RF-Items-Inventory-35 value:{%PLAYER_INV:35%}
    - var_player_set=id:RF-Items-Inventory-36 value:{%PLAYER_INV:helmet%}
    - var_player_set=id:RF-Items-Inventory-37 value:{%PLAYER_INV:chestplate%}
    - var_player_set=id:RF-Items-Inventory-38 value:{%PLAYER_INV:leggings%}
    - var_player_set=id:RF-Items-Inventory-39 value:{%PLAYER_INV:boots%}
    - cmd_console=ci %player% **
    - potion_clear=all
    - heal=player:%player%
    - WAIT=50ms
    - TP=loc:RF-Spawn-Loc-%random:1-4% radius:2
    reactions: []

@fromgate, будет параметр для BLOCK_SET, который позволяет устанавливать содержащие инвентарь блоки уже с уже заполненными ячейками?
@fromgate, в BLOCK_SET не поддерживается block:0
@fromgate, когда устанавливается блок, он не обновляет окружающие. Сделайте параметр для выбора между этими двумя режимами (оба нужны).
 
Последнее редактирование:
Как добавить в активатор в маску 2 слова?
Когда я прописываю в маску 2 слова то в активатор заноситься только 2ое слово.
ПРОПИСЫВАЛ MASK:Region saved

region_claim1:
mask: saved
type: START
source: ALL
actions:
- message=1
 
@fromgate, а есть плейсхолдер, который содержит строку до текста сообщения, которое написал игрок? То есть: символ до начала сообщения (если есть) ник, префикс, клан и другие?
Как добавить в активатор в маску 2 слова?
Когда я прописываю в маску 2 слова то в активатор заноситься только 2ое слово.
(A|B)
@fromgate, можно устанавливать время, которое требуется на сбор предметов после смерти моба?
 
Последнее редактирование:
Подскажите почему может не работать
После обновления до последней версии
1.5.2
COMMAND:
'1':
override: true
regex: false
command: '1'
actions:
- message=1
 
Одинаковые имена? У меня подобных проблем нет.
Короче действий до 10 проверил ни одно не работает , при этом в файл все добавляется нормально, удалил все плагины тоже самое...на разных активаторах
У кого 1.5.2 и у кого нормально?
 
@fromgate, как можно очистить инвентарь вышедшего из игры игрока?
Надо попробовать через ITEM_SLOT в PLAYER_RESPAWN. Сам не проверял.

@fromgate, при увеличении несуществующей переменной хотелось бы видеть отсчёт от нуля, я не единицы.
Можно будет добавть параметр - начальное значение.

@fromgate, нужен плейсхолдер, содержащий IP игрока.
Ммм... и что с ним потом делать? ;) Потом же потребуются действия для блокировки по IP или определению страны ;)

@fromgate, можно выполнить EXEC в одном тике с действиями, которые его запускают? Получается, что телепортацию к игроку в запретной зоне отменить нельзя. Можно детектить это комбинированное событие и откатывать позицию телепортирующегося, но сам факт телепорта иногда неприемлем.
Даже если выполнять в одном тике - отменить будет нельзя. Отменить можно только "родительское" событие. А у EXEC - его нет.

@fromgate, при выполнении этого момента игра немного подлагивает. Сервер или клиент - определить сложно.
Код:
# Запуск игроков на ивент.
  RF-LIMITED-Set-Time-To-Start:
    flags:
    - var_compare=id:RF-LIMITED-Time-To-Start value:0
    actions:
    - var_set=id:RF-Amount-Player-In-Game value:0
    - var_set=id:RF-LIMITED-Amount-Places-In-Queue value:0
    - var_set=id:RF-LIMITED-Time-To-Start value:61
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line1:{Недостаточно}
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line2:{игроков для}
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line3:{начала игры!}
    - sign_set_line=loc:world_the_end,1184.0,129.0,1145.0,0.0,0.0 line4:{Минимум 2!}
    - var_set=id:RF-LIMITED-Time-Out-To-Jump-From-Start value:16
    - delay=id:RF-LIMITED-Delay-Reset-Time-Out-No-Players time:2s
    - execute=activator:RF-LIMITED-PreLaunch-Procedures-Set-Count-Wins
    - execute=activator:RF-LIMITED-PreLaunch-Procedures region:world_the_end.rf-pvp-deny
    - cmd_console=rg f -w world_the_end rf-game-area pvp deny
    - WAIT=100ms
    - message=&7[&aRF&7] &aИгра началась! До включения PvP 10 секунд! region:world_the_end.rf
    - WAIT=10s
    - execute=activator:RF-LIMITED-In-Game-Time-Out-5
    reactions: []
# Установка счёта побед, если его не было.
  RF-LIMITED-PreLaunch-Procedures-Set-Count-Wins:
    flags:
    - '!var_player_exist=id:RF-LIMITED-Count-Wins'
    - var_player_compare=id:RF-LIMITED-Space-In-Queue value:Occupied
    actions:
    - var_player_set=id:RF-LIMITED-Count-Wins value:0
    reactions: []

  RF-LIMITED-PreLaunch-Procedures:
    flags:
    - var_player_compare=id:RF-LIMITED-Space-In-Queue value:Occupied
    actions:
    - var_player_set=id:RF-LIMITED-Space-In-Queue value:Not-Occupied
    - var_player_set=id:RF-LIMITED-In-Game value:1
    - var_set=id:RF-LIMITED-During value:1
    - var_inc=id:RF-Amount-Player-In-Game
    - var_player_set=id:RF-Items-Inventory-0 value:{%PLAYER_INV:0%}
    - var_player_set=id:RF-Items-Inventory-1 value:{%PLAYER_INV:1%}
    - var_player_set=id:RF-Items-Inventory-2 value:{%PLAYER_INV:2%}
    - var_player_set=id:RF-Items-Inventory-3 value:{%PLAYER_INV:3%}
    - var_player_set=id:RF-Items-Inventory-4 value:{%PLAYER_INV:4%}
    - var_player_set=id:RF-Items-Inventory-5 value:{%PLAYER_INV:5%}
    - var_player_set=id:RF-Items-Inventory-6 value:{%PLAYER_INV:6%}
    - var_player_set=id:RF-Items-Inventory-7 value:{%PLAYER_INV:7%}
    - var_player_set=id:RF-Items-Inventory-8 value:{%PLAYER_INV:8%}
    - var_player_set=id:RF-Items-Inventory-9 value:{%PLAYER_INV:9%}
    - var_player_set=id:RF-Items-Inventory-10 value:{%PLAYER_INV:10%}
    - var_player_set=id:RF-Items-Inventory-11 value:{%PLAYER_INV:11%}
    - var_player_set=id:RF-Items-Inventory-12 value:{%PLAYER_INV:12%}
    - var_player_set=id:RF-Items-Inventory-13 value:{%PLAYER_INV:13%}
    - var_player_set=id:RF-Items-Inventory-14 value:{%PLAYER_INV:14%}
    - var_player_set=id:RF-Items-Inventory-15 value:{%PLAYER_INV:15%}
    - var_player_set=id:RF-Items-Inventory-16 value:{%PLAYER_INV:16%}
    - var_player_set=id:RF-Items-Inventory-17 value:{%PLAYER_INV:17%}
    - var_player_set=id:RF-Items-Inventory-18 value:{%PLAYER_INV:18%}
    - var_player_set=id:RF-Items-Inventory-19 value:{%PLAYER_INV:19%}
    - var_player_set=id:RF-Items-Inventory-20 value:{%PLAYER_INV:20%}
    - var_player_set=id:RF-Items-Inventory-21 value:{%PLAYER_INV:21%}
    - var_player_set=id:RF-Items-Inventory-22 value:{%PLAYER_INV:22%}
    - var_player_set=id:RF-Items-Inventory-23 value:{%PLAYER_INV:23%}
    - var_player_set=id:RF-Items-Inventory-24 value:{%PLAYER_INV:24%}
    - var_player_set=id:RF-Items-Inventory-25 value:{%PLAYER_INV:25%}
    - var_player_set=id:RF-Items-Inventory-26 value:{%PLAYER_INV:26%}
    - var_player_set=id:RF-Items-Inventory-27 value:{%PLAYER_INV:27%}
    - var_player_set=id:RF-Items-Inventory-28 value:{%PLAYER_INV:28%}
    - var_player_set=id:RF-Items-Inventory-29 value:{%PLAYER_INV:29%}
    - var_player_set=id:RF-Items-Inventory-30 value:{%PLAYER_INV:30%}
    - var_player_set=id:RF-Items-Inventory-31 value:{%PLAYER_INV:31%}
    - var_player_set=id:RF-Items-Inventory-32 value:{%PLAYER_INV:32%}
    - var_player_set=id:RF-Items-Inventory-33 value:{%PLAYER_INV:33%}
    - var_player_set=id:RF-Items-Inventory-34 value:{%PLAYER_INV:34%}
    - var_player_set=id:RF-Items-Inventory-35 value:{%PLAYER_INV:35%}
    - var_player_set=id:RF-Items-Inventory-36 value:{%PLAYER_INV:helmet%}
    - var_player_set=id:RF-Items-Inventory-37 value:{%PLAYER_INV:chestplate%}
    - var_player_set=id:RF-Items-Inventory-38 value:{%PLAYER_INV:leggings%}
    - var_player_set=id:RF-Items-Inventory-39 value:{%PLAYER_INV:boots%}
    - cmd_console=ci %player% **
    - potion_clear=all
    - heal=player:%player%
    - WAIT=50ms
    - TP=loc:RF-Spawn-Loc-%random:1-4% radius:2
    reactions: []
Пока идей нет. Будет время - попробую погонять.

@fromgate, будет параметр для BLOCK_SET, который позволяет устанавливать содержащие инвентарь блоки уже с уже заполненными ячейками?
В смысле полный сундук и т.п.? Я подумаю.

@fromgate, в BLOCK_SET не поддерживается block:0
Зато поддерживает block:AIR и block:{type:AIR}

@fromgate, когда устанавливается блок, он не обновляет окружающие. Сделайте параметр для выбора между этими двумя режимами (оба нужны).

Он есть и в block_set и в block_fill
См. параметр physics тут: http://reactions.fromgate.ru/block_set.htm
Короче действий до 10 проверил ни одно не работает , при этом в файл все добавляется нормально, удалил все плагины тоже самое...на разных активаторах
У кого 1.5.2 и у кого нормально?

Странно. Основной код по части выполния команд не менялся очень давно. В последних изменения происходит регистрация команды (которая по факту пуста) - всё равно происходит обработка события ввода команды.

В логе при старте про команды что-то пишет? (Они должны регистрироваться).
 
Ммм... и что с ним потом делать? ;) Потом же потребуются действия для блокировки по IP или определению страны ;)
Прежде всего, блокировать твинков на специализированных зонах. Не думаю, что с одного компьютера можно выходить в интернет под двумя IP. Во-вторых, стала бы возможна реферальная система.
Зато поддерживает block:AIR и block:{type:AIR}
Не спорю. Ну, если не считаете нужным, то не добавляйте :)
Он есть и в block_set и в block_fill
См. параметр physics тут: http://reactions.fromgate.ru/block_set.htm
Давно я туда не заглядывал. Спасибо :D
 
Такое сообщение нашел
SEVERE Plugin ReActions v0.9.9 has failed to register events for class me.fromgate.reactions.RAListener because org/bukkit/event/inventory/InventoryInteractEvent does not exist.
 
Прикольно.
@Lyosha12
А у тебя ж тоже вроде 1.5.2? Такого нет?
 
  • Towny - можно перемещать игроков между городами, проверять принадлежность игрока к городу (Внимание! Towny расположен на отдельном сайте, что не пирветствуется командой bukkit. Используйте на свой страх и риск).
    Многоуважаемый @fromgate поправьте пожалуйста.
 
Назад
Верх