shubka_ Опубликовано 28 декабря, 2025 Поделиться Опубликовано 28 декабря, 2025 на сервере я создал scoreboard score, который ведёт счёт побед у четырёх команд. как через команду execute сделать подведение итогов? именно создать логическую операцию в нескольких командных блоках, которые будут сравнивать счёт каждой команды, а команду с наибольшим количеством очков телепортирует на пьедестал с первым местом?? И как, например, нужно учитывать ничью, когда у двух команд одинаковое количество очков? Ссылка на комментарий Поделиться на другие сайты Поделиться
PhoenixTechu Опубликовано 29 декабря, 2025 Поделиться Опубликовано 29 декабря, 2025 есть мысль, можно вычитать по 1 очку от каждого счёта и таким образом определить место в списке, у кого счёт первее доберётся до 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
Щербатый бесстыдник Опубликовано 29 декабря, 2025 Поделиться Опубликовано 29 декабря, 2025 Мой способ вряд ли можно назвать оптимальным решением, но я его уже придумал, по этому напишу Сперва создаём 4 маркера с тегами в том месте куда должны будут телепортироваться победители после финала игры, важно чтобы между ними было минимальное расстояние, хотя бы в 0.0001 блока. summon minecraft:marker 0 64.01 0 {Tags:["4team","wictory_counter"]} summon minecraft:marker 0 64.02 0 {Tags:["3team","wictory_counter"]} summon minecraft:marker 0 64.03 0 {Tags:["2team","wictory_counter"]} summon minecraft:marker 0 64.04 0 {Tags:["1team","wictory_counter"]} Далее записываем в маркеры скорборд от вашего счётчика побед (можно изначально в них записывать), а также присваиваем *wictory счёт 0 scoreboard players operation @e[tag=4team] score = ваш счётчик от команды 4 scoreboard players operation @e[tag=3team] score = ваш счётчик от команды 3 scoreboard players operation @e[tag=2team] score = ваш счётчик от команды 2 scoreboard players operation @e[tag=1team] score = ваш счётчик от команды 1 scoreboard players set *wictory score 0 И в конце копируем в *wictory самый большой скорборд, убиваем все маркеры чей скорборд меньше чем это значение, и либо объявляем ничью если осталось больше одного маркера, либо объявляем победу определённой команды и телепортируем победителей execute at @n[tag=4team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=4] @s execute at @n[tag=3team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=3] @s execute at @n[tag=2team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=2] @s execute at @n[tag=1team] unless entity @n[tag=wictory_counter,distance=0.0001..] run tp @a[team=1] @s execute at @n[tag=wictory_counter] if entity @n[tag=wictory_counter,distance=0.0001..] run say ничья execute as @e[tag=wictory_counter] at @s if score @s score < *wictory score run kill @s execute as @e[tag=wictory_counter] at @s if score @s score > *wictory score run scoreboard players operation *wictory score = @s score Hibbe, PhoenixTechu и GhostoFBU 2 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 3 сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти