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

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

Так, подебажил немного DAMAGE_BY_MOD, поменялись местами damager-type и damager-name,
сейчас, если игрок бьет игрока, то:
damager-type: ''
damager-name: PLAYER
 
Так, подебажил немного DAMAGE_BY_MOD, поменялись местами damager-type и damager-name,
сейчас, если игрок бьет игрока, то:
damager-type: ''
damager-name: PLAYER
Действительно, при загрузке с конфига параметры перепутаны. Поправил в последнем билде, спасибо.
 
А как бы мне выполнить MOB_KILL только при убийстве моба игроком? Вообще то в доке так и написано Player killing mob, но по факту срабатывает и при убийстве моба другими мобами, например криперами.
 
А как бы мне выполнить MOB_KILL только при убийстве моба игроком? Вообще то в доке так и написано Player killing mob, но по факту срабатывает и при убийстве моба другими мобами, например криперами.
Баг. Спасибо, исправил в последнем билде.
 
Привет. Не работает CMD_OP, пишет, нет прав у юзера на команду.
Использую следующим образом:
EXEC:
stage2:
actions:
- cmd_op=/pos1 0,0,0
- cmd_op=/pos2 300,200,300
- cmd_op=/set 0
- cmd_op=/schematic loadall ../Hubensky_Hub.schematic
Этот же скрипт у админа работает без ошибок.
ЧЯДНТ?
Посмотреть вложение 58343
Попробовал добавить альтернативный способ выдачи временного OP, в конфиге включается через actions.cmd_op.proxy-operator. Основная проблема в том, что FAWE делает проверки в асинхроне, от чего старый способ просто не работает. Впрочем, и новый может не сработать - всё зависит от самого FAWE.
 
Ребзь, хочу отказаться от поддержки Spigot в сторону Paper, а также от поддержки версий до 1.16.5 (а точнее просто официально поддерживать только последние версии). Paper 1.16.5 предлагает слишком много возможностей сейчас, чтобы просто так отказываться от них для сохранения совместимости с устаревшим софтом. Однако, готов выслушать, если кто будет против.
 
Потихоньку пилю систему модулей в отдельной ветке. Понимаю, что сейчас и так полно проблем, однако, в данный момент невозможно нормально продолжить разработку, не переделав текущую монолитную структуру.
TODO:
- Переписать менеджер активаторов для поддержки регистрации новых типов активаторов. done
- Для некоторых активаторов выделить отдельные типы, чтобы лучше реагировать на изменения (например REGION, ITEM_WEAR и пр.)
- Переписать менеджеры действий и флагов для поддержки регистрации новых типов. done
- Реализовать непосредственно систему модулей, которые можно зарегистрировать в процессе подгрузки (после onLoad() и до onEnable()) плагина, либо отложить загрузку активаторов на первый тик включения сервера.
 
Последнее редактирование:
Еще баговина.
Делаю так:
EXEC:
ws_buy:
actions:
- VAR_PLAYER_SET=id:buy_items value:%random:1-4%
- execute=activator:ws_buy_gold
ws_buy_gold:
flags:
- ITEM_INVENTORY='type:IRON_INGOT data:0 amount:%varp:buy_items%'
actions:
- 'ITEM_REMOVE_INVENTORY=type:IRON_INGOT data:0 amount:%varp:buy_items% regex:false'
- cmd_console=eco give %player% %CALC:50*%varp:buy_items%%
- MESSAGE=§6[§cБродячий Торговец§6] &f Спасибо, я купил у тебя %varp:buy_items% золотых слитков, это все, что мне было нужно. Вот твои деньги.
reactions:
- MESSAGE=§6[§cБродячий Торговец§6] &f У тебя нет того, что мне нужно. Приноси золотые слитки, алмазы и прочие редкие ресурсы.

Так вот флаг срабатывает на любой не пустой инвентарь, если его кол-во соответствует значению переменной buy_items. То есть плевать он хотел на тип предмета IRON_INGOT. При этом инвентарь не удаляется.
 
