Перейти к содержанию

Счетчик смертей одинаковый у игроков в одной команде а команд 2 RED и BLUE


Рекомендуемые сообщения

В теме 9 сообщений

Здрасте мне нужен счетчик смерти у команды RED и BLUE чтоб у них они были разными и отображались в табе
/scoreboard objectives setdisplay list deathCount
RED если у этой команды будет 80 смертей  то она проигрывает и выходит команда (Но как мне сделать чтоб у всех игроков которые состоят в этой команде сделать общее количество смертей? Если 1 один умирает то и 1 смерть дается всем)

Можно так сделать?

Ссылка на комментарий
Поделиться на другие сайты

:Impulse_Unconditional: scoreboard objectives add teamDeaths dummy

:Impulse_Unconditional: scoreboard objectives add deathCount deathCount

 

  • :Chain_Unconditional: scoreboard players reset @a[scores={deathCount=1..}] deathCount
  • :Chain_Unconditional: execute as @a[scores={deathCount=1..},team=BLUE] run scoreboard players add @a[team=BLUE] teamDeaths 1
  • :Repeating_Unconditional: execute as @a[scores={deathCount=1..},team=RED] run scoreboard players add @a[team=RED] teamDeaths 1

 

  • :Chain_Conditional: scoreboard players set @a teamDeaths 0
  • :Repeating_Unconditional: execute if score @a[team=RED,limit=1] teamDeaths matches 80.. run say 123

 

  • :Chain_Conditional: scoreboard players set @a teamDeaths 0
  • :Repeating_Unconditional: execute if score @a[team=BLUE,limit=1] teamDeaths matches 80.. run say 123
Ссылка на комментарий
Поделиться на другие сайты

Не хочу душнить, но если ты один раз научишься скорбордам, то у тебя больше не будет вопросов
https://minecraft-inside.ru/forum/topic/155041-scoreboard-гайд-113/


Для нашей задачи нужно создать скорборд который будет считать смерти, для этого пишем:
:Impulse_Unconditional: /scoreboard objectives add SuperGay deathCount
SuperGay это имя, я его выбрал по приколу, оно может быть любым
deathCount это тип, он определяет то что игрок будет получать очко после смерти

Чтобы проверить, отобрази скорборд при помощи команды:
:Impulse_Unconditional: /scoreboard objectives setdisplay
Теперь умри. Тебе в скорборд должно прибавиться очко (оставь, позже пригодится), это будет работать для всех игроков.

Но хранить важные для игры числа в игроках не очень удобно, так как игроки могут выйти из игры. К тому же нам нужно хранить смерти в виде одного числа, для удобство проверки. Для того чтобы сделать по крутому пиши следующие 2 команды:
:Impulse_Unconditional: /scoreboard players set *Dead_Red SuperGay 0
:Impulse_Unconditional: /scoreboard players set *Dead_Blue SuperGay 0

Ты создал что-то вроде переменных, мы можем записывать в них любые числа и делать с ними любые математические операции. При этом мы можем не бояться что в игру зайдёт игрок с таким же ником и всё нам сломает, потому что ников с символом * не бывает. Кароч ты меня понял.

Теперь давай научимся проверять игроков с числами в скорборде. Если у тебя есть очко за смерть, то пиши эту команду:
:Impulse_Unconditional: /execute as @a if score @s SuperGay matches 1.. run give @s minecraft:red_wool
Если выдалась шерсть, значит всё работает.
matches 1.. - обозначает что число равняется единице, а .. значит что числа побольше тоже подойдут. То есть проверка пройдёт если у игрока скорборд >= 1. Ещё можно использовать более умную версию этой команды, проверять через селектор, вот так:
:Impulse_Unconditional: /execute as @a[scores={SuperGay=1}] run give @s minecraft:red_wool
@a обозначает что следующий текст будет от лица всех игроков, а @s обозначает от первого лица. Например:
:Impulse_Unconditional: /execute as @a[team=Red] run give @s minecraft:red_wool - команда проиграется от лица КРАСНЫХ игроков и выдаст шерсть им всем
:Impulse_Unconditional: /execute as @a run give @s[team=Red] minecraft:red_wool - команда проиграется от лица ВСЕХ игроков, но выдаст шерсть только красным

Если объединить всё что мы узнали ранее то мы получим такую команду:
:Repeating_Unconditional: execute as @a[team=Red] if score @s SuperGay matches 1.. run scoreboard players reset @s SuperGay
Она переводится примерно так - Если игрок в красной команде имеет число >= единицы то ему чистится скорборд. Теперь нам надо чтобы сразу после этой команды, производилась ещё одна, для этого ставим сверху цикличный, всегда активный, условный, блок и пишем в нём следующее:
:Chain_Conditional: scoreboard players add *Dead_Red SuperGay 1
:Repeating_Unconditional: execute as @a[team=Red] if score @s SuperGay matches 1.. run scoreboard players reset @s SuperGay

Важно чтобы стрелки блоков смотрели в одну сторону. Теперь когда игрок в красной команде будет умирать, в переменную *Dead_Red будет прибавляться число. Тоже самое повтори с синей командой. Теперь когда у нас есть считалка, мы можем сделать проигрывание команды после достижения 80 очков.
:Repeating_Unconditional: execute if score *Dead_Red SuperGay matches 80.. run say игра закончилась, синие победили

Ссылка на комментарий
Поделиться на другие сайты

Еще помощь нужна можно сделать так если Боссбар закончился то та команда кто больше сделала смертей проиграла (воспоизводиться команда) Сам боссбар можете неписать)) 1.20.1

 

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, Гефест сказал:

Еще помощь нужна можно сделать так если Боссбар закончился то та команда кто больше сделала смертей проиграла (воспоизводиться команда) Сам боссбар можете неписать)) 1.20.1

 

 

ну просто когда у боссбара значение 0.

Проверяй у кого больше значение и выполняй команду

Ссылка на комментарий
Поделиться на другие сайты

11 минут назад, Гефест сказал:

Как мне это проверить?

 

ну если боссбар привязан к скорбоарду

то вот так

:Repeating_Unconditional: execute if score t time matches 0 run say 123

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...