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

/playsound на определëнном растоянии


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

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

Я строю хоррор карту в которую можно поиграть с друзьями и мне нужно сделать так чтобы когда "Имя игрока" находился в растоянии 10 блоков от другого игрока начинался playsoud heart (это звуки сердце биения) при этом нужно сделать так чтобы звук 999раз не накладывался друг на друга а начинал проигрываться лишь один раз. Команда как по мне действительно сложная но связи с отсутствием должного опыта в этом деле командой /execut мне не удалось это реализовать, даже пытался сделать так чтобы когда подходил к зомби начинал играть этот эмбиент, но нечего не получилось. За ранее спасибо что помогаете мне.

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

Выполняй эту команду

/scoreboard objectives add H dummy

Эту команду в цикличный блок

/execute as @a[tag=!killer] at @s if entity @a[tag=killer,distance=..20] run scoreboard players add @s H 3

А эти в цепные вслед за ним.

/execute as @a[tag=!killer] at @s if entity @a[tag=killer,distance=..14] run scoreboard players add @s H 1

/execute as @a[tag=!killer] at @s if entity @a[tag=killer,distance=..8] run scoreboard players add @s H 1

/execute as @a if score @s H matches 50.. run scoreboard players set @s H 0

/execute as @a[tag=!killer] at @s if entity @a[tag=killer,distance=..20] if score @s H matches 0 run playsound minecraft:entity.warden.heartbeat ambient @s

 

Сердцебиение будет ускоряться по мере приближения к убийце.

Что бы сделать игрока убийцей, напиши команду /tag Ник add killer

Что бы убрать тэг убийцы /tag Ник remove killer

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

В 24.08.2022 в 23:54, Govoru сказал:

Я строю хоррор карту в которую можно поиграть с друзьями и мне нужно сделать так чтобы когда "Имя игрока" находился в растоянии 10 блоков от другого игрока начинался playsoud heart (это звуки сердце биения) при этом нужно сделать так чтобы звук 999раз не накладывался друг на друга а начинал проигрываться лишь один раз. Команда как по мне действительно сложная но связи с отсутствием должного опыта в этом деле командой /execut мне не удалось это реализовать, даже пытался сделать так чтобы когда подходил к зомби начинал играть этот эмбиент, но нечего не получилось. За ранее спасибо что помогаете

Похоже команда у меня не работает, но спасибо вам за то что вы пытались мне помочь! <3

Могу отослать вам видео ряд в котором я делал все вами указанные действия но у меня нечего не вышло

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

Создаём задачу
scoreboard objectives add heartBeat dummy


В цикл
execute at @a[tag=killer] run scoreboard players add @a[tag=!killer,distance=..20] heartBeat 1
execute at @a[tag=killer] run scoreboard players add @a[tag=!killer,distance=..14] heartBeat 1
execute at @a[tag=killer] run scoreboard players add @a[tag=!killer,distance=..8] heartBeat 1

scoreboard players set @a[scores={heartBeat=50..}] heartBeat -1
(Звук доступен с версии 1.19 и выше)
execute as @a[scores={heartBeat=-1}] at @s run playsound minecraft:entity.warden.heartbeat master @s

scoreboard players set @a[scores={heartBeat=-1}] heartBeat 0

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

17 часов назад, Govoru сказал:

Похоже команда у меня не работает, но спасибо вам за то что вы пытались мне помочь! <3

Могу отослать вам видео ряд в котором я делал все вами указанные действия но у меня нечего не вышло

Причин, почему не работает, может быть несколько. 

1) Ты включил не все командные блоки в цепочке.

2) Ты поставил цепные блоки так, что они не выстраиваются в цепочку.

3) У тебя версия до 1.19, где не было сердцебиения

4) Ты пытался проверить это в одиночке. Нужно минимум два игрока - убийца и не убийца. При этом убийца серцебиение слышать не будет. 

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

16 часов назад, GhostoFBU сказал:

Создаём задачу
scoreboard objectives add heartBeat dummy


В цикл
execute at @a[tag=killer] run scoreboard players add @a[tag=!killer,distance=..20] heartBeat 1
execute at @a[tag=killer] run scoreboard players add @a[tag=!killer,distance=..14] heartBeat 1
execute at @a[tag=killer] run scoreboard players add @a[tag=!killer,distance=..8] heartBeat 1

scoreboard players set @a[scores={heartBeat=50..}] heartBeat -1
(Звук доступен с версии 1.19 и выше)
execute as @a[scores={heartBeat=-1}] at @s run playsound minecraft:entity.warden.heartbeat master @s

scoreboard players set @a[scores={heartBeat=-1}] heartBeat 0

Тут нужен не просто цикл. Порядок выполнения обычных цикличных блоков зависит от координат их установки. А значит с вероятностью 1/6 функция "scoreboard players set @a[scores={heartBeat=-1}] heartBeat 0" может выполняться раньше, чем "execute as @a[scores={heartBeat=-1}] at @s run playsound minecraft:entity.warden.heartbeat master @s" и позже, чем "scoreboard players set @a[scores={heartBeat=50..}] heartBeat -1". В этом случае звук, очевидно, никогда не будет проигрываться. Так что тут нужна либо функция, либо цепные блоки, что бы соблюсти порядок.

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

  • 9 месяцев спустя...

Я делаю хоррор карту. Мне нужно что бы звук проигровался з определенным шансом, по типу фоновых звуков в пещерах или в незере. Заранее спасибо

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

16 часов назад, Serhiy сказал:

Я делаю хоррор карту. Мне нужно что бы звук проигровался з определенным шансом, по типу фоновых звуков в пещерах или в незере. Заранее спасибо

рандомизатор найди в интернете, в предикатах вроде есть

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

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

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

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

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

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

Войти

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

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

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