Как я могу разрешить всем игрокам использовать команду телепортации без использования модов или разрешений на операции? [дубликат]

Я только что создал сервер Minecraft 1.13.1 и задавался вопросом, есть ли способ дать всем команду телепортации, даже если они не работают. Если нет, могу ли я заставить их действовать, но иметь доступ только к команде телепорта?


Для телепортации требуются разрешения оператора. Невозможно разрешить телепортацию без других чит-команд (без внешних модов).

Если вы знаете всех людей на своем сервере или знаете все места, куда хотите телепортироваться, вы может иметь серию командных блоков , которые можно активировать. Вот несколько идей:

Командный блок, который телепортирует игрока к:

  • определенному имени пользователя на сервере (один командный блок на игрока) .
  • ближайший игрок
  • случайный игрок
  • конкретные координаты, такие как база или ориентир человека (один командный блок на ориентир ).

Затем вы можете разместить командный блок на базе каждого человека, который вернет его к месту появления, где они затем смогут выбрать, куда они хотят пойти. Это не так гибко, как команда/tp, но несколько командных блоков должны быть в состоянии позаботиться о большинстве сценариев, в которых игроки хотят телепортироваться.


Вы не можете предоставить доступ только команде /teleport , но вы можете подготовить для них /trigger использовать.

Сначала создайте три табло для координат:

 /Scoreboard tasks добавить x триггерные/табло целей добавить y триггерные/табло целей добавить z  триггер  

Тип trigger — это то, что позволяет устанавливать их не-OP.

Затем вы включаете их могут использовать все:

 /scoreboard player enable @ ax/scoreboard player enable @ ay/Scoreboard Players enable @az  

Это нужно делать в часах, потому что использование триггера автоматически отключает его для этого игрока.

Теперь игроки могут использовать такие команды, чтобы устанавливать свои координаты цели:

 /trigger x/trigger x добавить 123/t  rigger x set 456  

Первый из них добавляет 1 к значению на табло для этого игрока, остальные должны быть очевидны.

Далее вам нужно что-то чтобы начать телепортацию. Вы можете использовать это с еще одним триггером, из которого вы постоянно проверяете, установил ли кто-то его на 1 для себя, вы можете использовать классический переименованный предмет на земле, вы можете делать это всякий раз, когда кто-то 100 раз прыгает на месте, и т. Д. все это можно найти в другом месте. Я предполагаю, что какой бы механизм вы ни использовали, проигрыватель помечает « toTeleport «.

Теперь о самой телепортации: вы не можете просто сказать /teleport @p и т. д., поэтому вам нужно использовать объект, координаты которого вы можете установить в NBT. Подставка для доспехов — хороший манекен:

 /execute at @p [tag = toTeleport] run summon armor_stand ~ ~ ~ {Marker: 1, NoGravity: 1, NoAI:  1, Невидимый: 1, Теги: ["teleportHelper"]}  

Предполагается, что любая система обнаружения, которую вы используете для инициализации телепортации, дает игроку toTeleport тег.

И в этом весь трюк: в отличие от игроков, другие сущности можно телепортировать куда угодно, используя их тег Pos NBT, который вы можете установить на произвольное числа с использованием /execute store :

 /execute store result entity @e [tag = teleportHelper, limit = 1] Pos [0] double  Игроки на табло результатов за 1 запуск получают @p [tag = toTeleport] x/выполнение сохраняют объект результата @e [tag = teleportHelper, limit = 1] Pos [1] удваивают Табло результатов за 1 запуск получают @p [tag = toTeleport] y/выполняют магазин  result entity @e [tag = teleportHelper, limit = 1] Pos [2] double 1 run scoreboard игроки получают @p [tag = toTeleport] z  

Эти три команды должны быть в цепочке (предпочтительно y ваша обычная цепочка блоков команд цикла), за которой следует эта команда:

 /tp @p [tag = toTeleport] @e [tag = teleportHelper, limit = 1]  

Важно, чтобы вы телепортировали игрока к стойке для брони в том же тике, в котором вы установили тег Pos , иначе кусок может выгружаться и телепортация не удалась.

Затем вы просто очистите все:

 /kill @e [tag = teleportHelper]/tag remove @p [tag  = toTeleport] toTeleport  

Эта система должна нормально работать в многопользовательском режиме, даже если два игрока активируют ее в одно и то же время, один будет телепортирован на один игровой тик позже.

Спасибо vdvman1 в чате Eigencraft Discord, который сказал мне, что /trigger работает с числами и что вы можете телепортироваться к удаленным объектам, если они были загружены в начале галочки.


Это оптимизированная версия вышеупомянутого с использованием функций, которые также будут лучше справляться с многопользовательской игрой, это позволит любое количество игроков, которые могут телепортироваться за один тик в свои индивидуальные пункты назначения. Написано vdvman1.

  # запустить oncescoreboard цели добавить x триггерыcoreboard цели добавить y триггеры coreboard цели добавить z триггеры задачи coreboard добавить tp триггер  

  # запускать каждый tickexecute как @a запустить функцию tp_trigger  

  # tp_trigger.mcfunctionscoreboard player enable @  s проигрыватели xscoreboard включают @s проигрыватели yscoreboard включают @s zexecute, если счет @s tp совпадает с 1 .. запустить функцию tp_activate  

  # tp_activate. mcfunctionscoreboard игроки устанавливают @s tp 0scoreboard плееры включают работу @s tpscoreboard #current x = @s xscoreboard Players operation #current y = @s yscoreboard player operation #current z = @s ztag @s add tp_trigger_summon area_effect_cloud ~ ~ ~ {Теги:  ["tp_trigger_target"]} выполнить как @e [type = area_effect_cloud, tag = tp_trigger_target, limit = 1] запустить функцию set_pos.mcfunctiontag @s remove tp_trigger_source  

   # set_pos.mcfunctionexecute сохранить объект результата @s Pos [0] double 1 run scoreboard игроки получают #current xexecute сохранить объект result entity @s Pos [1] double 1 run Scoreboard игроки получают #current yexecute сохранить результат объекта @s  Pos [2] double 1 run Scoreboard: игроки получают #current zexecute при @s run tp @a [tag = tp_trigger_source, limit = 1] ~ ~ ~  

Оцените статью
Gamicon.ru
Добавить комментарий