Wake of Gods Forum | Форум Во Имя Богов
Плагины. Обсуждение - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Моды (/forumdisplay.php?fid=104)
+--- Thread: Плагины. Обсуждение (/showthread.php?tid=5717)


Плагины. Обсуждение - gamecreator - 19.04.2013 21:59

Обсуждаем плагины ЗДЕСЬ! JC_coffee


RE: Исследование героев - totkotoriy - 08.03.2018 00:16

Я тут пытался запилить окно героя с 10ю вторичными навыками место 8ми через плагин с кнопками... почти получилось :\
Оказывается поверх кнопок выводится текст и иконка вторичного навыка. С иконками справился - вставил деф с прозрачными кадрами, с названием навыков тоже - при открытии стираю названия навыков, а при закрытии восстанавливаю, но вот эти надписи базовое, продвинутое и экспертное если затереть в тхт они затрутся везде. +Сами области для нажатия от старых навыков остаются активными. Может знает кто-нибудь как это обойти? В Сагамосе помнится сделали такое как-то...
Image: 10ss.jpg


RE: Исследование героев - igrik - 08.03.2018 23:50

(08.03.2018 00:16)totkotoriy Wrote:  Я тут пытался запилить окно героя с 10ю вторичными навыками место 8ми через плагин с кнопками... почти получилось :\
Сделаю, ничего сложного. Также доступными для изучения станут 10, а не 8 втор.навыков. !!!Но сделаю не в эти праздники.
Для этого подготовь pcx с замененными расположениями опыта и маны, перенесенными в другое место. Можно в место WoG Спец абилок (блого и проклятий). В общем распланируй окно героя, а я его подгоню под твою задумку


RE: Исследование героев - Algor - 09.03.2018 11:41

igrik, totkotoriy, а можно это будет оформить отдельным модом? Что бы можно было в обычной игре использовать вместо WoG-опции на 10 навыков.
А то мне 10 навыков нравится, а прокручивать их - нет.

И, имхо, лучше не уменьшать иконки втор. навыков, а получить место за счет первичных и удачи/морали.
У первичных убрать подписи "Атака/Защита/пр", оставив только иконки (уменьшенные) и числовые значения, а для удачи/морали также добавить числа.
Специализацию логично будет засунуть наверх к герою и его имени/классу, т.к. эта часть неизменна.


RE: Исследование героев - totkotoriy - 09.03.2018 16:34

(08.03.2018 23:50)igrik Wrote:  
(08.03.2018 00:16)totkotoriy Wrote:  Я тут пытался запилить окно героя с 10ю вторичными навыками место 8ми через плагин с кнопками... почти получилось :\
Сделаю, ничего сложного. Также доступными для изучения станут 10, а не 8 втор.навыков. !!!Но сделаю не в эти праздники.
Для этого подготовь pcx с замененными расположениями опыта и маны, перенесенными в другое место. Можно в место WoG Спец абилок (блого и проклятий). В общем распланируй окно героя, а я его подгоню под твою задумку
Было бы круто!
Вот так сделать?
Image: heroscr4.jpg

(09.03.2018 11:41)Algor Wrote:  igrik, totkotoriy, а можно это будет оформить отдельным модом? Что бы можно было в обычной игре использовать вместо WoG-опции на 10 навыков.
А то мне 10 навыков нравится, а прокручивать их - нет.
Думаю да


RE: Исследование героев - igrik - 09.03.2018 19:05

(09.03.2018 16:34)totkotoriy Wrote:  Вот так сделать?
Наверное да. Я пошаманю, а там будет более ясно видно что и куда лучше перенести.
(09.03.2018 11:41)Algor Wrote:  igrik, totkotoriy, а можно это будет оформить отдельным модом? Что бы можно было в обычной игре использовать вместо WoG-опции на 10 навыков.
А то мне 10 навыков нравится, а прокручивать их - нет.
Значит будет модом


Плагины. Обсуждение - oleggy - 11.06.2018 10:22

Обнаружил баг интерфейса прокачки командира. Неверная картинка при описании навыков. Если этот баг не известен, то скину скриншет с подробностями.


RE: Ошибки, баги и недочёты WoG 3.58f - igrik - 11.06.2018 12:30

Скидывай. Раз ты ипользуешь мод "WoG_Native_Dialogs", то это не Воговский недочет, а мой.


RE: Ошибки, баги и недочёты WoG 3.58f - oleggy - 11.06.2018 12:57

А как можно прикладывать сюда сейвы и картинки? Просто не могу понять где в профиле на форуме можно хранить свои вложения..
До этого пользовался сторонним сервисом, но он хранит несколько дней, это не дело..


RE: Ошибки, баги и недочёты WoG 3.58f - igrik - 11.06.2018 19:00

(11.06.2018 12:57)oleggy Wrote:  А как можно прикладывать сюда сейвы и картинки? Просто не могу понять где в профиле на форуме можно хранить свои вложения..
До этого пользовался сторонним сервисом, но он хранит несколько дней, это не дело..
Тут в профиле некуда прикладывать. Необходимо пользоваться сторонними хостингами.

Я использую:
Для картинок https://imgbb.com/
Для файлов http://rgho.st/


RE: Ошибки, баги и недочёты WoG 3.58f - oleggy - 14.06.2018 18:28

(11.06.2018 12:30)igrik Wrote:  Скидывай. Раз ты ипользуешь мод "WoG_Native_Dialogs", то это не Воговский недочет, а мой.
Вообщем баг проявляется когда прокачиваешь нового командира.

На первом скриншете мы видим что в основные навыки был выбран уже навык здоровья.
Соответственно доступных навыков стало на 1 меньше, т.е. 5.
Навыки сдвигаются влево. Все правильно.
Image: 2018_06_14_20_04_22_2.png

Но если нажать ЛКМ на самый крайний навык справа (5-я клетка), т.е. навык скорости.
Но будет видно что описание этого навыка относится к навыку силы, т.е. к тому навыку который изначально располагался в 5-ой клетке.
Image: 2018_06_14_20_05_04_2.png


RE: Ошибки, баги и недочёты WoG 3.58f - igrik - 15.06.2018 15:07

(14.06.2018 18:28)oleggy Wrote:  Вообщем баг проявляется когда прокачиваешь нового командира.
...
если нажать ЛКМ на самый крайний навык справа (5-я клетка), т.е. навык скорости.
Но будет видно что описание этого навыка относится к навыку силы, т.е. к тому навыку который изначально располагался в 5-ой клетке.
Исправил. Перезалил по тем же ссылкам.
Старый мод нужно удалить, а потом только установить заново.

Дополнительно:
[-] исправлен баг WoG: уменшениt защиты командира при блоке
[+] теперь AI корректно расчитывает силу командира (AI_Value и Fight_Value). Ранее сила командира всегда равнялась 156 ед.


Плагины. Обсуждение - ALEXALEX3434 - 14.01.2019 13:50

(10.04.2018 16:58)igrik Wrote:  Плагины

Данная тема специально создана для размещения пользовательских плагинов для HoMM3.

igrik, Есть ряд вопросов и пожеланий:
1.WoG Native Dialogs- будет ли обновляться?
2. Защита артефактов, пандор и свитков-
Можно ли добавить еще защиту камней командиров

3.Если плагин чтобы после смерти командира, и последующей загрузки предыдущего дня он не исчезал?

4.Есть ли правка способности" с разбега +5%" у кавалерии?


RE: Плагины - igrik - 14.01.2019 15:49

(14.01.2019 13:50)ALEXALEX3434 Wrote:  igrik, Есть ряд вопросов и пожеланий:
1.WoG Native Dialogs- будет ли обновляться?
2. Защита артефактов, пандор и свитков-
Можно ли добавить еще защиту камней командиров

3.Если плагин чтобы после смерти командира, и последующей загрузки предыдущего дня он не исчезал?

4.Есть ли правка способности" с разбега +5%" у кавалерии?
1. WoG Native Dialogs обновляется по мере необходимости (либо правка багов и ошибок, либо добавление функционала). Правда я это нигде не освещаю (только сборку свою перезаливаю при обновлении WND). Например последнее обновление было на прошлой неделе.
2. А надо ли?. Я не вижу необходимости, но если ряд пользоваталей изъявит желание, то сделать могу
3, 4. Подробней опиши. Я ничего не понял.


RE: Плагины - daemon_n - 14.01.2019 15:52

igrik, ALEXALEX3434, командир уже не исчезает, этот баг исправлен. наверно, имеется ввиду баг кавалерийского бонуса для чемпионов и кавалеристов.


RE: Плагины - igrik - 14.01.2019 16:02

(14.01.2019 15:52)daemon_n Wrote:  командир уже не исчезает, этот баг исправлен.
А разве он когда-то исчезал? Я такого что-то не припомню.

(14.01.2019 15:52)daemon_n Wrote:  наверно, имеется ввиду баг кавалерийского бонуса для чемпионов и кавалеристов.
Так в чем суть бага?


RE: Плагины - ALEXALEX3434 - 14.01.2019 17:00

igrik, Баг в том ,что урон с разбега +5% не прибавлялся с осн.урону.
Может и исправлено,но я на эра 2.4 сижу,новее у меня не запускается .
daemon_n, У меня такой баг:
Если командира убили в бою,я загружаю сейв днем ранее ,где он жив,Но его нет(командира).

igrik, WoG Native Dialogs скачал 4 месяца назад, наверное много правок......

WoG Native Dialogs крайне сильно улучшает производитедьность на андроид эмуле,ибо родные вог сообщения вешали игру на 3-10сек,что раздражало.

С ним все фул спид,без единой запинки.)))

А вот новая твоя эра сборка 2.7.7 не запуск,не найден путь к каким-то скриптам и вылетает....(


RE: Плагины - igrik - 14.01.2019 17:42

(14.01.2019 17:00)ALEXALEX3434 Wrote:  igrik, Баг в том ,что урон с разбега +5% не прибавлялся с осн.урону.
Может и исправлено,но я на эра 2.4 сижу,новее у меня не запускается.
Разбег кавалерийского бонуса никогда и ни в одной версии не работет для летающих существ. И поэтому я думаю, что ты проверял на командире, когда обнаружил этот баг.
Для пеших существ кавалерийский бонус работает стабильно и корректно.

(14.01.2019 17:00)ALEXALEX3434 Wrote:  igrik, WoG Native Dialogs скачал 4 месяца назад, наверное много правок......
Да, в WoG Native Dialogs за 4 месяца очень много правок.

(14.01.2019 17:00)ALEXALEX3434 Wrote:  А вот новая твоя эра сборка 2.7.7 не запуск,не найден путь к каким-то скриптам и вылетает....(
Это к разработчику ЭРЫ (Берсеркеру). Я думаю он знает об этой проблеме.


RE: Плагины - daemon_n - 27.01.2019 00:12

(12.04.2018 01:56)igrik Wrote:  WoG Native Dialogs
(Вог диалоги в родном исполнении)

На данный момент сделано:
- диалог командира (скрин)
Есть возможность добавить выход из окна командира клавишей Esc? На Enter выходит, но рука всегда в левой части клавиатуры. На Esc выхожу из всех возможных диалоговых окон.
Если это правится в .btn файле, то какой программой это сделать?


RE: Плагины - totkotoriy - 27.02.2019 22:32

(27.02.2019 12:45)igrik Wrote:  Намаялся я конечно с плагином сетевой передачи, пока разобрался что к чему.

Кому интересно потестировать:
Вот тестовый плагин WoGFixOutOfSync.dll
Плагин класть в EraPlugins любого мода.

igrik, спасибо, что занялся данной темой, а может просто команду в ерм сделать для передачи всех данных и вставить во все боевые скрипты? мне кажется так будет проще и не надо думать в какой момент передавать


RE: Ошибки, баги и недочёты WoG 3.58f - wpion - 03.07.2019 01:21

igrik,как убрать кнопки отмены у ученого и в хижине ведьмы?


RE: Ошибки, баги и недочёты WoG 3.58f - igrik - 03.07.2019 22:54

(03.07.2019 01:21)wpion Wrote:  igrik,как убрать кнопки отмены у ученого и в хижине ведьмы?
Завтра сделаю плагин


RE: Ошибки, баги и недочёты WoG 3.58f - wpion - 04.07.2019 18:25

igrik,ты лучший!да что там, ты просто святой человек!спасибо от нашего маленького комьюнити!


RE: ERA II - Berserker - 18.07.2019 13:01

С Battery конфликтуют хуки и способ сохранения/загрузки данных.

HookCode(POINTER($74C7DD), @Reset_Table, C_HOOKTYPE_JUMP); //сброс значений в таблице на -2 (дефолтное значение) при старте карты перед инструкцией

в Эре:
(* Remove LoadERMTXT calls everywhere *)
Core.p.WriteDataPatch(Ptr($749932 - 2), ['33C09090909090909090']);
Core.p.WriteDataPatch(Ptr($749C24 - 2), ['33C09090909090909090']);
Core.p.WriteDataPatch(Ptr($74C7DD - 2), ['33C09090909090909090']);
Core.p.WriteDataPatch(Ptr($7518CC - 2), ['33C09090909090909090']);

В Эре загрузка/сохранение данных обычно через ReadSavegameSection делается, так формат сохранений не портится. Что касается сброса значений, то есть событие OnBeforeErm. Вероятнее всего, оно подходит для сброса таблицы.

У кого-нибудь остался исходник Battery.pas?


RE: ERA II - igrik - 18.07.2019 14:28

(18.07.2019 13:01)Berserker Wrote:  У кого-нибудь остался исходник Battery.pas?
На форуме же и остался Ab
Battery.dll


RE: ERA II - Berserker - 18.07.2019 19:49

igrik, спасибо большое!


RE: ERA II - ElfbI - 18.09.2019 23:56

Berserker, подскажите, в 2.8.8 в game_bug_fixes нумерация раундов стандартная или измененная?
(08.08.2019 21:54)Berserker Wrote:  Пользователям сборок рекомендуется обновить game bug fixes.dll на этот (в нём нет исправления номеров раундов в бою.)



RE: ERA II - igrik - 19.09.2019 10:28

(18.09.2019 23:56)ElfbI Wrote:  подскажите, в 2.8.8 в game_bug_fixes нумерация раундов стандартная или измененная?
Уже стандартная. В настоящее время game_bug_fixes никак не влияет на нумерацию раундов.


В стандартной эре всегда была стандартная (как в SoD).
В сборке от daemon_n, ранее была измененная, теперь - стандартная нумирация.

Важно!: начиная с версии 2.8.7 в ERA была изменена механика раундов битвы (в SoD она различается для раундов с тактической фазой и без)

Исход: нумирация раундов в настоящее время для ERA 2.8.7 и выше всегда имеет такую механику:
    - во всех битвах первый раунд всегда = 0 (v997 - хранит номер раунда в битве)
    - во время тактической расстановки номер раунда начинается со значения -1000000000, т.е. имеет отрицательное значение


Berserker, и хотя нумерация приведена в норму, баг вызовов остался. Более детально:
Герой с армией максимально прокачаных крестьян (опыт армий) при наличии тактики и сразу после тактической фазы призывает группу других крестьян (но должен это делать лишь с следующем раунде)
Без наличия тактической фазы такой проблемы нет.
Для уточнения: вызов всех существ от опыта армий привязан к содовским раундам баттлменеджера (строка 2445 "crexpo.cpp")
Code:
int Day=(*(int *)&((Byte *)BatMan)[0x13D6C]);
Именно поэтому баг проявляется и сейчас. Именно поэтому я и вносил фиксы в раунды битвы.
Либо перепривязывать данный вызов к BACall_Turn (*(_int_*)0x79F0BC), либо фиксить и содовские раунды. Тут уже как тебе удобнее


RE: Плагины - Berserker - 26.09.2019 22:59

(26.09.2019 21:02)igrik Wrote:  Подробные описания заклинаний

Автор: igrik
Язык: английский или русский (мод сам понимает когда какой язык применять)
Поддерживаемые версии: ERA
Способ установки: устанавливать как мод ERA

Скачать

igrik, прекрасный плагин, спасибо!

У меня вопрос по поводу перевода на другие языки. Можно на tr() перевести сообщения, что сейчас в текстовом файле?
Скажем, глобальная переменная std::string battleLogHint.
// igrik spells descriptions = isd
// int damage = вычислили урон
battleLogHint = tr("isd.deals_x_damage", { "damage", IntToStr(damage) });

И файл Mod\xxx\Lang\igrik spell descriptions.json
Code:
{
  "isd": {
    "deals_x_damage": "Наносит @damage@ урона!"
  }
}



RE: Плагины - Valery - 27.09.2019 00:46

(26.09.2019 21:02)igrik Wrote:  плагин Подробные описания заклинаний

Автор: igrik

What's the difference with THIS

As I'm not sure what the russian text say


RE: Плагины - helgtla - 27.09.2019 01:06

По плагину Подробные описания заклинаний : если у героя есть навык Волшебство (+15% к урону заклинаний), то такие заклятия как Воскрешение, лечение, поднятие мертвецов-в описании имеют 15% прибавку от навыка, хотя сам навык на эти заклинания не действует(так как заклятия изначально не являются наносящими урон). Плюс одевание артефактов стихийных сфер так же "увеличивает" показатель реса/лечения в описании заклятия(по факту это не так).


RE: Плагины - daemon_n - 27.09.2019 01:06

(27.09.2019 00:46)Valery Wrote:  What's the difference with THIS

As I'm not sure what the russian text say

In bottom line images dealing damage and quantity of creatures will killed by this spell, like in the Sod_SP plugin and the last Hota version


RE: Плагины - Berserker - 27.09.2019 01:35

(27.09.2019 00:46)Valery Wrote:  What's the difference with THIS

As I'm not sure what the russian text say
Valery, estimated damage/kills are displayed in battle log box.


RE: Плагины - igrik - 27.09.2019 18:49

(27.09.2019 01:06)helgtla Wrote:  По плагину Подробные описания заклинаний : если у героя есть навык Волшебство (+15% к урону заклинаний), то такие заклятия как Воскрешение, лечение, поднятие мертвецов-в описании имеют 15% прибавку от навыка, хотя сам навык на эти заклинания не действует(так как заклятия изначально не являются наносящими урон). Плюс одевание артефактов стихийных сфер так же "увеличивает" показатель реса/лечения в описании заклятия(по факту это не так).
Совсем забыл про то, что Волшебство работает только на заклинания, наносящие урон. Исправлено.

Также добавлено автоматическое определение языка (русский или английский).
Для разбирающихся:
Code:
// локализация WoG (0 - eng, 1 - rus)
#define isRusLangWoG (*(_int_*)0x80321C)

Перезалито по той же ссылке.


RE: Плагины - Valery - 28.09.2019 03:13

Berserker Wrote:
(27.09.2019 00:46)Valery Wrote:  What's the difference with THIS

As I'm not sure what the russian text say
Valery, estimated damage/kills are displayed in battle log box.
ah thanks, great mod.


RE: Плагины - AuAu - 28.09.2019 20:57

BattleReplay.dll при рестарте битвы возвращает лишь одну палатку/баллисту/тележку, можно сделать, чтобы возвращал все??
Имеется в виду - с включённой опцией "усиленные боевые машины 3", там можно покупать несколько палаток/прч.


RE: Плагины - igrik - 30.09.2019 14:47

(28.09.2019 20:57)AuAu Wrote:  BattleReplay.dll при рестарте битвы возвращает лишь одну палатку/баллисту/тележку, можно сделать, чтобы возвращал все??
Имеется в виду - с включённой опцией "усиленные боевые машины 3", там можно покупать несколько палаток/прч.
Нужно адаптировать скрипт под плагин (а не плагин под скрипт). Для этого в плагине предусмотрен вызов 2 функций.
!?FU870520; [перед переигрываемой битвой]
!?FU870530; [после переигрываемой битвы]
В них вам нужно будет (скорее всего) исправить всего лишь одну или пару скриптовых переменных, которая инициализирует установку бОльшего кол-ва боевых машин.

Если будете править скрипт, очень внимательно изучите эту конструкцию:




RE: Плагины - AuAu - 30.09.2019 20:32

igrik Wrote:Нужно адаптировать скрипт под плагин (а не плагин под скрипт).

igrik, благодарю, всё работает. Однако(всегда есть однако) если нейтральных мобов защищает нейтральный герой - при ребатле все существа вражеские пропадают, кроме командира и боевых машин. Хотя, учитывая, что эта опция(случайный герой) в принципе кривая и на случайных кратах почему-то не работает - всё ок.


RE: Плагины - daemon_n - 01.10.2019 14:32

(26.09.2019 21:02)igrik Wrote:  Подробные описания заклинаний

Неверно пишется урон в строке состояния.
должно быть 480
Проверил все дамаг спеллы - не хватает ровно 5%

пишет кол-во убиваемых - 0 - именно в русской версии

краш при попытке воскресить - наведении на труп

summon вмсето sammon



RE: Плагины - igrik - 01.10.2019 16:24

(01.10.2019 14:32)daemon_n Wrote:  Неверно пишется урон в строке состояния.
Проверил все дамаг спеллы - не хватает ровно 5%
должно быть 480
Нужен сейв. У меня всё корректно пишет.


(01.10.2019 14:32)daemon_n Wrote:  1) пишет кол-во убиваемых - 0 - именно в русской версии
2) краш при попытке воскресить - наведении на труп
3) summon вмсето sammon
Все три пункта исправлены.
Мод перезалит.


RE: Плагины - daemon_n - 01.10.2019 17:57

(01.10.2019 16:24)igrik Wrote:  
(01.10.2019 14:32)daemon_n Wrote:  Неверно пишется урон в строке состояния.
Проверил все дамаг спеллы - не хватает ровно 5%
должно быть 480
Нужен сейв. У меня всё корректно пишет.

Вот СейвНаЯД



RE: Плагины - igrik - 01.10.2019 19:40

(01.10.2019 14:32)daemon_n Wrote:  Неверно пишется урон в строке состояния.
Проверил все дамаг спеллы - не хватает ровно 5%
должно быть 480
Исправлено. Спасибо за репорты.
Мод перезалит Ab


RE: Плагины - professornova - 10.01.2020 16:18

В плагине game bug fixes.dll не так давно появился баг.

Шаги для воспроизведения:
1. Устанавливаем HoMM Complete в новую папку.
2. Устанавливаем чистую era 2.9.3.
3. Устанавливаем game bug fixes.dll версии 58af4cd7484e925e2155df0e7b377fe587e897c3 или выше.
4. Устанавливаем Era Scripts 1.40.
5. Включем скрипт split decision.
6. Начинаем игру на стандартной карте Arrogance.
7. Начинаем бой с ИИ.

Баг: игра вылетает при попытке AI разделения отрядов. Воспроизводится всегда.

В предыдущей версии 7926b520586ba68dd5983c514e79c8d03f8bd44c проблема не воспроизводится и скрипт split decision работает стабильно.


Без Era Scripts 1.40 баг тоже воспроизводится, но в скрипте "Split decision" из WoG есть неисправленные проблемы. Поэтому тестировал сценарий с версией "Split decision" из Era Scripts.


RE: Плагины - daemon_n - 10.01.2020 16:21

professornova Wrote:В плагине game bug fixes.dll не так давно появился баг.
professornova, а ты erm_hooker.era обновил в era scripts?


RE: Вопросы по моддингу - Ivor - 10.01.2020 17:05

Это один из стандартных Воговских скриптов, правильно? Давно их не включал, мне их правила замены не нравятся


RE: Вопросы по моддингу - professornova - 10.01.2020 18:35

да, один из стандартных


