Ребят, а вот такой вопрос: вызываю apply point damage, а

у персонажа триггерятся ивенты event point damage и event any damage
Как вы разграничиваете эти два события, если они вам оба нужны? С помощью различных DamageType?

15 ответов

22 просмотра

Так название эвентов кабы сами за себя говорят.

Ruslan- Автор вопроса
Alexey Shadrin
Так название эвентов кабы сами за себя говорят.

Ага, и что делать? Поинт вызывает и то и то

Ruslan- Автор вопроса
Ruslan
Ну да, я о том же...

Смотри... Тут логика какая.... Нужен просто демаг используешь Ани демаг, если планируешь разграничение то используешь конкретный допустим поинт и т. Д.

Ruslan- Автор вопроса
Alexey Shadrin
Смотри... Тут логика какая.... Нужен просто демаг ...

Да, конечно! Но если нужен поинт, то вызывается еще и эни :) Если подробнее, то у меня от пули урон - Point, а от дебаффа какого-нибудь(например, подожгли тебя), я использую Any. Неужели вместо Any нужно везде использовать Point? Тут вопрос скорее про архитектуру :)

Ruslan
Да, конечно! Но если нужен поинт, то вызывается ещ...

Просто эпики напихали дофига всего, и многое пересекается))))

Ruslan- Автор вопроса
Alexey Shadrin
Просто эпики напихали дофига всего, и многое перес...

Видимо, так и есть :) А то и правда, как-то нелогично выходит

Ruslan
Видимо, так и есть :) А то и правда, как-то нелоги...

Все логично))) просто не всегда нужно разграничение по типу демага. Есть ситуации когда любой демаг будет одинаковый, тогда берём просто Ани демаг.

Ruslan
Да, конечно! Но если нужен поинт, то вызывается ещ...

Как вариант, для повреждений от заклинаний и огня можно использовать RadialDamage. Вообще, по задумке авторов движка, для специфических повреждений нужно определять свои DamageTypeClass-ы и FDamageEvent-ы: https://www.unrealengine.com/en-US/blog/damage-in-ue4

Ruslan- Автор вопроса
Ruslan
Спасибо! Да, так и сделал, кстати.

Ещё внесу немного ясности, вверху писали про кастомные FDamageEvent для различных типов урона и это правильная классическая идея, но довольно неудачная реализация в самом движке. В то время, как через блюпринты ты ещё можешь создавать и передавать кастомные DamageType (повреждение от огня, лазеры, пули, и т.д и.т.п.) то сами FDamageEvent сейчас их 2 - PointDamage and RadialDamage) - это плюсовый хардкод, обернутый в статичные функции, т.е. те самые ApplySomeTypeDamage/ReceiveSomeTypeDamage, и все это крайне некрасиво/неудобно расширяется. Ещё, кстати, огромный минус этого решения в том, что Apply...Damage не возвращают никаких внятных значений, кроме була, как правило этого недостаточно. Таким образом стандартная система в принципе подходит для чего-то очень простого, для прототипов и тестов. Но для более серьезных задач лучше написать что-то своё, вполне даже просто на блюпринтах, если проект не плюсовый.

Ruslan- Автор вопроса
Aleksei Gagarin
Ещё внесу немного ясности, вверху писали про касто...

Спасибо большое! Отличный ответ, который расставил все на свои места

Похожие вопросы

Обсуждают сегодня

Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Вот еще странный косяк, подскажите как бороться. Я git clone сделал себе всего embassy и примеры там запускаю. Всё хорошо. Но вот решил в cargo.toml зависимости не как в приме...
Lukutin R2AJP
2
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Раз начали говорить про embassy, то присоединюсь со своими парой вопросов. 1) Есть ли сопоставимые аналоги для асинхронного кода в emdebbed? 2) Можно ли внутри задач embassy ...
NI_isx
6
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
1. https://www.kaggle.com/code/ahmadrezagholami2001/housing-estimation-linear-regression 2. https://www.kaggle.com/code/ahmadrezagholami2001/uncovering-quality-in-wines-logis...
Ahmadreza
1
Коллеги, я тут для личных нужд пошел ставить MQTT сервер, пощупал mosquitto, но ужаснулся отсутствию такой банальности, как HTTP API для посмотреть список топиков. А тут что,...
Maksim Lapshin
14
Карта сайта