Dragoh Опубликовано 24 ноября, 2024 Поделиться Опубликовано 24 ноября, 2024 Мне нужно чтобы когда игрока в команде 1 бьёт игрок в команде 2 при помощи палки, игроку в команде 1 выдавался эффект замедления, никак не получается, посмотрел гайды так ничего и не понял, помогите плз Ссылка на комментарий Поделиться на другие сайты Поделиться
quark-gluon plasma Опубликовано 24 ноября, 2024 Поделиться Опубликовано 24 ноября, 2024 33 minutes ago, Dragoh said: Мне нужно чтобы когда игрока в команде 1 бьёт игрок в команде 2 при помощи палки, игроку в команде 1 выдавался эффект замедления, никак не получается, посмотрел гайды так ничего и не понял, помогите плз https://ru.minecraft.wiki/w/Система_счёта_игровых_событий https://ru.minecraft.wiki/w/Статистика#Основная_статистика Для такого нужна будет цепь командых блоков или, что лучше, функции в датапаках. Я не нашёл скорборда на нанесение урона определённой команде, поэтому придётся ловить разницу урона в принципе. Когда произошло обнаружение нанесения (или получения, смотря что удобнее) проверяем команды обоих сущностей, SelectedItem у атакующего и выдаём эффект. Ссылка на комментарий Поделиться на другие сайты Поделиться
PhoenixTechu Опубликовано 24 ноября, 2024 Поделиться Опубликовано 24 ноября, 2024 на самом деле это очень легко сделать через execute on GhostoFBU 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
KlasterK Опубликовано 25 ноября, 2024 Поделиться Опубликовано 25 ноября, 2024 Для моего костыльного решения нужна цепочка командных блоков: Цикличный, безусловный, всегда активен → Цепной, безусловный, всегда активен → Цепной, условный, всегда активен → Цепной, безусловный, всегда активен А также выполнить команду (Obj можно заменить на другое название): scoreboard objectives add Obj trigger Команда для 1-го КБ (где T1 это команда жертвы): execute as @a[nbt={HurtTime: 10s}, scores={Obj=0}, team=T1] run trigger Obj set 1 Команда для 2-го КБ (где T2 это команда атакующего, а SelectedItem это нужный предмет): execute as @a[scores={Obj=1}] on attacker run execute if entity @s[team=T2, nbt={SelectedItem: {id: "minecraft:stick"}}] Команда для 3-го КБ (где ... это дальнейшие аргументы команды effect): execute as @a[scores={Obj=1}] run effect give @s ... Команда для 4-го КБ: execute as @a[scores={Obj=1}] run trigger Obj set 0 Я сказал, что решение костыльное, т. к. команда выдачи эффекта исполняется несколько раз. Плюс не забудь поставить :) GhostoFBU 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
GhostoFBU Опубликовано 25 ноября, 2024 Поделиться Опубликовано 25 ноября, 2024 15 часов назад, PhoenixTechu сказал: execute on 2 часа назад, KlasterK сказал: on attacker На 1.16.5 нету /execute on Решение через командные блоки: # Создай задачи scoreboard objectives add damage_dealt minecraft.custom:minecraft.damage_dealt scoreboard objectives add damage_taken minecraft.custom:minecraft.damage_taken # Цикл execute as @a[scores={damage_taken=1..}] if entity @a[scores={damage_dealt=1..},nbt={SelectedItem:{id:"minecraft:stick"}}] run effect give @s minecraft:glowing 1 scoreboard players reset @a damage_dealt scoreboard players reset @a damage_taken Через дата пак (точность поиска больше): Создай достижение (data/{namespace}/{advancements}/{advancement}): { "criteria": { "": { "trigger": "minecraft:entity_hurt_player", "conditions": { "damage": { "source_entity": { "type": "minecraft:player", "equipment": { "mainhand": { "item": "minecraft:stick" } } } } } } }, "rewards": { "function": "{namespace}:{function}" } } Функция (data/{namespace}/{functions}/{function}): # Место для команд effect give @s minecraft:glowing 1 # Отзываем достижение, чтобы можно было ещё раз затриггерить advancement revoke @s from {namespace}:{advancement} Davary и PhoenixTechu 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
PhoenixTechu Опубликовано 25 ноября, 2024 Поделиться Опубликовано 25 ноября, 2024 1 час назад, GhostoFBU сказал: На 1.16.5 нету /execute on да, понимаю, поэтому не смог дать решение. твой способ на кб максимально прост, но не уверен о его точности. в любом случае ты проделал отличную работу 🤩 Ссылка на комментарий Поделиться на другие сайты Поделиться
Rozy Опубликовано 26 ноября, 2024 Поделиться Опубликовано 26 ноября, 2024 В 24.11.2024 в 22:42, PhoenixTechu сказал: на самом деле это очень легко сделать через execute on можно использовать достижение там это всё делается тоже достаточно просто Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
В теме 7 сообщений
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти