Gwozdb7 Опубликовано 30 июня, 2025 Поделиться Опубликовано 30 июня, 2025 Короче, хочу сделать границу мира но без /worldborder а именно так что бы наносился урон (не важно эффектом или командой /damage, но лучше дамагом) за границой с -92 ~ -166 по 114 ~ 114 не дамажит, но за этими координатами бьет по 2 хп (1 сердце) или отравлением. Ссылка на комментарий Поделиться на другие сайты Поделиться
Щербатый бесстыдник Опубликовано 2 июля, 2025 Поделиться Опубликовано 2 июля, 2025 В 30.06.2025 в 23:19, Gwozdb7 сказал: Короче, хочу сделать границу мира но без /worldborder а именно так что бы наносился урон (не важно эффектом или командой /damage, но лучше дамагом) за границой с -92 ~ -166 по 114 ~ 114 не дамажит, но за этими координатами бьет по 2 хп (1 сердце) или отравлением. есть какой-то очень простой способ проверить в каких координатах находится игрок, с помощью примерно такого селектора - @a[dx=2,x=2], но у меня он никогда не работает. По этому дальше я опишу другой способ на скорбордах, он очень замороченный, но в перспективе более надёжный. основной механизм: /scoreboard objectives add PosX dummy (один раз в чат) - создаём скорборды для записи /scoreboard objectives add PosZ dummy (один раз в чат) execute as @a at @s store result score @s PosX run data get entity @s Pos[0] (цикличный, всегда активный) - пихаем коорды игрока в скорборды execute as @a at @s store result score @s PosX run data get entity @s Pos[0] (цикличный, всегда активный) execute as @a at @s unless entity @s[scores={PosX=-92..114}] run tag @s remove inzoner (цикличный, всегда активный) - у игроков за зоной удаляется тег execute as @a at @s unless entity @s[scores={PosZ=-166..114}] run tag @s remove inzoner (цикличный, всегда активный) execute as @a at @s if entity @s[scores={PosX=-92..114}] if entity @s[scores={PosZ=-166..114}] run tag @s add inzoner (цикличный, всегда активный) -игроку в зоне даётся тег а дальше ты сможешь просто проверять наличие или отсутствие у игрока тега "inzoner", например: execute as @a at @s unless entity @s[tag=inzoner] run title @s actionbar "вы за зоной" (цикл, актив) пишет над хотбаром сообщение если игрок за зоной execute as @a at @s if entity @s[tag=inzoner] run title @s actionbar "вы в зоне" (цикл, актив) пишет над хотбаром сообщение если игрок в зоне execute as @a at @s unless entity @s[tag=inzoner] run damage @s 2 (цикл, актив) наносит урон если игрок за зоной execute as @a at @s unless entity @s[tag=inzoner] run particle dust_color_transition{from_color:[0.0,1.0,0.62],scale:3,to_color:[0.0,0.0,0.0]} ~ ~ ~ 1 0 1 1 1 (цикл, актив) партиклы :) execute as @a at @s unless entity @s[tag=inzoner] run effect give @s minecraft:poison infinite 1 true (цикл, актив) отравление для игроков за зоной execute as @a at @s if entity @s[tag=inzoner] run effect clear @s minecraft:poison (цикл, актив) отмена отравления для игроков в зоне Ссылка на комментарий Поделиться на другие сайты Поделиться
GhostoFBU Опубликовано 3 июля, 2025 Поделиться Опубликовано 3 июля, 2025 17 часов назад, Sench_mp4 сказал: способ на скорбордах Если границы фиксированы и никогда не поменяются, то можно без скорбордов: tag @a remove out_border execute as @a at @s unless predicate {condition:"minecraft:location_check",predicate:{position:{x:{min:-92,max:114},z:{min:-166,max:114}}}} run tag @s add out_border title @a[tag=out_border] actionbar {text:"Вы за границей!",color:"red"} effect give @a[tag=out_border] minecraft:wither 1 Щербатый бесстыдник 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 3 сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти