Current time: 23.04.2025, 20:14 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
[ERA 3] HoMM3 ERA HD Rus/Eng Clear
» HoMM3 ERA 3.9.26 + HD-мод 5.5 R53 (20 апреля 2025)
Author Message
XEPOMAHT Offline
Moderators

Posts: 2431
Post: #136

(21.04.2025 08:26)Barin Wrote:  Что же там такое обновляется критическо-важное? Чувствую напарюсь я с адаптацией своего мода.

Да, эти обновления нацелены на мелкие ERM-моды. С глобальными, тем более написанными под ERA 2.46, - сейчас геммор, т.к. и сами ERM-скрипты уже пишут совершенно по-другому, да и в самом языке ERM была исправлена тонна ошибок, что повлекло превращение рабыты небезопасных скриптов в тыкву - синтаксис стал более строгим. Особенно это касается небезопасных команд на UN:C, которые, при неправильном использовании, приводят к утечкам памяти, незаметными на старых версиях, и неожиданно всплывающих на новых. Поэтому лучшее решение - встраивать пользовательский код в саму игру с помощью WERD на эровских событиях.

Например в ERA+ переход со 2-й версии ЭРЫ в третью был крайне болезненным - пришлось полгода адаптировать весь код. Авторы глобальника H3:SW вообще париться не стали и мигрировали на обычный SoD, послав платформу ЭРА куда подальше. А когда-нибудь выйдет уже ЭРА 4.0, для которой, скорее всего, ERA+ уже не будет, т.к., во-первых, в текущей ЭРЕ поддержки Windows 2003 уже считай что нет, во-вторых, с каждым обновлением ломается совместимость с теми или иными плагинами, в-третьих, ничего нового и критического для поддержки глобальников нет (последнее, что было сделано - поддержка PNG), в-четвёртых, Тифон уже так сильно заточен конкретно под ERA 2.9.old, что верятность кофликта кода с ERA 4 довольно велик - там очень многое привязано к адресам эровских хуков и если Берсеркер их сменит - будет катастрофа для ERA+.


(21.04.2025 08:26)Barin Wrote:  В старой Эре 2.46 скрипт работает как положено. Даю команду атаковать нужного героя(т.е вызвать битву) - всё работает. В новых же Эрах: герой куда-то перемещается, дичь полная. Как будто реально команды ERM поменяли. Или битвенные триггеры поменяли.

Старый ERM корректно работал на ERA 2.8.3, но там нет возможностей ERA 3. В более новых старые скрипты исполняются уже не так - по-другому, но многие старые моды под ERA 3 смогли переписать, чтобы они хотя бы не глючили, поэтому рекомендую так же адаптировать все скрипты под ERA 3, чтобы получить доступ к её возможностям.

(21.04.2025 08:26)Barin Wrote:  Там в папке Debug много всяких файлов, какой нужен?

Для отладки главный файл - "exception context.txt", ещё полезен "x86 patches.txt", остальное - непойми что, лично мне ни разу не пригодилось, т.к. Берсеркер никакого хелпа по одладочным файлам не предоставил.
21.04.2025 11:40
Find all posts by this user Quote this message in a reply
Elmore Online

Posts: 649
Post: #137

(21.04.2025 11:40)XEPOMAHT Wrote:  в-третьих, ничего нового и критического для поддержки глобальников нет (последнее, что было сделано - поддержка PNG)

В ERA 4 будет добавлен важный функционал как раз для глобальных модов.


Image: widget.png?style=banner2
21.04.2025 13:46
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16744
Post: #138

Barin, ты, если что, всю папку Debug загружай.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
21.04.2025 16:40
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 827
Post: #139

(21.04.2025 16:40)Berserker Wrote:  Barin, ты, если что, всю папку Debug загружай.

Ок. Скидываю - https://dropmefiles.com/5OehD

Буду пока тестить на Era 2.46f - а если вновь поймаю ошибку диалогов - попробую ERA 2.8.3


Моя страница в ВК
Моя разработка мода
21.04.2025 19:36
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2431
Post: #140

(21.04.2025 19:36)Barin Wrote:  
(21.04.2025 16:40)Berserker Wrote:  Barin, ты, если что, всю папку Debug загружай.

Ок. Скидываю - https://dropmefiles.com/5OehD

