Приветствую всех!
В первую очередь хочу выразить огромную благодарность Equilibris Team за эту замечательную модификацию и ваши труды над любимой игрой (с героями познакомился именно с 4 части). Именно ваш мод побудил снова переиграть в неё с новыми красками.
Загорелся желанием сделать мини-мод на основе Екви 3.55, а также ремейком всех оригинальных кампаний под него.
В моддинге я новичек. На данный момент разобрался как редактировать некоторые параметры, вытаскивать кампании и запаковывать их обратно. Проверял всё на работоспособность. Но возник ряд вопросов, с которымии прошу помочь знающих людей:
1) Кампании оригинальных героев и вихрей войны распаковались и нормально открываются редактором, а кампании грядущей бури пишут, что они не являются файлом кампаний героев 4 и не открываются, в чём может быть проблема?
2) Я правильно понимаю, что на уровне сложности Чемпион ИИ будет максимально силён?
3) Можно как-то сделать ИИ "поумнее"? Он иногда банально тупит и пропускает ходы, не захватывает даже свободные шахты, а просто стоит. Или всё решается путем выставления максимальной его силы в редакторе и приоритете в конкретных местах на карте?
4) Возможно ли как-то "прикрутить" Цитадели и Замку увеличение прироста существ? (т.е. функционал здания "Загон" у барбов)
5) Как отредактировать цифру прироста золота в городе (750 и 1000)? И вообще любые цифровые показатели у построек (нашел только в таблицах стоимость постройки зданий)
6) Продолжая про цифры, очень интересует где находятся числовые данные абилок юнитов (например в Экви у единорогов повысили шанс ослепления) и так же числовые данные объектов на карте (Очень хочу изменить количество опыта, которое даёт Камень Знаний и в целом "вдохнуть" новую жизнь в некоторые объекты) и числовые данные (характеристики) артефактов. Я нашел только стоиомсть артефактов, всё в тех же таблицах
7) Каким образом можно заменить существ в городах и внешних жилищах?
И зависят ли они как-то друг от друга? Т.е. если вместо церберов поставить в городе наниматься гаргулий, то внешнее жилище "Псарня" тоже будет гаргулий предлагать для найма?
8 ) Я научился заменять абилки существ, но вот добавить новые, не получилось, где-то косячу в коде и крашится exeшник
Делал по гайду Accolon'a в этом же разделе форума. Но там разбирался пример Элементаля Земли, которому были изменены абилки в Экви, и там уже стоят nop на месте где должны быть его абилки, что запутало меня. Не понимаю сколько "nop" нужно проставить в конкретном существе (от чего зависит) и как быть, если тот новый адрес call 300 уже используется?
Пробовал делать на угад, как понял из примера - не вышло
Буду очень признателен за любую помощь
Вопросы по моддингу (Heroes 4)
Re: Вопросы по моддингу (Heroes 4)
1) Используй прогу MH4
2) Нет, AI не сможет валить нейтралов, самый оптимальный уровень сложности - Мастер
3-8) Это всё зашито в ехе...
2) Нет, AI не сможет валить нейтралов, самый оптимальный уровень сложности - Мастер
3-8) Это всё зашито в ехе...
Re: Вопросы по моддингу (Heroes 4)
Спасибо за ответ!
Все кампании распаковал и они работают
Протестил сложность ИИ, на мастере не накладывают на себя герои зелье бессмертия, что хнык(
Зато на сложности "Магистр" зелья уже используют, да и карту вроде более менее пылесосят, хотя на мастере всё же (по ощущениям) быстрее
Капаюсь в h4mod.exe нашёл где измененные экви абилки существ, там как я понял и свободные места в коде находятся (где 0000 стоят)
Получилось добавить абилку окаменения элементалу земли, но т.к. там было всё в притык (в экви ему и так изменяли абилки), то затер одну строчку снизу, при этом exe не крашится и в игре абилка работает у элемов. Если так оставить будет нормально или какую-то важную строчку затёр и нельзя так делать?
Первый скриншот как было и второй то, что стало у меня в коде:
Все кампании распаковал и они работают
Протестил сложность ИИ, на мастере не накладывают на себя герои зелье бессмертия, что хнык(
Зато на сложности "Магистр" зелья уже используют, да и карту вроде более менее пылесосят, хотя на мастере всё же (по ощущениям) быстрее
Капаюсь в h4mod.exe нашёл где измененные экви абилки существ, там как я понял и свободные места в коде находятся (где 0000 стоят)
Получилось добавить абилку окаменения элементалу земли, но т.к. там было всё в притык (в экви ему и так изменяли абилки), то затер одну строчку снизу, при этом exe не крашится и в игре абилка работает у элемов. Если так оставить будет нормально или какую-то важную строчку затёр и нельзя так делать?
Первый скриншот как было и второй то, что стало у меня в коде:
Re: Вопросы по моддингу (Heroes 4)
Ой, дай бог памяти... По-моему, это где-то в exe-шнике.
Там же.6) Продолжая про цифры, очень интересует где находятся числовые данные абилок юнитов (например в Экви у единорогов повысили шанс ослепления) и так же числовые данные объектов на карте (Очень хочу изменить количество опыта, которое даёт Камень Знаний и в целом "вдохнуть" новую жизнь в некоторые объекты) и числовые данные (характеристики) артефактов.
Добавить дополнительную абилку существу или добавить новую абилку в игру?8 ) Я научился заменять абилки существ, но вот добавить новые, не получилось, где-то косячу в коде и крашится exeшник.
1. Nop используется для того, чтобы "забить" остатки старой инструкции, т.к. машинный код выполняется последовательно. В общем случае, остаток инструкции также будет выполнен, что, с очень высокой степенью вероятности, приведет к крашу приложения. Исключение - когда остаток обходится операциями перехода, но и тут красивше "забить" его nop-ами (повышает читабельность кода).Не понимаю сколько "nop" нужно проставить в конкретном существе (от чего зависит) и как быть, если тот новый адрес call 300 уже используется?
2. Если адрес 300 уже занят, то подойдет любой свободный адрес в этой области (насколько я помню, там нули). Только, если в коде есть ссылки на абсолютные адреса, то их нужно подкорректировать.
В принципе, нельзя, но, думаю, в данном конкретном случае можно. Видимо, это какой-то код от старых версий Equi, который нынче перенесен в dll, а в данном месте уже не используется. Я основываюсь на том, что у меня в коде нет ссылок на адрес .40035B, а переход по адресу .40036A ведет в никуда. Поэтому место по адресам .40035B-.40036E можно смело использовать под свои нужды. А вот ниже лезть не советую - мегадракон будет шибко недоволен!Получилось добавить абилку окаменения элементалу земли, но т.к. там было всё в притык (в экви ему и так изменяли абилки), то затер одну строчку снизу, при этом exe не крашится и в игре абилка работает у элемов. Если так оставить будет нормально или какую-то важную строчку затёр и нельзя так делать?