AlexSpl писал(а):
пример для наглядности, спасибо вам.
Объявления |
---|
Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru. Я оторву свою задницу от всех дел и обязательно Вас активирую! Добро пожаловать на геройский форум! |
Re: Как создать плагин для HD модаAlexSpl писал(а): пример для наглядности, спасибо вам.
|
Re: Как создать плагин для HD модаТак, я вспомнил, что отказ от вторичных навыков уже был реализован igrik'ом: https://handbookhmm.ru/forum/viewtopic.php?f=56&t=518&start=1960#p21375.
|
Re: Как создать плагин для HD модаAlexSpl писал(а): По ссылке скачивается модернизированная игра, а мне нужен только плагин для hd мода. Сможете сделать такой или даже лучше за вознагрождение? По хорошему как на картинке я сделал. |
Re: Как создать плагин для HD модаНа левел-апе отказ от навыков код по ссылке обеспечивает. Его нужно построить просто. Там дальше по теме есть уточнения, как это сделать. Но я сделаю обе версии: скомпилирую код igrik'а и добавлю кнопку отмены навыка в диалог по левому клику по нему в окне героя. Сложностей, вроде, не должно быть, если не придётся, конечно, работать с кодом самого HD-мода. Не всегда правки возможны без костылей из-за его собственных хайхуков.
|
Re: Как создать плагин для HD модаЕщё можно кнопку OK чуть меньшего размера взять, чтобы была парной для Cancel. Например, из этого диалога: |
Re: Как создать плагин для HD модаДописал удаление вторичных навыков из окна героя:
Кстати, пример CALL_ хайхука. Пригодился наконец HoMM3API.h (вместе с consts.h) можно взять из исходников плагина NewSpells. |
Re: Как создать плагин для HD модаAlexSpl писал(а):
Кстати, пример CALL_ хайхука. Пригодился наконец HoMM3API.h (вместе с consts.h) можно взять из исходников плагина NewSpells. Это фантастика, спасибо вам огромное. Я не верю своим глазам, что наконец то чего я не мог нигде найти, сделали по моей просьбе. ОГРОМНЕЙШЕЕ ВАМ СПАСИБО. НИЗКИЙ ВАМ ПОКЛОН, ОТ ВСЕЙ ДУШИ. отправил вам личное сообщение, ответ те пожалуйста. |
Re: Как создать плагин для HD модаСпасибо за комплимент. Мне и самому понравилось, как всё получилось. Удаляешь, например, Luck или Leadership и параметры героя мгновенно обновляются. До вызова NormalDialog здесь используется подмена аргумента iMBType (1 - только кпопка OK на 2 - OK и Cancel). Далее идёт отображение модифицированного диалога и обработка нажатия на Cancel. ID скилла и его уровень получаются из iResExtra1 в целях оптимизации кода. Далее, три прописные истины о вторичных навыках: у них есть число, для каждого навыка задан уровень от 0 до 3 (None .. Expert) и путающая многих часть о их порядке (SSOrder). Не знаю, почему разработчики Героев 3 не решили сделать навыки той же очередью, которая используется для заклинаний, но факт в том, что это массив. Возможно, это сделано потому, что порядковый номер навыка никогда не изменяется при обычном (стандартном) его получении. Но если мы говорим об удалении, то тогда приходится переназначать порядковые номера навыков (SSOrder). Далее идёт пересчёт параметров героя, участвующих в визуализации окна героя, и обновление картинки, которую видит пользователь. Последние параметры (-65535 и 65535) взяты из H3API и их, при желании, можно уточнить. Но современные процессоры обрабатывают такой диапазон за микросекунды. Единственное, что я бы добавил, так это диалог с предупреждением о том, желает ли игрок реально отменить навык, чтобы исключить возможные проблемы с мисскликами по кпопкам.
Теперь насчёт того, чит это или нет. Тут сложнее. Отказываясь от навыка/ступени навыка, мы, безусловно, меняем ход игры. И, возможно, можем получить бонусы от навыка, чтобы потом его удалить, освобождая место под новый. Но, в общем, мы просто берём под контроль рандом. Случаи, когда отменяемый навык важен (например, Expert Wisdom, чтобы иметь возможность кастовать заклинания 5-го уровня) должны, конечно, обрабатываться отдельно. Я немножко забыл, как добавляются заклинания в книгу Героя. Скорее всего, после отмены Мудрости вообще, они останутся в книге (но нужно проверять, не помню код точно). Хотя, может быть, это и есть преимущество "забывания" навыков. Короче, нужно прогнать "забывание" через все правила, описанные в FizMiG, которые работают для вторичных навыков. * * * vovacyxov, спасибо за поддержку. Очень приятно |
Re: Как создать плагин для HD модаAlexSpl писал(а): Теперь насчёт того, чит это или нет. Тут сложнее. Отказываясь от навыка/ступени навыка, мы, безусловно, меняем ход игры. И, возможно, можем получить бонусы от навыка, чтобы потом его удалить, освобождая место под новый. Но, в общем, мы просто берём под контроль рандом. Случаи, когда отменяемый навык важен (например, Expert Wisdom, чтобы иметь возможность кастовать заклинания 5-го уровня) должны, конечно, обрабатываться отдельно. Я немножко забыл, как добавляются заклинания в книгу Героя. Скорее всего, после отмены Мудрости вообще, они останутся в книге (но нужно проверять, не помню код точно). Хотя, может быть, это и есть преимущество "забывания" навыков. Короче, нужно прогнать "забывание" через все правила, описанные в FizMiG, которые работают для вторичных навыков. * * * vovacyxov, спасибо за поддержку. Очень приятно Скорее всего это чит, но он так удобен для одиночного прохождения карт, а тут человек сам решает играть ему с этим плагином или нет. Кто хочет "заточить" героя под свои параметры, тому будет этот плагин интересен. Я даже жене похвастался, хоть она ничего и не понимает в этом, но я с таким большим удовольствием ей показал ваши труды. Случайно нашел ваш форум,с большим трудом зарегистрировался, (так как на почту MAIL письмо о завершении регистрации не приходило, пришлось воспользоваться яндекс почтой) когда искал плагины, специально зарегистрировался в надежде что мне тут помогут. И черт подери.... я счастлив что есть люди готовые потратить свое время, чтобы человек был безумно счастлив. п.с. дядя 35 лет |
Re: Как создать плагин для HD модаТак, есть ошибка с правым кликом по навыку. Буду исправлять. Если сначала удалить навык, то правый клик по оставшимся навыкам будет удалять их. Думаю, проблема в одном из условий. Скорее всего, dialogReturn не обнуляется после нажатия на кнопку отмены навыка.
|
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8