Модинг абилок юнитов Heroes 4 WoW

Форум предназначен для обсуждения общегеройской тематики, не относящейся к аддону Equilibris. Флуд, флейм и оффтоп, категорически запрещены.
User avatar
CTPAHHuK
Level 23 Hero
Level 23 Hero
Posts: 2002
Joined: Tue Feb 05, 2008 23:12
Location: Ханты-Мансийск
Contact:

Post by CTPAHHuK »

Accolon wrote:Потереби Макса
;D
Exorcist
Level 1 Hero
Level 1 Hero
Posts: 9
Joined: Fri Jan 09, 2015 16:39
Location: Киев

Post by Exorcist »

Accolon wrote:
Вопрос (может быть тупой) - что я делаю не так? Экзешник открыл через Hiew, в режиме Decode. Ищу поиском.
Я бы попытался найти схему для огров-магов в оригинале и потом в моде. Очарование, кста, перенесли в dll-ку. М.б., и схемы спеллов там же. Потереби Макса.
Ну, огры не были спеллкастерами в оригинале. У них была абилка "жажда крови". Но идею поискать в оригинальном exe приму к сведению, спасибо.

И да, прошу прощения, но о каком Максе речь идёт?
User avatar
CTPAHHuK
Level 23 Hero
Level 23 Hero
Posts: 2002
Joined: Tue Feb 05, 2008 23:12
Location: Ханты-Мансийск
Contact:

Post by CTPAHHuK »

Exorcist wrote:о каком Максе речь идёт?
Угораете! :lol:
User avatar
Dalai
Equilibris Core Team
Equilibris Core Team
Posts: 2797
Joined: Sat Apr 02, 2005 17:38
Contact:

Post by Dalai »

Exorcist wrote:И да, прошу прощения, но о каком Максе речь идёт?
Об этом.

CTPAHHuK
Прекрати :)
Web-designer wanted. "Once a knight, always a knight, but once a King is once too often!" (c) Sir Bella of Eastmarch
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Post by Max_HMMI »

Exorcist wrote:Вопрос (может быть тупой) - что я делаю не так?
Проблема в том, что SpellBook инициализируется не списком заклинаний, а непосредственно в коде. Поэтому таким образом его не найти.
Exorcist
Level 1 Hero
Level 1 Hero
Posts: 9
Joined: Fri Jan 09, 2015 16:39
Location: Киев

Post by Exorcist »

Max_HMMI wrote:
Exorcist wrote:Вопрос (может быть тупой) - что я делаю не так?
Проблема в том, что SpellBook инициализируется не списком заклинаний, а непосредственно в коде. Поэтому таким образом его не найти.
А как можно найти, не подскажете? Просто раз ограм команда Эквилибрис каким-то образом оформила спелл-бук, то, видимо, это реальная задача.

Кстати, по поводу огров: никто не знает, почему у них не появляется в спелл-буке "общий удар змеи" при количестве огров в стеке больше 5 недельных приростов? Или эту фишку для абилки Спеллкастер прописали исключительно для отдельных заклинаний?
User avatar
CTPAHHuK
Level 23 Hero
Level 23 Hero
Posts: 2002
Joined: Tue Feb 05, 2008 23:12
Location: Ханты-Мансийск
Contact:

Post by CTPAHHuK »

Exorcist wrote:Кстати, по поводу огров: никто не знает, почему у них не появляется в спелл-буке "общий удар змеи" при количестве огров в стеке больше 5 недельных приростов?
Разве нет?
Exorcist
Level 1 Hero
Level 1 Hero
Posts: 9
Joined: Fri Jan 09, 2015 16:39
Location: Киев

Post by Exorcist »

CTPAHHuK wrote:
Exorcist wrote:Кстати, по поводу огров: никто не знает, почему у них не появляется в спелл-буке "общий удар змеи" при количестве огров в стеке больше 5 недельных приростов?
Разве нет?
У меня в Экви 3.51 появляется только "Кровавое безумие" в довесок к "Жажде крови". "Общий удар змеи" не появляется. У кого-то по-другому?
User avatar
CTPAHHuK
Level 23 Hero
Level 23 Hero
Posts: 2002
Joined: Tue Feb 05, 2008 23:12
Location: Ханты-Мансийск
Contact:

Post by CTPAHHuK »

сколько оргов? попробуй 100, известны некоторые ошибки для спеллкастеров при массовых аналогах
Exorcist
Level 1 Hero
Level 1 Hero
Posts: 9
Joined: Fri Jan 09, 2015 16:39
Location: Киев

Post by Exorcist »

CTPAHHuK wrote:сколько оргов? попробуй 100, известны некоторые ошибки для спеллкастеров при массовых аналогах
Попробовал. "Кровавое безумие" появляется, "Общий удар змеи" - нет.
User avatar
Accolon
Level 24 Hero
Level 24 Hero
Posts: 2564
Joined: Mon Jul 04, 2005 03:07