RE: Плагины - Berserker - 10.01.2020 18:37

(10.01.2020 16:21)daemon_n Wrote:  
professornova Wrote:В плагине game bug fixes.dll не так давно появился баг.
professornova, а ты erm_hooker.era обновил в era scripts?

daemon_n, скорее удалить его нужно.


RE: Плагины - professornova - 10.01.2020 18:37

Использовал erm_hooker из мода WoG.


era changelog:
Quote:Version 2.9.0
------------------------
[+] ERM Hooker was updated to 2.1 version and is now part of Era package. Mod makers should not include it in their mods.



RE: Плагины - Berserker - 10.01.2020 21:28

igrik Wrote:
(10.01.2020 16:18)professornova Wrote:  В плагине game bug fixes.dll не так давно появился баг.
На данный момент ошибку я исправил. Больше вылетов нет.
Плагин обновлен по той же ссылке: game bug fixes.dll
igrik, это продвинутый плагин или тот, что в Эре нужно обновить?


RE: Плагины - igrik - 10.01.2020 21:53

Berserker Wrote:igrik, это продвинутый плагин или тот, что в Эре нужно обновить?
Это плагин, который я создавал сам, во многом отписываясь в этой теме

У тебя плагин RoseKavalier'a.
Мой плагин включает в себя весь код плагина RoseKavalier, плюс я уже много чего дописал к нему.
Весь код моего плагина можно увидеть на гитхабе.


RE: Плагины - professornova - 10.01.2020 23:08

(10.01.2020 20:48)igrik Wrote:  На данный момент ошибку я исправил. Больше вылетов нет.
Плагин обновлен по той же ссылке: game bug fixes.dll

Спасибо, новая версия работает корректно.

На Era 2.8.8 баг тоже воспроизводился. Я просто для примера привел 2.9.3.


RE: Плагины - Berserker - 10.01.2020 23:28

(10.01.2020 21:53)igrik Wrote:  У тебя плагин RoseKavalier'a.

igrik, да, вспомнил, спасибо. Мне нужен был плагин с минимумом нововведений и максимумом стабильности, потому тот брал.


RE: Плагины - igrik - 11.01.2020 17:05

Обновлен мод увеличенного кол-ва скоростей в битве.
Причина: не сохранялись параметры после перезапуска игры
Ссылка та же тут


RE: Плагины - daemon_n - 11.01.2020 17:06

igrik Wrote:daemon_n, тебе обновлять своё сообщение не нужно!
igrik, сообщение нет.
Сборку... Да112

Спасибо за обновление)


RE: Плагины - Berserker - 11.01.2020 17:12

(11.01.2020 17:05)igrik Wrote:  Обновлен мод увеличенного кол-ва скоростей в битве.
Ссылка та же тут

igrik, огромное спасибо! 112 112 112


RE: Баги сетевой игры - daemon_n - 21.04.2020 19:11

При игре на разных компьютерах (или просто 2 клиента) 100% вылет, если нападать на замок.
После первого выстрела катапульты на компьютере нападающего следует прямой выстрел в нижний стек защитника. Снимает 1 хп, но который второй не видит. Проверено вообще без скриптов и модов. Зависимости только от game bug fixes.dll плагина.

Если есть тактическая фаза, врага нет. Если есть баллистика, краша нет. То есть нет лишнего выстрела.

   Что интересно, на версии Эры 2.9.12 краша с тем же плагином нет, но есть выстрел катапульты, который снимает 1хп. Второй игрок его тоже не видит, но игра крашится лишь при пкм на союзном юните.

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


RE: Баги сетевой игры - daemon_n - 21.04.2020 21:11

(21.04.2020 19:25)daemon_n Wrote:  При игре на разных компьютерах (или просто 2 клиента) 100% вылет, если ...

Исправлено. Спасибо igrik'у.


RE: Баги сетевой игры - Berserker - 21.04.2020 22:22

daemon_n, укажи, пожалуйста. Что и где исправлено Ab


RE: Баги сетевой игры - daemon_n - 21.04.2020 23:59

Berserker, game bug fixes.dll - что-то с передачей данных.


RE: Исследование героев - gamemaster - 19.07.2020 19:18

Hi,

Wondering is Igrik wiling to share some code Sm

Actually i tries to port "wog native dialogs.cpp" to delphi 10.3
Benefits of porting can be:
- In near future i can play with code in spare time Sm
- In far future it can be integrated part of ERA. Perhaps add new functionality trough erm scripts or something like that (extending already existing dialogs)...

Code will be available to bersy if he found that interesting for era3 integration of any kind.
Bersy is only person i know that use delphi beside me that is reason why i mention him Sm.

For now it is private project so provided source wont leak to others if it is concern.

I need all dependices of "wog native dialogs.cpp" if it can be provided (.cpp and .h).

Up until now i had ported some part of code (~5%) and it seems to be no problem to port remaining part if i had source.
I can do it trough reversing with idapro but it is waste of time if code already exists...

So, i am in you grace Igrik Sm


RE: Исследование героев - igrik - 22.07.2020 12:40

gamemaster, Исходный код вы можете увидеть тут:
Source wog native dialogs


RE: Исследование героев - gamemaster - 22.07.2020 20:24

Thanks!!


Плагины. Обсуждение - Archer30 - 31.07.2020 00:20

1. Hi igrik ! I love your plugin Spells Description very much, though I have difficulties on adding Chinese localization to it without replacing English. Will you kindly consider update the plugin with ERA json support? Thanks!

2. This is another request about WoG Native Dialog plugin:

Image: cZZhAat.jpg

So far I believe that the comma I show from the pic above does not appear in WogNDlg.txt. It is handled internally, which frustrates me.
In some languages ​​(Chinese for example), there is an alternative style of comma. Using an English comma does not make sense to those languages.
I wish this comma can be added to WogNDlg.txt for better localization experience of ERA.

Hope that igrik will respond to my request. Thank you in advanced. 96-copy


RE: Плагины - Berserker - 31.07.2020 00:41

Archer30, how do you write comma in Chinese?


RE: Плагины - Archer30 - 31.07.2020 01:05

Berserker, It's ",". Comparing to English comma, just slightly different in style and wider to match up with Chinese characters.


RE: Плагины. Обсуждение - igrik - 31.07.2020 23:25

(31.07.2020 00:20)Archer30 Wrote:  1. Hi igrik ! I love your plugin Spells Description very much, though I have difficulties on adding Chinese localization to it without replacing English. Will you kindly consider update the plugin with ERA json support? Thanks!

2. This is another request about WoG Native Dialog plugin
1. Ok. I'll do it. But later, not now.

2. Comma added to txt file. Download
Correct the text file yourself:
", kills:" (line 22)



PS: show me what a comma looks like in Chinese, please.


RE: Плагины. Обсуждение - Berserker - 01.08.2020 03:29

igrik, в посте выше китайская запятая.


RE: Плагины. Обсуждение - Archer30 - 01.08.2020 12:40

igrik, thank you so much!
My request 1# was submitted 1 month ago. Now I've already got used to the current spell description structure. There is no big deal creating another language file for the plugin. It's up to you to place the request to a low priority Sm

So the Chinese comma is "," comparing to English comma "," only minor difference there. Let me show you in action.
Image: BoCS5es.jpg

Blue line: Chinese comma
Red line: English comma


RE: Плагины. Обсуждение - Archer30 - 05.08.2020 21:31

Asking for more help from igrik

igrik, appologize for failing to notice this before I submitted my last request. I'm in need of your help again about WoG Native Dialogs.

New Request: Moving the spacebar marked below from the plugin to WoGNDlg.txt (end of line 22).
Image: 2knLiPq.jpg

Reason: Spacebar in sentences must be removed in Asian languages.

Explanation:
The current line 22 from WoGNDlg.txt is
Code:
, kills:
The actual sentence in battle will become
Code:
, kills: %killcount%
While in Chinese, the more native way of speaking would be
Code:
,kills:%killcount%
The difference is, there is no space needed after "kills:".


RE: Плагины. Обсуждение - Bes - 06.08.2020 19:02

igrik, тож спрошу по WoG Native Dialog плагину...

В области ввода текста ограничение в 31 символ?
Я не знаю сколько было в базовой реализации WoG, использую щас обновлённый диалог...
Image: 0f1af60a1c81t.jpg


RE: Плагины. Обсуждение - Archer30 - 21.08.2020 13:01

Another new request of WoG Native Dialogs...

Request: Can igrik make a switch of whether or not enabling input dialogs of WoG Native Dialogs please?

Reason: The current input dialogs from WoG Native Dialogs has an shortcoming for Asian language user as it does not support local IME (Input method).

Explanation:
Here's an example explaining how IME works with Chinese input (with WoG Native Dialogs disabled):
Image: bi3cy1p.jpg
When typing "haha" with Chinese IME enabled, "haha" does not instantly appear in the game, instead it's stored in the IME. As "haha" was typed, IME will pop up possible Chinese words with the letter combination "haha". Unitil pressing "1, 2 or 3" from the keyboard to select the actual Chinese words, nothing will be input to the game.

If "1" was pressed after "haha", then
Image: rAqgEDl.jpg
“哈哈” would be input in the game dialogs.

But, with WoG Native Dialogs Enabled, this becomes impossible. Here's another example explain how WoG Native Dialogs behaves with Chinese IME enabled.
Image: UnEWkjP.jpg
So basically the Chinese IME still stores the keyboard input, but WoG Native Dialogs won't write anything from IME. With "haha" + "1" now gets only "haha1" in the dialog.

Conclusion: WoG Native Dialogs does not support Chinese Chinese input while the original WoG dialogs handles it quite well.

I understand that it might be very complex to add local IME support to WND, thus my request is making a switch of the dialog.

I'm looking forward to your response to this one, as well as the request here, igrik. Thank you in advanced Sm


RE: Плагины. Обсуждение - igrik - 21.08.2020 13:27

Image: image.png

Do these input fields support Asian characters?


RE: Плагины. Обсуждение - Archer30 - 21.08.2020 13:37

igrik, they do not, even the official Chinese HoMM3 does not supports any kind of Chinese character input. That's the main reason I believe this could takes many effort of research.

The only dialogs supports Chinese are WoG's, which is essential for objects like living skull.


RE: Плагины. Обсуждение - igrik - 21.08.2020 13:41

(21.08.2020 13:37)Archer30 Wrote:  igrik, they do not, even the official Chinese HoMM3 does not supports any kind of Chinese character input. That's the main reason I believe this could takes many effort of research.

The only dialogs supports Chinese are WoG's, which is essential for objects like living skull.
Very bad. We will decide with Berserker what to do.


Berserker, что будем делать? Выпиливать этот диалог ввода (полностью или через ini файл с параметром)?
Или есть другие предложения? Просто я не вижу способа добавить поддержку азиатских символов в это поле ввода. Я уже много чего перепробовал - всё бестолку.


RE: Плагины. Обсуждение - Berserker - 21.08.2020 14:11

igrik, воговский диалог ввода — обычный элемент управления Windows, который умеет выделять/копировать текст, понимает сообщение вставки из буфера обмена.
К сожалению, азиатский способ ввода будет не применим к большинству игровых диалогов. Потому давай вынесем замену поля ввода в heroes3.ini (есть команда на чтение из ini в era sdk). При UseWindowsInputControl="1" (не 0, не пустом) для диалогов, где присутствуют поле ввода, использовать воговский вариант.


RE: Плагины. Обсуждение - igrik - 21.08.2020 14:16

Значит так и сделаем.


RE: Плагины. Обсуждение - Archer30 - 21.08.2020 14:45

Berserker, but a more ideal way is storing the parameter somewhere else with a file that has VFS support, so that when WoG Chinese mod (or any other Asian language) is loaded, input dialogs automatically become original WoG ones.

I understand copy and paste still works on WoG Native Dialogs, but according to my research of preference in the Chinese WoG forum. most ppl prefer using IME to input.

igrik, many thanks to you for updating the plugin for Asian players! Much appreciated. If you got some more time, please also take a look on my previous request about text.


RE: Плагины. Обсуждение - Berserker - 21.08.2020 19:13

Archer30, I see.

igrik, отбой тогда с ini. Сделай, пожалуйста, экспортируемую функцию stdcall int UseWin32InputControl (int newState).
Функция изменяет тип элемента ввода с родного геройского на Win32 элемент управления, который в ВоГ 3.58 (если диалог с полем ввода, то ты вызываешь оригинал).
0 — ложь,
не 0 считается и сохраняется как 1.
Функция возвращает предыдущее состояние (0 или 1).

Таким образом Chinese Mod будет содержать файл 1000 asian input.erm с вызовом функции в инструкции, например.
Или будет содержать lua/c++ плагин, который вызывает эту функцию ещё до показа окна игры.

Что ещё важнее, если в пользовательской карте нужно дать возможность копирования/вставки или ввода любых символов, то всегда можно изменить состояние до показа диалога и вернуть на предыдущее после. Появляется гибкость, о которой я уже давно думал.


RE: Плагины. Обсуждение - igrik - 21.08.2020 22:42

Может всё таки опцией сделаем? Так намного проще и удобнее для ERM!

К тому же, я сделаю, чтобы это работало динамически.
Пример: нам нужно, чтобы окно ввода всегда было воговское, но в окне героя (например при переименовании) вызывался диалог ввода WND

UPD: Как сделать экспортируемой функцией я пока не разобрался. Да и на выходные я уезжаю, буду не раньше вторника.
Так что пока что сделал опцией.
Куда-то нужно выложить? Или ждем следующей недели, плюс пока я разберусь с экспортируемымм функциями и запилю их?


RE: Разные вопросы - Night - 22.08.2020 20:28

Berserker
Ещё вопрос вспомнился. Нашёл в дискорд канале по Эре файл BattleAIvsAIFix.dll обновленный, а ещё ранее помню он в сборке какой-то поставлялся.
Что за dll, под какую надобность он был использован ранее? По названию предполагается, что для исправления чего-то при битве AIvsAI (кэп, да Sm), но будет он мне актуален, если у меня все ИИ в союзе стоят или файл также исправляет нечто при сражении AI (фракция компа) vs AI (мобы на карте/банках существ)?


RE: Разные вопросы - Berserker - 22.08.2020 22:08

Night
Плагин от игрика заставляет компа проводить битвы на самом деле, а не в режиме теор. расчёта.


RE: Разные вопросы - daemon_n - 22.08.2020 22:11

Night, корректный опыт за все бои, артефакты за победы над ии, верное количество скелетов у некромантов (в оригинале за все бои всегда 1 скелет)


RE: Разные вопросы - ElfbI - 22.08.2020 22:37

daemon_n, у меня этот плагин приводил к краху игры на ходе компа посредине партии...


RE: Разные вопросы - daemon_n - 22.08.2020 22:44

ElfbI, на какой версии Эры? Раньше так было часто, но на 2.9.14 пока не было жалоб - уже больше месяца файл в сборке.
Разве что с новым TUM для ЭРЫ 3, говорят, есть некоторые проблемы, но я не смортел.


RE: Разные вопросы - ElfbI - 22.08.2020 22:48

daemon_n, 2.9.13

Но у меня много своего, что-то могло конфликтовать


RE: Разные вопросы - Night - 22.08.2020 23:22

Berserker, daemon_n, кажется припоминаю насчёт и битв не в теор.расчёте и за арты и за скелетов, но вопрос актуален у меня по последней части. Если у меня все компы в союзе, будет ли польза для ИИ от этого плагина или ему для сражения с нейтральными монстрами не актуально? Скелеты пожалуй тут особенно интересуют, у меня нередко некроманты против попадают и они одни из самых слабых, дело ли в том, что им скелетов недодают?

Так-то я запускал с этим dll игру - заметно подлагивать стало, когда на нейтрального монстра нападаешь, видна задержка перед началом сражения. Пару дней игровых побегали с патчем и отключили из-за этого, т.к не виден был профит от него, кроме минуса в задержке.


RE: Разные вопросы - ElfbI - 22.08.2020 23:27

Night, вот тоже скелетов бы отдельным фиксом!


RE: Разные вопросы - Night - 23.08.2020 00:05

daemon_n, ElfbI, Ой блииин, порой костность мышления убивает.
(И лень, лень точно тут причастна, разлагает мозги-и-и Sm)

Сейчас буквально за 10 минут настрогал тест карту, где поставил Некрополис, ему дал 1000 личей, запретил строить здания на юнитов, чтобы не портил проверку своими скелетами и убрал таверну. Поставил перед замком отряд 100 копейщиков.

Как результат:


Без BattleAIvsAIFix.dll - после победы

Image: OjGBpRO.png
С включением BattleAIvsAIFix.dll - после победы

Image: U1jUbso.png


Комментарии как говорится излишни. Осталось только разобраться, можно ли исправить подлагивание перед началом битвы с нейтралами.
Я видео наверно запишу, чтобы можно было понять различие. Оно заметно на глаз ощутимо.


RE: Разные вопросы - Bes - 23.08.2020 00:09

Night, сколько было ДО битвы у неё всё?


RE: Разные вопросы - V_Maiko - 23.08.2020 00:11

Is that plugin still receiving maintenance? I thought igrik had abandoned it, but if it keeps updating I want to use it in my mod too, if it doesn't cause a lot of problems.


RE: Разные вопросы - daemon_n - 23.08.2020 00:20

Bes, это баг оригинала, так что без плагина всегда будет 1. И +1 за каждый бойYes


RE: Разные вопросы - Night - 23.08.2020 00:22

Bes, Ноль скелетов. Только 1000 личей ставил (почему-то с 100 личей ИИ отказался на первый день выносить пикинеров, трусишка Sm).
Видомина 1 уровень, поставил эксперт Чародейства. Всё.

Был странный момент, в первый раз, когда ИИ дали 1 лича и 1 скелета за бой. Не понял в чём прикол. Дальше всё нормально стало. По 1 скелету без dll и по нормальной прибавке с dll.


RE: Разные вопросы - Bes - 23.08.2020 00:25

Night, не, мне интересно сколько первичных было параметров и маны


RE: Разные вопросы - Night - 23.08.2020 00:28

Bes, вот такое всё:
Но это уже третий вариант. Там по разному как-то генерируется. Щас проверю по всякому.
Только щас заметил, что для 1 уровня у неё многовато всего и странно мало маны.

P.S. Понял, что к чему - стоит скрипт not place to people.erm, в нём 10 уровень даётся ИИ, поэтому такой разброс всего.


RE: Плагины. Обсуждение - Berserker - 23.08.2020 16:10

V_Maiko, nope, plugin development was stopped and it still caused crashes accroding to some reports.


RE: Плагины. Обсуждение - PerryR - 23.08.2020 16:39

If it's just for the Skeletons/Experience loss, I could write a small ERM script to fix these problems. Sounds safer to me.
The battle would still be theoretical (faster) and exp and skeletons are given for creatures killed after battle.


RE: Плагины. Обсуждение - Night - 23.08.2020 17:07

PerryR, It will be really great! Since, according to small tests, the BattleAIvsAIFix.dll fix for artifacts and army experience is not so noticeable, but 1 skeleton for any battles for the necropolis ... this was truly regrettable. For a long time I did not understand why my AI opponent necromancer is so weak and helpless.


RE: Плагины. Обсуждение - ElfbI - 23.08.2020 17:08

PerryR, will be really good if you do so! Fixes for the Skeletons/Experience loss are the reason to use that dll


RE: Плагины. Обсуждение - Night - 01.09.2020 13:44

Такой вопрос про переигрываемую битву - при первой переигровке в любом банке существ поле битвы становится "Зеленые поля", это можно как-то поправить или увы?


RE: Плагины. Обсуждение - daemon_n - 01.09.2020 13:45

Night, сейв кинь в дискорд с описанием


RE: Плагины. Обсуждение - Night - 01.09.2020 14:31



В одиночной и в сетевой также.

P.S. Это у меня Morn Battlefield отрубает, переигровка правильно работает без него, уже понял, как видео сделал.
Блин, как его починить то )


RE: Плагины. Обсуждение - daemon_n - 01.09.2020 14:55

Night, мод не нужен тебе этот. Те же поля есть в вог скриптах. Просто включи скрипт.


RE: Разные вопросы - Archer30 - 15.09.2020 04:48

Hi, igrik and Berserker, sorry to bother you again. Another help I'm looking for with wog native dialog.

Issue: Asain characters become super big in the home page of WoG Option Menu with WoG Native Dialog loaded

Screenshots:

Request: To have the same font size in the first pic with WoG Native Dialogs enabled.

As I understand, the font settings here is embedded in the plugin. I have try a few ways including replacing bigfont.fnt with a duplicate of smalfnt.fnt but didn't work.
This issue is also reported by the Korean mod maker, Kongsuni.

Thank you in advanced for investigating this problem. 96-copy

Asian character support plugin, including source, fonts and localization files for wog menu can be found form here.

Bes, sorry for wrong place I posted. Please move this to the plugin discussion thread. Rolleyes
done Gamer1



RE: Разные вопросы - igrik - 15.09.2020 09:45

(15.09.2020 04:48)Archer30 Wrote:  I have try a few ways including replacing bigfont.fnt with a duplicate of smalfnt.fnt but didn't work.
Change the font bigfont2.fnt to suit your needs.


RE: Разные вопросы - Archer30 - 15.09.2020 12:13

Quote:Change the font bigfont2.fnt to suit your needs.

igrik, thanks for replying, although it doesn't work. Changing bigfont2.fnt with a duplicate of smalfont.fnt (Chinese) only makes English characters get smaller, but Chinese stay the same.

Screenshots:


The fonts I used are from Chinese language support pack which can be found from here (same link as above).


RE: Разные вопросы - igrik - 15.09.2020 12:44

You need to customize Chinese characters in file bigfont2.fnt
This window only uses the bigfont2.fnt


RE: Разные вопросы - Archer30 - 15.09.2020 13:40

igrik, it can't be done as bigfont2.fnt does not include Chinese characters (neither smalfont, medfont and bigfont.fnt from the Chinese pack).

Chinese characters use a different mechanism to display in the game. It uses both .fnt and also hzk files (character library, can be found from here in dir WoG CN\Release\EraPlugins ).

Replacing hzk24 (character library meant to be used when bigfont.fnt is loaded) with hzk12 (use when medfont is loaded) also does not work. It does not makes the characters smaller, instead it just make all characters display incorrectly.


I'm not familiar with the Chinese plugin, unfortunately. The author of it has gone for long and not possible to tweak it again.
If the font definition only exists in bigfont2.fnt and Chinese plugin, then it seems nothing can be done now, sadly...Rolleyes


RE: Плагины. Обсуждение - Berserker - 15.09.2020 15:32

Archer30, Rose Kavalier already wrote the reason, afair. Chinese plugin detects font by looking at first 3 characters of its name. So for "big" it loads hzk24.
Possible sizes: 28x25, 14x16, 11x11. It seems like big font should also be 24px height in English.Something is wrong?

igrik, what's is bigfont2.fnt width/height?


RE: Плагины. Обсуждение - Archer30 - 15.09.2020 16:14

Berserker, I was not aware of this conclusion. I don't quite get it though.
For example, I have smaller fonts including medfont.fnt and hzk12, by replacing bigfont.fnt, bigfont2.fnt and hzk24, all big should look like med right?
That's what I tried, but it didn't work. Fonts in home page of wog menu is always the same size.


RE: Плагины. Обсуждение - igrik - 15.09.2020 16:46

(15.09.2020 15:32)Berserker Wrote:  igrik, what's is bigfont2.fnt width/height?
Мои шрифты, которые имеют суффикс "2".
Высота шрифта bigfont2.fnt - 24 px

