Cored Опубликовано 3 августа, 2023 Поделиться Опубликовано 3 августа, 2023 привет,и снова я,чел,который делает pubg внутри майнкрафта.Я решил реализовать дуо режим,полноценный,и игра проверяет,когда остаётся 2 игрока - пишет их в чате,и что они победили,но когда я закрыл майнкрафт,я подумал о другой стороне медали: А что если эти люди будут из разных команд? так я это оставить не смог,и решил подумать над решением проблемы.Ничего не смог придумать,и решил отписать а этом форуме,ибо уту по любому найдётся люди,которые разбираются в этой сфере явно лучше меня. В общем,сейчас команда в цепной,всегда активном командном блоке,выглядит так: /tellraw @a [{"text":"Победили игроки ","color":"yellow"},{"selector":"@a[gamemode=adventure]","color":"gold"}] Не маловажное условие:у меня есть счётчик игроков Players Мне же нужно,чтобы она проверяла,что осталось 2 последних выживших игрока в режиме приключения,и они из одной и той же команды(у меня команды называются как "team1-team10") Важные условия для срабатывания кб: 1)должно остаться 2 игрока в режиме приключения 2)оба игрока состоят в одной и той же команде 3)кб не срабатывает,если осталось 2 игрока и они в разных командах дополнение: У меня есть счётчик игроков,который называется Players Команда выглядит так: execute if score *players Players matches 2 run Say 1 но мне нужно,чтобы я мог не только указать,что игроков осталось двое,но и также,что они находятся в одной команде.Команды,которые у меня есть - team1-team10 Ссылка на комментарий Поделиться на другие сайты Поделиться
GhostoFBU Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 scoreboard players set *teams_alive Players 0 execute if entity @a[gamemode=adventure,team=team1] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team2] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team3] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team4] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team5] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team6] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team7] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team8] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team9] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team10] run scoreboard players add *teams_alive Players 1 execute if score *teams_alive Players matches 1 run say победили игроки: @a[gamemode=adventure] execute if score *teams_alive Players matches 0 run say никто не победил Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 1 час назад, GhostoFBU сказал: scoreboard players set *teams_alive Players 0 execute if entity @a[gamemode=adventure,team=team1] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team2] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team3] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team4] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team5] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team6] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team7] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team8] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team9] run scoreboard players add *teams_alive Players 1 execute if entity @a[gamemode=adventure,team=team10] run scoreboard players add *teams_alive Players 1 execute if score *teams_alive Players matches 1 run say победили игроки: @a[gamemode=adventure] execute if score *teams_alive Players matches 0 run say никто не победил А если у меня в каждой команде (team1-team10) по 2 игрока,это будет работать? Ещё такой момент:мне нкжно победителей объявить вне зависимости от того,умер один из составляющей команды или нет(они же оба вклад в победу вложили,не так ди?) Если что при смерти у меня моментальный перевод в спектаторы Но код интересный,даже немного нового узнал Дополнено:я понял как этот код работает,он проверяет,есть ли в команде кто-то,если есть - добавляет 1 в счётчик команды вне зависимости от числа участников команды.Я правильно понял? Как создать scoreboard teams_alive? Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 12 минут назад, Cored сказал: Как создать scoreboard teams_alive? Она появится сам из первой строчки, главное чтоб была задача Players Создать задачу Players можно с помощью: scoreboard objectives add Players dummy Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 13 минут назад, NotDen сказал: Она появится сам из первой строчки, главное чтоб была задача Players Создать задачу Players можно с помощью: scoreboard objectives add Players dummy Пасиба Такой ещё вопрос: Я понимаю что ты не тот чел,что написпл выше все команды,но мб ты сможешь помочь тоже Вот в счётчике team_alive допустим 5 Как из счётчика вычитается 1?в коде я не вижу команды,которая отвечает за вычитание одного из счётчика,емли команда мертва Нужно же как-то зафиксировать,что команда мертва Типа,можно через execute if entity @a[gamemode=adventure,team=team1] run scoreboard players отнять(хз как будет) *teams_alive Players 1 Это сработает? И как вычитать из счётчика?слкчаем не remove? Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 Только что, Cored сказал: Пасиба Такой ещё вопрос: Я понимаю что ты не тот чел,что написпл выше все команды,но мб ты сможешь помочь тоже Вот в счётчике team_alive допустим 5 Как из счётчика вычитается 1?в коде я не вижу команды,которая отвечает за вычитание одного из счётчика,емли команда мертва Нужно же как-то зафиксировать,что команда мертва Типа,можно через execute if entity @a[gamemode=adventure,team=team1] run scoreboard players отнять(хз как будет) *teams_alive Players 1 Это сработает? И как вычитать из счётчика? Для *teams_alive отсчет идёт вверх С начала записывается 0, и за каждую живую команду прибавляется 1 6 минут назад, Cored сказал: И как вычитать из счётчика?слкчаем не remove? Для вычитания вместо add используется remove Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 18 минут назад, NotDen сказал: Для *teams_alive отсчет идёт вверх С начала записывается 0, и за каждую живую команду прибавляется 1 Для вычитания вместо add используется remove Я когда последнее писал - перепутал гейммод,я хотел написать gamemode=spectator,и в таокм случае если оба игрокп а этой команде спектаторы - они кикаются из неё(чтобы постоянно 1 не вычитался) и отнимается 1 у teams_alive Это сработает,как думаете? Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 2 минуты назад, Cored сказал: Я когда последнее писал - перепутал гейммод,я хотел написать gamemode=spectator,и в таокм случае если оба игрокп а этой команде спектаторы - они кикаются из неё(чтобы постоянно 1 не вычитался) и отнимается 1 у teams_alive Это сработает,как думаете? 20 минут назад, NotDen сказал: Для *teams_alive отсчет идёт вверх С начала записывается 0, и за каждую живую команду прибавляется 1 Планируется что данные команды будут вызываться с каждым умершим или постоянно Каждый раз счетчик будет сбрасываться и считаться заново Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 17 минут назад, NotDen сказал: Планируется что данные команды будут вызываться с каждым умершим или постоянно Каждый раз счетчик будет сбрасываться и считаться заново Планируется,что когда в одной и той же команде два игрока умирвют и оказываются в наблюдателях - вычиталось 1 из teams_alive Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 Только что, Cored сказал: Планируется,что когда в одной и той же команде два игрока умирвют и оказываются в наблюдателях - вычиталось 1 из teams_alive Ну... Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 1 минуту назад, NotDen сказал: Ну... Код,который чел тот скинул - он прибавляет 1 к teams_alive,но не вычитает в случае гибели команды Таким образом игра никогда не закончится Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 1 минуту назад, Cored сказал: Таким образом игра никогда не закончится 22 минуты назад, NotDen сказал: Планируется что данные команды будут вызываться с каждым умершим или постоянно Каждый раз счетчик будет сбрасываться и считаться заново 1 минуту назад, Cored сказал: Код,который чел тот скинул - он прибавляет 1 к teams_alive,но не вычитает в случае гибели команды 2 часа назад, GhostoFBU сказал: scoreboard players set *teams_alive Players 0 В самом начале стоит сброс значения Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 1 минуту назад, NotDen сказал: Я не понимаю Можешь переформулировать? Если что,ещё раз: Код выше(в самом верху) добааляет один к teams_alive Но там нигде нет вычитания,то есть вот у меня умерли 2 команды(в команде по 2 человека,вычитания должно быть только тогда,когда все участники команды имеют гейммод наблюдателя) и осталась одна команда.Но в счётчике по прежнему будут чилиться 3 команды,разве нет? 3 минуты назад, NotDen сказал: А,погоди Я кажется понял Ты предлагаешь весь этот код поставить в цикличный(самая первач команда) и цепные всегда активные командные блоки? Ссылка на комментарий Поделиться на другие сайты Поделиться
NotDen Опубликовано 4 августа, 2023 Поделиться Опубликовано 4 августа, 2023 Только что, Cored сказал: Но там нигде нет вычитания,то есть вот у меня умерли 2 команды(в команде по 2 человека,вычитания должно быть только тогда,когда все участники команды имеют гейммод наблюдателя) и осталась одна команда.Но в счётчике по прежнему будут чилиться 3 команды,разве нет? В самом начале команда устанавливает счетчик в 0, после каждая следующая команду прибовляет 1 за каждую живую команду Так когда 1 команду умрёт, она не будет прибавляет ещё 1 2 минуты назад, Cored сказал: А,погоди Я кажется понял Ты предлагаешь весь этот код поставить в цикличный(самая первач команда) и цепные всегда активные командные блоки? Да Ссылка на комментарий Поделиться на другие сайты Поделиться
Cored Опубликовано 4 августа, 2023 Автор Поделиться Опубликовано 4 августа, 2023 1 минуту назад, NotDen сказал: В самом начале команда устанавливает счетчик в 0, после каждая следующая команду прибовляет 1 за каждую живую команду Так когда 1 команду умрёт, она не будет прибавляет ещё 1 Да Всё,понял Извиняюсь что туплю,спасибо огромное Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 15 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти