Объявления

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

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

Герои Меча и Магии III: Возрождение Эрафии, Герои Меча и Магии III Дыхание Смерти, Герои Меча и Магии III Клинок Армагеддона, Герои Меча и Магии III Хроники Героев
offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5538
Зарегистрирован: 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)
Поблагодарили: 2155 раз.

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

Сообщение AlexSpl » 15 фев 2019, 17:39

Тут уже с дебаггером нужно сидеть, проверять, загрузился ли плагин. Но я всегда в первую очередь рассматриваю человеческую ошибку: та ли версия плагина в папке (иногда можно забыть скопировать его из папки Release), тот ли плагин подключён (всегда проверяю дату/время создания файла). Обычно это решает. Но если тут действительно не такого рода ошибка, то нужно приаттачиться к процессу и посмотреть, действительно ли патч (jmp плагина) находится по нужному адресу. В данном случае нужно поставить брейкпоинт на 406F60h и посмотреть, есть ли там jmp.
Вернуться к началу

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

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

Сообщение as239 » 15 фев 2019, 17:51

AlexSpl писал(а):

Тут уже с дебаггером нужно сидеть, проверять, загрузился ли плагин. Но я всегда в первую очередь рассматриваю человеческую ошибку: та ли версия плагина в папке (иногда можно забыть скопировать его из папки Release), тот ли плагин подключён (всегда проверяю дату/время создания файла). Обычно это решает. Но если тут действительно не такого рода ошибка, то нужно приаттачиться к процессу и посмотреть, действительно ли патч (jmp плагина) находится по нужному адресу. В данном случае нужно поставить брейкпоинт на 406F60h и посмотреть, есть ли там jmp.

Ошибка при копировании исключена - 10 раз все проверил.

jmp вроде есть:
Изображение

Но потом дальше при отладке, вот такая ошибка:
Изображение
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5538
Зарегистрирован: 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)
Поблагодарили: 2155 раз.

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

Сообщение AlexSpl » 15 фев 2019, 18:01

Если есть jmp, плагин будет работать. Исключение можно пропустить так: F9, No (discard).
Вернуться к началу

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

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

Сообщение as239 » 15 фев 2019, 18:03

AlexSpl писал(а):

Если есть jmp, плагин будет работать. Исключение можно пропустить так: F9, No (discard).

Да, исключение я пропускаю, но окно с сообщением не появляется.
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5538
Зарегистрирован: 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)
Поблагодарили: 2155 раз.

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

Сообщение AlexSpl » 15 фев 2019, 18:11

Порядок действий: запускаете игру (для чистоты эксперимента только с плагином ShiftBlocks, выбираете карту, но не нажимаете BEGIN, аттачитесь к процессу, F9, нажимаете BEGIN. Останов по адресу 406F60, жмём F9, видим диалог с кол-вом монстров.

Если jmp отсутствует, плагин не загружен. Если есть джамп, можно код плагина выполнить по шагам (клавиша F8, со входом в функции - F7, по Ctrl+F7 выходим из функции, когда надоест). Нет диалога - баг плагина, но если есть jmp, это обычно автоматически означает, что всё будет работать корректно.
Последний раз редактировалось AlexSpl 15 фев 2019, 18:25, всего редактировалось 1 раз.
Вернуться к началу

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

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

Сообщение as239 » 15 фев 2019, 18:22

AlexSpl писал(а):

Порядок действий: запускаете игру (для чистоты эксперимента только с плагином ShiftBlocks, выбираете карту, но не нажимаете BEGIN, аттачитесь к процессу, F9, нажимаете BEGIN. Останов по адресу 406F60, жмём F9, видим диалог с кол-вом монстров.

Все так и делаю, после F9 на точке остановы - выскакивает исключение, еще раз F9, игра запускается но без сообщения.
Единственное у меня еще выскакивает окно HW, хотя плагин HW отключен (вообще все плагины отключены кроме ShiftBlocks):
Изображение
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5538
Зарегистрирован: 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)
Поблагодарили: 2155 раз.

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

Сообщение AlexSpl » 15 фев 2019, 18:26

Может, в hw_rules дело тогда? Иначе бы Вы не видели этого окна. Тестил с HD+, тоже работает.

Подключил hw_rules. Ничего не изменилось, диалог корректно показывает кол-во нейтральных отрядов на карте. Просто реально интересная ситуация. Почему у Вас на отдельных машинах не работает :smile5:
Последний раз редактировалось AlexSpl 15 фев 2019, 18:33, всего редактировалось 1 раз.
Вернуться к началу

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

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

Сообщение as239 » 15 фев 2019, 18:30

AlexSpl писал(а):

Может, в hw_rules дело тогда? Иначе бы Вы не видели этого окна. Тестил с HD+, тоже работает.

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

Изображение
Вернуться к началу

offlineАватара пользователя
AlexSpl  
имя: Александр
Эксперт
Эксперт
 
Сообщения: 5538
Зарегистрирован: 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)
Поблагодарили: 2155 раз.

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

Сообщение AlexSpl » 15 фев 2019, 18:37

Короче, самый простой способ проверить, что не так: уберите весь код в хайхуке, кроме вывода диалога:

Код: Выделить всё
sprintf(o_TextBuffer, "%s", "Test");
b_MsgBox(o_TextBuffer, 1);

return CALL_2(int, __thiscall, h->GetDefaultFunc(), advManager, a2);


Увидите ли Вы диалог с текстом "Test"?
Вернуться к началу

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

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

Сообщение as239 » 15 фев 2019, 18:41

Цитата:
Почему у Вас на отдельных машинах не работает

Таже проблема была с отображением текста охраны.
На локальном и первая версия работала, на остальных заработало только после правки.
Вернуться к началу

Пред.След.

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

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

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