Current time: 10.11.2024, 21:50 Hello There, Guest! (LoginRegister)
Language: english | russian  

Post Reply 
Threaded Mode | Linear Mode
Typhon v. 2.9
» Инструмент мододелов из MoP для ЭРЫ
Author Message
Berserker Offline
Administrators

Posts: 16648
Post: #511

Ethereal, нельзя. Там формат файлов не компонентный. Любой мод включает сразу конфиг всех существ и городов. Потому не совместим ни с чем.


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

Posts: 35
Post: #512

Если изменить доп. прирост существ в тифоне - то ничего не меняется при постройке строений. Проверял на грифонах и постройке Бастиона грифонов (так и осталось +3 грифона).
Кто-нибудь это смог исправить?
20.12.2021 20:45
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2351
Post: #513

(20.12.2021 20:45)AnT Wrote:  Если изменить доп. прирост существ в тифоне - то ничего не меняется при постройке строений. Проверял на грифонах и постройке Бастиона грифонов (так и осталось +3 грифона).
Кто-нибудь это смог исправить?

Доприрост для городов - отдельная таблица. Тифон 2.7 её не изменяет.
20.12.2021 20:58
Find all posts by this user Quote this message in a reply
major Offline

Posts: 146
Post: #514

Появилось несколько отчетов по багам в тифоне. Не знаю, нужны ли и будут исправляться. Проверял на 2.7 и typhonz.
1. Не отображается кол-во доп. ресурсов при найме существ, т.е. кроме золота ничего не показывает, хотя при найме исправно списывает.
2. Сломалась способность Стрельбы вплотную, полученная через опыт. Врожденная, через галочку в тифоне, исправно работает.
3. Не работает Ответный выстрел. Один раз правда сработало, когда стрелок вместо выстрела подошел и ударил врукопашную.
22.03.2022 12:31
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2351
Post: #515

(22.03.2022 12:31)major Wrote:  1. Не отображается кол-во доп. ресурсов при найме существ, т.е. кроме золота ничего не показывает, хотя при найме исправно списывает.

Исправлялось в Тифоне 3. Увы, Берсеркер обрабатывает структуру монстров в окне найма ещё до того, как таблица монстров переносится Тифоном.

(22.03.2022 12:31)major Wrote:  2. Сломалась способность Стрельбы вплотную, полученная через опыт. Врожденная, через галочку в тифоне, исправно работает.

В ВоГе она наглухо привязана к снайперству. Просто так работать не будет.

(22.03.2022 12:31)major Wrote:  3. Не работает Ответный выстрел. Один раз правда сработало, когда стрелок вместо выстрела подошел и ударил врукопашную.

В Тифоне 3 проверял - работает.
22.03.2022 13:00
Find all posts by this user Quote this message in a reply
major Offline

Posts: 146
Post: #516

(22.03.2022 13:00)XEPOMAHT Wrote:  В ВоГе она наглухо привязана к снайперству. Просто так работать не будет.
Проверял со всеми улучшениями стрельбы. Дистанция, преграды. Все равно не работает.
23.03.2022 06:14
Find all posts by this user Quote this message in a reply
Aln Offline

Posts: 15
Post: #517

Исправлялось в Тифоне 3.
В Тифоне 3 проверял - работает.

Приветствую, я так понимаю Typhon v3, только для Era+, с новыми городами?
(This post was last modified: 07.08.2022 17:15 by Aln.)
07.08.2022 17:13
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16648
Post: #518

Quote:Исправлялось в Тифоне 3. Увы, Берсеркер обрабатывает структуру монстров в окне найма ещё до того, как таблица монстров переносится Тифоном.
Перенос происходит прямо перед показом диалога?


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

Posts: 2351
Post: #519

(07.08.2022 17:13)Aln Wrote:  я так понимаю Typhon v3, только для Era+, с новыми городами?

Да, Тифон 3 работает только в ЭРА+. Для добавления новых монстров в купе с новыми городами придётся установить ЭРУ+.


(07.08.2022 18:30)Berserker Wrote:  Перенос происходит прямо перед показом диалога?

В AfterWoG-е. Т.е. сначала таблицу переносит ВоГ, увеличивая количество монстров до 197, затем её же второй раз переносит Тифон, увеличивая уже до 1000. Т.е. сама ЭРА похоже видит только самое первое увеличение структуры монстров, поэтому мне в Тифоне 3 пришлось "сказать" эровскому движку, что Тифоновский - первый перенос структуры, хотя на самом деле это не так и в короткий момент времени (т.е. до тифоновских патчей на новых монстров) era.dll будет при попытке обращения к структуре монстров попадать в молоко, точнее в незагруженные из mop-файлов данные в виртуальной памяти, т.к. в начале происходит перенос, а mop-файл с текстовиками монстров грузятся немного позже.

Использование базового адреса на структуру в era.dll решило бы эту проблему. Т.к. сама игра получает доступ к структуре монстров именно с базового адреса (но вот ВоГ да - грешен с использованием прямого адреса, из-за чего 99% всех адресов для переноса структуры монстров - на воговский код, в чистом SoD-е перенос структуры монстров - копейки, как будто сами разработчики в NWC предусматривали и добавление новых монстров в игру, и так же новых городов в игру без изменения кода игры, в отличии от ВоГа, в котором потребовалось сменить тонны кода - к сожалению Слава Сальников предусмотрел только добавление новых героев до лимита в 199, количество же монстров и городов в ВоГе жёстко закорочено воговским кодом).
08.08.2022 01:17
Find all posts by this user Quote this message in a reply
Raistlin Away
Moderators

