Я играю в эту пользовательскую игру под названием SUPER CRAFT BROS, и в этой пользовательской игре у нас есть 3 стандартных жизни.
Обычно я телепортирую всех вручную через 3 летальные исходы. Однако есть люди, которые обманывают и лгут.
Есть ли способ телепортировать их обратно к точке возрождения после трех смертей?
Если это для Legacy Console Edition, я не думаю, что это возможно, поскольку табло недоступно.
Однако, если это для Java Edition, это легко сделать с помощью критерия табло deathCount
.
Выполните эту команду:
цели на табло добавляют количество смертей deathCount
Это добавляет цель табло, называемую «смерти», которая увеличивается, когда игрок умирает.
Добавьте эту команду в повторяющийся, безусловный, всегда активный командный блок:
выполнить как @a [scores = {deaths = 3}] запустить tp @s XYZ
где X
, Y
и Z
— координаты, по которым вы хотите телепортировать людей, которые умер. Это приведет к непрерывному запуску команды tp @s XYZ
для всех игроков, у которых цель смерти
установлена равной 3.
Вышеупомянутый повторяющийся командный блок также означает, что игроки постоянно телепортируются, что означает, что они не могут двигаться. Есть два способа, о которых я могу думать прямо сейчас, которые будут работать только в том случае, если область, куда вы телепортируете игроков, не может быть доступна игрокам, которые не умерли 3 раза (извините, я не играю на Мы с Java не знаем такого количества команд).
Метод 1. Сброс счетчика смертей
Добавьте эту команду в повторяющийся, безусловный, всегда активный командный блок :
выполнить @a [x = X, y = Y, z = Z, dx = 1, dy = 2, dz = 1] запустить набор игроков на табло @a [ scores = {deaths = 3}] deaths 0
Это установит смерти всех игроков в X
, Y
, Z
на 0.
Метод 2: используйте теги
Это если вы не хотите сбрасывать счетчик.
Добавьте следующую команду к еще одному повторяющемуся, безусловному, всегда активному блоку команд:
выполнить как @a [scores = { deaths = 3}] запустить add tag needsToBeTeleported
Это добавит тег needsToBeTeleported
(или как вы хотите его назвать) всем игрокам. которые умерли 3 раза.
Затем вернитесь к блоку команд на шаге 2 и измените его на это:
выполнить как @a [tag = needsToBeTeleported] run tp @s XYZ
Это телепортирует всех игроков с тегом needsToBeTeleported
в X
, Y
, Z
.
Наконец, добавьте еще один повторяющийся, безусловный, всегда активный командный блок с командой:
execute @a [x = X, y = Y , z = Z, dx = 1, dy = 2, dz = 1] запустить тег @s удалить needsToBeTeleported
Это удалит тег needsToBeTeleported
от всех игроков в X
, Y
, Z
.
Кроме того, убедитесь, что все повторяющиеся блоки команд находятся в загруженном фрагменте, поместив их в фрагмент порождения, используя команду forceload
или просто разместив их в области, которую вы знаете кого-то будет постоянно.
Если вы не хотите, чтобы в чате были такие блоки команд, как Телепортировал в , ,
вы можете запустить gamerule commandBlockOutput false
.
Отказ от ответственности: я играю только в BE, поэтому я на самом деле не тестировал ни один из это не работает, но это должно работать.