Еще баговина.
Делаю так:
EXEC:
ws_buy:
actions:
- VAR_PLAYER_SET=id:buy_items value:%random:1-4%
- execute=activator:ws_buy_gold
ws_buy_gold:
flags:
- ITEM_INVENTORY='type:IRON_INGOT data:0 amount:%varp:buy_items%'
actions:
- 'ITEM_REMOVE_INVENTORY=type:IRON_INGOT data:0 amount:%varp:buy_items% regex:false'
- cmd_console=eco give %player% %CALC:50*%varp:buy_items%%
- MESSAGE=§6[§cБродячий Торговец§6] &f Спасибо, я купил у тебя %varp:buy_items% золотых слитков, это все, что мне было нужно. Вот твои деньги.
reactions:
- MESSAGE=§6[§cБродячий Торговец§6] &f У тебя нет того, что мне нужно. Приноси золотые слитки, алмазы и прочие редкие ресурсы.

Так вот флаг срабатывает на любой не пустой инвентарь, если его кол-во соответствует значению переменной buy_items. То есть плевать он хотел на тип предмета IRON_INGOT. При этом инвентарь не удаляется.
У тебя во флаге кавычки неправильно расположены - начинаются после =. Вместо VAR_PLAYER_SET, кстати, советую использовать VAR_TEMP_SET - такие переменные передаются от активатора к активатору через действие EXECUTE, не сохраняются на диск, и можно просто написать %buy_items%
 
У тебя во флаге кавычки неправильно расположены - начинаются после =. Вместо VAR_PLAYER_SET, кстати, советую использовать VAR_TEMP_SET - такие переменные передаются от активатора к активатору через действие EXECUTE, не сохраняются на диск, и можно просто написать %buy_items%
Спасибо, так работает. Странно конечно, у меня целый режим построен на синтаксисе с кавычкой перед ключевым словом type и все работает, но там у меня кастомные лоры а названия.

У меня еще такой вопрос. Как мне проверить, что в руке ни чего нет? Вариант ниже не работает:
- 'ITEM=type:AIR'
 
Спасибо, так работает. Странно конечно, у меня целый режим построен на синтаксисе с кавычкой перед ключевым словом type и все работает, но там у меня кастомные лоры а названия.

У меня еще такой вопрос. Как мне проверить, что в руке ни чего нет? Вариант ниже не работает:
- 'ITEM=type:AIR'
Судя по старому коду, нужно вместо type:AIR вписать просто AIR или HAND. Систему парсинга предметов тоже нужно переделывать, ибо она очень тяжелая...
 
ITEM=HAND и ITEM=AIR всегда срабатывает, не важно, что у тебя в руке. даже если не пусто.
 
Обновлением до Java 16 и MC 1.17 займусь где-то с выходом Paper 1.17, рассчитывать на +неделю. Над модулями не работал недели две, тоже постараюсь взяться вновь на днях, мб к концу июля завершу. Между делом поправил ошибку в активаторе BLOCK_CLICK.
 
Обновлением до Java 16 и MC 1.17 займусь где-то с выходом Paper 1.17, рассчитывать на +неделю. Над модулями не работал недели две, тоже постараюсь взяться вновь на днях, мб к концу июля завершу. Между делом поправил ошибку в активаторе BLOCK_CLICK.
https://papermc.io/downloads#Paper-1.17
 
Билды, начиная с #88, будут компилироваться на Java 16 с поглядыванием на Paper 1.17. Кажется, 1.17 пока не привнесло критичных изменений API, так что до поры до времени будет поддержка 1.16.5.
Стыдно признаться, но с Java 16 пока не работал, так что до того, как начну использовать новые фичи оттуда, пройдет какое-то время.
 
Привет. Есть ли возможность проверить, сколько игроков в регионе? Или на крайний случай, что он не пустой?
 

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

Назад
Верх