Diemtur Опубликовано 8 марта, 2022 Поделиться Опубликовано 8 марта, 2022 Всем ку, версия майна 1.18.1 Идея такова: Как в РПГ играх по типу Skyrim или новый Elden Ring, Игрок проходит ко входу в локацию (например данж) и показывается название локации например "Руины" и подзаголовок "Этаж 1", и проигрывается звук. Я нашёл подходящие команды: 1. execute as @a[x=-49,y=4,z=-162,dx=5,dy=5,dz=5] run - условие что команда активируется в определенном радиусе 2. title @p title {"text":"Руины", "color":"white"} - заголовок 3. title @p subtitle {"text":"Этаж 1","color":"gray"} - подзаголовок 4. playsound minecraft:ambient.basalt_deltas.mood ambient @a ~ ~ ~ 4 0.7 - звук Но я не знаю как их правильно расположить и когда использую команды 1 и 2 с цикличным блоком, то название просто спамится, а мне нужно чтобы название появилось один раз, и каждый раз при заходе в данж. Я знаю что можно это исправить добавлением тега для игрока, но не могу найти рабочую команду. У меня есть концепт, но не знаю как реализовать командами и будет ли работать: Игрок заходит в данж (поле активации) -> проигрывается название и т д -> игроку присваивается тег чтобы не проигрывалось название локации и т д снова -> после выхода из данжа есть еще одно поле, которые очищает теги у игроков (возможно поле чуть дальше от входа данжа) чтобы при следующем заходе в данж снова показывало название. Надеюсь всё понятно объяснил. РЕШЕНО: Получилось реализовать свой концепт при помощи тегов: При входе в данж есть поле которое снимает тег (в данном случае название тега = ruin):1. (Цикличный/Всегда Активный) tag @a[x=-16,y=5,z=-225,dx=1,dy=5,dz=1] remove ruin Далее, после входа, следует еще одно поле которые активирует команды названия, подзаголовка и звука для игроков у которых нет тега ruin, и в конце добавляет игроку тег = ruin чтобы команда не спамила.2. (Цикличный/Всегда Активный) title @a[tag=!ruin,x=-16,y=5,z=-228,dx=1,dy=5,dz=1] title {"text":"Руины", "color":"white"}3. (Цепной/Всегда Активный) title @a[tag=!ruin,x=-16,y=5,z=-228,dx=1,dy=5,dz=1] subtitle {"text":"Этаж 1","color":"gray"}4. (Цепной/Всегда Активный) execute as @a[tag=!ruin,x=-16,y=5,z=-228,dx=1,dy=5,dz=1] run playsound minecraft:ambient.basalt_deltas.mood ambient @s -16 6 -228 1 0.75. (Цепной/Всегда Активный) tag @a[x=-16,y=5,z=-228,dx=1,dy=5,dz=1] add ruin На видео пример того что получилось: https://drive.google.com/file/d/130PaFLg8-rSlyKmNGNW3FmFeYop55qDe/view?usp=sharing В принципе это всё что я хотел, спасибо огромное ребят! НО На последок остались пару вопросов: 1. Что если данж не является закрытым помещением? Как сделать чтобы работало второе поле я еще понимаю (просто увеличить радиус активации наверное). Но как сделать так, чтобы тег убирался каждый раз как ты уходишь с этого радиуса? наделать кучу полей вокруг которые будут убирать тег? 2. Можно ли воспроизводить звук не в определённой точке (как у меня в примере) а только в голове у игрока? в плане, чтобы двигался и звук везде был одинаковый. Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 просто если игрок не в данже забирай тег Ссылка на комментарий Поделиться на другие сайты Поделиться
Ploxy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 Ну смотри, ставишь первую команду в цикличный кб (без run) и ставишь всегда активен, присоединяешь к нему компаратор, чтобы два факела смотрели на кб. И потом подсоединяешь к компаратору импульсные кб с текстом и звуком (либо просто цепочку сделай). Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 17 минут назад, Ploxy сказал: присоединяешь к нему компаратор не надо тут извращений Ссылка на комментарий Поделиться на другие сайты Поделиться
Ploxy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 Мммм, щас бы тег использовать, хотя чтобы проверить его надо ещё один execute И если использовать execute будет много импульсов а нужен 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 9 минут назад, Ploxy сказал: Мммм, щас бы тег использовать, хотя чтобы проверить его надо ещё один execute И если использовать execute будет много импульсов а нужен 1 а если функции в датапаке? М? 15 часов назад, Diemtur сказал: Всем ку, версия майна 1.18.1 Идея такова: Как в РПГ играх по типу Skyrim или новый Elden Ring, Игрок проходит ко входу в локацию (например данж) и показывается название локации например "Руины" и подзаголовок "Этаж 1", и проигрывается звук. Я нашёл подходящие команды: 1. execute as @a[x=-49,y=4,z=-162,dx=5,dy=5,dz=5] run - условие что команда активируется в определенном радиусе 2. title @p title {"text":"Руины", "color":"white"} - заголовок 3. title @p subtitle {"text":"Этаж 1","color":"gray"} - подзаголовок 4. playsound minecraft:ambient.basalt_deltas.mood ambient @a ~ ~ ~ 4 0.7 - звук Но я не знаю как их правильно расположить и когда использую команды 1 и 2 с цикличным блоком, то название просто спамится, а мне нужно чтобы название появилось один раз, и каждый раз при заходе в данж. Я знаю что можно это исправить добавлением тега для игрока, но не могу найти рабочую команду. У меня есть концепт, но не знаю как реализовать командами и будет ли работать: Игрок заходит в данж (поле активации) -> проигрывается название и т д -> игроку присваивается тег чтобы не проигрывалось название локации и т д снова -> после выхода из данжа есть еще одно поле, которые очищает теги у игроков (возможно поле чуть дальше от входа данжа) чтобы при следующем заходе в данж снова показывало название. Надеюсь всё понятно объяснил. 1-ой командой давай тег 2,3,4 в цепочку выполняется относительно игрока с тегом В конце цепочки забирать тег Ссылка на комментарий Поделиться на другие сайты Поделиться
Ploxy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 12 минут назад, Shomen сказал: а если функции в датапаке? М? 1-ой командой давай тег 2,3,4 в цепочку выполняется относительно игрока с тегом В конце цепочки забирать тег Едрить... Ты понимаешь что оно будет зациклено? Тег дают, относительно игрока с тегом выполняются команды, забирают тег, и всё заново начинается, понимаешь? Ссылка на комментарий Поделиться на другие сайты Поделиться
Shomen Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 5 минут назад, Ploxy сказал: Едрить... Ты понимаешь что оно будет зациклено? Тег дают, относительно игрока с тегом выполняются команды, забирают тег, и всё заново начинается, понимаешь? 1 дается тем кто зашел в локацию Ссылка на комментарий Поделиться на другие сайты Поделиться
Ploxy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 1 минуту назад, Shomen сказал: 1 дается тем кто зашел в локацию Я не понимаю что ты говоришь, но если ты хочешь 1 раз активировать цепочку то напомню что попросили чтобы она активировалась каждый раз когда игрок входит в данж Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 9 марта, 2022 Автор Поделиться Опубликовано 9 марта, 2022 8 часов назад, Shomen сказал: просто если игрок не в данже забирай тег а можно рабочую команду для тега? я не могу найти в инете. Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 думаю я знаю как это можно сделать, но мне нужно некоторое время чтобы написать и проверить как это будет работать Ссылка на комментарий Поделиться на другие сайты Поделиться
Ploxy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 15 минут назад, Diemtur сказал: а можно рабочую команду для тега? я не могу найти в инете. Ты через тег это не сделаешь, лучше используй мой способ Команда для тега - tag <цель> add <тег> Чтобы убрать - tag <цель> remove <тег> Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 9 марта, 2022 Автор Поделиться Опубликовано 9 марта, 2022 28 минут назад, NecRoZ сказал: думаю я знаю как это можно сделать, но мне нужно некоторое время чтобы написать и проверить как это будет работать было бы здорово 24 минуты назад, Ploxy сказал: Ты через тег это не сделаешь, лучше используй мой способ Команда для тега - tag <цель> add <тег> Чтобы убрать - tag <цель> remove <тег> Спасибо, я 2 способа попробую всё равно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 3 минуты назад, Diemtur сказал: было бы здорово Спасибо, я 2 способа попробую всё равно. а тебе надо чтобы это срабатывало каждый раз когда человек туда приходи или только 1 раз? Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 9 марта, 2022 Автор Поделиться Опубликовано 9 марта, 2022 3 минуты назад, NecRoZ сказал: а тебе надо чтобы это срабатывало каждый раз когда человек туда приходи или только 1 раз? Каждый раз, но не спамился. Ну как и в любых подобных играх которые я привёл в пример, заходишь на локу показывает название. Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 14 минут назад, Diemtur сказал: Каждый раз, но не спамился. Ну как и в любых подобных играх которые я привёл в пример, заходишь на локу показывает название. просто проблема в том, что в команде нельзя исключить какие-то координаты, поэтому появляется проблема с тем, что не получается определить вышел игрок из территории или нет без её зацикливания Но вообще, если у тебя можно как-то по другому определить вышел игрок с территории или нет(например если это отдельная локация, выход из которой происходит с помощью кб) то можно использовать мою часть, если нет то ничем помочь не могу Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 9 марта, 2022 Поделиться Опубликовано 9 марта, 2022 а так у меня получилось вот это: 1 кб - цикличный, всегда активен: title @a[tag=!123,x=-49,y=4,z=-162,dx=5,dy=5,dz=5] title {"text":"Руины", "color":"white"} 2 кб - цепной, всегда активен: title @a[tag=!123,x=-49,y=4,z=-162,dx=5,dy=5,dz=5] subtitle {"text":"Этаж 1","color":"gray"} 3 кб - цепной, всегда активен: execute as @a[tag=!123,x=-49,y=4,z=-162,dx=5,dy=5,dz=5] run playsound minecraft:ambient.basalt_deltas.mood ambient @s ~ ~ ~ 4 0.7 4 кб - цепной, всегда активен: tag @a[x=-49,y=4,z=-162,dx=5,dy=5,dz=5] add 123 Ссылка на комментарий Поделиться на другие сайты Поделиться
Diemtur Опубликовано 9 марта, 2022 Автор Поделиться Опубликовано 9 марта, 2022 2 часа назад, NecRoZ сказал: а так у меня получилось вот это: 1 кб - цикличный, всегда активен: title @a[tag=!123,x=-49,y=4,z=-162,dx=5,dy=5,dz=5] title {"text":"Руины", "color":"white"} 2 кб - цепной, всегда активен: title @a[tag=!123,x=-49,y=4,z=-162,dx=5,dy=5,dz=5] subtitle {"text":"Этаж 1","color":"gray"} 3 кб - цепной, всегда активен: execute as @a[tag=!123,x=-49,y=4,z=-162,dx=5,dy=5,dz=5] run playsound minecraft:ambient.basalt_deltas.mood ambient @s ~ ~ ~ 4 0.7 4 кб - цепной, всегда активен: tag @a[x=-49,y=4,z=-162,dx=5,dy=5,dz=5] add 123 Использовал твой код, спасибо, обновил тему, но остались еще пару вопросов. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 18 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти