Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Как создать плагин для HD мода

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 18 мар 2021, 15:33

Исправьте, пожалуйста, по возможности.

AlexSpl, исходя из вашего опыта, насколько сложно будет реализовать вот это:
Rolex писал(а):

Например, кастуем мы Инферно (или Метеоритный дождь) на 3 вражексих отряда под Зеркалом. 2 из 3 отражает его. Значит для 2 мы проигрываем анимацию Зеркала и игнорим урон, а для 3-го ничего не делаем, он получает урон, так как не отразил его (аналогично отряду без Зеркала).
После чего, исходя из площади, которую может охватить данный закл, мы ищем на поле боя место скопление моих отрядов и разворачиваем его в том месте и таким образом, чтобы он захватил именно то кол-во отрядов, которые отразили его.
Если же развернуть этот площадный закл мы можем на то кол-во отрядов, которые отразили его, несколькими способами, то выбираем такой вариант, где суммарная сила отрядов на которые мы можем развернуть его - максимальная.
Если же мы не можем развернуть его на то кол-во, которое его отразило, тогда просто выбираем максимально возможное на которое можем развернуть.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 18 мар 2021, 15:38

Я уже думал над этим. Будет та же реализация (похожая), что и для масскаста 0x11, но с нюансами. Вот площадный Берсерк легко разбить на одиночные, а Inferno, например, нельзя. Попробую для Берсерка сначала, а там видно будет.

Есть, кстати, незадействованная анимация - Fire Combustion, кажется. Можно для огненных заглинаний использовать её. Как Вам идея? Тогда не придётся кастовать по площади в ответ. Или даже секцией Firewall можно показывать, что закл был перенаправлен :smile1: Но первый вариант мне больше нравится.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 18 мар 2021, 15:52

AlexSpl писал(а):

Есть, кстати, незадействованная анимация - Fire Combustion, кажется. Можно для огненных заглинаний использовать её. Как Вам идея? Тогда не придётся кастовать по площади в ответ.

Не знаю, в принципе можно попробовать. Но опять же - это только для огненных заклов, а для остальных тогда что? Просто отражение каста по площади выглядело бы круто. Созерцали бы отражение того, что наложили в другом месте на поле боя. Вот это было бы действительно интересно.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 18 мар 2021, 15:56

Просто Inferno трудно не задеть больше отрядов, чем задело оно. Для других заклинаний тоже есть анимации эффектов. Т.е. есть Magic Arrow, а есть её эффект на отряде.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 18 мар 2021, 16:04

А с Метеоритным дождем также сложно? У него по-моему площадь охвата гораздо меньше, чем у Инферно. Ну да, алгоритм поиска нужного участка на поле боя конечно сложный будет.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 18 мар 2021, 16:11

Не то слово, особенно в разгаре битвы, когда "смешались в кучу кони, люди" :smile1: Думаю, в общем случае нельзя не задеть собственные отряды отражённым площадным.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 18 мар 2021, 16:33

Тогда сделаем проще. Для всех площадных пускай просто для тех отрядов, которые его отразили проигрывается анимация Зеркала без получения урона. Некое подобие Антимагии сделаем. Плюс Берсерк прикрутим и все, Зеркало готово. :smile2:
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 18 мар 2021, 16:43

Вот для площадных заклов одновременная анимация только мешала бы. Даже не представляю, как это выглядело... Щиты поверх Inferno? :smile1: Короче, попробую для начала Берсерк с отражением (а там можно будет разделение на ответные одиночные заклинания прикрутить, если очень захочется) и Magic Mirror в пустоту.
Вернуться к началу

offlineRolex  
имя: Alex
Ветеран
Ветеран
 
Сообщения: 898
Зарегистрирован: 22 сен 2020, 18:58
Откуда: УКРАИНА
Пол: Мужчина
Поблагодарили: 53 раз.

Re: Как создать плагин для HD мода

Сообщение Rolex » 18 мар 2021, 23:18

Получение spell в dataInit по адресу 0x5A13D2 в данном случае получается совпадает с тем, что было в NewTarget по адресу 0x5A05CC:

Код: Выделить всё
int spell = *(int*)(c->ebp + 8);

Верно?
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 19 мар 2021, 10:25

Да, так и есть.

Звук Magic Mirror при отражении одиночного каста:

Код: Выделить всё
int __stdcall playMagicMirrorSound(LoHook* h, HookContext* c)
{
    CALL_3(void, __fastcall, 0x59A890, o_Spell[SPL_MAGIC_MIRROR].wav_name, -1, 3);
   
    return EXEC_DEFAULT;
}
...
// Проигрываем звук Magic Mirror при отражении одиночного заклинания
_PI->WriteLoHook(0x5A059A, playMagicMirrorSound);
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3