Archer30-у нужно просто отредактировать шрифты, потому что в сейчас высота его шрифта bigfont.fnt в английской раскладке (который он скидывает по ссылке на китайскую локализацию) составляет 32 px.

Я попробовал заменить bigfont2.fnt, подменив его на medfont.fnt, и у меня сработало. Почему не сработало у него - потому что он видимо что-то не правильно сделал.


RE: Плагины. Обсуждение - Berserker - 15.09.2020 17:07

igrik, китайские шрифты грузятся из папки с плагином WoG Chinese. Они имеют свой формат. Там три шрифта: 28x25, 14x16, 11x11.
Автор плагина так определяет, каким шрифтом рисовать символ: обратимся r текущему Герои 3 шрифту, поле name.
Если big*, то используем шрифт 28х25, если med*, то используем шрифт 14х16, иначе 11х11.

Вот эта топорная привязка к именам и срабатывает. Но автор решил, что для шрифта 24х подойдёт китайский 28х25, который выглядит громоздко. Я ничего не упустил?

Code:
Font24Width:integer=28;
Font24Height:integer=25;
Font12Width:integer=14;
Font12Height:integer=16;
FontTinyWidth:integer=11;
FontTinyHeight:integer=11;

procedure SetFont(hfont:integer;var Width,Height:integer);stdcall;
begin
  if pInteger(hfont+4)^=1718053218 then
  begin
    Width:=Font24Width;
    Height:=Font24Height;
  end else
  if pInteger(hfont+4)^=2037279092 then
  begin
    Width:=FontTinyWidth;
    Height:=FontTinyHeight;
  end else
  begin
    Width:=Font12Width;
    Height:=Font12Height;
  end;
end;

Плагин я могу пересобрать, но альтернативного китайского шрифта кроме этого на 28х25 может не найтись.


RE: Плагины. Обсуждение - igrik - 15.09.2020 17:55

За объяснение проблемы - спасибо, я этого не знал.

Возникает вопрос: чем именно в данном случае я могу помочь?


RE: Плагины. Обсуждение - Berserker - 15.09.2020 18:22

Ну это же просто! Сделай нам другие файлы китайских шрифтов!
Желательно 16x12, 18x14, 20x16 и т.д. На всякий случай всех размеров. 96-copy

Archer30, please translate wogcnconfig.ini contents.


RE: Плагины. Обсуждение - Archer30 - 15.09.2020 19:31

Thank you igrik and Berserker, now I understand how the Chinese plugin work much more clearly.

Berserker, I somewhat know that why the author choose 28x25 and 14x16. it's becoz they are the original fonts extracted from the official Chinese Heroes 3 (While 11x11 seems to be original).

Translation of wogcnconfig.ini

Note that there are two versions of wogcn existing (I have no idea which the source code belongs to). The old release uses config mainly for switching between GB and GBK font, while the new one does not read from config, it just loads hz** files (GB), which is what we are using. For now we have no idea why the new one remove ini support, the history was erased completely. Rolleyes
dlls for these two versions can be found from here.

So my request is to shrink the font size of home page, ideally to make it look like the font without WoG Native Dialogs.
How about this, an extra plugin to appoint the Chinese font in the red square to blue?
This should be the easiest way for everyone.


RE: Плагины. Обсуждение - Berserker - 15.09.2020 19:44

Archer30, then you'll lose 28x25 font support at all, only 14x16 will be used in all dialogs. Is it ok? You never need huge font?


RE: Плагины. Обсуждение - Archer30 - 15.09.2020 19:55

Rolleyes This is not ok. It can't be separated?
Strange, I don't get it. Why the home page of wog menu has to use 28x25 otherwise lose 28x25 in other dialogs?


RE: Плагины. Обсуждение - Berserker - 15.09.2020 22:19

Archer30, because wog home page will always load big font. It should not be language or plugin specific.
English "W" letter is 33 px at my pc in the same dialog.


RE: Плагины. Обсуждение - Archer30 - 15.09.2020 22:42

Thanks Berserker, but that does not explain that with wog native dialog disabled, the font looks just fit. Or is it a completely different mechanism in this case?



RE: Плагины. Обсуждение - Berserker - 15.09.2020 23:23

Archer30, and what's with wog native dialogs, but without HD mod?


RE: Плагины. Обсуждение - Archer30 - 16.09.2020 06:56

Berserker, let me show you below.

By comparing with all my previous screenshots which are taken with HD, we have the
Conclusion: HD does not affect the font size of Chinese characters in wog menu home page.


RE: Плагины. Обсуждение - Berserker - 16.09.2020 15:46

Archer30, ok, I see. Without WND zvslib.dll is drawing options window using Win32 API and custom font settings. It uses Windows fonts and do not load Heroes 3 fonts at all.
Igrik rewritten the dialog from scratch using Heroes 3 dialogs system. There each label/text must have H3 font name. "medfont" was small (?), so igrik used bigfont for main window.

igrik, для окна с приветствием medfont был слишком малым?


RE: Плагины. Обсуждение - Archer30 - 16.09.2020 16:21

Ah, I see. Thanks Berserker. I believe igrik chose big font for home page as it has the best looking for Rus/Eng. Just for Chinese/Korean it looks a bit funny.
My medfont.fnt and smallfont.fnt come with Chinese plugin are exactly the same, although they have hzk12 and hzk10 for different Chinese character sets.

If I get to choose, the ideal font size in wog menu home page would be

Red -> Shrink to med font (is it the same as blue?)
Yellow -> Stay the same


RE: Плагины. Обсуждение - igrik - 16.09.2020 16:27

BigFont
Image: BigFont.jpg

MedFont
Image: MedFont.jpg

Конечно же визуально BigFont смотрится лучше.


RE: Плагины. Обсуждение - Berserker - 16.09.2020 16:52

Archer30, I think the main issue is that Chinese bigfont is too big. It must be much lower in pixels height as I see.
We need extra fonts/conversion tools to generate smaller fonts.


RE: Плагины. Обсуждение - Archer30 - 16.09.2020 17:03

I agree with you Berserker, the 28x25 font is generally too big for most situation, although it comes from official Chinese SoD, and fits quite well specifically for places it's been used.

Can I ask if you have any idea how hzk files should be edited/made?

But I probably still need help from igrik. I mentioned that I tried to replace hzk24 with a duplicate of hzk12 in my post yesterday, and it did not end up well.
Support from WoG Native Dialogs seems to be required (or not?


RE: Плагины. Обсуждение - Berserker - 16.09.2020 17:29

Archer30, to solve the issue we need:
1) Fixed Chinese plugin font size detection.
2) Provide smaller alternative to current font.

As a quick and dirty solution igrik could compile wnd.dll with bigfont2.fnt string replaced with medfont2.fnt.

Quote:official Chinese SoD
I thought, there was no official Chinese SoD and thus no fonts.


RE: Плагины. Обсуждение - Archer30 - 16.09.2020 17:40

Berserker, hmmm the main concern is not sure whether the source code matches with the plugin we use. If you can kindly compile one from the source I will see if it has some obvious issue.
You mean making a smaller font to replace current big fonts? I will try that if I could figure out how to make hzk files.

28x25 is from official SoD. Have to respect that. It's how Chines H3 looks like. Don't attempt to change what players have been used to for 20 years (especially only just for suiting wog menu)

I mean, I thought this was much easier, and it turns out I was wrong. If it's taking too much effort for all of us, then we just ignore it. What do you think Rolleyes


RE: Плагины. Обсуждение - Berserker - 17.09.2020 00:00

Archer30, I edited plugin for Era and released WoG Chinese.exe mod. So you use it. I can change/recompile it to allow smaller fonts, probably, but we would need such font in the same format. So I added to TODO as possibile someday feature, but not prioritised task.

Quote:28x25 is from official SoD. Have to respect that. It's how Chines H3 looks like.
It means, that huge characters is not a big deal in other dialogs, where the same English bigfont2.fnt will be used. Thus it should be tolarable.


RE: Плагины. Обсуждение - igrik - 17.09.2020 10:12

(17.09.2020 00:00)Berserker Wrote:  Archer30, I edited plugin for Era and released WoG Chinese.exe mod. So you use it. I can change/recompile it to allow smaller fonts, probably, but we would need such font in the same format. So I added to TODO as possibile someday feature, but not prioritised task.
Berserker, проблема решена?


RE: Плагины. Обсуждение - Archer30 - 17.09.2020 11:43

Thanks Berserker. This is not a task with high priority at all. If using medfont.fnt and hzk12 is possible for home page, then new font is not required, am I right?


RE: Плагины. Обсуждение - Berserker - 17.09.2020 15:30

igrik, нет. Я правил плагин в прошлом. Сейчас исправить вопрос можешь ты:

if (PluginExists('wogcn')) { fontName = 'medfont2.fnt' }
Тогда китайски плагин загрузит hzk12 и установит верные размеры шрифта.

Это такой временный хак.


RE: Плагины. Обсуждение - igrik - 17.09.2020 15:55

Berserker, хорошо. Сделаю сегодня.
А может лучше закинуть название конкретно этого шрифта в мой текстовик? И при необходимости им легко можно будет управлять?
Это как временная, но очень гибкая мера


RE: Плагины. Обсуждение - Bes - 17.09.2020 16:15

я согласен с igrik'ом, это более гибкий подход.
Я бы даже предложил в heroes3.ini вытащить (если нету) строку, где локализаторы сами будут указывать какой шрифт брать. Кто знает Unsure


RE: Плагины. Обсуждение - Archer30 - 17.09.2020 16:50

Thanks Berserker and igrik, your kind help is crucial to the Chinese community.

I agree with igrik. Considering ERA might be spread to more regions and different compatibility issues might appear, writing parameter to text enables more flexibility.
Personally I prefer putting parameter into a file supported VFS, which can be put into a localization mod. This enables more convenience switching between languages as enable/disable localization mod is the only thing matters.


RE: Плагины. Обсуждение - Berserker - 17.09.2020 17:07

igrik, в json файл нужно. Это самое гибкое API для таких параметров, которые можно точечно перекрывать.
"wnd": {
    "wog_options_dlg": {
    "intro_font": "bigfont2.fnt"
    }
}

Сюда же можно и остальные перенести. RoseKavalier уже json-перевод в плагинах вовсю использует.

Текстовик, ini и отдельный файл для каждого параметра — худшие решения.


RE: Плагины. Обсуждение - igrik - 17.09.2020 17:26

Berserker, я тебе уже скинул в txt файле.
К следующему разу я займусь json'ами.


RE: Плагины. Обсуждение - Berserker - 17.09.2020 17:52

igrik, я подожду постоянно решения, ибо нет ничего временного.
Вот функция tr с исправленным багом:

Code:
/**
* Returns translation for given complex key ('xxx.yyy.zzz') with substituted parameters.
* Pass vector of (parameter name, parameter value) pairs to substitute named parameters.
* Example: Mod\Lang\*.json file: { "eqs": { "greeting": "Hello, @name@" } }
* Example: ShowMessage(tr("eqs.greeting", { "name", "igrik" }).c_str());
*
* @param  key    Key to get translation for.
* @param  params Vector of (parameter name, parameter value pairs).
* @return        Translation string.
*/
std::string tr (const char *key, const std::vector<std::string> params = {}) {
  const int MAX_PARAMS = 64;
  const char* _params[MAX_PARAMS];
  int numParams = params.size() <= MAX_PARAMS ? params.size() : MAX_PARAMS;

  for (int i = 0; i < numParams; i++) {
    _params[i] = params[i].c_str();
  }

  char* buf = _tr(key, _params, numParams - 1);
  std::string result = buf;
  MemFree(buf);

  return result;
}

Можно её, конечно, порезать до:

Code:
std::string tr (const char *key) {
  char* buf = _tr(key, NULL, -1);
  std::string result = buf;
  MemFree(buf);

  return result;
}

Не будет возможности передать параметр вида @name@, @age@ и т.д.


RE: Плагины. Обсуждение - igrik - 17.09.2020 18:42

(17.09.2020 17:52)Berserker Wrote:  igrik, я подожду постоянно решения, ибо нет ничего временного.
Обсуждали, что это же временная мера 96

Готово. Отправил по той же ссылке.

wnd.json
Code:
{
  "wnd": {
      "fonts": {
          "big_font": "bigfont2.fnt",
          "med_font": "medfont2.fnt",
          "small_font": "smalfont.fnt"
      },
    "dlg_wog_options": {
        "intro_font": "bigfont2.fnt",
        "bttn_name": "{WoG Options}",
    },
    "dlg_crexpo": {
        "line0": "STACK EXPERIENCE DETAILS",
        "line1": "Creature Type:",
        "line2": "Experience Rank:",
        "line3": "Experience Points:",
        "line4": "Experience Points to Next Rank:",
        "line5": "Maximum Experience per Battle:",
        "line6": "Number of Creatures in stack:",
        "line7": "Max new recruits without losing Rank:",
        "line8": "Experience Multiplier:",
        "line9": "Upgrade Multiplier:",
        "line10": "Experience after Rank 10:",
        "line11": "Maximum New Recruits to remain at Rank 10:",
    },
    "dlg_commander": {
        "bttn_open_hint": "Open Commander screen",
        "bttn_exit_hint": "Exit Commander screen",
        "bttn_lvlup_hint": "Click to increase selected skill.",
        "bttn_dismiss_rmc": "Click to dismiss this Commander.",
    },
    "combat": {
        "finish_question": "Finish with Quick Combat?",
        "show_killed": ", kills: %s",
    },
  }
}



RE: Плагины. Обсуждение - Berserker - 17.09.2020 21:35

igrik, спасибо. Это не только решает одну проблему, но и позволяет гибко настраивать локализации и отображение вообще.


RE: Плагины. Обсуждение - Bes - 18.09.2020 03:43

Berserker, да, я это и имел ввиду 132 но не привык пока к этим json'ам, всё оперирую старыми подходами
igrik, спасибо!


RE: Плагины. Обсуждение - Archer30 - 18.09.2020 08:10

Thanks everyone for helping with the font issue here!
I just have one stupid question - Has the WoG Naitve Dialogs Plugin with json support been updated yet? Or should I wait? Rolleyes


RE: Плагины. Обсуждение - igrik - 18.09.2020 12:21

(18.09.2020 08:10)Archer30 Wrote:  I just have one stupid question - Has the WoG Naitve Dialogs Plugin with json support been updated yet? Or should I wait? Rolleyes
Да, немного подождать.
Сегодня произошло еще одно обновление плагина: теперь все строки берутся из wnd.json файла, а файл wogndlg.txt больше не нужен.


RE: Плагины. Обсуждение - Archer30 - 18.09.2020 13:12

Yes Great! Thank you igrik! ERA is getting better and better!


RE: Плагины. Обсуждение - wessonsm - 18.09.2020 21:24

В русской версии Героев 3 от GOG появилось полезное нововведение.
В crtraits.txt добавлено поле "Plural2", куда вписаны имена монстров во множественном числе в родительном падеже:

Image: 530d6d370125.png

И описание существ на карте теперь переводятся корректно, то есть "орда копейщиков", а не "орда Копейщики", как было раньше:

Image: 269c088dad7e.png

Судя по всему, к exe игры был применен некий патч или плагин.
С HD-модом эта фича пока не работает, так как HD-мод использует свой exe.
Вот у меня и возник вопрос, сложно ли такое реализовать для Эры?


RE: Плагины. Обсуждение - Raistlin - 18.09.2020 21:56

wessonsm, можно даже без патчей, просто в триггерах MM и CM нужно подменять значение при определенных условиях. Надо создать массив с названиями и брать значение в соответствии с индексом. Ну а чтобы не создавать этот массив вручную, можно написать мини-программку, которая циклом переберет значения в файле и создаст скрипт, где они будут записаны как массив. Можно еще кстати в ert запихать, но это по вкусуAb


RE: Плагины. Обсуждение - daemon_n - 18.09.2020 22:01

wessonsm, я бы не стал. Допустим, знаем точное количество.
21 - под каждый падеж/род/число писать? Не забываем про все остальные текстовики и моды, которые используют имена существ.
Хотя задумка и интересная - врать не буду.


RE: Плагины. Обсуждение - SergOz - 18.09.2020 23:16

Можно просто поменять информационную строку. Например:

Копейщики: группа (10-19)

Гарпии: орда (50-99)

Привидения: легионы (1000+)


RE: Плагины. Обсуждение - Berserker - 18.09.2020 23:31

wessonsm, проще со всеми языками не заморачиваться. А так в локализациях пишут свою функцию определения множественной формы (их три для русского) от конкретного числа объектов и предоставляют по три версии перевода. Всё усложняется существенно. Потому чаще выгодно писать «что-то: сколько-то» и не усложнять всем жизнь.


RE: Плагины. Обсуждение - wessonsm - 19.09.2020 01:34

Ясно, спасибо.


RE: Плагины. Обсуждение - igrik - 19.09.2020 04:01

(18.09.2020 21:24)wessonsm Wrote:  Судя по всему, к exe игры был применен некий патч или плагин.
С HD-модом эта фича пока не работает, так как HD-мод использует свой exe.
Вот у меня и возник вопрос, сложно ли такое реализовать для Эры?
Нет, нельзя.
Сама по себе, оригинальная структура монстра не имеет места для третьего поля с названиями.
Code:
_int_ town;
_int_ level;
_char_* sound_name;
_char_* def_name;
_int_ flags;


_char_* name_single;
_char_* name_plural;
_char_* specification_description;


_int_ cost_wood;
_int_ cost_mercury;
_int_ cost_ore;
_int_ cost_sulfur;
_int_ cost_crystal;
_int_ cost_jems;
_int_ cost_gold;
_int_ fight_value;
_int_ AI_value;
_int_ growth;
_int_ horde_growth;
_int_ hit_points;
_int_ speed;
_int_ attack;
_int_ defence;
_int_ damage_min;
_int_ damage_max;
_int_ shots;
_int_ spells_count;
_int_ advmap_low;
_int_ advmap_high;

Поэтому, то что если что-то и хотели в русской версии Героев 3 от GOG, без перекомпиляции оригинального кода - сторонними методами, просто не могло быть реализовано.


RE: Плагины. Обсуждение - Bes - 19.09.2020 04:44

т.е., если я правильно понимаю, достаточно взять exe-шник от GOG версии, накатить на него ВСЁ, что сейчас есть на h3era.exe, то мы сможем без исходников прикрутить эту поддержку доп.столбца?
Я понимаю, что все адреса нынешней ERA сместятся хрен знает куда. не о том вопрос...


RE: Плагины. Обсуждение - igrik - 19.09.2020 05:23

Чёто я шибко сомневаюсь.
Дайте экзешник GOGa, скажу наверняка...


RE: Плагины. Обсуждение - daemon_n - 19.09.2020 05:35

igrik, вот - Ру exe из официальной ГОГ версии
Вот мне делать нечего посреди ночи148

UPD:И вот что мы имеем (Click to View)



RE: Плагины. Обсуждение - Bes - 19.09.2020 05:36

да всем нам, по ходу, не спится перед выходными



RE: Плагины. Обсуждение - igrik - 19.09.2020 12:02

Да, действительно.
Размер структуры монстра в нашем exe 116 байт.
В этом exe GOG Rus - размер структуры 120 байт.
Причем все поля ниже name_plural берутся со сдвигом на 1 параметр больше, в сравнении с нашим exe.

И локализация этого exe точно заточена под русский язык, потому что в самом exe я встретил несколько предложений на русском.

Но прикрутить такое обозначение к нашему экзешнику: во-первых = дикий геморой, во-вторых = сразу отлетят HD, Тифон, половина моих плагинов и т.д.
Ну вы в общем поняли...


RE: Ваши вопросы по ERM-скриптам - SergOz - 21.09.2020 03:06

Немного разобрался с хуками на исполняемый код.
В теме UN:C igrik дал ссылку на ERM_Hooker. Скачал. Не знаю чем открыть файл.
Интересно же что в нём... 42


RE: Ваши вопросы по ERM-скриптам - daemon_n - 21.09.2020 03:12

SergOz, хукер уже давно поставляется с Эрой (2.8 или 2.9) - по сути, это слегка изменённая dll.


RE: Ваши вопросы по ERM-скриптам - SergOz - 21.09.2020 03:30

daemon_n, это радует, но где он? И опять же - чем открыть? что в нём? как пользоваться?


RE: Ваши вопросы по ERM-скриптам - daemon_n - 21.09.2020 03:43

SergOz, конечно же в плагинах!
Открыть дебаггером


RE: Ваши вопросы по ERM-скриптам - SergOz - 21.09.2020 03:44

daemon_n, Laie_69


RE: Ваши вопросы по ERM-скриптам - daemon_n - 21.09.2020 06:17

SergOz, расскажи потом, пожалуйста, как им пользоваться)
Хотя я понял так. С его помощью можно создать триггер на чуть ли не любое событие. Лучший пример для меня - 80 wog base.erm скрипт.


RE: Ваши вопросы по ERM-скриптам - igrik - 21.09.2020 14:15

(21.09.2020 03:30)SergOz Wrote:  daemon_n, это радует, но где он? И опять же - чем открыть? что в нём? как пользоваться?
ERM Hooker - это плагин. Открывать его ничем не нужно. Он просто должен находиться в папке "EraPlugins" и всё.

Данный плагин позволяет ставить "крючки" в код игры. Как это выглядит:
Объясню на примере обычного текста, например из Колобка:

Code:
Жили-были старик со старухой.
Вот и говорит старик старухе:
— Поди-ка, старуха, по коробу поскреби, по сусеку помети, не наскребешь ли муки на колобок.
Взяла старуха крылышко, по коробу поскребла, по сусеку помела и наскребла муки горсти две.
Замесила муку на сметане (add igrik: тут я хочу, чтобы старуха добавила в тесто 200 грамм коньяка), состряпала колобок, изжарила в масле и на окошко студить положила.
Колобок полежал, полежал, взял да и покатился — с окна на лавку, с лавки на пол, по полу к двери, прыг через порог — да в сени, из сеней на крыльцо, с крыльца на двор, со двора за ворота, дальше и дальше...

Т.е. я захотел в какой-то момент расширить определенные действия старухи, т.е. поставить "крючок" в текст сказки, чтобы в момент прохода по этим строкам произвести свои определенные манипуляции, а вернуться в текст книги чтобы она продолжилась дальше.
Для начала мне нужно определить адрес, куда я буду ставить "кручок" (далее я буду называть "хук", от англ. - "hook")

В данной сказке адрес - это 5 строка 25 символ, и сюда я внедряюсь путем устанавки хука.

!?FU(My_Hook);
; Далее я пишу
", налила в тесто 200 грамм коньяка, еще раз замесила тесто, оставила на пол часа подышать"
hooker->вернуться_в_вызванное_место_Сказки.

На этом все. Теперь сказка будет выглядеть так:

Code:
Жили-были старик со старухой.
Вот и говорит старик старухе:
— Поди-ка, старуха, по коробу поскреби, по сусеку помети, не наскребешь ли муки на колобок.
Взяла старуха крылышко, по коробу поскребла, по сусеку помела и наскребла муки горсти две.
Замесила муку на сметане, налила в тесто 200 грамм коньяка, еще раз замесила тесто, оставила на пол часа подышать, состряпала колобок, изжарила в масле и на окошко студить положила.
Колобок полежал, полежал, взял да и покатился — с окна на лавку, с лавки на пол, по полу к двери, прыг через порог — да в сени, из сеней на крыльцо, с крыльца на двор, со двора за ворота, дальше и дальше...


