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

Помогите MyCommand скрипт zone (приват без топора)

Метки:
Теги Теги
mycommand mycommands script scripts
Статус
Закрыто для дальнейших ответов.

heroarthas

Ньюби
Баллы
1
Имя в Minecraft
Ep1tet
Ребят, может кто то подсказать по поводу mycommand

Сделал скрипт на выделение зоны, чтоб потом её приватить (чтоб можно было заприватить только такой кубоид, который задан мной). При этом, у default не должно быть доступа к expand и подобным командам, поэтому сделал от имени оператора команды. И в чем загвоздка - команда /mw spawn выполняется успешно, при том, что пермишнсов у default на неё нет, так же как на expand^ы, а вот выделение зоны не работает

zone2:
command: /zone2
type: RUN_AS_OPERATOR
runcmd:
- "//pos1"
- "//pos2"
- "//expand 128 north"
- "//expand 128 south"
- "//expand 128 west"
- "//expand 128 east"
- "//expand vert"
permission-required: true
permission-node: zone2
zone1:
command: /zone1
type: RUN_AS_OPERATOR
runcmd:
- "//pos1"
- "//pos2"
- "//expand 64 north"
- "//expand 64 south"
- "//expand 64 west"
- "//expand 64 east"
- "//expand vert"
permission-required: false
permission-node: zone1
spawn:
command: /spawn
type: RUN_AS_OPERATOR
runcmd:
- "/mw spawn"
permission-required: false
permission-node: spawn

image.png

(первые сообщения от expand^ов, а зеленые от (успешных) /mw spawn)
 
Возможно, команды WE обрабатываются не мгновенно, от чего и проверка перма идёт не при вводе команды.
Из возможных костылей вижу выдачу прав на эти команды на определённое время, секунду или меньше.

Так же не советую использовать запуск "от оператора".
Когда-то тестил похожий плагин, одной из функций тоже было выполнение команд от оператора, и если во время выполнения такой команды одновременно быстро (а с читами такое вообще без проблем) вводить другие (напр. /op), то могло пройти. Т.е, даже если выдача оп, выполнение команды и убирание оп происходит в одной строчке кода, был шанс пропустить что-то помимо той команды. Упоминаемый ранее плагин так же мог выдавать пермы на время выполнения команд, что является в миллион раз более безопасным вариантом. Если mcmd тоже так может, советую сделать так вместо выдачи оп.
Хз зачем я это сейчас тут рассказываю. Ночь, наверно.
 
Возможно, команды WE обрабатываются не мгновенно, от чего и проверка перма идёт не при вводе команды.
Из возможных костылей вижу выдачу прав на эти команды на определённое время, секунду или меньше.

Так же не советую использовать запуск "от оператора".
Когда-то тестил похожий плагин, одной из функций тоже было выполнение команд от оператора, и если во время выполнения такой команды одновременно быстро (а с читами такое вообще без проблем) вводить другие (напр. /op), то могло пройти. Т.е, даже если выдача оп, выполнение команды и убирание оп происходит в одной строчке кода, был шанс пропустить что-то помимо той команды. Упоминаемый ранее плагин так же мог выдавать пермы на время выполнения команд, что является в миллион раз более безопасным вариантом. Если mcmd тоже так может, советую сделать так вместо выдачи оп.
Хз зачем я это сейчас тут рассказываю. Ночь, наверно.

Хорошо, что ты описал в спойлере ^_^

Я к сожалению не знаю как это реализовать, и информации нигде не нашёл. (выдача именно на время)
Возможно есть какие то идеи по этому поводу ?
Вот тайп лист из этого плагина upload_2023-4-20_13-31-16.png
 
Последнее редактирование:
Я больше скажу, я даже будучи оператором не могу выполнить эту команду
 
Зато теперь в открытом доступе есть код удобного и полезного скрипта, который пригодится будущим поколениям. Чтоб все уже отказались от сраных выделений топором корявых регионов
 
Представляю как тратится время отсчитывая 65 блоков от чьего-то привата или вычисляя как захватить нужные места приватом.
//pos1 //pos2 по углам (//outset заменит 4 команды расширения в стороны, если кому-то хочется), /rg claim, а с //expand vert справится wgextender и получится ровно такой приват, какой хочется по форме и расположению границ.
 
Представляю как тратится время отсчитывая 65 блоков от чьего-то привата или вычисляя как захватить нужные места приватом.
//pos1 //pos2 по углам (//outset заменит 4 команды расширения в стороны, если кому-то хочется), /rg claim, а с //expand vert справится wgextender и получится ровно такой приват, какой хочется по форме и расположению границ.

Можно немного поменять скрипт, я уже думал об этом. В условиях тесного сервера. Направлять выделение не во все стороны от тебя, а вперёд и в одну из сторон. Чтоб в итоге ты был углом выделения, а не центром, и усё.
 
Статус
Закрыто для дальнейших ответов.

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

Назад
Верх