Post by Accolon »

Exorcist
Динамическое появление массовых спеллов записано в коде Экви-тимом. И записано для каждого конкретного юнита особо. Т.е., если появляется у джинов, то не значит, что обязано появится у огров. И если появл. массовая кровожадность, то не значит, что появл. массовый змеиный удар. Я не помню, был ли он у меня. Да, попробуй увеличить к-во огров в стеке, как Странник советует.
Exorcist
Level 1 Hero
Level 1 Hero
Posts: 9
Joined: Fri Jan 09, 2015 16:39
Location: Киев

Post by Exorcist »

Accolon wrote:Exorcist
Динамическое появление массовых спеллов записано в коде Экви-тимом. И записано для каждого конкретного юнита особо. Т.е., если появляется у джинов, то не значит, что обязано появится у огров. И если появл. массовая кровожадность, то не значит, что появл. массовый змеиный удар.
Спасибо, это многое проясняет.
Accolon wrote:Exorcist
Да, попробуй увеличить к-во огров в стеке, как Странник советует.
Пробовал. Не помогает.
Toejam
Level 3 Hero
Level 3 Hero
Posts: 22
Joined: Wed Aug 19, 2015 03:01

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Toejam »

Будьте добры, подскажите, где собственно взять этот no-cd 3.0WoW? Вместо него я открыл в hiew файл h4mod.exe. Например, хотел добавить новую способность троглодиту, и ожидал увидеть вот это

push 5
.text:00654BDA push 3Ah
.text:00654BDC mov ecx, offset unk_AB1DE8
.text:00654BE1 call sub_654F30

Но оно там напрочь отсутствовало! А где нужный файл взять, чтобы это было? Погуглив, я обнаружил только одну устаревшую ссылку. Прошу помощи.
User avatar
Dalai
Equilibris Core Team
Equilibris Core Team
Posts: 2797
Joined: Sat Apr 02, 2005 17:38
Contact:

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Dalai »

В разделе Downloads на сайте есть полностью рабочая ссылка на файл в самораспаковывающемся архиве.
Web-designer wanted. "Once a knight, always a knight, but once a King is once too often!" (c) Sir Bella of Eastmarch
Toejam
Level 3 Hero
Level 3 Hero
Posts: 22
Joined: Wed Aug 19, 2015 03:01

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Toejam »

Благодарствую))) Но теперь появилась вторая проблема - хотелось бы знать, где я накосячил, добавляя абилки троглодиту, вроде все по инструкции, а файл отказывается запускаться. Вот что я сделал:
.00654BD8 (адрес троглодита) в нем прописал call .000400300
затем nop (9 строчек)

.004002FF push 5
push 25 (новая абилка)
push 18 (новая абилка)
push 03A
mov ecx, 000AB1DFC
call 2551D0
retn
По идее должно работать. Может я стер что - то лишнее или еще чего?
User avatar
Dalai
Equilibris Core Team
Equilibris Core Team
Posts: 2797
Joined: Sat Apr 02, 2005 17:38
Contact:

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Dalai »

За ссылку - пожалуйста. Самый очевидный ваиант, вообще-то. ;)
Где накосячил - это пусть тебе кто-то другой, технически подкованный, поможет.
Web-designer wanted. "Once a knight, always a knight, but once a King is once too often!" (c) Sir Bella of Eastmarch
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Max_HMMI »

Toejam wrote:Благодарствую))) Но теперь появилась вторая проблема - хотелось бы знать, где я накосячил, добавляя абилки троглодиту, вроде все по инструкции, а файл отказывается запускаться. Вот что я сделал:
.00654BD8 (адрес троглодита) в нем прописал call .000400300
затем nop (9 строчек)

.004002FF push 5
push 25 (новая абилка)
push 18 (новая абилка)
push 03A
mov ecx, 000AB1DFC
call 2551D0
retn
По идее должно работать. Может я стер что - то лишнее или еще чего?
Ошибка здесь:
call .000400300
В Hiew надо писать:

Code: Select all

call .000000300
Кроме того, команда
mov ecx, 000AB1DFC
запишет абилки не троглодиту, а троллю. Для троглодита правильно:

Code: Select all

mov ecx, 000AB1DE8
Toejam
Level 3 Hero
Level 3 Hero
Posts: 22
Joined: Wed Aug 19, 2015 03:01

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Toejam »

Спасибо.. но проблема все та же. Для наглядности выкладываю скриншот с измененным кодом. Image
User avatar
Max_HMMI
Equilibris Core Team
Equilibris Core Team
Posts: 826
Joined: Sat Apr 02, 2005 19:45
Location: Киев

Re: Модинг абилок юнитов Heroes 4 WoW

Post by Max_HMMI »

Toejam
У тебя измененный код пошел с адреса 2FF. Тогда его вызов (в Hiew) по адресу 654BD8 вместо call 0300 должен выглядеть так:

Code: Select all

call 02FF
Post Reply