Теперь стало понятнее что такое хукер и зачем он нужен?

Вот небольшая база хуков и ERM скриптов под них (для обучения)
Но вопросы лучше задавать тут, а не в той уже умершей теме.


RE: Ваши вопросы по ERM-скриптам - SergOz - 21.09.2020 15:03

igrik, большое спасибо за подробный ответ!
Я вчера, разбирясь с хуками, всё так и понял. Базу хуков тоже видел и некоторые меня очень порадовали и я их скопировал на свой комп. Но, я не понял как узнавать адрес хука, чтобы подставить в
и был почти уверен, что ERM_Hooker это что-то типа базы с адресами, потому и хотел его вскрыть (попрактиковаться в хакерстве).

P.S. А бабка точно добавляла спиртное в колобок - иначе бы он не был таким борзым



RE: Ваши вопросы по ERM-скриптам - Night - 21.09.2020 15:24

igrik, То есть hook, это словно влезть в очередь (в исполняемых командах игры) и при этом, чтобы очередь не возмущалась, а осталась при мнение, что так и должно быть? Отжали место, ну и ладно - верная аналогия?

То есть, если мне захотелось сделать:
1) Лазурным драконам убрать призыв водных элементов, а сделать каждый ход от него ледяное кольцо.
2) Перехватить в момент использования заклинания "Вызвать корабль" надписи "здесь нет места для лодки", пояснить игре, что всё написано, а взамен дать скастоваться заклинанию вертикаль из New Skills мода?

Для всего сказанного выше отлично подойдёт ERM Hooker, если разобраться в его работе и научиться применять?


RE: Ваши вопросы по ERM-скриптам - Berserker - 21.09.2020 15:51

Night, для всего этого нужно ещё базовое знание ассемблера и низкроуровневого отладчика вроде OllyDebugger или x32dbg. Если бы всё было элементарно, чужой скомпилированный код читался бы как текст на родном языке и ничего искать не нужно было. igrik и товарищи писали руководства по нахождению адресов в соседних темах.


RE: Ваши вопросы по ERM-скриптам - Night - 21.09.2020 16:00

Berserker, я понимаю.
Везде по сусекам скребу, смотрю полезное, со временем и к руководству доберусь, тем более уже несколько лет по настроению к этому делу присматриваюсь. Не легкая тема, изучение ассемблера и разобраться с отладчиком, но интересно блин.
А по вопросам выше, я для того спрашиваю, чтобы потом "в уме" держать саму суть, можно/нельзя и исходя из этого знать куда двигаться, что использовать. Если нельзя, то искать инструменты, которые позволяет, если можно - по настроению заниматься изучением, чтобы быстрее воплотить идею в жизнь Sm


RE: Ваши вопросы по ERM-скриптам - Berserker - 21.09.2020 16:04

2) Можно. 1) Настройка txt-файла с опытом существ и немного ЕРМ кода, нет?


RE: Ваши вопросы по ERM-скриптам - Night - 21.09.2020 16:24

Berserker,
Quote:1) Настройка txt-файла с опытом существ и немного ЕРМ кода, нет?

С ЕРМ понятно, но сначала нужно же отключить создание водных элементов. А это адрес в памяти узнать.
А txt-файл - это crexpbon.txt из hmm35wog.pac?


RE: Ваши вопросы по ERM-скриптам - SergOz - 21.09.2020 16:27

(21.09.2020 15:51)Berserker Wrote:  igrik и товарищи писали руководства по нахождению адресов в соседних темах.
нашел здесь. Спасибо.


RE: Ваши вопросы по ERM-скриптам - Berserker - 21.09.2020 18:34

Night, да.


RE: Плагины. Обсуждение - Bes - 21.09.2020 19:34

может выделить для хукера отдельно тему? я как раз вчера в полночь с постами по нему встречался в теме ERA2 и ещё прикидывал, надо или нет для него тема... и тут вы днём с ним же и разъяснили для масс что это за зверь (доходчиво для новичков) и как его кормить Rolleyes


RE: Плагины. Обсуждение - Berserker - 21.09.2020 19:37

Bes, не вижу смысла. Это просто пара функций для ЕРМ по установке перехватчиков кода. Вся теория в ассемблере и обратном проектировании.


RE: Вопросы по моддингу - Raistlin - 23.09.2020 18:46

Друзья, возник еще вопрос: мой мод содержит измененный файл crexpbon.txt, однако во время игры у некоторых существ появляются дорожки опыта, которые я туда не в носил (название у них отсутствует, стоит просто "null", однако эффект есть). Подскажите пожалуйста, с чем это может быть связано?


RE: Вопросы по моддингу - daemon_n - 23.09.2020 20:53

Raistlin, мод вог и его русификатор


RE: Вопросы по моддингу - Raistlin - 23.09.2020 21:10

daemon_n, мой мод их перекрывает


RE: Вопросы по моддингу - Bes - 23.09.2020 21:43

а не wog native dialog плагин ли за это теперь отвечает?
я к тому, что если его отключить, пропадут ли такие "нулевые" абилки?


RE: Вопросы по моддингу - Raistlin - 23.09.2020 23:06

Bes, похоже ты прав, без плагина их нет. Но почему-то с плагином их теперь тоже нет. Хотя, в старых партиях они есть... И в тоже время в некоторых партиях их нет! 148


RE: Вопросы по моддингу - Bes - 23.09.2020 23:47

короче, пока не будет пруфов на чистой era, твои эксперименты на твоей личной версии игры не засчитываются 148


RE: Вопросы по моддингу - igrik - 24.09.2020 01:06

(23.09.2020 23:06)Raistlin Wrote:  Bes, похоже ты прав, без плагина их нет. Но почему-то с плагином их теперь тоже нет. Хотя, в старых партиях они есть... И в тоже время в некоторых партиях их нет! 148
Дай сейв. Я хотя бы проверю этот момент в wnd.


RE: Вопросы по моддингу - Raistlin - 24.09.2020 21:35

igrik, спасибо за участие, вот: https://drive.google.com/file/d/1jlUlTjb3RGX5ncyIXIqOp8-3xrYy0ONg/view?usp=sharing

Пример ситуации - воздушный щит у тяжёлых арбалетчиков


RE: Вопросы по моддингу - Raistlin - 24.09.2020 21:51

Могу, кстати, ещё список подключённых библиотек скинуть


RE: Плагины. Обсуждение - Archer30 - 15.10.2020 07:46

igrik, there is a report from a player said that Battle Replay didn't work in his game. He tried reinstalling the game in different PCs, turning off anti-virus but problem persisted. I have no clue at all after checking his screen recording.

https://i.imgur.com/R6b2JT0.mp4

Can you suggest what might be the reason? Rolleyes


RE: Плагины. Обсуждение - igrik - 15.10.2020 11:39

I didn't understand either.


RE: Плагины. Обсуждение - Berserker - 15.10.2020 14:03

Он нажимал на кнопку отмены результатов автобоя. А что должно было отобразиться?


RE: Плагины. Обсуждение - igrik - 15.10.2020 14:20

Ты не знаешь как работает переигрываемая битва? 96-copy
Тот же бой должен был начаться заново.

PS: тем более, если ты пишешь скрипт "Смешанные нейтралы", ты "обязан" учитывать этот плагин Moral


RE: Плагины. Обсуждение - Berserker - 15.10.2020 15:03

igrik, нет, я вопрос автобоя решал наличием быстрых сохранений и автовосстановлением 10% потерь + гибкой настройкой максимальной силы монстров для автобоя.
Значит видео о том, что нажатие на кнопку «Отмена» множество раз не помогло переиграть бой после поражения/побега героя. Нет?


RE: Плагины. Обсуждение - Night - 15.10.2020 16:07

Ну, я проверил у себя, по тем же действиям, что в видео и всё рабочее.
Первый раз такое вижу, а я ведь уже немало повидал ошибок и багов игры.

Archer30, The video shows the mods included, almost everything is basic, but since BattleReplay is a dll plugin, it would be necessary to see the plugins included and it is desirable to compare the latest version FROM HERE, you never know.

Not an expert, but for me so I would be looking for possibly several included versions of the same plugin under different names.

P.S. А GEM скрипты могут влиять?


RE: Плагины. Обсуждение - Archer30 - 15.10.2020 17:41

Night, the player uses the latest assembly and Chinese localization mod only. I tested his savegame and everything worked just fine.

My best guess is that maybe battlereplay requires some library to work?


RE: Плагины. Обсуждение - daemon_n - 15.10.2020 18:33

Archer30, ask him restart PC and check again!


RE: Вопросы по моддингу - igrik - 17.10.2020 15:08

(24.09.2020 21:35)Raistlin Wrote:  igrik, спасибо за участие, вот: https://drive.google.com/file/d/1jlUlTjb3RGX5ncyIXIqOp8-3xrYy0ONg/view?usp=sharing

Пример ситуации - воздушный щит у тяжёлых арбалетчиков
Только увидел сообщение. ПРоверю.
(24.09.2020 21:51)Raistlin Wrote:  Могу, кстати, ещё список подключённых библиотек скинуть
Конечно нужен. У меня вылет при загрузке. Дай список модов или всю игру и укажи что и как тыкать. Желательно по-подробней.


RE: Вопросы по моддингу - Raistlin - 21.10.2020 00:58

igrik, прошу прощения, что не ответил вовремя, вся информация куда-то подевалась... ЕМНИП, у меня был стандартный набор модов без чего-либо дополнительного:

WoG Special
WoG Rus
WoG Scripts
WoG Scripts Rus
WoG UE v2.0.4 (последняя версия - 2.0.5 - на этот баг никак повлияет, изменения там в основном по части скриптов, так что тестировать можно и с ней)


RE: Мод "WoG Scripts" - Valery - 29.10.2020 18:18

Hi Igrik, the other day, when watching Glenn's streaming, you told us you will try to find a fix for the clone bug. Is there a thread where we can follow your progress, as I am very interested in such plugin, I receive a lot of complaints about game crashing when clones overlap. Thanks for noticing us when something is done, if ever.


RE: Мод "WoG Scripts" - igrik - 29.10.2020 18:59

Valery, это уже сделано! На днях я исправил баг клонов.
А сегодня я исправил баг блока (от опыта армий) - на стриме ты его видел.

Вся история есть тут: source game bug fixes
Лечение бага клонов
Лечения бага блока

Скачать плагин всегда можно тут: Тема решения багов ERA


RE: Мод "WoG Scripts" - Valery - 29.10.2020 20:00

Thanks !

But what file do I have to download for those fixes? Will it work on any Era version too?


RE: Мод "WoG Scripts" - Berserker - 30.10.2020 00:09

https://github.com/igrikRS/HoMM3-Plugins/tree/master/game%20bug%20fixes/Release
As far as I see, I can be used on Era 2.X and 3.X, but most players tested it on 2.9.X and 3.X, so try to run the game with it. It contain many bug fixes.


RE: Мод "WoG Scripts" - Valery - 30.10.2020 00:17

Hum, the link shows 4 dll files, all, or one in particular?


RE: Мод "WoG Scripts" - igrik - 30.10.2020 01:52




RE: Мод "WoG Scripts" - Valery - 30.10.2020 03:26

Thanks, I am also using Rose kavalier ""game bug fixes" dll, I suppose this replace right?


RE: Мод "WoG Scripts" - Berserker - 30.10.2020 03:38

Valery, this dll includes patches by Rose, Ben, igrik and others.


RE: Плагины. Обсуждение - Archer30 - 30.10.2020 08:11

igrik and Berserker, not sure whether this has to be done via ERA or BattleReplay plugin, but is it possible to have the same obstacles on the battlefield with each battle replay (with the "Mersenne Whirlwind" update)?
It makes sense to have a replayed battle with the same obstacles settings so you can try again and see if your new tactics work.

daemon_n, I asked but until now I received no response from that player Rolleyes


RE: Плагины. Обсуждение - igrik - 30.10.2020 14:24

Archer30, это новая ERA портит расположение препятствий.

Berserker, это не хорошо! Ты точно тестировал, чтобы Вихрь Мерсенна не трогал расстановку препятствий?


RE: Плагины. Обсуждение - Berserker - 30.10.2020 17:31

Archer30, we will try to solve this issue with igrik.


RE: Плагины. Обсуждение - RoseKavalier - 30.10.2020 18:26

RNG must be called once [advance 1 step] after the seed is set and before generating obstacles to mimic code behaviour. That's because after the seed is set based on x/y/z the first RNG call is for the combat music id, and second+ are obstacles.


RE: Плагины. Обсуждение - Valery - 31.10.2020 18:08

igrik, concerning clones problem, doesn't work or at least it didn't fix the main problem: two hexes automatic clones (!!EA) still place over units if in the next or 2 squares away, making them invisible for that round, then next round possible crash ...


RE: Плагины. Обсуждение - igrik - 31.10.2020 18:24

Valery, не может такого быть. Есть сейв для проверки?


RE: Плагины. Обсуждение - Valery - 31.10.2020 22:16

Save: https://drive.google.com/file/d/12K-LBOUd1JgI-D6EPvEDdJ-FIMiRtel1/view?usp=sharing
Map: Alexander

I replaced the dll plugin before starting this game. In wog plugin it shows active. Second round, one golem stack gets hidden under a clone, then it is invisible.



RE: Плагины. Обсуждение - igrik - 01.11.2020 13:22

Valery, какая у вас версия игры?


RE: Плагины. Обсуждение - Valery - 01.11.2020 17:12

2.46F


RE: Плагины. Обсуждение - igrik - 01.11.2020 23:27

Valery, я нашёл баг. Причина мне ясна. Как решу проблему - напишу. Ожидайте.


RE: Плагины. Обсуждение - igrik - 02.11.2020 14:30

Valery, баг я вылечил. Проверяйте. Ссылка у меня в подписи.
Обязательно сообщите о результате!

Image: Spell-Menu.jpg


RE: Плагины. Обсуждение - Archer30 - 02.11.2020 15:14

igrik, I have waited for this fix for so long. 132


RE: Плагины. Обсуждение - helgtla - 02.11.2020 16:05

igrik, Мод с добавлением панели "горячих" клавиш для заклинаний ещё не анонсирован ? Если так, когда ориентировочно стоит его ждать?
   И ещё, в сборках от Daemon_n одновременно присутствуют библиотеки game bug fixes.dll (46,5 Кб) и game bug fixes extended.dll (47 Кб). Они чем то принципиально отличаются? Или game bug fixes extended.dll уже содержит все исправления, выпущенные на сегодняшний момент ? (game bug fixes extended.dll обновил сегодня из Вашей подписи).


RE: Плагины. Обсуждение - igrik - 02.11.2020 16:38

game bug fixes extended.dll уже давным давно поглотила и содержит весь функционал game bug fixes.dll. Использовать обе попросту нет смысла.

На панель горячих клавиш у меня не хватает времени - слишком огромный сейчас загруз по работе.
На самом деле панель написана на все 98%. Весь игровой функционал работает на 100%

Из того что я ещё НЕ сделал:
1. Нет тени под меню-заклинаний (что и как сделать я знаю, но не хватает времени правильно допилить это)
2. Закрытие списка заклинаний по ЛКМ за пределами окна (тут я пока что не знаю как сделать. Нужно исследовать). Альтернатива клавиша ESC, но мне эта альтернатива не по душе.

Поэтому я совершенно не знаю, когда у меня будет время на эти 2 пункта. А без них мод выпускать я не буду.


RE: Плагины. Обсуждение - Valery - 02.11.2020 16:46

igrik, I tested the full battle with the update and it works perfect, clones go in empty spaces only, and when there is not, they aren't generated. So thanks a lot, hope everyone gets this plugin which will greatly reduce WoG crashes.

I will start new game tomorrow and test it in all situations, then report if we are done. Thanks


RE: Плагины. Обсуждение - igrik - 02.11.2020 16:51

Valery, здорово. Это хорошая новость.


RE: Плагины. Обсуждение - Valery - 02.11.2020 17:04

ok, so there is one minor issue, the clones now can be generated behind the unit (they never did that before), which kinda screws a lot of strategies implying blocking the front of unit, so no clones will appear, especially when clones are archangels and will resurrect every turn

Is it possible to limit clone area to the front 180° angle? That would be awesome to keep existing mechanics

Image: P4vwbd.png


RE: Плагины. Обсуждение - igrik - 02.11.2020 17:09

Я как раз это не считаю проблемой - я наоборот этого и добивался, чтобы клоны создавались и спереди главного монстра, и сбоков, и сзади. Оригинальный вызов клона (SoD) действует в достаточно схожей механике, но в моей схеме запрещён вызов на удалённый гекс (потому что чаще всего клоны создаются массово, например на 7 стеков стороны одновременно в начале n-нного раунда битвы. А это уже 14 стеков (без учёта боевых машин))
Монстр не может вызваться на гекс, если:
- гекс выходит за границы боевого поля
- если на гексе стоит препятствие
- если на гексе стоит другой стек
- если стеков у стороны уже 20

Механика учитывает одногексовых и двухгексовых монстров как для главного стека, так и для вызываемого.

Я сделал по 8 попыток вызвать клон рядом с главным монстром.

Распишу как это работает для атакующего монстра (для защищающегося - механика зеркальна).


Главный одногексовый:
Вызываем одногексовый:
1. Гекс 1
2. Гекс 0
3. Гекс 2
4. Гекс 5
5. Гекс 3
6. Гекс 4
7. (дублируется с п.4)
8. (дублируется с п.5)





Главный одногексовый:
Вызываем двухгексовый:
1. Гекс 1-1*
2. Гекс 0-0*
3. Гекс 2-2*
4. Гекс 5-0
5. Гекс 3-2
6. Гекс 5-5*
7. Гекс 3-3*
8. Гекс 4-4*
Главный двухгексовый:
Вызываем одногексовый:
1. Гекс(6*) -> 1
2. Гекс(6*) -> 0
3. Гекс(6*) -> 2
4. Гекс(6) -> 5**
5. Гекс(6) -> 2**
6. Гекс(6) -> 5
7. Гекс(6) -> 3
8. Гекс(6) -> 4





Главный двхгексовый:
Вызываем двухгексовый:
1. Гекс(6*) -> 1-1*
2. Гекс(6*) -> 0-0*
3. Гекс(6*) -> 2-2*
4. Гекс(6) -> 5-0**
5. Гекс(6) -> 3-2**
6. Гекс(6) -> 5*-5
7. Гекс(6) -> 3*-3
8. Гекс(6) -> 4*-4
Image: image.png


По хорошему для двухгексового вызваемого двухгексовым нужно 10 попыток (тут не хватает 0**-0 и 2**-2), но это очень сильно ломало мой код. И я не стал этого делать...


RE: Плагины. Обсуждение - Valery - 02.11.2020 17:21

ok, no problem, I will have to rethink a few battles, that's the price for progress 132
Thanks for your time, this fix was much needed

Bersy, would be great to include the updated plugin in old Era packages, when have time.


RE: Плагины. Обсуждение - Berserker - 02.11.2020 18:30

Valery, ok, if you have other plugin to include, tell me please. I started to gather proposed fixes for 2.9.15 and can update plugins in 2.46F. Arg, never name any version "F". There cannot exist anything final 96-copy


RE: Плагины. Обсуждение - Bes - 02.11.2020 21:33

Berserker, как по мне, из этой ситуации с префиксом F можно красиво выйти так
2.46 -> 2.46F -> 2.46Fi -> ... 2 years later -> 2.46Final Spiteful


RE: Плагины. Обсуждение - Berserker - 02.11.2020 22:19

Потом 2.46 Final.003, как у Панды? Ab


RE: Плагины. Обсуждение - Bes - 03.11.2020 00:40

ты преувеличиваешь будущий возможный прогресс ERA2.46F 103


RE: Плагины - Berserker - 05.11.2020 17:18

(05.11.2020 16:54)igrik Wrote:  
Панель заклинаний в бою (Click to View)

igrik, супер! 132


RE: Плагины. Обсуждение - igrik - 05.11.2020 17:28

Berserker, спасибо.
Но все обсуждения только тут! Тема плагинов должна быть чистой.


RE: Плагины. Обсуждение - SergOz - 05.11.2020 17:40

igrik, спасибо! Очень нужный и полезный плагин. 132


RE: Плагины. Обсуждение - Panda - 05.11.2020 17:41

igrik, спасибо, просто отлично! Теперь вопрос по поводу работы этого плагина: сейчас при выходе из игры, все заклинания, которые я добавил на панель, исчезают. Есть ли способ сделать так, чтобы они сохранялись хотя бы в сохранениях игры?


RE: Плагины. Обсуждение - Archer30 - 05.11.2020 17:43

igrik, thank you for making the Spell Panel, this is great!

Just a small issue I immediatly notice - the spell Quicksand is not possible to be bound to any key. Can you check that, please?


RE: Плагины. Обсуждение - igrik - 05.11.2020 17:50

Archer30, спасибо. Исправлено.

(05.11.2020 17:41)Panda Wrote:  igrik, спасибо, просто отлично! Теперь вопрос по поводу работы этого плагина: сейчас при выходе из игры, все заклинания, которые я добавил на панель, исчезают. Есть ли способ сделать так, чтобы они сохранялись хотя бы в сохранениях игры?
Panda, я же сразу дал ответ в описании плагина:
Code:
...
- при каждом перезапуске игры: панель нужно настраивать заново
- при каждом перезапуске карты или при старте новой карты: отображается уже привязанная панель

** не спрашивайте почему я принял то или иное решение: данные тезисы - уже обдуманный и окончательный выбор. Меняться они не будут.
Я не хочу лезть в формат сейвов. Поэтому сохранение панели в сохранения игры не будет.


RE: Плагины. Обсуждение - Panda - 05.11.2020 18:02

igrik, упс, точно, "просмотрел", спасибо! Очень нужная вещь 132


RE: Плагины. Обсуждение - XEPOMAHT - 05.11.2020 18:09

(05.11.2020 17:50)igrik Wrote:  Я не хочу лезть в формат сейвов. Поэтому сохранение панели в сохранения игры не будет.

Вроде такое в сами сохранения записывать и не нужно, т.к. индивидуально для каждого игрока. Обычно настройки пишут в ini в папке с модом (в том же MoP горячие клавиши заклинаний сейвятся в *.mop).


RE: Плагины. Обсуждение - Berserker - 05.11.2020 18:33

igrik, написал в ВК, как сохранять в сейвах. А глобальные настройки из json лучше брать.


RE: Плагины. Обсуждение - Bes - 05.11.2020 19:34

да не давите на него, сказано же "Меняться они не будут". Плагин довершён в таком виде в силу определённых причин.
Если когда-то у igrik'а выдастся время и рвение вернуться к нему, то мы это обязательно узнаем Yes

igrik, 132 круто, сбылась давняя нужда в таком ф-ционале 120


RE: Плагины. Обсуждение - igrik - 06.11.2020 13:16

Berserker, меня переубедил. Настройки панели теперь сохраняются и читаются из сейвов.
Но глобальных настроек и загрузки из json - нет, и не будет.


RE: Плагины. Обсуждение - Panda - 06.11.2020 13:56

igrik, спасибо огромное! 120 Теперь этот плагин обретет в ценности +1000%! 132


RE: Плагины. Обсуждение - MOP - 06.11.2020 20:40

Давно сделал привязку заклинаний к горячим клавишам, но так никогда ими и не пользовался в реальной игре.
Видимо, не так уж это трудно и медленно - открыть книгу и выбрать нужное заклинание. А вот запомнить, на какую клавишу какой спелл повесил, и не ошибиться, наколдовав что-то левое - тут нужны навыки игрока в ММОРПГ или просто маньяка-онлайнщика.