Вылет из-за того, что в память не загружен def монстра, без HD-мода можешь узнать имя недостающего def-а, т.к. HD-мод зачем-то убирает сообщения ресурс менеджера.
21.04.2025 19:58
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 827
Post: #141

(21.04.2025 19:58)XEPOMAHT Wrote:  
(21.04.2025 19:36)Barin Wrote:  
(21.04.2025 16:40)Berserker Wrote:  Barin, ты, если что, всю папку Debug загружай.

Ок. Скидываю - https://dropmefiles.com/5OehD

Вылет из-за того, что в память не загружен def монстра, без HD-мода можешь узнать имя недостающего def-а, т.к. HD-мод зачем-то убирает сообщения ресурс менеджера.
Запустил без HD мода - также вылетает. Ни о каком дефе не предупреждает. Я Санту не подменял. Но почему-то он не подгружается.


Моя страница в ВК
Моя разработка мода
(This post was last modified: Yesterday 00:26 by Barin.)
21.04.2025 23:44
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2431
Post: #142

(21.04.2025 23:44)Barin Wrote:  Ни о каком дефе не предупреждает. Я Санту не подменял. Но почему-то он не подгружается.

Странно. Проверьте наличие графики для Санта-Гремлина в архиве из папки mods/wog/data. Имя боевого def-а из редактора монстров (если вы всё же используете редактор монстров, хотя вряд ли) должно совпадает с именем из архива игры. Если нет - переименуйте def, чтобы игра смогла найти его (в ERA+ графон сант лежит в zm173m.def, в обычном вог-е вроде бы так же).
(This post was last modified: Yesterday 11:45 by XEPOMAHT.)
Yesterday 11:42
Find all posts by this user Quote this message in a reply
Barin Offline

Posts: 827
Post: #143

Кажется я понял почему. Изначально Algor помог мне со скриптом, чтобы у Санты убрать гвардию. Тот скрипт на Эре 2.46f работает. Если коротко, то там Санта подгружается так:

!?BR; гвардия убирается только под этим триггером
!!BU:S173/1/113/1/0/1; установить Санту

Сейчас я переместил подгрузку Санты так:
!?BF;
!!BU:S173/1/113/1/0/1; установить Санту

Во всём моде на стороне противника я подгружаю монстов через !?BF - проблем не видел. А через !?BR очевидно, было сделано чтобы гвардия Санты убиралась. Через !?BF гвардия не убирается, ну и ладно.

Так что проблема не в дефе, а в !?BR на новой Эре. В старой то работает.


Моя страница в ВК
Моя разработка мода
(This post was last modified: Yesterday 20:48 by Barin.)
Yesterday 19:26
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2431
Post: #144

(Yesterday 19:26)Barin Wrote:  !?BR; гвардия убирается только под этим триггером
!!BU:S173/1/113/1/0/1; установить Санту

Оно ж срабатывает несколько раз, т.к. Берсеркер добавил допвызовы триггера:

Code:
Erm.v[997] := CombatRound;
  Erm.FireErmEventEx(Erm.TRIGGER_BR, [CombatRound]);

В итоге, твой код пытается ставить санту несколько раз в один и тот же гекс. Если ты ставишь санту, то перед этим проверь хотя бы гекс на препятствие, т.к. содовский код после инициализации нового стека сразу бежит рендерить его графику на поле брани без проверок на успех инициализации. Например Тифон вообще полностью отменяет воговский !?BR в тактической фазе, оставляя один лишь эровский !?BR, чтобы перед тактикой не было лишнего срабатывания триггера (т.к. в WERD этот триггер может использоваться, чтобы он срабатывал именно 1 раз в начале каждого настоящего раунда без тактической расстановки из-за содовского бага нумерации раундов).

Отменять установку гвардии монстров можно с помощью UN:C заменой ID Санты на несуществующий и обратно, но такая штука будет несовместима с Тифоном, т.к. Тифон перехватывает все способности монстров в игре, включая и эту.
Yesterday 21:48
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16744
Post: #145

!?BR ведь и должен работать множество раз в тактической фазе, а дальше по разу за раунд. В оригинальном воге он порой срабатывал дважды за один раунд, в тёмной с светлой фазе, что могло приводить к проблемам. А вот !?BF работает один раз в тёмной фазе.


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
Yesterday 22:39
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2025 MyBB Group