Цитата:
Вторичный навык, может быть, сложнее, а вот артефакт точно легче.
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаЦитата: Вторичный навык, может быть, сложнее, а вот артефакт точно легче. |
Re: Как создать плагин для HD модаAlexSpl писал(а): У меня картинка есть. AlexSpl писал(а): Именно. Только в вашем случае там должно быть текстовое сообщение, вроде: "... обучают Вас заклинанию - Bless. К сожалению, это заклинание вам уже знакомо ..." |
Re: Как создать плагин для HD модаAlexSpl писал(а): Кстати, а как вы смотрите на то, чтобы как-нибудь в будущем попробовать добавить 2 абсолютно новых вторичных навыка и 3 новых артефакта? В Героях 3 есть 4-5 артов, которые повышаюют Мораль и Удачу героя. Но вот таких артов, которые бы снижали Мораль и Удачу врага, нет... И это не очень хорошо. В то время как в 5 Героях таких полно. Плюс в Героях 5 есть навыки, которые снижают Удачу и Мораль врага. Вот у меня появилась идея попробовать добавить как-нибудь парочку вторичных навыков: Неудача: снижает Удачу врага на -1/-2/-3; Уныние: снижает Мораль врага на -1/-2/-3; Плюс 3 арта: Проклятое кольцо: -2 к Удаче противника. Кольцо сломленного духа: -2 к Боевому духу противника. Плащ смертоносной тени: -2 к Удаче и Боевому духу противника. Картинки плаща и кольца можно взять из других артов в Героях 3 и после их изменить немного в графическом редакторе и получатся новые. Подобные плагины внесут огромный вклад в баланс модификаторов Удачи и Морали в Героях 3 вместе с уже готовым плагином отрицательной Удачи. Но это как-нибудь потом, сейчас надо бы добить уже начатое с NewSpells и не отвлекаться на другое. |
Re: Как создать плагин для HD модаНашёл причину крэша 0x4336C0. Описка: вместо _PI->WriteDword(0x433719, 0x3EA); поставил на начало функции Как и в случае с 0x439330 (надо _PI->WriteDword(0x43940C, 0x3EA);).
Прошёлся ещё раз по каждому адресу. Конечно, чтобы до конца понять, что именно происходит в некоторых случаях, придётся посидеть с дебаггером. Но целостность структур всё равно придётся тестить. Теперь не вылетает в квике:
* * * Подумал, что таблицу заклинаний существ нужно в самый конец двигать, чтобы без проблем можно было добавлять новые заклы. Или почти в самый, чтобы осталось место для новых заклинаний существ. 128 - чисто техническое ограничение (на всякий). В коде, скорее всего, есть инструкции, которые работают со знаковым байтом. Но их тоже можно найти и легко переписать на беззнаковые. Тогда получится 256 заклинаний, но что-то я сомневаюсь, что кто-то напишет хотя бы 10. Естественно, можно переделать всякие огненные шары и инферно, чтобы они, например, наносили урон другой стихией. Но реально интересных 10 вряд ли получим И кому даже тех 10 писать? Программерам только. Какими бы ни были крутыми скрипты, добавить код заклинания с помощью них практически нереально. Разве создать какой-то шаблон заклинания с настраиваемыми параметрами. Интересно, в Era что-то подобное есть? |
Re: Как создать плагин для HD модаДобавил возможность каста новых заклинаний (у нас пока только одно - Fear):
Картинку заклинания для окна информации о существе добавлю позже. Так как таблицу спецабилок не двигали, то Fear работает, как окаменение (это даже хорошо, что работает, пока нет собственного кода). Кстати, можно добавить все спецабилки с анимацией в качестве магии, если очень хочется. Для них только картинок нет (для гильдии магов и книги заклинаний). * * * Придумал, как решить проблему _GameMgr_.disabled_spells[SPELLS_NUM]: точно таким же способом, как и с полем _Hero_.spell[SPELLS_NUM]. Дело в том, что disabled_shrines[70] - это вовсе не "запрещённые святилища", в этом массиве хранятся заклинания, попавшие в святилища на карте, а также запрещённые. Массив служит для того, чтобы эти заклинания не дублировались. Только где? Хороший вопрос Нигде. Поставьте на карту 20 святилищ 1-го уровня и в них уже будут дубликаты заклинаний. Так что мы законно забираем это поле под disabled_spells[]. Вы можете посмотреть на цикл 0x4C92EF. Из него видно, что поле disabled_shrines[70] используется при генерации карты, чтобы как можно дольше не генерировать дубликаты заклинаний в святилищах. Но после того, как вся работа сделана, мы можем спокойно хранить там запрещённые заклинания, т.к. в процессе игры обращений к этому массиву не происходит. |
Re: Как создать плагин для HD модаЗакончил с картинками для заклов-абилок: Aging (Старение), Poison (Яд), Disease (Болезнь).
Проапскейлил оригинальные картинки абилок на 60-70% почти без потерь в качестве. Работа велась в 3 этапа: выкроил картинку из фона, увеличил через ИИ, и после попиксельная шлифовка полученного изображения в Фотошопе. В этом деле очень сильно помогли современные алгоритмы масштабирования изображения с помощью ИИ: https://www.img2go.com/upscale-image Пример: Оригинальная картинка Aging (Старения): Простой апскейл в Фотошопе: Апскейл через ИИ + доп обработка в Фотошопе: --- Болезнь (Disease): --- Яд (Poison): --- Описание работы заклов писал ЗДЕСЬ. Кстати, надо бы сделать, чтобы Dispel и Cure снимали Яд и восстанавливали прежнее здоровье отряда существ. Со Старением все ок, здоровье восстанавливается после диспела и лечения. Яд пускай в течении 3 раундов накапливает процент (+10%/+13,33%/+16,66% в зависимости от уровня школы), анимация Яда перед каждым ходом, пока снижается здоровье. После 3-го хода анимацию Яда уже не воспроизводим, но здоровье остается сниженным и Яд действует кол-во раундов соотвующее СМ героя, либо пока не будет снят Dispel или Cure. Если СМ героя меньше 3, то тогда Яд даже не достигнет своего макс эффекта. Старение сразу дает свой макс эффект, а Яду нужно 3 раунда для достижения своего макс эффекта. Именно по этой причине Яд делаем заклом 4-го уровня, а Старение - 5-го. Все 8-битные bmp-шки для DefTool в архиве. Плюс там еще Fear, подправил там его еще немного.
Последний раз редактировалось Rolex 20 авг 2021, 15:15, всего редактировалось 8 раз(а).
|
Re: Как создать плагин для HD модаОтлично получилось. Постараюсь добавить сегодня-завтра. Будет 3 полноценных* новых закла и 1 в процессе. Только заполните структуры _Spell_ для них (те, что можете).
* Хотя поспешил. Они же от СМ не зависят. Придётся править код. Цитата: "Маленький" Fear есть в ресурсах RoE. Я оттуда его возьму. * * * Цитата: Вот же... Есть нюанс. Массив disabled_shrines[70] вряд ли идёт в сейв. Но что-нибудь придумать можно. Последний раз редактировалось AlexSpl 20 авг 2021, 14:58, всего редактировалось 1 раз.
|
Re: Как создать плагин для HD модаAlexSpl писал(а): Да, там 3 раунда нужно заменить везде на СМ героя. Плюс на Базовый/Продвинутый/Экспертный свой процент. К Болезни хотелось бы добавить еще эффект Замедления, чтобы получилась противоположность Молитве. И Яд нужно сделать, чтобы снимался диспелом и лечением восстанавливая прежнее Здоровье отряда существ, и там также свои проценты в зависмоти от уровня развития школы. Подробней писал здесь. |
Re: Как создать плагин для HD модаСейчас остаются задачи (самые важные, без которых плагин не будет полноценным):
1) Расширение поля disabled_spells[70], чтобы оно не налезало на критикал секшн bink; 2) Уточнение замены поля +430h на +3EAh в некоторых случаях (например, герой со вторичным навыком Scholar не должен учить другого героя заклинаниям из свитков); 3) Функции оценки новых заклинаний AI. |
Re: Как создать плагин для HD модаAlexSpl писал(а): Кстати, анимация Смертельного взгляда Могучих горгон, которая также соответствует и заклу Fear у Могучих горгон сопровождается другим звуком, и это не Fear.wav. Звук Fear.wav, которым сопровожается сейчас наш закл Fear проигрывается также и во время анимации Страха Лазурных драконов. Вот мне стало интересно, а со звуком мы угадали? У нас это звук Страха Лазурных драконов. Так вот, так и нужно или все же правильный звук, это звук, который идет вместе с анимацией Могучих горгон? |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2