RE: Плагины. Обсуждение - SergOz - 06.11.2020 21:54

(06.11.2020 20:40)MOP Wrote:  Давно сделал привязку заклинаний к горячим клавишам, но так никогда ими и не пользовался в реальной игре.
Видимо, не так уж это трудно и медленно - открыть книгу и выбрать нужное заклинание. А вот запомнить, на какую клавишу какой спелл повесил, и не ошибиться, наколдовав что-то левое - тут нужны навыки игрока в ММОРПГ или просто маньяка-онлайнщика.
Плагин выводит в левой части поля боя вертикальную панель с визуальной связанностью клавиш с заклами. Очень удобно и наглядно. Запоминать не нужно.


RE: Плагины. Обсуждение - igrik - 06.11.2020 22:26

(06.11.2020 20:40)MOP Wrote:  А вот запомнить, на какую клавишу какой спелл повесил, и не ошибиться, наколдовав что-то левое - тут нужны навыки игрока в ММОРПГ или просто маньяка-онлайнщика.
Я тоже сколько играл в MoP, ни разу не пользовался. Но, мне кажется, дело не в том: трудно-не-трудно, а в том, что её не видно и просто забывается сама возможность использования.


RE: Плагины. Обсуждение - SergOz - 07.11.2020 15:50

igrik, а с какой версии Эры начинает работать плагин Панель заклинаний в бою?
Есть ли ограничение по совместимости с чем-либо?


RE: Плагины. Обсуждение - Berserker - 07.11.2020 15:51

SergOz, с 2.46.


RE: Плагины. Обсуждение - helgtla - 10.11.2020 02:32

igrik, есть проблема с фиксом клонов/существ призываемых с абилок.
Пример:
Image: image.jpg
На скрине существо(одногексовое) способное призывать клона в каждом раунде, находясь на указанной позиции -призывает клона "за себя" и через клетку. Хотя должно спавнить клона ПЕРЕД собой (клетка свободна). Если поставить в "чистое поле", призыв идёт перед существом (в позицию "1").
   Просто тактика спрятаться за телегу/палатку(закрывшись силовым полем)- весьма распространена и часто используется. В данном случае- это невозможно провернуть (да и сам способ спавна ЧЕРЕЗ клетку очень странно выглядит).
   Про конкретно этот бой , в принципе это не столь критично, можно и пройти(если повезёт), и выживет командер в первом раунде(а это не малый шанс), но на иных картах- это может "запороть сценарий на корню", если исход подобной битвы будет определяющим для дальнейшего прохождения.


RE: Плагины. Обсуждение - igrik - 10.11.2020 11:01

helgtla, спасибо. Исправил. Плагин обновил на гите.
Причина: досадная опечатка при проверке на двухгексовость стека.


RE: Плагины. Обсуждение - Raistlin - 10.11.2020 21:30

Друзья, можете пожалуйста подсказать, почему не подгружается dll? Пока она лежит в плагинах, игра не запускается (на Windows 10, кстати, этой проблемы нет)
Папка Debug


RE: Плагины. Обсуждение - Berserker - 11.11.2020 00:12

Raistlin, скорее всего dll импортирует библиотеки visual c++ redistributable, которые в системе не установлены.


RE: Плагины. Обсуждение - XEPOMAHT - 11.11.2020 00:21

(10.11.2020 21:30)Raistlin Wrote:  Друзья, можете пожалуйста подсказать, почему не подгружается dll?

Компилировать MG_Bastion.dll с поддержкой старых ОС (в настройках проекта Windows XP Support). Ну и НЕ импортировать .NET и visual c++ redistributable, если в проекте это никак не используется.


RE: Плагины. Обсуждение - Raistlin - 11.11.2020 01:52

Berserker, XEPOMAHT, большое Вам спасибо, я постараюсь что-нибудь придумать. Для начала, попробую временно перейти на другую IDE, надеюсь, это поможет.


RE: Плагины. Обсуждение - Berserker - 11.11.2020 03:13

Raistlin, не нужно менять ИДЕ:

There are a few ways to accomplish this. One way is in Project Settings. In "Project" > "Configuration Properties" > "C/C++ Code Generation" > "Runtime Library", choose "Multithreaded (/MT)" as opposed to "Mutithreaded (Static)".


RE: Плагины. Обсуждение - Raistlin - 11.11.2020 11:33

Berserker, я, честно говоря, вообще не знал, как это работает, так что спасибо Вам за совет! Сейчас я уже не дома, но когда вернусь, обязательно попробую это поменять.


RE: Плагины. Обсуждение - Raistlin - 11.11.2020 22:39

Ну что ж, у меня все получилось. Berserker, большое Вам спасибо!


RE: Плагины. Обсуждение - Berserker - 12.11.2020 06:46

Raistlin, пожалуйста )


RE: Карта-мод STALKER для HoMM 3 ERA - Berserker - 13.11.2020 05:15

igrik Wrote:Плюс в плагин BattleReplay встроен свой "BATTLESAVE!", и этот сейв записывается раньше скриптового баттлсейва (и должен работать корректнее скриптового). Но и этот баттлсейв всё равно работает между триггерами !?OB и !?BA.
igrik, само сохранение ты не загружаешь? Просто создаёшь на всякий случай?


RE: Карта-мод STALKER для HoMM 3 ERA - Berserker - 13.11.2020 07:10

А думаю, ну что за дурацкое сохранение BATTLE! появляется без спроса и выделяет в списке сохранений себя, так что при загрузке приходится искать реально последний сейв.
Почему сохранение перед боем не сделать скриптом-модом?


RE: Карта-мод STALKER для HoMM 3 ERA - igrik - 13.11.2020 12:09

Berserker, хорошо, я вырезал автосохранение перед битвой из BattleReplay и сделал отдельный плагин BattleSave.

(13.11.2020 05:15)Berserker Wrote:  igrik, само сохранение ты не загружаешь? Просто создаёшь на всякий случай?
Эмм... А зачем мне его загружать?
С тобой нет смысла обсуждать этот вопрос Ab - ты не играешь в героев. Таких "на всякий случай" возникает сотню раз за партию.

(13.11.2020 07:10)Berserker Wrote:  А думаю, ну что за дурацкое сохранение BATTLE! появляется без спроса и выделяет в списке сохранений себя, так что при загрузке приходится искать реально последний сейв.
Почему сохранение перед боем не сделать скриптом-модом?
Вот именно поэтому скрипт мод и плох! Как ты скрипт создания сохранения вытащишь из самого сохранения?
Отключил плагин - и на уже играющейся карте нет сохранений. Включил плагин - есть сохранения.
Именно этим, такие технические плагины в 100 крат лучше всяких скрипт-модов на аналогичное действие!


RE: Карта-мод STALKER для HoMM 3 ERA - daemon_n - 13.11.2020 14:06

(13.11.2020 12:09)igrik Wrote:  ]Вот именно поэтому скрипт мод и плох! Как ты скрипт создания сохранения вытащишь из самого сохранения?
Отключил плагин - и на уже играющейся карте нет сохранений. Включил плагин - есть сохранения.
Именно этим, такие технические плагины в 100 крат лучше всяких скрипт-модов на аналогичное действие!

В сборке я сделал сейв перед боем отключаемым через отдельное меню в кастомном диалоге, что не требует ни игру перезапускать, ни что-либо где-либо искать для активации/деактивации.


RE: Карта-мод STALKER для HoMM 3 ERA - igrik - 13.11.2020 14:26

(13.11.2020 14:06)daemon_n Wrote:  В сборке я сделал сейв перед боем отключаемым через отдельное меню в кастомном диалоге, что не требует ни игру перезапускать, ни что-либо где-либо искать для активации/деактивации.
Кастомный диалог - это какой - DL?


RE: Плагины. Обсуждение - daemon_n - 13.11.2020 14:33

igrik, да, DL -вызывается кликом на Индикатор - слева от миникарты.

UPD: что примечательно, можно совместить с плагином через скрипт


RE: Плагины. Обсуждение - igrik - 13.11.2020 15:06

(13.11.2020 14:33)daemon_n Wrote:  igrik, да, DL -вызывается кликом на Индикатор - слева от миникарты.
Вот тебе и вылет, при отключеном моде в полноценном виде 118

(13.11.2020 14:33)daemon_n Wrote:  UPD: что примечательно, можно совместить с плагином через скрипт
Нет уж,спасибо) Плагин можно вкл/откл без всяких танцев с бубном и без риска для крашей


RE: Плагины. Обсуждение - daemon_n - 13.11.2020 15:12

(13.11.2020 15:06)igrik Wrote:  
(13.11.2020 14:33)daemon_n Wrote:  igrik, да, DL -вызывается кликом на Индикатор - слева от миникарты.
Вот тебе и вылет, при отключеном моде в полноценном виде 118

Не-а, вылет не из-за этого)Tease
Без данного мода этих кнопок нет, потому и краша нет.

Вот код, который включает/отключает кнопки. (Click to View)

(13.11.2020 15:06)igrik Wrote:  Нет уж,спасибо) Плагин можно вкл/откл без всяких танцев с бубном и без риска для крашей

Многим непросто найти место переключение плагинов. в идеале, конечно, прямо в опции игры добавить такую настройку.
Ну а насчёт DL - проблему я уже решилSpiteful


RE: Плагины. Обсуждение - Berserker - 13.11.2020 17:35

igrik, уже опять подбираюсь, что поиграть. Но я в Фениксе жал F5 для быстрого сохранения перед боем. Если сохранять автоматически, то нужно без выделения файла в списке сохранений. И я вспомнил, когда чаще всего сохранялся. После битвы. Нет ничего хуже вылета через секунд 5-10 после долгого боя.


RE: Плагины. Обсуждение - daemon_n - 13.11.2020 17:58

Автосейв и после боя можно прикрутить. И даже через 4 секунды после негоAb


RE: Плагины. Обсуждение - igrik - 13.11.2020 18:08

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

Ручное сохранение тоже есть, я себе сделал по W и F9 (F5 занято в HD)


RE: Плагины. Обсуждение - Panda - 13.11.2020 20:20

igrik, с новым плагином на переигровку битвы - BattleReplay.dll при передаче хода появляются след. окна:
Image: 01.jpg Image: 02.jpg
Если положить более старую версию BattleReplay.dll - то этих окон уже нет.


RE: Плагины. Обсуждение - daemon_n - 13.11.2020 21:11

Panda, попробуй отключить fix ai vs ai


RE: Плагины. Обсуждение - Panda - 13.11.2020 22:30

daemon_n, да, действительно, при отключении плагина fix ai vs ai, с новым BattleReplay окон уже не появляется. Но старый плагин BattleReplay работал с fix ai vs ai и никаких окон при этом не появлялось... Unsure


RE: Плагины. Обсуждение - igrik - 13.11.2020 23:24

Я не успел этот момент адаптировать ещё. Всё будет, но чуток позже.
Поэтому я и написал про BattleReplay только в теме Helga.


RE: Ваши вопросы по ERM-скриптам - SergOz - 19.11.2020 02:56

Подскажите, пожалуйста, можно ли в журнале героя убрать пунктирные линии, разделяющие задания?
ПАПИРУС
---------------------------
Заработать денег
---------------------------
Купить еды и пива
---------------------------
Вечером расслабиться
---------------------------
И, если можно, то как это сделать?
P.S. Или, может, можно редактировать длину и цвет этих линий...


RE: Ваши вопросы по ERM-скриптам - Bes - 19.11.2020 16:04

SergOz, там же новый диалог был сделан, это WND
жди ответа igrik


RE: Плагины. Обсуждение - Archer30 - 24.11.2020 17:35

Hi! Is there a complete list of the features of game bug fix extended?


RE: Плагины. Обсуждение - igrik - 25.11.2020 11:13

(24.11.2020 17:35)Archer30 Wrote:  Hi! Is there a complete list of the features of game bug fix extended?
Link


RE: Плагины. Обсуждение - Archer30 - 25.11.2020 11:53

Thank you so much igrik! That's a long list of features 132


RE: Плагины. Обсуждение - daemon_n - 25.11.2020 14:44

Quote:[+] добавление динамического Fight_Value командира
igrik, также работает и на ИИ? То есть они понимают, что у них какой-то убер в армии, и могу в соло пойти на грозных врагов?


RE: Плагины. Обсуждение - XEPOMAHT - 25.11.2020 14:58

(25.11.2020 14:44)daemon_n Wrote:  То есть они понимают, что у них какой-то убер в армии, и могу в соло пойти на грозных врагов?

Командиры не являются частью армии. Поэтому ИИ их никогда не будет оценивать без соответствующих хуков.


RE: Плагины. Обсуждение - daemon_n - 25.11.2020 16:29

Представляю такой баг)

При посещении жертвенного алтаря кнопка "выложить все артефакты" ( не из рюкзака, а вообще все) неактивна, если в инвентаре героя нет артефактов. Не становится активной, пока заново не посетишь объект с артефактом в рюкзаке.

Баг №2
Пропали ограничение мировоозрений для жертв - сейчас все герои могут жертвовать что угодноFie


RE: Плагины. Обсуждение - Archer30 - 25.11.2020 16:41

igrik, there is an incompatibility report of game bug fixes extended and Zulu Town mod by XEricSin.
It was reported by XEricSin (the author himself) - According to him, there is a very high chance that entering battle with Hero #139 results in an instant crash of the game.
Debug
In order to reproduce this bug, entering battle with Hero #139 from Zulu town and you will see the game crash. BUT!!! I can't reproduce this bug with the same condition the author provided.

Could you try to investigate and suggest what might be wrong with game bug fixes in some particular PC? Rolleyes

Edit: According to XEricSin, it seems any hero specializes in creature # >197 results in a crash entering battle with game bug fixes extended loaded.


RE: Плагины. Обсуждение - igrik - 25.11.2020 17:36

(25.11.2020 16:41)Archer30 Wrote:  Edit: According to XEricSin, it seems any hero specializes in creature # >197 results in a crash entering battle with game bug fixes extended loaded.
Archer30, это было исправлено несколько дней назад.
Пусть скачает новую версию game bug fixes extended.


RE: Плагины. Обсуждение - Archer30 - 25.11.2020 18:03

Fixed! Thank you so much igrik! 96-copy


RE: Плагины. Обсуждение - daemon_n - 26.11.2020 08:54

Объясните, пожалуйста, так как я отстал от движухи.
game bug fixes.dll включен в game bug fixes extended.dll? Или для сборки необходимо иметь оба плагина?


RE: Плагины. Обсуждение - Berserker - 26.11.2020 09:13

daemon_n, включён и устарел. Сборки, в которых он присутствуют, объявлены нелегальными.Yes


RE: Плагины. Обсуждение - daemon_n - 26.11.2020 09:17

Понял, спасибо! Надеюсь, он будет включен и в ЭРУ,
которую я не могу скачать с включенным антивирусом



RE: Плагины. Обсуждение - Berserker - 26.11.2020 09:48

daemon_n, я пытался загрузить файл на сайте microsoft, но тщетно. Делайте report false positive, там нужна учётная запись microsoft или логин скайпа.


RE: Плагины. Обсуждение - daemon_n - 26.11.2020 09:49

Berserker, не нужна лицензия винды?


RE: Плагины. Обсуждение - Berserker - 26.11.2020 16:10

daemon_n, нет.


RE: Плагины. Обсуждение - daemon_n - 26.11.2020 21:45

Напоминаю о баге ГСК, который запрещает для изучения "Артиллерию, Волшебство, Грамотность, Защиту, Интеллект, Магию Воды, Магию Земли, Навигацию, Нападение, Некромантию, Обучаемость, Первую Помощь, Сопротивлние, Тактику"


RE: Плагины. Обсуждение - Berserker - 27.11.2020 00:16

Это идея для исправления? Первый раз про такой слышу.


RE: Плагины. Обсуждение - daemon_n - 27.11.2020 00:32

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


RE: Плагины. Обсуждение - igrik - 27.11.2020 12:17

(26.11.2020 21:45)daemon_n Wrote:  Напоминаю о баге ГСК, который запрещает для изучения "Артиллерию, Волшебство, Грамотность, Защиту, Интеллект, Магию Воды, Магию Земли, Навигацию, Нападение, Некромантию, Обучаемость, Первую Помощь, Сопротивлние, Тактику"
А точнее можно? В каких объектах, или в каких случаях?


RE: Плагины. Обсуждение - daemon_n - 27.11.2020 12:24

igrik, ой. Хижина ведьмы. Всегда! Если открыть любую рандомку в редаткторе карт, то можно увидеть, что всегда напротив именно данных навыков не стоит галочка


RE: Плагины. Обсуждение - daemon_n - 29.11.2020 17:59

Game bug fixes extended.dll

В общем, баг при посещении или нападении на замок - краш 100%

И - плагин BattleReplay - при повывшении уровня герой может пропустить выбираемый навык.
+ не отображается лог боя, когда на тебя нападает ИИ


RE: Плагины. Обсуждение - Panda - 29.11.2020 18:37

Краш игры при передаче хода - он редкий, случается при передаче хода, повторная загрузка автосейва решает проблему. Так же скидывали еще пару дебагов, которые очень похожи на этот, тоже краш при передаче хода. Берс сказал, что вылет в начале боя, пробовать без всех плагинов igrik-а. Возможный виновник BattleSave или кто-то другой из плагинов.
Дебаг + сохранение:
https://yadi.sk/d/bHVAcx2dh7GZBw


RE: Плагины. Обсуждение - XEPOMAHT - 30.11.2020 00:37

(29.11.2020 18:37)Panda Wrote:  Краш игры при передаче хода - он редкий, случается при передаче хода, повторная загрузка автосейва решает проблему.

Утечка памяти. По адресу - попадание в молоко между загруженными dll. Такое смотреть только в отладчике (правда поймать будет сложно).


RE: Плагины. Обсуждение - daemon_n - 30.11.2020 13:48

(21.09.2011 22:09)igrik Wrote:  [+] рабочий запрет выдачи заклинаний у артефактов, если они запрещены через UN:J0/spell_id/1


Данный запрет работает неоднозначно с UN:J0/spell_id/1, если точнее, UN:J0/spell_id/1 должен работать лишь на ГМ и Пирамиды, однако имеется сейв, где запрет на ГМ и пирамиды выключен, а включен лишь запрет в свитках и ящиках пандоры и у школяров. Однако данный плагин всё равно вырезал Магию у артефактов.


RE: Плагины. Обсуждение - Archer30 - 03.12.2020 07:50

igrik, for BattleReplay plugin, it seems the problem that sometimes level-up screen skips after battle persists according to the player report. Would you please check if everything's alright? Rolleyes

Edit:
Panda, yes the problem with battle replay should be fixed by 1st Dec. But according to a report I received, it hasn't, even with the latest. It would be really good if igrik could investigate further.
I wasn't able to reproduce the bug even with the version before fixed. It would be very helpful know how to trigger so I can test and send more reports.


RE: Плагины. Обсуждение - Panda - 03.12.2020 09:40

igrik, итак, я снова получил вылет при передаче хода, на этот раз загрузка последнего автосейва или более раннего сохранения не помогает, краш игры при передаче хода случается в любом случае. Совет Berserker начать новую игру без плагина BattleSave так же ни к чему не привел, этот краш всё равно периодически проскакивает. Однако, возвращаясь к тому сохранению, я выключил все плагины, передал ход, краша не случилось. Методом перебора начал искать плагин, который вызывает краш игры при передаче хода - им оказался remove theoretical battle ai vs ai, при его отключении при передаче хода краша уже нет, и игра дальше идет нормально.
Дебаг+сохранение:
https://yadi.sk/d/Rd1wzP4oFN0PbA

daemon_n, там в дискорде когда-то пару-троек челов уже писали об этом краше, если у кого снова будет краш при передаче хода, то пусть попробуют отключить плагин remove theoretical battle ai vs ai.
PS: там Archer30 говорит, что с последней версией плагина BattleReplay вроде как проблема с пропуском вторичного навыка осталась.

XEPOMAHT, спасибо.
PS: Что поделать, мое ведро уже совсем старое и дряхлое, прохудилось уже, вот и протекает, а на новое средств нету... 148

Archer30, yes, there was such a problem, but this has already been fixed.
Coordinate with the daemon_n, don't count on me, I am no more. There is no one to edit the plugins at the moment, it is not known when the igrik will return.


RE: Плагины. Обсуждение - igrik - 03.12.2020 14:39

В который раз повторяю - theoretical battle ai vs ai это катализатор багов, но не виновник. Этот плагин заставляет битвы ИИ проводить как настоящие битвы, и поэтому выполняются функции, а также случаи в этих функциях, которые обычный игрок может создать очень редко. И получается, что "с виду" виновен данный плагин, но в 99% случаев это не так.

(03.12.2020 09:40)Panda Wrote:  igrik, итак, я снова получил вылет при передаче хода...
Я разобрался - причина в конфликте плагинов "RK primary skill overflow.dll" и "game bag fixes extended".
Место конфликта: строение "Знаки Страха" в замке Крепость. Оба плагина патчат одно и то же место в коде.

Первый ставит хук (решает проблему переполнения первичных навыков героя):
_PI->WriteLoHook(0x4639FC, GlyphsOfFear_OF);

Второй исправляет ошибку СОДа (перепутанные бонусы атаки и защиты)
// fix Fortress attack and defense bonuses for defended Hero
_PI->WriteByte(0x4639FE, 0x77);

Выход один - не использовать либо первый либо второй плагин.

(03.12.2020 09:40)Panda Wrote:  daemon_n, там в дискорде когда-то пару-троек челов уже писали об этом краше, если у кого снова будет краш при передаче хода, то пусть попробуют отключить плагин remove theoretical battle ai vs ai.
PS: там Archer30 говорит, что с последней версией плагина BattleReplay вроде как проблема с пропуском вторичного навыка осталась.
Я вернул старый и стабильный код плагина (откатил изменения назад). Теперь проблем плагином переигровки не будет. Ссылка там же - на гите.


RE: Плагины. Обсуждение - daemon_n - 03.12.2020 14:48

igrik, привет. Смотрю, battle replay вернулся к старому виду..
Немного начал копать в этой стороне, чтобы оптимизировать для мультиплеера.
Так понимаю, адреса для хуков надо брать с кода на гите?


RE: Плагины. Обсуждение - igrik - 03.12.2020 15:07

Всё что тебе нужно сделать, это вырезать этот участок кода

Ну а дальше тесты, тесты, тесты...


RE: Плагины. Обсуждение - daemon_n - 03.12.2020 15:10

igrik, отлично! Спасибо) буду изучать программирование "на горячую" Ab96-copy


RE: Плагины. Обсуждение - Panda - 04.12.2020 05:31

igrik, спасибо огромное! 132


RE: Плагины. Обсуждение - Panda - 05.12.2020 22:50

igrik, хотелось бы получить небольшое пояснение/консультацию:
в последнем wog native dialogs если я правильно понял, вырезаны некоторые функции, которые теперь стали не нужны и поддерживаются в HD mod версии RC14.
Отсюда возникает вопрос:
Ситуация 1: допустим игрок пользуется старой версией wog native dialogs, где данные функции присутствуют, и обновляет HD mod до версии RC14, не возникнет ли в таком случае каких-либо конфликтов, багов или крашей?
Ситуация 2: допустим игрок пользуется новой версией wog native dialogs, где данные функции вырезаны, и делает откат HD mod до версии RC7 допустим, не возникнет ли в таком случае каких-либо конфликтов, багов или крашей? И что перестанет работать в данном случае?
Спасибо.


