создание босса

Ustel

Новичок
Регистрация
22 Июн 2023
Сообщения
10
хочу в свою игру добавить босса. Как сделать так, чтобы если босса спихнули с острова то он возвращался, но надамаженным, а не чтобы его заново спавнить?
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
538
Если игрок бьет босса, если босс находится ниже такой-то высоты...
 

Sirenkaaa

Гость
Регистрация
12 Июл 2023
Сообщения
114
Просто переменную по умолчанию 100 сделать (если 100 хп), и 1 удар снижать 1 от переменной когда он сдохнет заспавнить нового с этой переменной
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
538
Просто переменную по умолчанию 100 сделать (если 100 хп), и 1 удар снижать 1 от переменной когда он сдохнет заспавнить нового с этой переменной
Зачем такие костыли? К тому же, пока моб упадет и умрет игрокам уже надоест играть.
 

Sirenkaaa

Гость
Регистрация
12 Июл 2023
Сообщения
114
Зачем такие костыли? К тому же, пока моб упадет и умрет игрокам уже надоест играть.
Сообщение объединено:

Ну тогда просто блоками обвести что-бы не падал.
 

Sirenkaaa

Гость
Регистрация
12 Июл 2023
Сообщения
114

Ustel

Новичок
Регистрация
22 Июн 2023
Сообщения
10
Кажись, админу данной темы уже всё равно на этот вопрос.
мне не все равно, просто я на работе сильно уставал, потому не следил за темой. Закрыть босса блоками вариант в моем случае не подойдет, потому что он будет на открытом острове.
Как насчет просто запретить мобу падение через код?
А вот как запретить падение мне интересно узнать. Можешь обьяснить?
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
538
мне не все равно, просто я на работе сильно уставал, потому не следил за темой. Закрыть босса блоками вариант в моем случае не подойдет, потому что он будет на открытом острове.

А вот как запретить падение мне интересно узнать. Можешь обьяснить?
Судя по всему ты нормальный чувак. Смотри, тебе надо в событии "Игрок бьет моба" сделать определенные проверки, чтобы оно работало только на твоего босса. Ну, например, "Если существо Имя равно("Босс")". Затем в скобках я предлагаю сделать проверку на блок под мобом. Очевидно, что если моб нигде не стоит - он либо летит, либо падает. Так как моб после удара может подпрыгнуть, сделай Ждать ~секунду и потом проверяй на "стоит на блоке". Если ничего туда не ложить - будет проверка на воздух, и если он «стоит» на воздухе - значит он падает.
Либо же можешь попробовать с "Значение местоположения": сделать выборку на этого моба, получать высоту моба из этого значения и проверять, если высота ниже допустим 60.
 

Ustel

Новичок
Регистрация
22 Июн 2023
Сообщения
10
Я попробовал сделать как ты сказал и максимальный результат этого - босс телепортируется моментально после моего удара. Я попробовал сделать по радиусу от его спавна, и если он не там, то его тупа тпшит. это и дало моментальный эффект. Если сделать по типу "ждать", то оно вообще не работает. Можешь сделать скрин как это должно выглядеть? Заранее спасибо
 

Copter533

Участник
Регистрация
24 Июн 2023
Сообщения
42
Я попробовал сделать как ты сказал и максимальный результат этого - босс телепортируется моментально после моего удара. Я попробовал сделать по радиусу от его спавна, и если он не там, то его тупа тпшит. это и дало моментальный эффект. Если сделать по типу "ждать", то оно вообще не работает. Можешь сделать скрин как это должно выглядеть? Заранее спасибо
Вот адекватный код:

Код:
Событие ( Вход игрока ):
    Запустить цикл ( BossAntifall )
   
Цикл ( BossAntifall, 5 ):
    Выбрать существо по условию / Имя равно ( *Имя_Босса* )
    Получить координату места ( %selected%-mob-y = Локация Игрока [ Y ])
   
    Выбрать существо по условию / Значение равно ( %selected%-mob-y == 0.0 )
    Телепорт ( *ЛокацияОстрова* )
    Эффект ( Сопротивление, Длительность = 5, Уровень = 100 )

Пояснение:
- Выборка нужна для поддержки нескольких боссов
- Сопротивление нужно чтобы босс не умер от падения => никто его не убил
- Идёт точное сравнение т.к. положение вне плота (а также ниже 0 по Y) будет приведено к максимально близкому в зоне плота, т.е Location( X=148.0, Y=-100.0, Z=743.0 ) будет приведено к Location( X=148.0, Y=0.0, Z=743.0 )
 
Сверху