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

Post Reply 
Threaded Mode | Linear Mode
ERA III
Author Message
igrik Offline
Administrators

Posts: 2648
Post: #781

Panda, проблема в скриптах. Я отключил ВСЕ плагины (кроме переигровки), а вылет всё равно сохранился. В чем конкретно проблема я не смог разобраться.


game bug fixes extended.dll || My Plugins
24.12.2020 11:13
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2648
Post: #782

(24.12.2020 07:23)Berserker Wrote:  Вылет при переигрывании нужно смотреть igrik-у, скорее всего:

> Callstack
H3era hd.00473AA0
Wog native dialogs.E032 (?CreateNewBattleLogDlg@@YAXPAU_BattleMgr_@@@Z + 1170)
Причем здесь Баттлог, когда вылет внутри функции 473A9B call BattleMgr_PlayWaitAnim()?
К тому же даже с отключенным WND вылет остаётся.
Berserker, ты уверен, что твой лог правильно генерируется?


game bug fixes extended.dll || My Plugins
24.12.2020 11:16
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15663
Post: #783

igrik, смещение 1170 намекает на то, что это конец функции или всё же за ней. Генерируется верно, если Debug-файл актуальный (а он в сборках может быть не актуальный совсем). Но вылет именно на переигровке, которая, как ни крути, не является встроенной механикой.


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

Posts: 2648
Post: #784

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

Да, Debug-файл сто процентов не актуальный.


game bug fixes extended.dll || My Plugins
24.12.2020 22:04
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15663
Post: #785

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


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

Posts: 896
Post: #786

Понял, зря побеспокоил, не поругайтесь только. Там этот персонаж днём еще дебагов накидал, видимо у него там явно где-то что-то не здоровое...


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
25.12.2020 01:59
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15663
Post: #787

Panda, спасибо за отчёты, все важны.

$ <= $\Mods\BattleQueue [Overwrite = 0, Flags = 0, $ = "C:\Games\HoMM3 ERA"]
$ <= $\Mods\WoG Animated [Overwrite = 0, Flags = 0, $ = "C:\Games\HoMM3 ERA"]

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


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

Posts: 2648
Post: #788

Berserker, я больше не принимаю отчетов, что виноват WND или переигрываемая битва без конкретных аргументов в причине бага. Это был очень показательный пример, и я потратил хреналион времени чтобы найти причину вылета. В следующий раз я этой хернёй заниматься не буду.

Теперь о причине - проблема вылета скрипте "23 wog - enhanced war machines 2.erm"
Решение проблемы - добавить проверку на тактику.

Если копнёшь глубже, то поймешь почему происходит вылет при переигровке.

Короче WoG Scripts как обычно - доставляет.
А ещё махинации с несуществующим монстром 124 - отличное место для потенциальных багов.

(24.12.2020 19:51)Berserker Wrote:  Но вылет именно на переигровке, которая, как ни крути, не является встроенной механикой.
А скрипты являются встроенной механикой?


game bug fixes extended.dll || My Plugins
25.12.2020 14:59
Visit this user's website Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 896
Post: #789

igrik, Berserker, спасибо за разъяснения. Мне 24 wog - enhanced war machines 1 никогда проблем не доставлял, я не знаю, как получить тот вылет при заходе в город. Сохранения чел не предоставил. С 23 wog - enhanced war machines 2.erm никогда не играл, и даже не заглядывал в этот скрипт. Может позже загляну и добавлю, если настроение будет
Code:
; добавить эту проверку
!!BU:T?y1; !!FU&y1=1:E;


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
25.12.2020 15:02
Find all posts by this user Quote this message in a reply
Panda Away
Moderators

Posts: 896
Post: #790

Berserker, вот, очередной отчет+сохранение, говорит, что актуальный: "Еще стабильный вылет если переиграть нападение после пропуска хода".
https://yadi.sk/d/n6hSWHpXs1T3nQ


Тот, кто просыпается рано - жаворонок, поздно - сова. А тот, кто плохо спит и ходит с черными кругами под глазами - панда!
25.12.2020 15:39
Find all posts by this user Quote this message in a reply
SergOz Offline

Posts: 1088
Post: #791

Panda, такую вот штуку заметил. Из Хелпа:
Quote:В ERM-сообщениях (M- и Q-команды) вы можете использовать специальный синтаксис показа:
“%Dd” → текущий день недели
“%Dw” → текущую неделю
“%Dm” → текущий месяц
“%Da” → текущий день с начала игры
и раньше так и было.
Теперь же “%Dm” - показывает день недели, а “%Dd” - месяц


Карта-мод "Война на Холсте"
25.12.2020 17:31
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15663
Post: #792

igrik, я, наверное, не совсем понятно выразился.
Quote:Но вылет именно на переигровке, которая, как ни крути, не является встроенной механикой.
Может быть два источника бага:
1) Гипотетически неучтённый момент в состоянии игры, который проявляется только при повторе битвы.
2) Переменные/события скриптов, не рассчитанных на переигрывание.

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

Panda, вылет идентичен предыдущему с той же причиной.

Quote:Если копнёшь глубже, то поймешь почему происходит вылет при переигровке.
Судя по цитате, скрипт не делает отличий между тактической фазой и нетактической или криво определяет тактическую фазу.


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

Posts: 15663
Post: #793

SergOz, исправил, спасибо.


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

Posts: 1088
Post: #794

Berserker, а я у себя могу иправить, чтобы не переустанавливать?


Карта-мод "Война на Холсте"
25.12.2020 18:41
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 15663
Post: #795

SergOz, нет пока. Но можешь сам получить нужные значения:

месяц = (день - 1) / 28 + 1
день недели = (день - 1) %7 + 1


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
25.12.2020 18:55
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-2022 MyBB Group