Есть ли способ телепортировать кого-нибудь куда-нибудь после того, как он умер (x) раз? [закрыто]

Я играю в эту пользовательскую игру под названием 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, поэтому я на самом деле не тестировал ни один из это не работает, но это должно работать.

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