Вам нужны ещё два файла для работы кастомных диалогов.
Включите оба cpp файла в Ваш проект: щёлкните на Source Files в Solution Explorer слева, нажмите Shift + Alt + A и добавьте эти файлы.
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаВам нужны ещё два файла для работы кастомных диалогов.
Включите оба cpp файла в Ваш проект: щёлкните на Source Files в Solution Explorer слева, нажмите Shift + Alt + A и добавьте эти файлы. |
Re: Как создать плагин для HD модаПочти готовый плагин NewDisguise. Прошу потестить.
И подсказать правильные параметры для _DlgStaticText_::Create Что еще осталось сделать ? Возвращать герою ману, если он нажал отмену. Проигрывать WAV файл после выбора множителя, а не сразу (если нажали отмену, не проигрывать вообще). 1 баг вроде уже нашел. Скорее всего в этом месте:
multiplier здесь float и компилятор предупреждал, что возможна потеря данных при прeобразовании от float к int При опции "В 5 раз меньше" результат отличался в различных испытаниях.
|
Re: Как создать плагин для HD модаРасход маны отрегулировал.
|
Re: Как создать плагин для HD модаС WAV проигрыванием пока не получается:
Пишет ошибку с sfx ресурсом. |
Re: Как создать плагин для HD модаЗавершил написание кода, багов теперь нет, параметры (геометрию) диалога подобрал, опытным путем,
WAV файл проигрывается там, где нужно. Оказывается, если не двигать ползунок, а нажать ОК, то никакого значения не выберется. Пришлось задать значения по умолчанию, например
Весь последний код:
Последний раз редактировалось Ben80 07 окт 2017, 12:02, всего редактировалось 3 раз(а).
|
Re: Как создать плагин для HD модаBen80 писал(а):
multiplier здесь float и компилятор предупреждал, что возможна потеря данных при прeобразовании от float к int При опции "В 5 раз меньше" результат отличался в различных испытаниях. Этой проблемы, по видимому нет, отличия в испытаниях объяснялись тем, что не было скроллинга (человек не скроллил) и, следовательно, выбранного значения. Так что плагин готов полностью. Последний раз редактировалось Ben80 07 окт 2017, 12:03, всего редактировалось 1 раз.
|
|
Re: Как создать плагин для HD модаХорошая, познавательная тема!
Помню интересовался модами на Герои 3. Когда увидел сколько их уже сделано, то был реально удивлен. До сих пор 3-ка является самой популярной частью в геройском мире, тут уж как не крути Интерес у людей не пропадает, даже стримы крутят, периодически http://www.handbookhmm.ru- Познай все тонкости игры!
|
Re: Как создать плагин для HD модаГотовая Dll.
Есть идея сделать улучшение по сравнению с оригинальной игрой - учитывать Disguise и в процедуре Dlg_TownSmallRMCInfo (или GetTownGuardsMonArr). |
Re: Как создать плагин для HD модаНаписал на основе Вашего кода плагин для Disguise. Добавил для симметричности множитель 0. Герой без Магии Воздуха автоматически (без диалога) кастует Disguise с множителем 0.
Проверка o_ActivePlayer->IsHuman() нужна, чтобы во время хода компов не уменьшалась длительность Disguise. Дело в том, что во время их хода GetMeID() == ID последнего походившего игрока. В сейв пишется только младший байт поля Disguise, поэтому паковать нужно в него. Я запаковываю индекс множителя в страший полубайт, а длительность - в младший. Этот способ налагает ограничения на максимальное кол-во положений ползунка (максимум 15 от -7 до 7) и на максимальную длительность Disguise - до 9 ходов (от 0 до 8). * * * Пока работает только в сингле и хотсите. В сетевой игре длительность не уменьшается. Буду смотреть позже, в чём дело. * * * Закомментировал условие в decDisguise. Всё равно в сетевой игре длительность не уменьшается. Видимо, нужно искать другое место для хука или для сетевой игры работает другая функция, нежели чем для сингла/хотсита. Последний раз редактировалось AlexSpl 08 окт 2017, 09:47, всего редактировалось 1 раз.
|
Re: Как создать плагин для HD модаAlexSpl писал(а): У героя без Магии Воздуха должны быть такие же возможности, как и у героя с Магией воздуха 1 ступени. Поскольку в оригинальной игре эффект заклинаний при отсутствии Школы магии и Школы на 1 ступени - одинаков. Насчет текста при изменении ползунка надо будет подумать еще раз. Изначально у меня тоже были доли/проценты, но потом изменил на более соответствующие духу игры описания. Ведь в оригинальной игре ни в одном из сообщений проценты не фигурируют, их можно найти только в описании вторичных навыков - там уже без этого никак не обойтись. |
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2