RE: Плагины. Обсуждение - daemon_n - 05.12.2020 23:00

Panda, багов и крашей не будет.


RE: Плагины. Обсуждение - igrik - 05.12.2020 23:01

Ситуация 1: нет, конфликтов не возникает. Я проверял. Но я не хочу оставлять дублирующийся код.
Ситуация 2: конфликтов тоже не будет - им не откуда взяться. Просто НЕ будет работать вырезанный мной функционал, а это: F5 в главном меню и установка ползунка в макс положение при покупке существ. На данный момент в HD Бараторч не вернул ещё такой функционал: дабблклик в окне повышения уровня героя и быстро закончить бой по Q. Если он добавит эти пункты в HD, я их вырежу из WND.

PS: для справки - дабблклик в сообщениях IF:Q/M тоже изначально был реализован в HD, потом вырезан в HD и реализован мной в WND. Но этот дабблклик навсегда останется в WND по причине того, что одна небольшая функция была полностью написана заново для создания гибких сообщений ЭРЫ начиная с версии 3.1


RE: Плагины. Обсуждение - Panda - 05.12.2020 23:03

igrik, daemon_n, спасибо за разъяснения! 132


RE: Плагины. Обсуждение - Berserker - 08.12.2020 19:40

igrik скромно умолчал о том, что, что в последней версии (на github) wog native dialogs в родных геройских диалогах можно выбирать картинку, пользуясь клавишами управления курсором. Во многих случаях мышь больше не нужна!


RE: Плагины. Обсуждение - Algor - 08.12.2020 20:39

Дык и раньше ж можно было без мыши - кнопки 1 и 2.


RE: Плагины. Обсуждение - igrik - 08.12.2020 22:02

Algor, ты уверен, что мы об одной и той же игре говорим?


RE: Плагины. Обсуждение - Algor - 08.12.2020 22:29

igrik, эм, может о разных диалогах? Я только что перепроверил на стандартном диалоге повышения уровня героя. 1/2 работает.
Он же относится к "родным геройским диалогам", или я опять что-то забыл? С меня ща станется, ковид бесследно не проходит)


RE: Плагины. Обсуждение - igrik - 08.12.2020 22:42

36 Ты для меня щас Америку открыл! Я и не знал...

Но нет, мы говорим о диалогах типа IF:M IF:N и подобным геройским диалогам.


RE: Плагины. Обсуждение - Berserker - 09.12.2020 04:29

Я тоже про 1 и 2 не знал. В любом случае, речь идёт щб IF:Q/M/N диалогах, где до 8-и выбираемых изображений поддерживается (в оригинале до 2-х).


RE: Плагины. Обсуждение - Bes - 09.12.2020 04:38

ну, вы даёте, игру по части кода как никто знаете, а такие простые игровые моменты ни разу не слышали?
реально удивили.
улучшаете простых существ в окне статистики тож мышью? или таки жмёте U ?



RE: Плагины. Обсуждение - Berserker - 09.12.2020 07:54

Bes, мышью, конечно. Там U не всегда удобна.


RE: Плагины. Обсуждение - igrik - 09.12.2020 09:19

(09.12.2020 04:38)Bes Wrote:  ну, вы даёте, игру по части кода как никто знаете, а такие простые игровые моменты ни разу не слышали?
реально удивили.
В диалоге повышения навыка я реально не знал. В Месседж Боксах 1 и 2 никогда и не работало.


RE: Плагины. Обсуждение - Algor - 09.12.2020 10:08

(09.12.2020 04:38)Bes Wrote:  
улучшаете простых существ в окне статистики тож мышью? или таки жмёте U ?
U не удобно находится, обычно правая рука на мышке а левая на 1/2/w/e/d (s - для слабаков, q тоже не пользую). В BH еще часто "a" пользую. Все это делается без изменения положения левой руки. А U - неудобно, мышью быстрее.


RE: Плагины. Обсуждение - Archer30 - 09.12.2020 12:37

igrik, is the Battlesave plugin still being updated? I can find it nowhere from your github Sorry

Also, your download link of the latest WoG Native Plugin is unavailable here, needs update


RE: Плагины. Обсуждение - igrik - 09.12.2020 16:13

Archer30, все ссылки рабочие. Вы плохо смотрели (WND и BattleReplay)


RE: Плагины. Обсуждение - Archer30 - 10.12.2020 20:30

Thanks, igrk, now all links work. I thought BattleSave was not in your github, but it turned out it's in the same folder with BattleReplay.


RE: Плагины. Обсуждение - Archer30 - 31.12.2020 18:17

(31.12.2020 15:09)igrik Wrote:  XXL-mod. Скачать

Внимание! Использовать только с HD-модом.
Без HD-мода миникарта будет рисоваться с ошибками!

igrik, thank you so much for your amazing XXL-mod!

You forgot to mention that this mod also fixed a critical error with the previous XXL. Now the game won't crash with full map revealed. Nice work! Best gift of the New Year! 96-copy


RE: Плагины. Обсуждение - SergOz - 31.12.2020 20:51

(31.12.2020 15:09)igrik Wrote:  XXL-mod. Скачать

Внимание! Использовать только с HD-модом.
Без HD-мода миникарта будет рисоваться с ошибками!

igrik, спасибо за мод.
Когда в Хоте появилась поддержка огромных карт, очень надеялся что такое будет и в Эре.
Сейчас пылу поубавилось, потому что понял, как тяжело реализовать хороший баланс даже на картах144х144.
Надеюсь, создание хороших карт 252х252 окажется кому-то под силу. Было бы интересно пройти такую карту на Эре.
Может объявить приз для создателя первой такой карты?Pig_ball



RE: Плагины. Обсуждение - Berserker - 31.12.2020 23:19

(31.12.2020 15:09)igrik Wrote:  XXL-mod. Скачать

Внимание! Использовать только с HD-модом.
Без HD-мода миникарта будет рисоваться с ошибками!

igrik, огромное тебе спасибо! Талант не пропьёшь, даже под новый год 177


RE: Плагины. Обсуждение - XEPOMAHT - 01.01.2021 11:16

(31.12.2020 15:09)igrik Wrote:  XXL-mod. Скачать

Внимание! Использовать только с HD-модом.
Без HD-мода миникарта будет рисоваться с ошибками!

igrik, спасибо за реализацию XXL-мода для ERA! Наконец-то можно сказать окончательное "прощай" старому и глючному XXL-моду десятилетней давности.

Интересно, Берсеркер добавит XXL-мод в состав Эры?


RE: Плагины. Обсуждение - Berserker - 01.01.2021 16:13

XEPOMAHT, после тестирования и отвязки от HD-мода по мини-карте — конечно.


RE: Плагины. Обсуждение - daemon_n - 10.01.2021 17:46

(31.12.2020 15:09)igrik Wrote:  XXL-mod.

Спасибо огромное за мод!
Нашёл 2 фишечки, которые прошу добавить:
Прошу добавить поддержку новых размеров карт в список сортировки и в поле отображения размера карты


RE: Плагины. Обсуждение - daemon_n - 10.01.2021 18:27

(27.11.2020 12:24)daemon_n Wrote:  igrik, ой. Хижина ведьмы. Всегда! Если открыть любую рандомку в редаткторе карт, то можно увидеть, что всегда напротив именно данных навыков не стоит галочка

Проверил ещё раз, дабы написать временный фикс на ЭРМ.
Имеем вот что:
Навыки (0..27);
из них (16..27), 5 (навигация) и 12 (некромантия) не генерируются в хижинах ведьмы.
Наводит на мысль, что некромантию и навигацию вырезали специально, и остаётся ровно половина (14) навыков, которые не появляются.

Вот думаю, как бы реализовать.

1. Вернуть ли некромантию/ навигацию (точно нет) ?
2. Принудительно ли делать равномерное распределение навыков или для этой игры достаточно
!!VRi:S16 R11; для каждой второй хижины?


RE: Плагины. Обсуждение - SergOz - 10.01.2021 18:46

(10.01.2021 18:27)daemon_n Wrote:  Вот думаю, как бы реализовать.
Через !!SN:M прще всего, имхо. Записываешь массив, рандомкой считываешь значение выпавшей ячейки.
Если равномерно, то вот тебе в помощь


RE: Плагины. Обсуждение - daemon_n - 10.01.2021 19:04

SergOz, да, сделаю через массив, а то никогда не работал с этим)
Хотя и текущее решение норм


Но проблема с навигацией.
Где-то, может, есть смысл её оставить... Разве что код этот только на рандомных картах реализовать, кстатиRolleyes


RE: Плагины. Обсуждение - Berserker - 10.01.2021 21:37




RE: Плагины. Обсуждение - SergOz - 05.02.2021 19:54

igrik, надеюсь ты сможешь решить проблему.
Суть: при установленном плагине BattleSave, с помощью сейвов, созданных этим плагином, можно:
а) пройти мимо любого монстра, если рядом с ним есть хотя бы одна проходная клетка
б) пройти сквозь любой гарнизон, игнорируя его охрану
что ломает прохождение любой карты.

Если же этот плагин удалить, то при нападении на гарнизон и переигровке боя, используя возможность плагина BattleReplay, в гарнизоне остаётся фантом нападавшего героя. Фантом не пропадает, с ним можно взаимодействовать и он всегда остаётся в гарнизоне.
Вот здесь уже было обсуждение проблемы.


RE: Плагины. Обсуждение - igrik - 10.02.2021 14:02

BattleReplay: проблема создания копии героя в гарнизоне решена. Ссылка та же

На всякий случай укажу - мне пришлось обновить весь репозиторий. Но изменений кроме BattleReplay нет.



RE: Плагины. Обсуждение - SergOz - 10.02.2021 14:35

igrik, большое спасибо. 119
Протестил на разных картах, в разных ситуациях - всё ОК! 20


RE: Плагины. Обсуждение - Panda - 10.02.2021 22:28

igrik, спасибо! 132
У меня возник небольшой конфуз:
Сейчас у меня из скачанного архива пару часов назад, wog native dialogs.era вот такой:
MD5: 9196F0DE2741037408177E5256403480
Но пару недель назад wog native dialogs.era, когда я скачивал его с твоего репозитория, был такой (эта версия сейчас и лежит в сборке игры):
MD5: 78A2FFD2692246A183EA7FA6E71E2967
Учитывая, что кроме плагина BattleReplay изменений нет, то хотелось бы понять, какая версия wog native dialogs.era сейчас правильная.
BattleReplay.dll у меня такой:
MD5: ECFF5491772753F7CBFF02649BEFD279
game bug fixes extended.dll у меня такой:
MD5: C6A34FDECD5485B6BBBA903D798FCBAA
Извини за беспокойство, заранее большое спасибо! Sorry


RE: Плагины. Обсуждение - Archer30 - 11.02.2021 05:37

Hi, igrik! There is a small imperfection of the XXL mod, and I hope you could check that when you have time/motivation.

Image: otRDNDI.jpg
The issue is only observed when playing with HD mod. When you click on the the Underground option from random map generator, it resets map size option to XL if it was larger (H/XH/G).

Thank you in advanced for your investigation. 96-copy


RE: Плагины. Обсуждение - igrik - 11.02.2021 19:45

Archer30, this is the functionality of the HD mod, I can't solve it. Only baratorch can.

Panda, я пересел на новый комп (старый ушёл в утиль) и при "переезде" я провтыкал малость и обновил репозиторий. В результате все плагины перезаписались с новыми констрольными суммами, но функционал у них не изменился ни на каплю (кроме BattleReplay). Поэтому плагины и с теми, и с теми констрольными суммами актуальны. Больше мне нечего добавить...


RE: Плагины. Обсуждение - RoseKavalier - 11.02.2021 21:24

(11.02.2021 19:45)igrik Wrote:  [...]
this is the functionality of the HD mod, I can't solve it. Only baratorch can.
[...]
  • HiHook dialog proc 0x587FD0. If patch order is an issue, just go through vtable 0x641CBC + 0x24
  • Check window message for clicking underground button.
  • Store current map dimension if greater than 144.
  • Call DefaultFunc (Hdmod will do its thing here)
  • As needed, restore pressed button by calling orig proc with button click info of original size, which you know. {0x200, 0x0D, button_id, 0, 0, 0, 0, 0}

In the end it does everything twice but should work. Alternative is to memory patch it out 109


RE: Плагины. Обсуждение - daemon_n - 11.02.2021 21:33

RoseKavalier, That's famous!!!
So, mb then you can say/do how to make buttons disabling, if template settings do not match map size?Rolleyes

i mean if Jebus Cross template (L/XL + U) is chosen, then S/M/H/XH/G buttons will be "grey" (disabled for press)


RE: Плагины. Обсуждение - RoseKavalier - 12.02.2021 07:41

That would require actual reversing of HDmod code. Not impossible, but not something I'm interested in atm.


RE: Плагины. Обсуждение - daemon_n - 12.02.2021 10:00

RoseKavalier, thanks for the answer.

Understand that. Yes, sounds isn't clean way. Better ask Baratorch as HD mod developerYes


RE: Плагины. Обсуждение - igrik - 12.02.2021 10:59

RoseKavalier, thank you for your information! I will definitely use it.

daemon_n, у меня была такая идея, но немного копнув я понял, что это очень хорошенько нужно углубиться в код, чтобы исследовать функционал загрузки шаблонов, и вытащить из них допустимые размеры. Это достаточно кропотливый труд. Я пока что не готов этим заниматься.


RE: Плагины. Обсуждение - igrik - 24.02.2021 18:59

Плагин Переигровки обновлён. (!! но вам нужно обновить и era.dll)
Пожалуйста, внимательно изучите описание: как использовать плагин в связке с ERM.
Code:
Изменения:
[!] - расширение плагина переименовано в *.era
[-] - удалены триггеры 870520 и 870530
[!] - переименованы события:
  !?FU(OnBeforeBattleReplay);   [нажата кнопка переигровки, но состояние боя (отряды, герои) ещё старое]
  !?FU(OnBattleReplay);         [начата переигровка, состояние боя/героя/отрядов сброшено до изначального]

Image: image.png


RE: Плагины. Обсуждение - PerryR - 27.02.2021 17:15

I want to test the new Battle Replay plugin.
Which era.dll version should I use. Is the on from 3.3.4 sufficiant?


RE: Плагины. Обсуждение - daemon_n - 27.02.2021 17:56

PerryR, only 3.3.5 and higher


RE: Плагины - Grossmaster - 13.03.2021 21:25

(13.03.2021 21:03)Raistlin Wrote:  ArenaFix. Скачать

Описание: превращает все Арены с подтипом, отличным от 0, в Колизеи Магов (подсказку при этом нужно заменять самостоятельно). Также плагин улучшает алгоритм выбора навыка для героев ИИ (раньше выбор был случайный) и добавляет проверку на переполнение - теперь герои не могут получить больше чем 99 очков первичных навыков.

Прекрасный плагин. Он будет полезен для wog fix, а именно для объекта стоунхендж, который по моим планам будет иметь функцию колизея магов


RE: Плагины. Обсуждение - Raistlin - 13.03.2021 22:17

Grossmaster, спасибо! Плагин работает примерно так: если у Арены подтип 0, предлагается выбор между Атакой и Защитой, иначе - между Силой и Знанием (тексты при этом берутся из ini-файла). Чтобы Стоунхендж заработал как ты хочешь, поставь ему тип 4 и подтип 1.
Кстати, у меня нашелся маленький косячок, но я его уже исправил и перезагрузил архив. Ничего критичного нет, но я все же советую скачать плагин заново, чтобы в будущем не было путаницы.


RE: Плагины. Обсуждение - XEPOMAHT - 14.03.2021 00:02

(13.03.2021 22:17)Raistlin Wrote:  Чтобы Стоунхендж заработал как ты хочешь, поставь ему тип 4 и подтип 1.

А в MoP 2.19 (и на ERA+ когда-нибудь тоже) это тип 50, подтип не важен. Кстати, твой плагин весит как-то уж многовато. Внутри почти половина забита командами "int 3" + кучи отладочной информации, в общем, чувствуется, что там много неиспользованного собрано компилятором внутри dll.


RE: Плагины. Обсуждение - Raistlin - 14.03.2021 02:06

XEPOMAHT, очень может быть, так как у меня в проекте находится довольно много всяких заголовочных файлов, из которых по факту берется лишь пара функций.
Сделать Колизей отдельным объектом я действительно могу - добавлю в конфиг две строчки для типа и подтипа, а также строчку для статуса использования всех подтипов Арены. Постараюсь сделать завтра.


RE: Плагины. Обсуждение - V_Maiko - 14.03.2021 22:33

Raistlin, I have successfully implemented the Colisseum of the Magi... but unfortunately it is not generated in RMG by itself... Now I have an intense whim to get I get a plugin for RMG so I can manipulate the object generation as I want and thus save me the hassle of using the object replacement scripts as well 173


RE: Плагины. Обсуждение - Raistlin - 14.03.2021 23:05

Ok, I will find a solution Unsure

By the way, this is actually a very good Idea 132


RE: Плагины. Обсуждение - Raistlin - 15.03.2021 21:59

Привет, я тут еще один плагин выложил, но мне в нем кое-что не нравится. Подскажите пожалуйста, как исправить ERM-костыль?



RE: Плагины. Обсуждение - Berserker - 15.03.2021 22:08

Костыль в способе чтения и вывода текста в IF:Q?


RE: Плагины. Обсуждение - Raistlin - 15.03.2021 22:14

Да. Я не разобрался, как правильно выводить сообщения на экран, у функции 0x4F6C00 слишком много параметров.


RE: Плагины. Обсуждение - Berserker - 15.03.2021 22:50

Пиши обёртку:
Code:
TMesType =
  (
    MES_MES         = 1,
    MES_QUESTION    = 2,
    MES_RMB_HINT    = 4,
    MES_CHOOSE      = 7,
    MES_MAY_CHOOSE  = 10
  );

function Msg
(
  const Mes:          string;
        MesType:      TMesType  = MES_MES;
        Pic1Type:     integer   = NO_PIC_TYPE;
        Pic1SubType:  integer   = 0;
        Pic2Type:     integer   = NO_PIC_TYPE;
        Pic2SubType:  integer   = 0;
        Pic3Type:     integer   = NO_PIC_TYPE;
        Pic3SubType:  integer   = 0
): integer;

var
  MesStr:     pchar;
  MesTypeInt: integer;
  Res:        integer;

begin
  MesStr     := pchar(Mes);
  MesTypeInt := ORD(MesType);

  asm
    MOV ECX, MesStr
    PUSH Pic3SubType
    PUSH Pic3Type
    PUSH -1
    PUSH -1
    PUSH Pic2SubType
    PUSH Pic2Type
    PUSH Pic1SubType
    PUSH Pic1Type
    PUSH -1
    PUSH -1
    MOV EAX, $4F6C00
    MOV EDX, MesTypeInt
    CALL EAX
    MOV EAX, [WND_MANAGER]
    MOV EAX, [EAX + $38]
    MOV Res, EAX
  end; // .asm

  result := MSG_RES_OK;

  if MesType = MES_QUESTION then begin
    if Res = 30726 then begin
      result := MSG_RES_CANCEL;
    end // .if
  end else if MesType in [MES_CHOOSE, MES_MAY_CHOOSE] then begin
    case Res of
      30729: result := MSG_RES_LEFTPIC;
      30730: result := MSG_RES_RIGHTPIC;
    else
      result := MSG_RES_CANCEL;
    end; // .SWITCH Res
  end; // .elseif
end; // .function Msg

procedure ShowMessage (const Mes: string);
begin
  Msg(Mes);
end;

function Ask (const Question: string): boolean;
begin
  result := Msg(Question, MES_QUESTION) = MSG_RES_OK;
end;



RE: Плагины. Обсуждение - Raistlin - 15.03.2021 23:12

Berserker, большое Вам спасибо!
Вы этот код прямо сейчас написали? Честно говоря, мне даже неудобно как-то - я ожидал простого совета или максимум - примера использования откуда-то ещё...


RE: Плагины. Обсуждение - XEPOMAHT - 16.03.2021 00:09

(15.03.2021 23:12)Raistlin Wrote:  Честно говоря, мне даже неудобно как-то - я ожидал простого совета или максимум - примера использования откуда-то ещё...

Вызывай эту воговскую функцию и не парься (в с этим MoP ещё сильнее упрощено):

Code:
int Message(const char *zmes,int n,int showtime)
/*
    1-сообщение
    2-запрос
    4-инфа по правой мышке
    7-просьба выбрать
10-можно и выбрать и отказаться
*/
{
    STARTNA(__LINE__, 0)
    if (MainWindow == 0)
    {
        MessageBox(0, zmes, "Heroes of Might and Magic III", 0);
        RETURN(0);
    }

    __asm{
        mov  ecx,zmes
        push 0         // SType 3 : 0
        push -1        // Type 3  : -1
        push showtime  //0
        push -1        // Par ???
        push 0         // SType 2
        push -1        // Type 2
        push 0         // SType 1
        push -1        // Type 1
        push -1        // y
        push -1        // x
        mov eax,0x4f6C00
        mov edx,n
        call eax
    }
    __asm{
        mov eax,0x6992D0
        mov ecx,[eax]
        mov eax,[ecx+0x38]
        mov IDummy,eax    
    }  
    RETURN(IDummy);
}



RE: Плагины. Обсуждение - V_Maiko - 16.03.2021 00:56

Raistlin, Good job! 132 You are our hero of plugin mods! I wonder, what is the new thing that you will come up with? 96-copySpiteful


RE: Плагины. Обсуждение - Raistlin - 16.03.2021 01:50

V_Maiko, thank you for your support! 96-copy The new thing that I will come up with is pretty interesting, but for now it is a secret 144
XEPOMAHT, спасибо за код, я попробую. 132


RE: Плагины. Обсуждение - V_Maiko - 16.03.2021 07:25

After having used the H3.RMGDescription plugin for a long time, I have always wondered, why is a plugin not implemented to allow introducing seeds like in Minecraft? So players can generate their own maps in a more fun way Rolleyes


RE: Плагины. Обсуждение - igrik - 16.03.2021 07:47

Raistlin, при использовании patcher_x86.hpp и заголовочника HoMM3.h вообще не нужно писать ASM код, и всё становится куда проще:

Универсальная обёртка с использованием условий по умолчанию:
Code:
_bool_ f_MsgBox(char* text, int style = 1, int x = -1, int y = -1, int pic1Type = -1, int pic1Subtype = 0, int pic2Type = -1, int pic2Subtype = 0, int unk = -1, int showTime = 0, int pic3Type = -1, int pic3Subtype = 0)
{
  CALL_12(void, __fastcall, 0x4F6C00, text, style, x, y, pic1Type, pic1Subtype, pic2Type, pic2Subtype, unk, showTime, pic3Type, pic3Subtype);
  return (o_WndMgr->result_dlg_item_id);
}

Примеры вызовов:
Code:
f_MsgBox(message); // просто сообщение с текстом
if(f_MsgBox(message, 4) {...}) // вопрос с текстом, в условии
f_MsgBox(message, 1, -1, -1, pic1Type, pic1Subtype); // показ сообщения с одной картинкой (id картинок см.IF:Q)
f_MsgBox(message, 7, -1, -1, pic1Type, pic1Subtype, pic2Type, pic2Subtype); // сообщение с выбором из 2х картинок

daemon_n, просто проснулся раньше обычного. ХЗ, старею походу...



RE: Плагины. Обсуждение - daemon_n - 16.03.2021 07:50

