Вы используете устаревший браузер

Ваш браузер устарел, и поэтому некоторые важные функции этого сайта могут не работать. Пожалуйста, обновитесь до более современного браузера. :(

Датапаки 1.14. Система турелей. Турель убивает игрока.

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Всех приветствую, сейчас работаю над системой турелей для своего проекта, вроде всё прекрасно, но есть одна очень ужасная проблема. В общем, турель должна запускать стрелы/файерболы/снежки в мобов. Но сделать так, чтобы стрелы не попадали в игрока не получилось.

    Турели работают на повороте взгляда стенда на сущность и последующем векторном рейкасте.
    Так вот, придумал я двухфазную систему защиты от выстрела в игрока:
    - Доп. рейкаст на positioned, который после вычисления вектора и перед спавном стрелы в каждой точке луча проверяет игроков поблизости (радиус 3 блока, увеличение до 4 не сильно меняет ситуацию, а играбельность очень сильно уменьшает, т.к нужно слишком далеко отходить от турели и от противников), ну и блоки, заодно, чтобы турель не стреляла в стену, если моб находится за ней. (Почему не перед вычислением вектора? - Появляется существенная задержка, что в десятки раз увеличивает шанс попадания снаряда в игрока)
    - Ну и "Вторая фаза" - это тупо цикл, который относительно игрока в радиусе (5! блоков(Тож. не оч. нормально)) убивает эти самые стрелы/файерболы/снежки 20 раз в секунду. (Но у некоторых турелей множитель велик, и снаряды преодолевают расстояние за 1-2 тика, так что это спасает далеко не всегда).

    Пробовал делать и третью фазу: ещё один pos-рейкаст, но уже после спавна стрелы (на случай большой задержки, пролага), но от него толку вообще ноль, лишняя нагрузка.

    Стрелы хоть и редко, но попадают в игрока, но даже одна стрела - фатальна, ведь есть турели-снайперы, которые с одного выстрела положат игрока, желательно избежать этого ПОЛНОСТЬЮ.

    Есть ли предложения, как лучше организовать защиту? Можно ли сделать так, чтобы стрела/файербол дамажили только сущности с опр. тегом? Буду очень благодарен.

    #1 | 23 марта 2021 - 15:27

    Caman86
    не в сети

    ТруЪ Олдфаги-с

    Звание: Чоткий паря

    Трофеев: 12

    Сообщений: 1943

    Симпатий: 329

    forkstudio,
    А через team? Туда вроде можно добавлять и обычные сущности. В итоге, убираешь friendly-fire у команды, вешаешь команду и на игрока, и на стрелу, и должно сработать.

    Мои сборки:
    MystMag (1.12.2)
    ReachForTheStars (1.12.2)
    TechGears (1.16.5)

    #2 | 23 марта 2021 - 15:35

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Caman86,
    Спасибо! Попробую.

    #3 | 23 марта 2021 - 15:39

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Caman86,
    Неа, не работает. Пробовал добавлять в команду как саму стрелу, так и стенд, относительно которого они спавнятся. Всё равно дамажит. Также дополнительно проверил через механизм, который без всяких замороч просто спавнит стрелу и добавляет её в команду. Видимо правила работают только на игроков и сущностей с AI.

    #4 | 23 марта 2021 - 16:22

    Caman86
    не в сети

    ТруЪ Олдфаги-с

    Звание: Чоткий паря

    Трофеев: 12

    Сообщений: 1943

    Симпатий: 329

    forkstudio,
    Ничего со стрелой сделать нельзя, да и с игроком, в которого попадёт эта стрела, через команды вроде тоже.
    По поиску инфы об отмене урона стрелы во время полёта - только плагины.
    Сообщение отредактировал Caman86 23 марта 2021 - 17:47

    Мои сборки:
    MystMag (1.12.2)
    ReachForTheStars (1.12.2)
    TechGears (1.16.5)

    #5 | 23 марта 2021 - 17:46

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Caman86, Печально(
    Ну первая фаза в любом случае останется, чтобы турель зря обойму не расходовала.
    А вот вторую можно было бы сильно улучшить. Можно ли запускать команду не 20, а, допустим, 40 раз в секунду? Только без самозамыкающейся функции и танцев с конфигами.

    И ещё пара вопросов. Как вызвать эффект нанесения урона командой (Покраснение сущности)? Можно ли искусственно уменьшить сущности здоровье (просто взять и отнять командой)? Хочу сделать искусственные снаряды со своей физикой. Я б сделал на снежках, но они вообще не пойми как работают, то отбрасывают сущность, то тупо разбиваются.
    Сообщение отредактировал forkstudio 24 марта 2021 - 08:49

    #6 | 24 марта 2021 - 08:47

    Caman86
    не в сети

    ТруЪ Олдфаги-с

    Звание: Чоткий паря

    Трофеев: 12

    Сообщений: 1943

    Симпатий: 329

    forkstudio,
    Второй КБ с теми же параметрами, который исполняется сразу после первого?

    Про нанесение сущности я не знаю, сколько не ищу ничего не могу найти. Можно попробовать спавнить снежок/стрелу с кастомным уроном в сущности с тегом, который ты выдаёшь при расчёте места рейтрейса.

    Мои сборки:
    MystMag (1.12.2)
    ReachForTheStars (1.12.2)
    TechGears (1.16.5)

    #7 | 24 марта 2021 - 09:05

    forkstudio
    не в сети

    Посетители

    Звание: Пользователь, просто пользователь

    Трофеев: 5

    Сообщений: 116

    Симпатий: 12

    Caman86,
    Спасибо за
    информацию.

    #8 | 24 марта 2021 - 11:18

Статистика форума

Создано тем
14346
Написано сообщений
871741
Пользователей
377820
Новый участник
_tormi_

Администраторы | Главные редакторы | Модератор | Дедушки | Журналисты | HENTAI BOY | Goldфаги | Журналисты-олдфаги | ТруЪ Олдфаги-с | ТруЪ Плагинщик | Олдфаги | true Художник | Модератор бездны | Картоделы | XXXL ПХЛ | Просто хорошие люди | Посетители | Новички

Последние сообщения с форума

Название темы
Статистика
Последнее сообщение
Client fabric mod 1.16.5

Тема в разделе: Моддинг

Просмотров: 30

Ответов: 0

Просмотров: 114

Ответов: 1

Просмотров: 93

Ответов: 1