1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

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

Тема в разделе "Помощь", создана пользователем heroarthas, 20 апр 2023.

Статус темы:
Закрыта.
  1. Автор темы
    heroarthas

    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

    [​IMG]
    (первые сообщения от expand^ов, а зеленые от (успешных) /mw spawn)
     
  2. HauserGrim

    HauserGrim Активный участник Пользователь

    Баллы:
    96
    Возможно, команды WE обрабатываются не мгновенно, от чего и проверка перма идёт не при вводе команды.
    Из возможных костылей вижу выдачу прав на эти команды на определённое время, секунду или меньше.

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

    heroarthas Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Ep1tet
    Хорошо, что ты описал в спойлере ^_^

    Я к сожалению не знаю как это реализовать, и информации нигде не нашёл. (выдача именно на время)
    Возможно есть какие то идеи по этому поводу ?
    Вот тайп лист из этого плагина upload_2023-4-20_13-31-16.png
     
    Последнее редактирование: 20 апр 2023
  4. Автор темы
    heroarthas

    heroarthas Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Ep1tet
    Я больше скажу, я даже будучи оператором не могу выполнить эту команду
     
  5. HauserGrim

    HauserGrim Активный участник Пользователь

    Баллы:
    96
    Возможно ты включил no-op-permissions в конфиге we?
     
  6. Автор темы
    heroarthas

    heroarthas Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Ep1tet
    Омагад, да, теперь даже без опки всё прекрасно работает, я тебя люблю.
    А есть предположение, нахрен я это делал ? Забыл уже :nerd:
     
  7. Автор темы
    heroarthas

    heroarthas Ньюби

    Баллы:
    1
    Имя в Minecraft:
    Ep1tet
    Зато теперь в открытом доступе есть код удобного и полезного скрипта, который пригодится будущим поколениям. Чтоб все уже отказались от сраных выделений топором корявых регионов
     
  8. HauserGrim

    HauserGrim Активный участник Пользователь

    Баллы:
    96
    Представляю как тратится время отсчитывая 65 блоков от чьего-то привата или вычисляя как захватить нужные места приватом.
    //pos1 //pos2 по углам (//outset заменит 4 команды расширения в стороны, если кому-то хочется), /rg claim, а с //expand vert справится wgextender и получится ровно такой приват, какой хочется по форме и расположению границ.
     
  9. Автор темы
    heroarthas

    heroarthas Ньюби

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

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