Объявления
Поздравляем
Roman2211


Друзья, если не получается зарегистрироваться, напишите на почту vdv_forever@bk.ru.
Я оторву свою задницу от всех дел и обязательно Вас активирую! :smile10:
Добро пожаловать на геройский форум! :smile25:

Как создать плагин для HD мода

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 22 янв 2019, 17:14

Здесь уже сам плагин менять нужно. И причём не HW_rules_mod_1.40.dll, а HW_SOD.dll:

Изображение

Тут идёт проверка на уровень Гильдии Магов:

Изображение

Числа 3, 4 и 5 о чём-нибудь говорят? :smile2:

Задача решается хекс-патчем HW_SOD.dll. Просто заменить опкод jnz (75) на опкод jmp (EB):

Изображение

Красным обвёл адрес инструкции в файле HW_SOD.dll. Не тестил, но других проверок в коде нет, так что должно работать.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Как создать плагин для HD мода

Сообщение Ben80 » 22 янв 2019, 18:29

AlexSpl писал(а):

Цитата:
Кстати, видел на df2 ваш запрос 2-летней давности о том, как определить, проходима клетка на карте или нет. Если еще актуально, могу привести код.

Если не сложно. Пусть будет в теме.


Создал пост.
viewtopic.php?f=56&t=532&p=18619#p18619
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Как создать плагин для HD мода

Сообщение as239 » 23 янв 2019, 04:29

Цитата:
Числа 3, 4 и 5 о чём-нибудь говорят?

Конечно говорят, именно их я искал, мучительно прыгая по псевдокоду в отладчике.
Большое спасибо за скрины - очень наглядно.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Как создать плагин для HD мода

Сообщение Ben80 » 23 янв 2019, 14:07

AlexSpl писал(а):

Задача решается хекс-патчем HW_SOD.dll. Просто заменить опкод jnz (75) на опкод jmp (EB):


Решение, альтернативное харкоду - сделать Undo для соответствующих хуков HD мода или HW Rulez.
Нужно только найти эти адреса, что несложно сделать, включив логгирование у HD мода.
Вернуться к началу

offlineas239  
имя: Анатолий
Ветеран
Ветеран
 
Сообщения: 527
Зарегистрирован: 29 дек 2018, 14:17
Пол: Мужчина
Поблагодарили: 38 раз.

Re: Как создать плагин для HD мода

Сообщение as239 » 23 янв 2019, 15:42

Ben80 писал(а):

AlexSpl писал(а):

Задача решается хекс-патчем HW_SOD.dll. Просто заменить опкод jnz (75) на опкод jmp (EB):


Решение, альтернативное харкоду - сделать Undo для соответствующих хуков HD мода или HW Rulez.
Нужно только найти эти адреса, что несложно сделать, включив логгирование у HD мода.


Это было бы супер. Потому что пропатченную dll-ку выкладывать точно нельзя.
А вот сделать это в плагине, было бы то что нужно.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 23 янв 2019, 16:11

Undo же весь патч отменит (включая функционал перестройки), а нам нужно всего лишь поменять одно условие внутри.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Как создать плагин для HD мода

Сообщение Ben80 » 23 янв 2019, 16:13

AlexSpl писал(а):

Undo же весь патч отменит (включая функционал перестройки), а нам нужно всего лишь поменять одно условие внутри.


При Undo, естественно, функцию перестройки нужно будет написать свою.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 23 янв 2019, 16:14

Цитата:
При Undo, естественно, функцию перестройки нужно будет написать свою.

И интересно кто же её напишет? :smile2:

Можно ещё попробовать пропатчить патч: т.е. найти его код в памяти и изменить байт инструкции при инициализации плагина.
Вернуться к началу

offlineBen80  
имя: Сергей
Эксперт
Эксперт
 
Сообщения: 1318
Зарегистрирован: 18 июн 2017, 06:49
Пол: Не указан
Поблагодарили: 336 раз.

Re: Как создать плагин для HD мода

Сообщение Ben80 » 23 янв 2019, 16:25

AlexSpl писал(а):

И интересно кто же её напишет? :smile2:


Ну, все чего я мог пожелать когда-то, вы мне написали :smile1: Наверно, вам хватило не на один год вперед :smile1:
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5587
Зарегистрирован: 17 сен 2010, 12:58
Пол: Мужчина
Награды: 14
Высшая медаль (1) Победителю турнира по HMM1_TE (2) Победителю этапа по HMM1 (1) Победителю этапа по HMM2 (1) Лучшему из лучших (1) 2 место 1 этапа по HMM1 (1)
3 место 1 этапа по HMM1 (1) 1 место 2 этапа по HMM2 (1) Победителю турнира по KB (2) Победителю турнира по KB (1) Грандмастер оффлайн-турниров (1) Боевой шлем (1)
Поблагодарили: 2185 раз.

Re: Как создать плагин для HD мода

Сообщение AlexSpl » 23 янв 2019, 16:30

Интересно, а можно ли из своего плагина менять другой плагин вообще? Как-то не приходилось сталкиваться.
Вернуться к началу

Пред.След.

Вернуться в Общий раздел

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4