Raistlin, а я вот не понял, зачем этот плагин, когда есть скрипт отображения экрана героя без схлопывания в эра спкриптс, написанный через un:c. Позволяет и командира проверить, и статус оруженосца, и артефакты в рюкзаке - вообще любую информацию.

igrik, ещё нет шести утра – надеюсь, всё нормально 105



RE: Плагины. Обсуждение - daemon_n - 16.03.2021 22:21

Raistlin, а можешь сделать именно фиксы отдельно? Сделай, пожалуйста. Не хочется возиться с добавлением новых объектов, а вот фиксы полезные.

Как именно он работают они, кстати?


RE: Плагины. Обсуждение - Archer30 - 17.03.2021 12:07

Hello! Looking for help from igrik with WoG Native Dialog. I understand these problems have been reported, but I just hope they can be fixed in the near future. Rolleyes

1. Keypad support. Currently, the keypad has no use with input dialogues from WoG Native Dialog.
2. Disappearing WoG Option dialogue. As I understand after HD 5.2 RC11 the WoG dialogue support of OpenGL gets worse, as a result, the WoG Option dialogue disappear immediately (Details). Switching to non-OpenGL mode could resolve the issue, but it's not ideal - I simply can't play H3 without the great performance in OpenGL.


RE: Плагины. Обсуждение - Berserker - 17.03.2021 15:27

1. Seems like it's HD mod feature. Tried without it?
2. Disappearing only occurs with zvslib.dll dialogs from WoG 3.58. Not wog native dialogs bug, but HD mod implementation changing.
Am I wrong?


RE: Плагины. Обсуждение - Archer30 - 17.03.2021 16:07

Berserker, sorry for failing to explain. Right, the second one is not a WND issue. But it can only be fixed by re-writing the zvslib dialogue with WND, so I put my hope in igrik Sorry

The first one is not an HD feature. Tried without HD, the issue persisted.


RE: Плагины. Обсуждение - Berserker - 17.03.2021 16:44

But igrik has rewritten WoG Options dialog. With WND no disappearing should occur. We need igrik's reply.


RE: Плагины. Обсуждение - Archer30 - 17.03.2021 16:56

Yes. igrik rewrite pretty much all of the dialogue of zvslib except for

1. IF:D E F dialog with gif added
2. WoG Options dialogue for saving/loading options (this is what I mentioned above)


RE: Плагины. Обсуждение - Berserker - 17.03.2021 17:37

Ah, it's Select File/Open File dialog, I see.


RE: Плагины. Обсуждение - V_Maiko - 17.03.2021 19:34

(17.03.2021 17:37)Berserker Wrote:  Ah, it's Select File/Open File dialog, I see.

Will it be possible to fix that annoying problem? It is being a nightmare for those who persevere to use OpenGL despite all these graphical problems. Also, if we add this problem with WoG campaigns that have to be rewritten for ERA III, it will be completely unplayable in OpenGL.


RE: Плагины. Обсуждение - Berserker - 17.03.2021 19:57

Will probably cooperate with Igrik. Currently new radio/checkbox dialog is not finished yet.


RE: Плагины. Обсуждение - Raistlin - 21.03.2021 19:40

Прошу прощения, что вовремя не ответил - времени на форум совсем не было... igrik, большое спасибо за информацию и примеры, теперь буду знать. Всем, кто мне помогал, тоже еще раз спасибо!

(16.03.2021 07:50)daemon_n Wrote:  Raistlin, а я вот не понял, зачем этот плагин, когда есть скрипт отображения экрана героя без схлопывания в эра спкриптс, написанный через un:c. Позволяет и командира проверить, и статус оруженосца, и артефакты в рюкзаке - вообще любую информацию.
Да, действительно - это самый очевидный вариант. Вот только не получится ли, что у игрока будет возможность поувольнять армию, а заодно и командира у ненанятого героя?

Quote:Raistlin, а можешь сделать именно фиксы отдельно? Сделай, пожалуйста. Не хочется возиться с добавлением новых объектов, а вот фиксы полезные.

Как именно он работают они, кстати?
Погоди-ка, а что ты имеешь ввиду под этим словом? Ab


RE: Плагины. Обсуждение - daemon_n - 21.03.2021 23:42

(21.03.2021 19:40)Raistlin Wrote:  Да, действительно - это самый очевидный вариант. Вот только не получится ли, что у игрока будет возможность поувольнять армию, а заодно и командира у ненанятого героя?

Нет, не получится - стоит блок на нажатиеAb К слову, он там был не сразу, но позднее добалвен.


RE: Плагины. Обсуждение - Raistlin - 21.03.2021 23:46

Хм, ладно Ab


RE: Плагины. Обсуждение - V_Maiko - 23.03.2021 21:13

Raistlin, is there a way to make Arena subtype 1 generate on random map without replacing anything?


RE: Плагины. Обсуждение - Raistlin - 24.03.2021 00:25

V_Maiko, I have tried something like this:
Code:
_int_ __stdcall GenerateObjectOnRandomMap(LoHook* h, HookContext* c)
{
    *(_ptr_*)(c->eax + 8) = Randint(0, 1);
    return EXEC_DEFAULT;
}
...
Magic->WriteLoHook(0x539075, (void*)GenerateObjectOnRandomMap);
but it does not work... At the moment I can not fix it...


RE: Плагины. Обсуждение - igrik - 24.03.2021 00:46

Raistlin, тут выставляй подтип 0x4C0A7A


RE: Плагины. Обсуждение - Raistlin - 24.03.2021 03:00

igrik, большое спасибо, все получилось:
Code:
_int_ __stdcall GenerateObjectOnRandomMap(LoHook* h, HookContext* c)
{
    *(_ptr_*)(c->esi + 34) = Randint(0, 1);
    return EXEC_DEFAULT;
}

Единственное, я пока так и не смог разобраться с тем, как менять внешний вид объекта. Вы случайно не знаете в какой структуре следует искать указатель на def?


RE: Плагины. Обсуждение - V_Maiko - 24.03.2021 03:12

Raistlin, I did it all via text objects, the appearance of the colisseum of the magi was added to Arena type 4, subtype 1 Ab

Image: unknown.png
Image: unknown-1.png


RE: Плагины. Обсуждение - Raistlin - 24.03.2021 03:56

V_Maiko, and the object can now be generated on random maps??


RE: Плагины. Обсуждение - V_Maiko - 24.03.2021 04:09

Raistlin, subtype 1 is not generated in the map, that is the reason why I am asking all this topic Rolleyes


RE: Плагины. Обсуждение - XEPOMAHT - 24.03.2021 11:18

(24.03.2021 03:00)Raistlin Wrote:  Единственное, я пока так и не смог разобраться с тем, как менять внешний вид объекта. Вы случайно не знаете в какой структуре следует искать указатель на def?

Конкретно для карты - структура _Object_, но там не указатель, а шаблон объекта. Деф меняется уже в структуре шаблона. Если у тебя создан шаблон объекта "тип 4 подтип 1", то для замены объекта на карте вызывается соответствующая содовская функция (можно подсмотреть в функции, например, генерирующей монстров, артефактов, городов из случайных).


RE: Плагины. Обсуждение - Raistlin - 24.03.2021 21:27

(24.03.2021 04:09)V_Maiko Wrote:  Raistlin, subtype 1 is not generated in the map, that is the reason why I am asking all this topic Rolleyes
Ok, I have understood. That is already fixed, I just thought you have found a solution yourself.

XEPOMAHT, я понял, большое спасибо! Я видел эти функции в базе для IDA, попробую сделать по аналогии.


RE: Плагины. Обсуждение - V_Maiko - 24.03.2021 22:15

Raistlin, give me your last version please


RE: Плагины. Обсуждение - Raistlin - 24.03.2021 22:32

I will publish it soon, there is a small issue Ab


RE: Плагины. Обсуждение - daemon_n - 26.04.2021 01:50

Если в бою на ПКМ на ход баллисты выбрать тип "рукопашная атака", то
курсор выстрела не пропадёт,
будет возможность "кликнуть" на врага,
ход передастся без выстрела,
боезапас упадёт до 0,
баллиста более не походит.

У катапульты почти те же результаты, но та стреляет 1 раунд, сколько позволяет навык, и выстрелы уходят в минус. 105

Ещё один баг, оставленный в теме Вог-багов: (Click to View)



RE: Плагины. Обсуждение - ilya - 07.05.2021 17:57

Панель заклинаний в бою
Способ использования (если никто не знает):
- привязать заклинание к горячей клавише: ЛКМ на кнопке
- посмотреть информацию по заклинанию: ПКМ на кнопке
- использовать заклинание: нажатие клавиш 1-0 в бою

А можно сделать, возможно отдельным плагином, чтобы ЛКМ по уже привязанному вызывала заклинание, а ЛКМ по пустому или СКМ устанавливала заклинания?
А может скролом при наведении тоже привязывать/иззменять/отвязывать будет, конечно если это возможно?


RE: Плагины - Valery - 12.05.2021 22:12

Hi guys

I downloaded the battlereplay.era and placed it in Era plugins, but now game crashes on start, I run 2.46F.

Is anything wrong or I must download additional files?.


RE: Плагины - Berserker - 12.05.2021 22:27

Valery, as far as I see, it's compiled with modern era.h, thus depends on Era 2.9x versions. It can be recompiled with changed era.h and old-style ERM triggers (like !?FU870530), but you have to contact igrik.


RE: Плагины. Обсуждение - igrik - 13.05.2021 00:03

Продублирую...

Мои плагины на 2.8.3.
Download




RE: Плагины. Обсуждение - Valery - 13.05.2021 01:37

dll files in main folder?

Also in the rar there is no battlereload.era


RE: Плагины. Обсуждение - Berserker - 13.05.2021 02:20

Valery, they could work. Try placing battlereplay.dll into Mods\YourMod\EraPlugins


RE: Плагины. Обсуждение - Valery - 13.05.2021 04:02

I did, there is no battle save created as I saw in Glenn streaming...

I also placed it in Era 2.9.14 (Wog mod plugins) I have and nothing changed144


RE: Плагины. Обсуждение - Berserker - 13.05.2021 04:28

You want battlesave.dll or battlereplay.dll?


RE: Плагины. Обсуждение - Valery - 13.05.2021 08:51

I got it, I thought it was battlereplay. Thanks 118


RE: Плагины. Обсуждение - Berserker - 13.05.2021 15:35

Welcome Ab


RE: Плагины. Обсуждение - Valery - 13.05.2021 18:40

Just a question : what the battlereplay plugin does? The game already allows you to replay the battle


RE: Плагины. Обсуждение - Berserker - 13.05.2021 19:22

Valery, the game never allowed to replay the battle. Only the battle replay plugin allow to press Cancel button in battle results screen and start the same battle again. Anyway, the plugin cannot restore everything, the scripts could change (specially, global variables). Thus it generates two ERM events, allowing to reset data manually. In other words, plugin should not be used with complex scripts without scripts adaptation and testing. Battle Save plugin is better for this task, though it allows to pick guarded resources and artifacts.


RE: Плагины. Обсуждение - SergOz - 13.05.2021 20:13

(13.05.2021 19:22)Berserker Wrote:  Battle Save plugin is better for this task, though it allows to pick guarded resources and artifacts.
И, самое ужасное, - он позволяет проходить сквозь охраняемые гарнизоны без боя.


RE: Плагины. Обсуждение - Valery - 13.05.2021 22:14

Bers, I see.

I never have battle results before battle, this is HD feature and only available to SoD/Hota, right?

When you do auto-combat, at the end you have an option to replay the battle (two icons, No/Yes), this is the replay I was talking about.


RE: Плагины. Обсуждение - Berserker - 14.05.2021 00:51

Valery, yep, Baratorch implemented battle reply for SoD/Hota. No scripts there, so he only needed to restore heroes/armies/artifacts.


RE: Плагины. Обсуждение - V_Maiko - 19.05.2021 20:47

XEPOMAHT, Thank you very much for the plugin! 96-copy I hope Panda can add it to your assembly Ab


RE: Плагины. Обсуждение - PerryR - 19.05.2021 22:41

Nice plugin and update to MoP XEPOMAHT
132


RE: Плагины. Обсуждение - SergOz - 20.05.2021 01:10

Получил я секретную инфу 144, что был исправлен плагин расширенного экрана лога битвы.
Подскажите, пожалуйста, где можно такой обновлённый плагин скачать.

147 Сори, в ERA 3.7 оказывается всё уже в норме.
Нужно было сначала проверить, потом писать.


RE: Плагины. Обсуждение - igrik - 20.05.2021 12:22

(20.05.2021 01:10)SergOz Wrote:  Получил я секретную инфу 144, что был исправлен плагин расширенного экрана лога битвы.
Подскажите, пожалуйста, где можно такой обновлённый плагин скачать.

147 Сори, в ERA 3.7 оказывается всё уже в норме.
Нужно было сначала проверить, потом писать.
Первое - это не отдельный плагин - это часть WND.
Второе - да, исправление есть. Но оно касается части алгоритма: ранее при затяжных боях (более 100 раундов) расширенный лог битвы открывался очень долго (игра якобы повисала). Сейчас это происходит мгновенно. Так как исправление не критическое, то обновление будет несколько позже.


RE: Плагины. Обсуждение - SergOz - 20.05.2021 14:05

(20.05.2021 12:22)igrik Wrote:  обновление будет несколько позже.
Ждём с нетерпением 121


RE: Плагины. Обсуждение - Raistlin - 20.05.2021 23:40

Я сегодня новый плагин выложил, правда, без исходника. Сейчас подумал и решил, что код тоже можно показать - вдруг пригодится кому Ab
http://wforum.heroes35.net/showthread.php?tid=5192&pid=124780#pid124780

Кстати, в первой версии было 3 хука, сейчас я еще разок внимательно посмотрел на код и понял, что можно обойтись одним. Мне самому очень понравилось решение, наверное, как раз поэтому я его и выкладываю 96-copy


RE: Плагины. Обсуждение - V_Maiko - 21.05.2021 00:21

Raistlin, I don't understand what the plugin is about, the translator doesn't tell me anything logical in the title, what is it about water and dimension door?


RE: Плагины. Обсуждение - Raistlin - 21.05.2021 00:27

V_Maiko, I have fixed a SoD bug. When you cast Dimension Door, but it does not work (for example when you try to place your hero on water), you will still lose mana points. Earlier this problem was solved in HotA, now there is a solution for Era.


RE: Плагины. Обсуждение - V_Maiko - 21.05.2021 00:33

Raistlin, perfect bug fix! 20 one more addition than panda should include in his assembly for players to take advantage of it.


RE: Плагины. Обсуждение - XEPOMAHT - 21.05.2021 00:34

(20.05.2021 23:40)Raistlin Wrote:  сейчас я еще разок внимательно посмотрел на код и понял, что можно обойтись одним.

Твой хук портит edi и немного стек после выхода из функции. Намного надежнее сделать бинарный патч, без хуков. 108


RE: Плагины. Обсуждение - Raistlin - 21.05.2021 00:44

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

V_Maiko, thanks!


RE: Плагины. Обсуждение - igrik - 21.05.2021 01:02

Обновлен плагин wog native dialogs:
Code:
[+] лог битвы теперь не зависает при открытии в затяжных битвах
[+] изменена цветовая гамма диалога IF:G (с подачи Berserker'a)

Обновлен плагин BattleSave:
Code:
[+] решена проблема с потерей мувпоинтов героя
[+] решена проблема прохода объектов (например гарнизоны)



RE: Плагины. Обсуждение - V_Maiko - 21.05.2021 01:26

igrik, Consider implementing an fix or update to IF:D, IF:E and IF:F receivers in order to end the torment of using OpenGL, or consider merging all dialog receivers into one in IF:G, this is a serious problem and you're not looking at it thoroughly.


RE: Плагины. Обсуждение - igrik - 21.05.2021 01:36

V_Maiko, this question should be asked to Berserker

Berserker, это вопрос по поводу загрузки avi и gif файлов с помощью функции LoadImageAsPcx16.


RE: Плагины. Обсуждение - Berserker - 21.05.2021 01:50

igrik, спасибо за обновление! В IF:G диалогах пункты не выделяются при щелчках по верхней области прямоугольных рамок.
Image: image.png

V_Maiko, gif/avi issue cannot be solved easily by igrik or me. Both formats are animation files and cannot be decoded to native dialog element. Try to contact Verok, the author of OpenGL filter. Maybe it's unsolvable at all.


RE: Плагины. Обсуждение - V_Maiko - 21.05.2021 03:05

Berserker, I'll try my best to be in contact with Verok, if it doesn't offer a solution perhaps it's because OpenGL has stopped supporting those receivers because are obsolete, and the only solution would be to rewrite the code or replace it with a similar one, but as you said it's not easy, I understand, although I will be very offended by the lack of try if WoG Team provided the corresponding source code. Kap


RE: Плагины. Обсуждение - SergOz - 21.05.2021 03:17

(21.05.2021 01:02)igrik Wrote:  Обновлен плагин BattleSave
[+] решена проблема с потерей мувпоинтов героя
[+] решена проблема прохода объектов (например гарнизоны)
Ура! 16
Вчера, переходя на ERA3.7 решил (по совету друзей) всё же использовать сохранение игры перед боем. Но, вставил в скрипт строчку исключающую таковое сохранение при нападении на гарнизоны. Плагин BattleSave был безжалостно удалён уже давно. А сегодня такая приятная новость... Спасибо!


RE: Плагины. Обсуждение - Berserker - 21.05.2021 04:51

V_Maiko, we cannot do it, with or without the source code. avi/gif are rendered as child window by C++ Builder application zvslib.dll. I don't know how OpenGL wrapper is implemented and what exactly is the issue.


RE: Плагины. Обсуждение - V_Maiko - 21.05.2021 05:08

Berserker, ok I'll stop discuss about this here, by the way, the most satisfactory feature of using OpenGL, in addition to the very good screen quality in the game, is also the fluidity of the hero's movement on the map and the creatures in combat, is there a plugin to replace that good feature? (Referring to the latest)


RE: Плагины. Обсуждение - Berserker - 21.05.2021 06:16

V_Maiko, seems like there is not plugin for that. And btw, avi/gifs are used in a limited set of maps, right?


RE: Плагины. Обсуждение - igrik - 21.05.2021 09:13

(21.05.2021 01:50)Berserker Wrote:  igrik, спасибо за обновление! В IF:G диалогах пункты не выделяются при щелчках по верхней области прямоугольных рамок.
Image: image.png
Да, Berserker, я знаю о ней.
Когда я решу эту проблему, то будет закончен и этот диалог 144
Image: image.png




RE: Плагины. Обсуждение - Raistlin - 21.05.2021 12:38

igrik, а если это сделать на уровне графики?


RE: Плагины. Обсуждение - igrik - 21.05.2021 13:19

Нет. Необходимо универсальное решение на уровне кода.
Да и плюс ко всему - на уровне графики - даже просто не интересно.


RE: Плагины. Обсуждение - Berserker - 21.05.2021 16:16

igrik, я бы реализовал просто. Прозрачный деф, которому даёшь нужное расположение и в разы больше картинки нужный тебе прямоугольник реакции нажатия на кнопку. Этот деф размещается после основных элементов строки, то есть имеет z-order выше, перекрывает их. Он универсально обрабатывает щелчок с отпусканием по области, так как является кнопкой. Даже звук кнопки стандартный.


RE: Плагины. Обсуждение - igrik - 21.05.2021 17:32

Да, я думал уже об этом. Но откинул идею, потому что не будет визуального эффекта нажатия кнопки. Это легко увидеть, например зажав не отпуская кнопку ОК в окне героя.


RE: Плагины. Обсуждение - Raistlin - 21.05.2021 18:18

(21.05.2021 13:19)igrik Wrote:  Нет. Необходимо универсальное решение на уровне кода.
Да и плюс ко всему - на уровне графики - даже просто не интересно.
Вообще, да, я согласен. 132

Кстати, я еще немножко посидел над своим вчерашним плагином и обновил его в четвертый раз. Изначальный вариант с тремя хуками все-таки использоваться не будет, я решил просто сдвинуть основной хук и выполнить затертый код самостоятельно.
Исходник (Click to View)



RE: Плагины. Обсуждение - igrik - 21.05.2021 18:47

Raistlin, ну ты чего? Не используй asm вовсе. Это:
Code:
_asm
{
    push    0
    push    0
    push    0
    push    1
    push    1
    mov     ecx, edi
    mov eax, 0x4136F0
    call eax
}

Аналогично этому:
Code:
// void __thiscall AdvMgr_Draw_Minimap_current_coords(_AdvMgr_ *this, char a2, int a3, char a4, char a5, char a6)
CALL_6(void, __thiscall, 0x4136F0, o_AdvMgr, 1, 1, 0, 0, 0 );



RE: Плагины. Обсуждение - Raistlin - 21.05.2021 19:09

Рано или поздно я обязательно всему научусь, большое спасибо! 132


RE: Плагины. Обсуждение - RoseKavalier - 21.05.2021 19:36

@Raistlin
To add to what igrik posted while I was typing this...
Don't use inline ASM to acquire registers unless you declare the function __declspec(naked), you never know how compiler will act exactly.
However if you do declare it __declspec(naked) then you have to handle all of the stack yourself, not the most intuitive when working with LoHook. (So best thing, avoid assembly whenever possible)
The guaranteed safe way to do your way with C++ and the LoHook function would be:
Code:
//THISCALL_6(void, 0x4136F0, c->edi, 1, 1, 0, 0, 0);
CALL_6(void, __thiscall, 0x4136F0, c->edi, 1, 1, 0, 0, 0);
Or use igrik's version 132
Or add it as a member function of AdvMgr and use it directly... AdvMgr->UpdateScreen();

However there is another issue in this code, by jumping to 0x41D474 you are skipping over
Code:
0x41D46B POP EDI
Which means you are not restoring EDI which was pushed on stack at 0x41D232; this is highly likely to cause all sorts of problems including crashes.
Code:
int __stdcall DisableManaUsage(LoHook* hook, HookContext* c)
{
    /* insert update screen code */
    c->edi = c->Pop(); // missing line, pop the top stack value back to edi
    c->return_address = 0x41D474;
    return NO_EXEC_DEFAULT;
}

@igrik
As we previously discussed, you can create your own custom format that inherits from an existing control, and do two modifications:
1- add a DlgItem* field (linkedItem) to link it with the control beneath it
2- modify the virtual table with your own by changing the ProcessMsg(H3Msg& msg) function (+08) with your own.

This can be accomplished either by properly writing virtual function for all controls or using similar style to Wog dialogs / Baratorch dialogs of creating a custom virtual table and inserting it after the control is created (effectively more C-style).

C++style
Code:
struct MyCustomControl : DlgItem
{
    DlgItem* linkedControl;

    virtual int ProcessMsg(H3Msg& msg) override
     {
           if (linkedControl)
                return linkedControl->ProcessMsg(msg);
           return 2; // stop processing the current msg
           return THISCALL_2(int, /*insert_original_address*/, this, &msg); // call original message process
     };
     // add in constructor etc.
};

C-style
Code:
struct MyCustomControl : DlgItem
{
    DlgItem* linkedControl;
     // add in constructor etc.

    static int __fastcall CustomProcessMsg(MyCustomControl* control, int unused, H3Msg& msg)
    {
       if (control->linkedItem) // can add some more checks if needed
           return  control->linkedItem->ProcessMsg(msg);
       return 2; // stop processing the current msg
       return THISCALL_2(int, /*insert_original_address*/, control, &msg); // call original message process
    }

   static int customVT[] = {
      0x123456, // use the actual function addresses
      0x222222,
      (int)MyCustomControl::CustomProcessMsg,
      0xABCDEF,
      ...
   };
}
...and set custom virtual table after creation...
Code:
MyCustomControl* customControl = new MyCustomControl(.......) (in whatever way you pick to create it)
*(int*)(customControl) = (int)MyCustomControl::customVT; // set new virtual table

Whichever way you pick, anytime you perform an action on the overlaying transparent control the message is instead transferred to the linked control.

###

Making properly overloaded controls is, imo, easier, more versatile and does not take a considerable amount of time really since you can simply make a virtual function call the original one. Something I am planning to add in the api when I get time...


RE: Плагины. Обсуждение - Raistlin - 21.05.2021 20:21

RoseKavalier, thank you very much! I did not know how to use __declspec(naked), but now I have understood 132

Plugin got updated (hopefully last time), the code is here:



RE: Плагины. Обсуждение - igrik - 22.05.2021 20:02

(21.05.2021 19:36)RoseKavalier Wrote:  @igrik
As we previously discussed, you can create your own custom format that inherits from an existing control, and do two modifications:
1- add a DlgItem* field (linkedItem) to link it with the control beneath it
2- modify the virtual table with your own by changing the ProcessMsg(H3Msg& msg) function (+08) with your own.

...

Making properly overloaded controls is, imo, easier, more versatile and does not take a considerable amount of time really since you can simply make a virtual function call the original one. Something I am planning to add in the api when I get time...
RoseKavalier, thank you again. I remember that we discussed this point, and I'm even moving in that direction. But the lack of time did not allow me to finish what i am started, and so far there is no result. But it will be mandatory!
Thank you again for your help.


RE: Плагины. Обсуждение - daemon_n - 24.05.2021 08:54

(20.05.2021 22:45)Raistlin Wrote:  «Дверь измерений» игнорирует щелчки по клеткам с водой

Автор: Raistlin
Язык: не имеет значения
Поддерживаемые версии: SoD, ERA
Способ установки: Класть в EraPlugins любого мода

Скачать: https://drive.google.com/file/d/1kWUMTcw7VdfvSMOI7aPg_uFOR88DNw_N/view?usp=sharing

Данный плагин учитывает героя, находящегося в лодке?
Напомню, что "Дверь Измерений" работает, если ты "прыгаешь" с воды на воду.


RE: Плагины. Обсуждение - Archer30 - 24.05.2021 21:22

igrik, I'm looking for help with your plugin WoG Native Dialogue for 283.

Debug + save

exception context.txt
Quote:> Callstack
Wog native dialogs.8472 (?setYellowFrames@@YAXPAV_CustomDlg_@@H@Z + 1474)

With ERA 2.9.14 + WoG Native Dialogue for 283, the game crashes when the hero visits Witch Huts.

Everything's fine with ERA 2.9.14 + WND build-in with ERA release.

Is WND for 283 incompatible with 2914, or is it possible to improve?

Thanks for your help Yes


RE: Плагины. Обсуждение - igrik - 24.05.2021 21:28

(24.05.2021 21:22)Archer30 Wrote:  Is WND for 283 incompatible with 2914, or is it possible to improve?
No, they are not compatible!


RE: Плагины. Обсуждение - Archer30 - 24.05.2021 21:58

Thank you igrik, that's unexpected :O


RE: Плагины. Обсуждение - Raistlin - 27.05.2021 00:38

(24.05.2021 08:54)daemon_n Wrote:  
(20.05.2021 22:45)Raistlin Wrote:  «Дверь измерений» игнорирует щелчки по клеткам с водой

Автор: Raistlin
Язык: не имеет значения
Поддерживаемые версии: SoD, ERA
Способ установки: Класть в EraPlugins любого мода

Скачать: https://drive.google.com/file/d/1kWUMTcw7VdfvSMOI7aPg_uFOR88DNw_N/view?usp=sharing

Данный плагин учитывает героя, находящегося в лодке?
Напомню, что "Дверь Измерений" работает, если ты "прыгаешь" с воды на воду.
Да, должен учитывать.


RE: Плагины. Обсуждение - Archer30 - 28.05.2021 14:31

XEPOMAHT, Увеличение лимита первичных навыков с 99 до 249, what a great plugin you wrote 132

I wonder if this plugin could possibly conflict with some mods/plugins. Got one report from the player saying he's got negative spell damage with Spell Power > 127, but I couldn't get more details from him. I also couldn't reproduce the problem.

If everything's fine, will this plugin be added to the next release of ERA? 102


RE: Плагины. Обсуждение - XEPOMAHT - 28.05.2021 15:52

(28.05.2021 14:31)Archer30 Wrote:  I wonder if this plugin could possibly conflict with some mods/plugins. Got one report from the player saying he's got negative spell damage with Spell Power > 127, but I couldn't get more details from him. I also couldn't reproduce the problem.

Только если установлены плагины, изменяющие урон от заклинаний, то там возможен отрицательный урон от заклинаний - он будет и без prima.dll. ERM такие баги вызывать не должен - в prima.dll воговский код так же пропатчен весь, что в нём нашлось.

(28.05.2021 14:31)Archer30 Wrote:  If everything's fine, will this plugin be added to the next release of ERA? 102

Берсеркер скорее против. Данный плагин и так является частью ERA+, более экстремального набора плагинов, чем базовая ERA.


RE: Плагины. Обсуждение - Archer30 - 28.05.2021 16:15

XEPOMAHT, thanks for clarifying!

I would really like this plugin to be embedded in ERA, at least the part preventing overflow of stats > 127 is very necessary.

ERA has got an optional bin patch for stats max at 127 (which is worse than this one) anyway.


RE: Плагины. Обсуждение - XEPOMAHT - 28.05.2021 16:42

(28.05.2021 16:15)Archer30 Wrote:  I would really like this plugin to be embedded in ERA, at least the part preventing overflow of stats > 127 is very necessary.

Авторам сборок не запрещено добавлять prima.dll. Например, в сборку Панды он добавлен, но только выключен. Лично я глубоко не тестировал prima.dll - у меня нет на это времени. Мне пока никаких баг-репоров, связанных с prima.dll, не приходило ни одного. Поэтому - пока только на свой страх и риск, теоретически, в нём всё должно работать, но что и как на практике - время покажет: плагин новый, написан был за 3 дня. Через год наверное узнаем что-да как в нём... 148

(28.05.2021 16:15)Archer30 Wrote:  ERA has got an optional bin patch for stats max at 127 (which is worse than this one) anyway.

Это устаревший патч, возможно когда-нибудь Берсеркер осмелится заменить его на prima.dll, но друг другу они не мешают, т.к. prima.dll перетирает этот патч целиком в памяти игры - по крайней мере если prima.dll грузится позже.


RE: Плагины. Обсуждение - Berserker - 28.05.2021 16:42

Archer30, for now I think base implementation with unsigned byte a much safier variant for core package. But everyone can use new plugins in assemblies, being ready for testing and bug reports, of course )


