Rozy Опубликовано 7 декабря, 2025 Поделиться Опубликовано 7 декабря, 2025 Мне нужно реализовать систему которая будет определять вход в определённую область или её покидание, и запускать для соответствующего игрока одну из функций, эти области задаются при помощи сферы т.е. distance=..10 но не думаю что это важно, области генерируются динамически, т.е. задаются маркерами их может быть сколько угодно штук и каждая должна действовать независимо. проблема в том что нужно постараться избежать использование макросов. Хотя не факт что реализация без макросов окажется менее нагружающей чем версия с ними, из идей которые у меня есть, это задавать айди в виде скорборда и игрокам и этим областям и уже проводить проверки через эти скорборды, проблема в том, что в таком случае придётся хранить массив айдишников которые придётся итерацией перебирать что тоже не есть очень хорошо, в общем жду ваших идей Ссылка на комментарий Поделиться на другие сайты Поделиться
cota5 Опубликовано 8 декабря, 2025 Поделиться Опубликовано 8 декабря, 2025 14 часов назад, Rozy сказал: Мне нужно реализовать систему которая будет определять вход в определённую область или её покидание, и запускать для соответствующего игрока одну из функций, эти области задаются при помощи сферы т.е. distance=..10 но не думаю что это важно, области генерируются динамически, т.е. задаются маркерами их может быть сколько угодно штук и каждая должна действовать независимо. проблема в том что нужно постараться избежать использование макросов. Хотя не факт что реализация без макросов окажется менее нагружающей чем версия с ними, из идей которые у меня есть, это задавать айди в виде скорборда и игрокам и этим областям и уже проводить проверки через эти скорборды, проблема в том, что в таком случае придётся хранить массив айдишников которые придётся итерацией перебирать что тоже не есть очень хорошо, в общем жду ваших идей Я незнаю ваших умных слов по типу айди макросы итерайии и т.д, поэтому напишу то как я бы это сделал, а дальше ты скажи пойдёт или нет, и почему. execute as @a at точка if entity @s[distance..10] unless score @s чекать matches 1 run scoreboard players set @s чекать 1 execute as @a[scores={чекать=1}] at точка unless entity @s[distance=..10] run scoreboard players set @s чекать 0 Ссылка на комментарий Поделиться на другие сайты Поделиться
garmxd Опубликовано 8 декабря, 2025 Поделиться Опубликовано 8 декабря, 2025 макросы оказывают минимальные воздейсвтия на производительность, я бы сказал даже никакие. Глупо их не использовать Ссылка на комментарий Поделиться на другие сайты Поделиться
SHpriс Опубликовано 8 декабря, 2025 Поделиться Опубликовано 8 декабря, 2025 2 часа назад, cota5 сказал: at точка чё за бред Ссылка на комментарий Поделиться на другие сайты Поделиться
cota5 Опубликовано 8 декабря, 2025 Поделиться Опубликовано 8 декабря, 2025 1 час назад, ArtemLog2 сказал: чё за бред ну хорошо, at сущность, так подойдёт? нинадо тут душнить Ссылка на комментарий Поделиться на другие сайты Поделиться
SHpriс Опубликовано 8 декабря, 2025 Поделиться Опубликовано 8 декабря, 2025 5 минут назад, cota5 сказал: ну хорошо, at сущность, так подойдёт? нинадо тут душнить я подумал что он имел ввиду туда координаты написать Ссылка на комментарий Поделиться на другие сайты Поделиться
MrToxi Опубликовано 8 декабря, 2025 Поделиться Опубликовано 8 декабря, 2025 В 07.12.2025 в 21:38, Rozy сказал: Мне нужно реализовать систему которая будет определять вход в определённую область или её покидание, и запускать для соответствующего игрока одну из функций, эти области задаются при помощи сферы т.е. distance=..10 но не думаю что это важно, области генерируются динамически, т.е. задаются маркерами их может быть сколько угодно штук и каждая должна действовать независимо. проблема в том что нужно постараться избежать использование макросов. Хотя не факт что реализация без макросов окажется менее нагружающей чем версия с ними, из идей которые у меня есть, это задавать айди в виде скорборда и игрокам и этим областям и уже проводить проверки через эти скорборды, проблема в том, что в таком случае придётся хранить массив айдишников которые придётся итерацией перебирать что тоже не есть очень хорошо, в общем жду ваших идей Через плагин, но все же. как варик - создать таймер, который будет срабатывать условно раз в секунду. Все твои зоны хранятся в конфиге плагина, каждая зона это просто точка в мире и её радиус. Каждую секунду этот таймер берёт всех игроков на сервере и проверяет для каждого, не находится ли он внутри какой-нибудь из твоих зон. Чтобы понять, что игрок именно вошел или вышел, а не просто находится внутри, плагин хранит в памяти информацию о том, кто в какой зоне был во время прошлой проверки, на счет оптимизации - хз, но удобнее тем, что пользоваться в разы проще, чем /execute at.. блаблабла, командные блоки и все остальное Ссылка на комментарий Поделиться на другие сайты Поделиться
cota5 Опубликовано 20 декабря, 2025 Поделиться Опубликовано 20 декабря, 2025 В 18.12.2025 в 19:57, келсИ сказал: норм всё с оптимизацией будет, если нормально баккит рунейбл юзать да зачем какие-то плагины, 2 команды и всё Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 22 декабря, 2025 Автор Поделиться Опубликовано 22 декабря, 2025 В 20.12.2025 в 20:15, cota5 сказал: да зачем какие-то плагины, 2 команды и всё в 2 команды не получится Ссылка на комментарий Поделиться на другие сайты Поделиться
cota5 Опубликовано 22 декабря, 2025 Поделиться Опубликовано 22 декабря, 2025 59 минут назад, Rozy сказал: в 2 команды не получится да? В 08.12.2025 в 12:35, cota5 сказал: execute as @a at точка if entity @s[distance..10] unless score @s чекать matches 1 run scoreboard players set @s чекать 1 execute as @a[scores={чекать=1}] at точка unless entity @s[distance=..10] run scoreboard players set @s чекать 0 и чем это те не подходит? Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 23 декабря, 2025 Автор Поделиться Опубликовано 23 декабря, 2025 15 часов назад, cota5 сказал: да? и чем это те не подходит? в данном случае у тебя всего 1 скорборд для игрока а значит ты сможешь определить находится ли он внутри внутри какой-то 1 зоны, да она может состоять изнескольких областей, но это всёё ещё будет 1 зона, так же тут проблема в том, что тут определение идёт от игрока а не от зоны, а значит от игрока нельзя точно сказать что какую зону он покинул Ссылка на комментарий Поделиться на другие сайты Поделиться
cota5 Опубликовано 23 декабря, 2025 Поделиться Опубликовано 23 декабря, 2025 54 минуты назад, Rozy сказал: в данном случае у тебя всего 1 скорборд для игрока а значит ты сможешь определить находится ли он внутри внутри какой-то 1 зоны, да она может состоять изнескольких областей, но это всёё ещё будет 1 зона, так же тут проблема в том, что тут определение идёт от игрока а не от зоны, а значит от игрока нельзя точно сказать что какую зону он покинул Во 1 определение дистанции идет от точки, с чего ты взял что от игрока? Мы взяли точку как центр зоны, и проверчем находится ли в дистанции ..10 блоков от центра этой точки. А по поводу многослойности, либо сделай систему у очков на скорборде, либо неск скорбордов создай, это не сложно Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 23 декабря, 2025 Автор Поделиться Опубликовано 23 декабря, 2025 8 часов назад, cota5 сказал: Во 1 определение дистанции идет от точки, с чего ты взял что от игрока? Мы взяли точку как центр зоны, и проверчем находится ли в дистанции ..10 блоков от центра этой точки. А по поводу многослойности, либо сделай систему у очков на скорборде, либо неск скорбордов создай, это не сложно короче, фигня твой метод, если хочешь подробный объяснений напиши мне в дс я там в гс могу объяснить что и как не так Ссылка на комментарий Поделиться на другие сайты Поделиться
Hibbe Опубликовано 24 декабря, 2025 Поделиться Опубликовано 24 декабря, 2025 Только что, смегевемене сказал: развивайте свои навыки печатанья! И еще излагать мысли в текст Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 24 декабря, 2025 Автор Поделиться Опубликовано 24 декабря, 2025 1 час назад, смегевемене сказал: развивайте свои навыки печатанья! слушай, я выбрал голосовой способ общения потому что это быстрее, проще, а так же я имел возможность включить демку, что так же делает это и нагляднее, и вообще что за притензия? мы с челом созвонились, поговорили, он всё понял. что не так то? Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 15 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти