Page 3 of 3

Posted: Thu Mar 26, 2015 19:34
by CTPAHHuK
Accolon wrote:Потереби Макса
;D

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

И да, прошу прощения, но о каком Максе речь идёт?

Posted: Fri Mar 27, 2015 19:55
by CTPAHHuK
Exorcist wrote:о каком Максе речь идёт?
Угораете! :lol:

Posted: Fri Mar 27, 2015 22:09
by Dalai
Exorcist wrote:И да, прошу прощения, но о каком Максе речь идёт?
Об этом.

CTPAHHuK
Прекрати :)

Posted: Sun Apr 05, 2015 23:07
by Max_HMMI
Exorcist wrote:Вопрос (может быть тупой) - что я делаю не так?
Проблема в том, что SpellBook инициализируется не списком заклинаний, а непосредственно в коде. Поэтому таким образом его не найти.

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

Кстати, по поводу огров: никто не знает, почему у них не появляется в спелл-буке "общий удар змеи" при количестве огров в стеке больше 5 недельных приростов? Или эту фишку для абилки Спеллкастер прописали исключительно для отдельных заклинаний?

Posted: Thu Apr 09, 2015 19:27
by CTPAHHuK
Exorcist wrote:Кстати, по поводу огров: никто не знает, почему у них не появляется в спелл-буке "общий удар змеи" при количестве огров в стеке больше 5 недельных приростов?
Разве нет?

Posted: Thu Apr 09, 2015 19:35
by Exorcist
CTPAHHuK wrote:
Exorcist wrote:Кстати, по поводу огров: никто не знает, почему у них не появляется в спелл-буке "общий удар змеи" при количестве огров в стеке больше 5 недельных приростов?
Разве нет?
У меня в Экви 3.51 появляется только "Кровавое безумие" в довесок к "Жажде крови". "Общий удар змеи" не появляется. У кого-то по-другому?

Posted: Thu Apr 09, 2015 19:38
by CTPAHHuK
сколько оргов? попробуй 100, известны некоторые ошибки для спеллкастеров при массовых аналогах

Posted: Thu Apr 09, 2015 19:46
by Exorcist
CTPAHHuK wrote:сколько оргов? попробуй 100, известны некоторые ошибки для спеллкастеров при массовых аналогах
Попробовал. "Кровавое безумие" появляется, "Общий удар змеи" - нет.

Posted: Thu Apr 09, 2015 20:23
by Accolon
Exorcist
Динамическое появление массовых спеллов записано в коде Экви-тимом. И записано для каждого конкретного юнита особо. Т.е., если появляется у джинов, то не значит, что обязано появится у огров. И если появл. массовая кровожадность, то не значит, что появл. массовый змеиный удар. Я не помню, был ли он у меня. Да, попробуй увеличить к-во огров в стеке, как Странник советует.

Posted: Mon Apr 13, 2015 19:23
by Exorcist
Accolon wrote:Exorcist
Динамическое появление массовых спеллов записано в коде Экви-тимом. И записано для каждого конкретного юнита особо. Т.е., если появляется у джинов, то не значит, что обязано появится у огров. И если появл. массовая кровожадность, то не значит, что появл. массовый змеиный удар.
Спасибо, это многое проясняет.
Accolon wrote:Exorcist
Да, попробуй увеличить к-во огров в стеке, как Странник советует.
Пробовал. Не помогает.

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

Posted: Wed Aug 19, 2015 03:14
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

Но оно там напрочь отсутствовало! А где нужный файл взять, чтобы это было? Погуглив, я обнаружил только одну устаревшую ссылку. Прошу помощи.

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

Posted: Wed Aug 19, 2015 12:57
by Dalai
В разделе Downloads на сайте есть полностью рабочая ссылка на файл в самораспаковывающемся архиве.

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

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

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

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

Posted: Wed Aug 19, 2015 18:34
by Dalai
За ссылку - пожалуйста. Самый очевидный ваиант, вообще-то. ;)
Где накосячил - это пусть тебе кто-то другой, технически подкованный, поможет.

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

Posted: Mon Aug 31, 2015 12:02
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

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

Posted: Mon Aug 31, 2015 14:23
by Toejam
Спасибо.. но проблема все та же. Для наглядности выкладываю скриншот с измененным кодом. Image

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

Posted: Mon Aug 31, 2015 15:57
by Max_HMMI
Toejam
У тебя измененный код пошел с адреса 2FF. Тогда его вызов (в Hiew) по адресу 654BD8 вместо call 0300 должен выглядеть так:

Code: Select all

call 02FF