RE: Плагины. Обсуждение - Panda - 28.05.2021 18:51

Archer30, скажу честно, я сам не тестировал этот плагин (по крайней мере на корректность его работы и длительную игру на стабильность), я просто включил плагин, несколько раз запускал игру, потом минут 30 поиграл, убедившись что игра не крашит и не сыпит ошибками каждые 5 минут, и на этом всё. Поэтому плагин добавил в сборку, но он по умолчанию выключен. Времени у меня больше нет. Как говорил Берс, оставлю это дело на откуп энтузиастам 148


RE: Плагины. Обсуждение - Raistlin - 29.05.2021 00:20

Panda, а мой последний плагин ты добавил или не стал? Ab


RE: Плагины. Обсуждение - igrik - 29.05.2021 00:28

(21.05.2021 19:36)RoseKavalier Wrote:  @igrik
As we previously discussed, you can create your own custom format that inherits from an existing control, and do two modifications:
1- add a DlgItem* field (linkedItem) to link it with the control beneath it
2- modify the virtual table with your own by changing the ProcessMsg(H3Msg& msg) function (+08) with your own.
RoseKavalier, I struggled with this implementation. I didn't win. Still need help.
By the way I use in this plugin _H3API_

PHP Code:
// element that performs the action of another element (linkedItem)
    
struct H3DlgCustomControlItem : public H3DlgItem
    
{
    public:
        
H3DlgItemlinkedItem;

        
//INT32 ProcessMsg(H3Msg* msg) override // this doesn't work either: in "struct H3DlgItem { ... virtual INT32 ProcessMsg(H3Msg* msg); } "
        //{
        //    if (linkedItem)
        //        return  linkedItem->ProcessMsg(msg);
        //        // return THISCALL_2(int, (UINT)&this->linkedItem->vTable[2], this, &msg);
        //    return 2; // stop processing the current msg
        //    // return THISCALL_2(int, (UINT)&this->vTable[2], this, &msg); // call original message process
        //};

        
static int __fastcall CustomProcessMsg(H3DlgCustomControlItemcontrolint unusedH3Msgmsg)
        {
           if (
control->linkedItem// can add some more checks if needed
               
return THISCALL_2(int, (UINT)&control->linkedItem->vTable[2], control->linkedItemmsg);
           return 
2// stop processing the current msg
           // return THISCALL_2(int, /*insert_original_address*/, control, &msg); // call original message process
        
}

        
// constructor 
        
H3DlgCustomControlItem()
        {
            
DwordAt(&this->vTable[0] +0x8) = (int)H3DlgCustomControlItem::CustomProcessMsg;

        }

        static 
H3DlgCustomControlItemCreate(INT32 xINT32 yINT32 widthINT32 heightINT32 idH3DlgItemlinkedControl);
    }; 



RE: Плагины. Обсуждение - Panda - 29.05.2021 00:32

Raistlin, нет, не добавлял, тк на то время:
1. Не было стабильного кода плагина.
2. Димон задал правильный вопрос, и ответа на него на то время не было.
3. Не было времени для тестирования плагина, как функционала и корректности его работы, так и его стабильности.
Unsure


RE: Плагины. Обсуждение - Raistlin - 29.05.2021 00:42

Ясно. На данный момент:
1. Все стабильно.
2. Я проверил, проблемы нет, и ответ на вопрос уже дан.
3. Протестировал всеми способами, плагин работает.


RE: Плагины. Обсуждение - Panda - 29.05.2021 07:38

Raistlin, ок, спасибо, но тк в моем моде есть скрипт, который меняет поведение двери измерений для ИИ, это всё надо тестировать, времени у меня сейчас на это нет, как и на сборки. Unsure


RE: Плагины. Обсуждение - Raistlin - 29.05.2021 17:05

Когда будет, тогда будет - главное, что ты знаешь. Ab Спасибо! 132


RE: Плагины. Обсуждение - Archer30 - 13.06.2021 12:02

Hi igrik! A request from a mod maker for WoG Native Dialogs.

Is it possible to improve the behaviour of experience ability dialogue?

When try to disable the 6th ability of Archer

Without WND:
Image: sqwI46C.png

With WND:
Image: e8QmTOQ.png

Code:
ZVSE2
!#EA(MON_ARCHER):B6/0//////////////;

Difference:
1. When there is a vacancy in the experience ability list, the game without WND will display the rest of the abilities. However, with WND, the rest of the abilities would be hidden. Reduce Def. is hidden in this case.
2. Moving the cursor in the vacancy (red square) result in a crash with WND, while there is no crash without WND.

Currently, it is required to rearrange all the slots when disabling abilities, which requires much more script. Rolleyes

Could you help with this?


RE: Плагины. Обсуждение - igrik - 13.06.2021 13:19

Thanks. It will be fixed soon.


RE: Плагины. Обсуждение - daemon_n - 14.06.2021 23:26

Не нашёл нужной темы.

igrik, предлагаю в багофиксы добавить отображение факта колдовства заклинаний "Берсерк", "Устранение преград", "Телепорт" и "Клон" в лог боя. Оказывается, это не попадает туда148

То же касается площадных заклинаний урона, если они не нанесли урон.

P.S: сообщение может быть дополнено, так как проверяю все заклинания всё проверил

Ну и совсем "крутой чит" получился бы, если было написано, какому именно целевому заклинанию сопротивлялся тот или иной юнит, хотя это уже на личное усмотрениеYes


RE: Плагины. Обсуждение - Archer30 - 16.06.2021 04:39

Thanks igrik Yes

I'd like to propose an idea of fixing the invi WoG Option save/load dialogue (with OpenGL enabled)

As I understand, it takes a lot of time to rewrite the explorer-like dialogue. How about using IF:D E style dialogue instead?

Image: HN4eU0s.png

The directory would be set to the root folder of ERA. A player can enter a name here, then name.dat from root would be saved/loaded. If nothing's entered, then the file name from wog.ini would be used.

Check the text "<Graphics.Mode> = 7" or "<Graphics.Mode> = 6" from ...\_HD3_Data\Settings\era.ini to get whether HD runs in OpenGL mode


RE: Плагины. Обсуждение - Archer30 - 15.07.2021 13:58

Raistlin, hi!

Can I suggest for your plugin ArenaFix please?
It works great. But the part it restrains primary skills doesn't seem to be necessary when Prima is loaded.
A typical scenario is that after visitng any arena, the improved primary skill with 99+ would be reset to 99.

Could you make a compatible version with Prima please? Thank you 4


RE: Плагины. Обсуждение - Archer30 - 04.08.2021 13:03

XEPOMAHT, I'm looking for help with two reports about the plugin Prima

1. Blue heroes with high primary skills froze on turn end
Astral and Solmyr. These two heroes are with 130+ primary skills, and for that reason, the game froze on blue's turn. The issue can be temporary resolved by reduing the primary skills of these two heroes.

2. Ciele reached 240+ primary skills in a sudden
Unfortunely, I can't find a particular event triggering this problem. The save game were retrieved from the player before and after the issue happend.
it's not the first time I hear about a hero suddenly gains massive primarmy skills in a sudden. Perhaps somethings happening with the code?4

Download save games + debug folders

Note: The savegame of the 2nd report requires TUM to load


RE: Плагины. Обсуждение - XEPOMAHT - 04.08.2021 14:08

(04.08.2021 13:03)Archer30 Wrote:  1. Blue heroes with high primary skills froze on turn end
Astral and Solmyr. These two heroes are with 130+ primary skills, and for that reason, the game froze on blue's turn. The issue can be temporary resolved by reduing the primary skills of these two heroes.

У меня сохранения от этой игры не загружаются, т.к. в ERA+ изменённый формат сохранений. Наберите чит гоусоло и проследите конкретное место в игре, на котором зависает игра.

(04.08.2021 13:03)Archer30 Wrote:  2. Ciele reached 240+ primary skills in a sudden
Unfortunely, I can't find a particular event triggering this problem. The save game were retrieved from the player before and after the issue happend.
it's not the first time I hear about a hero suddenly gains massive primarmy skills in a sudden. Perhaps somethings happening with the code?4

Код игры Прима не изменяет - фактически это бинарный патч. Меняются только сами ограничители первичных навыков и тип чтения со знакового на беззнаковое. У Вас используются неизвестные мне плагины, которые могут менять значения первичных навыков (например, Маячок в своей реализации комбо-артефактов меняет их как ему заблагорассудится, что может вызывать плохую совместимость с Примой).

Допустимый диапазон первичных навыков с плагином Прима = -16..+239. Если какой-нибудь скрипт или пользовательский артефакт из TUM опустит значение ниже минус 16, то оно автоматически уйдёт в плюс. Прима поддерживает только стандартные артефакты от SoD/ERA+, которыми нельзя опустить первичные навыки ниже минус 16.


RE: Плагины. Обсуждение - Archer30 - 06.08.2021 14:20

Quote:У меня сохранения от этой игры не загружаются, т.к. в ERA+ изменённый формат сохранений. Наберите чит гоусоло и проследите конкретное место в игре, на котором зависает игра.
That surprises me. The savegame works for clean ERA Rolleyes Does ERA+ and ERA now have different formats of save?
It's quite obvious. The save froze on blue. And after reducing prima skills of two heroes, issue resovled.

Quote:Допустимый диапазон первичных навыков с плагином Прима = -16..+239.
I completely get your idea of the supporting range of Prima. From the save game I have, I don't see any event results in -16 primary skills for a hero. I will try to collect more info on this Yes


RE: Плагины. Обсуждение - XEPOMAHT - 06.08.2021 15:01

(06.08.2021 14:20)Archer30 Wrote:  Does ERA+ and ERA now have different formats of save?

Не должно работать. Сохранения, сделанные в чистой ERA, не грузятся в ERA+, и наоборот. Даже между ERA+ версий 3.4.3 и 3.4.4 сохранения полностью несовместимы (т.к. добавлена поддержка новых заклинаний и вторичных навыков, соответственно, порядок данных в сохранениях уже немного другой, возможно, что мне придётся добавить небольшой патч, чтобы пользователи не могли загружать сохранения старых версий).

(06.08.2021 14:20)Archer30 Wrote:  I completely get your idea of the supporting range of Prima. From the save game I have, I don't see any event results in -16 primary skills for a hero. I will try to collect more info on this Yes

Хорошо, буду ждать результата расследования, и если вина Примы подтвердится, я буду пытаться найти и исправить ошибку.


RE: Плагины. Обсуждение - Archer30 - 11.08.2021 18:43

XEPOMAHT,

the issues I reported about having 250+ primary skills in the early stage of the game has been sorted out. The source is from "some other plugin". So far there is no confirmed report with Prima 132


RE: Плагины. Обсуждение - Bes - 09.10.2021 06:35

странное отображение в окне расширенных способностей монстра
смотрю в окне героя статистику отряда - появляется скобка в поле "смертельный удар"
Image: db1c08e6a072.png

открываю этот же отряд, но уже в бою - скобки никакой нет
Image: 580a40aac972.png

Code:
ERA3.8
wog native dialogs.cpp    130 893    18.06.2020 02:15    -a--
wog native dialogs.map    82 090    18.06.2020 02:15    -a--



RE: Плагины. Обсуждение - igrik - 14.10.2021 13:39

Bes, а как выглядит данное окно без WND?


RE: Плагины. Обсуждение - Bes - 14.10.2021 14:15

прости, не догадался отключить для теста... попробую найти сэйв или смоделирую схожее положение, тогда и отпишусь Sorry


RE: Плагины. Обсуждение - Bes - 14.10.2021 17:55

хм, нашёл сэйв...
короче, странное творится.
зашёл в игру, смотрю статистику - пусто
вышел, зашёл - там теперь символ ǂ
вышел,зашёл - пусто
вышел, зашёл - там , (запятая)
вышел,зашёл - пусто
вышел, зашёл - там - (дефис)
вышел, зашёл - там ; (точка с запятой)
короче, понятно, что плавающмй символ подставляется периодически.
ЗЫ всё, относительно описанного ранее пункта "Смерт.Удар (Click to View)

Отключил WND, ничего в этом поле нет, перегружал игру несколько раз
Image: ef2150c4cf7e.png

как-то так Bad

Upd. ради любопытства продолжил рестарты игры... 5 раз в поле было пусто, потом вылезла буква i
сразу запустил бой - в поле уже пусто. Кодом побеждаю бой, смотрю статистику отряда - всё та же i
Вновь напал (осада) - смотрю статистику отряда - там теперь символ [ (Click to View)



RE: Плагины. Обсуждение - igrik - 15.10.2021 07:06

Bes, похоже на то, что это баг оригинального движка WOG при сборе данной строки. Причем он проявляется, видимо, при определённых обстоятельствах.
Можно мне как-то увидеть линию настройки опыта данного существа (именно данной строки на ERM или в TXT)? Если у тебя есть возможность - скинь её сюда.


RE: Плагины. Обсуждение - Bes - 15.10.2021 16:00

а в каком тхт-файле это будет? или смотреть в скриптах?


RE: Плагины. Обсуждение - igrik - 15.10.2021 17:20

Точно не скажу где именно лежит эта способность. Нужно уточнять у Raistlin по всей видимости.


RE: Плагины. Обсуждение - Raistlin - 21.10.2021 18:33

Кто поставил хук в 46A17D???


RE: Плагины. Обсуждение - Bes - 21.10.2021 19:10

Raistlin, слишком размыто описал претензию...
напиши чутка детальнее - версия игры, какие настройки модов, какая проблема у тебя, что указала на такое заключение?


RE: Плагины. Обсуждение - igrik - 21.10.2021 20:13

Raistlin, в моей версии игры этого хука нет, а значит HD, ERA и все мои плагины хук по этому адресу не ставят.


RE: Плагины. Обсуждение - Raistlin - 21.10.2021 21:13

Хук был у меня в WoG Ultra Edition. Прошу прощения, что написал тут - это все было от полной безысходности. Сейчас я поотключал целую кучу всего, и хука больше нет, однако на такое заключение указывал мой отладчик, показывавший, что по этому адресу прописан jump куда-то в неизвестную точку... Странная ситуация, стоила мне кучи нервов... Пробую повторить и разобраться, в чем там дело. Спасибо за внимание и участие Sorry


RE: Плагины. Обсуждение - SergOz - 01.11.2021 16:30

(01.11.2021 11:45)daemon_n Wrote:  Обновление ERA 3 Лаунчер-издания:
[+] Обновлён плагин "BattleSave.dll" - спасибо igrik;
Подскажите, пожалуйста, где отдельно можно скачать обновлённый плагин?


RE: Плагины. Обсуждение - daemon_n - 01.11.2021 21:02

SergOz, я думаю, я ошибся, и плагин тот же, но в Дискорде скинул


RE: Плагины. Обсуждение - igrik - 03.11.2021 16:02

(13.06.2021 12:02)Archer30 Wrote:  Hi igrik! A request from a mod maker for WoG Native Dialogs.

Is it possible to improve the behaviour of experience ability dialogue?

When try to disable the 6th ability of Archer

Without WND:
Image: sqwI46C.png

With WND:
Image: e8QmTOQ.png

Code:
ZVSE2
!#EA(MON_ARCHER):B6/0//////////////;

Difference:
1. When there is a vacancy in the experience ability list, the game without WND will display the rest of the abilities. However, with WND, the rest of the abilities would be hidden. Reduce Def. is hidden in this case.
2. Moving the cursor in the vacancy (red square) result in a crash with WND, while there is no crash without WND.

Currently, it is required to rearrange all the slots when disabling abilities, which requires much more script. Rolleyes

Could you help with this?

Fixed! 115

Image: Screenshot-1.png


RE: Плагины. Обсуждение - Bes - 03.11.2021 16:53

igrik, 177 спасибо


RE: Плагины. Обсуждение - Archer30 - 03.11.2021 23:38

igrik, can't thank you enough for this 71


RE: Плагины. Обсуждение - Bes - 04.11.2021 02:50

Вот, для сравнения, с учётом последних обновлений плагина WND
картинка из WoG/TE (Click to View)
та же, но из ERA3 (Click to View)



RE: Плагины - komrad.kazackoff - 14.11.2021 10:05

XEPOMAHT Привет подскажи плагин Увеличение лимита первичных навыков с 99 до 249 в SoD, HotA как установить


RE: Плагины - XEPOMAHT - 14.11.2021 13:41

(14.11.2021 10:05)komrad.kazackoff Wrote:  Увеличение лимита первичных навыков с 99 до 249 в SoD, HotA как установить

Просто копируешь в папку с игрой (версия игры должна быть обязательно 3.2, если поставишь на какой-нибудь Комплит, работать не будет): https://vk.com/doc-118013293_620137228


RE: Плагины. Обсуждение - komrad.kazackoff - 14.11.2021 15:02

XEPOMAHT Спасибо, но у меня к сожелению Комплит.