Posts: 1349
Post: #520

XEPOMAHT, а по какой причине число героев не может превышать 199?


Создал новый глобальный мод: WoG Ultra Edition
08.08.2022 02:59
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2351
Post: #521

(08.08.2022 02:59)Raistlin Wrote:     а по какой причине число героев не может превышать 199?

Тогда ERM-триггеры, завязанные на номерах героев, придётся переделывать. Т.е. прощай ERM, здравствуй LUA. В том смысле, что ERM-скрипты, основанные на триггерах, завязанных на номерах героев, начнут срабатывать не для тех героев и вообще не в тех случаях, для которых они установлены. В общем, ERM-код без смены номеров соответствующих функций-триггеров, просто сойдёт сума. Например тот же ERM-триггер, катастрофически замедляющий ход ИИ-героев на карте, будет вызывать скрипты с соседних ERM-функций и приводить к фатальным ошибкам или просто к какой-нибудь охинее на карте.
08.08.2022 03:45
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16648
Post: #522

XEPOMAHT, так RedirectMemoryBlock же для Эры должен сообщить новый адрес таблицы и всё путём. Кажется, для TyphonZ я так и сделал одной-двумя строками. В Typhon 3 до сих пор не так? Сообщается ведь не только адрес, но и размер таблицы, что тоже может быть важно.


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

Posts: 2351
Post: #523

(08.08.2022 07:53)Berserker Wrote:  RedirectMemoryBlock же для Эры должен сообщить новый адрес таблицы и всё путём. Кажется, для TyphonZ я так и сделал одной-двумя строками. В Typhon 3 до сих пор не так? Сообщается ведь не только адрес, но и размер таблицы, что тоже может быть важно.

Должен, но по-факту Эра частично игнорирует RedirectMemoryBlock для таблицы монстров. Как раз в TyphonZ оно и не работает так как нужно. Повторяю, что в Тифоне 3 я правил это костылями, Raistlin тоже пользуется костылём, чтобы обойти этот баг. Без костылей: либо читать структуру монстров без RedirectMemoryBlock, либо искать ошибки, связанные с RedirectMemoryBlock в самой era.dll. 105
08.08.2022 08:07
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16648
Post: #524

Проверил. По коду ничего не игнорирует. А код Typhon 3 ты не публиковал.

В событии OnAfterStructRelocations (после релокаций структур), которое срабатывает после AfterWoG я получаю конечные адреса массивов:

Code:
procedure OnAfterStructRelocations (Event: GameExt.PEvent); stdcall;
begin
  SecSkillNames := GameExt.GetRealAddr(SecSkillNames);
  SecSkillDescs := GameExt.GetRealAddr(SecSkillDescs);
  SecSkillTexts := GameExt.GetRealAddr(SecSkillTexts);
  MonInfos      := GameExt.GetRealAddr(MonInfos); // Вот здесь
  ArtInfos      := ppointer(ArtInfos)^;
  Spells        := GameExt.GetRealAddr(Spells);
end;

А в реализации перехвата диалога найма монстров использую сохранённый указатель:

Code:
function GetMonCost (MonType: integer; out ResType, ResCost: integer): integer;
var
  i: integer;

begin
  result  := Heroes.MonInfos[MonType].CostRes[Heroes.RES_GOLD];
  ResType := -1;
  ResCost := 0;

  for i := Heroes.RES_FIRST to Heroes.RES_LAST - 1 do begin
    if Heroes.MonInfos[MonType].CostRes[i] <> 0 then begin
      ResType := i;
      ResCost := Heroes.MonInfos[MonType].CostRes[i];
      exit;
    end;
  end;
end;


Quote:Как раз в TyphonZ оно и не работает так как нужно.
Примеров не было. У Third Upgrades Mod проблем вроде бы нет.


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

Posts: 2351
Post: #525

(08.08.2022 10:53)Berserker Wrote:  В событии OnAfterStructRelocations (после релокаций структур), которое срабатывает после AfterWoG я получаю конечные адреса массивов:

Тифоновский патч на структуру монстров срабатывает сразу после загрузки era.dll в 701013h, скорее всего эровское событие OnAfterStructRelocations выполняется где-то в моменте загрузки era.dll, а его следует выполнять позднее, т.к. в эровском AfterWoG приоритет исполнения кода зашит в самой era.dll, поэтому единственное решение - выполнить код уже после era.dll. Так было сделано Мастером, я данную вещь в Тифоне не менял (т.к. все патчи в AfterWoG-е Тифона написаны именно под это место и в другом месте велик риск, что они будут затёрты другими патчами).

(08.08.2022 10:53)Berserker Wrote:  Примеров не было. У Third Upgrades Mod проблем вроде бы нет.

Там Аметист, а не Тифон. В Аметисте была та же проблема, но Маячок вроде как-то исправил.
08.08.2022 11:35
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-2024 MyBB Group