Wake of Gods Forum | Форум Во Имя Богов

Full Version: ERA PLUS
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
XEPOMAHT, в том то и дело, что гарантировано отключить скрипты в Эра скриптс можно только либо выключив мод, либо заменив все скрипты в моде на болванки 148 выключение тут не поможет, проходил я это уже Dash1
Игрик уже исправил нам один из скриптов Вога, за что ему огромное спасибо! Проверил, всё хорошо. Исправленные скрипты и болванки буду класть в Эру плюс, т.к. это если что может облегчить диагностику и поиск причины багов, чтобы сами скрипты Вог/Эры в сборке были "оригинальными", а все правки делать в Эра плюс, который если что можно выключить. Ну и такое решение добавляет универсальности, чтобы в будущем можно было перенести Эру Плюс в основную сборку без каких-либо проблем по скриптам.
Panda, ещё раз подправлю этот скрипт - так более верно (т.е. при закрытии текущей карты значение будет восстанавливаться).
Я бы вырезал строки в оригинальном скрипте и вынес в отдельные файлы.
https://dropmefiles.com/aqkJ5

999 wog - universal upgrades consts.erm


wog - universal upgrades.erm

igrik, спасибо! Проверил, всё работает, игру не крашит 177

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

Code:
999 wog - universal upgrades consts.erm

ZVSE2
!#DC(WOG_OPT_UNIVERSAL_CREATURES_UPGRADES) = 174;
А не лучше эту константу будет в Эра добавить? Мне кто-то из опытных скриптописцев говорил, что имя 999 скрипту лучше не давать.
Нет, это константа именно для WoG Scripts. Без него смысла не имеет.
999 — это безопасный приоритет для файлов с константами. Он обеспечивает загрузку таких скриптов первыми. Если не дать такой приоритет, то другой скрипт, загруженный ранее, упадёт с ошибкой о несуществующей константе. Чем выше число, тем раньше грузится скрипт. 999 хватает для всех.
(08.06.2021 19:19)Panda Wrote: [ -> ]
Code:
999 wog - universal upgrades consts.erm

ZVSE2
!#DC(WOG_OPT_UNIVERSAL_UPGRADES) = 174;
А не лучше эту константу будет в Эра добавить? Мне кто-то из опытных скриптописцев говорил, что имя 999 скрипту лучше не давать.
Нет 108

Это константы WOG Scripts 2 (Click to View)
Hi XEPOMAHT Ab,

two questions:
When playing with ERA Plus this command gives me ERM error:
!#UN:G2/1/1/160; Set new specialty picture
however it works when I write like this:
!#UN:G2/1/1/155;
looks like it is limited to 155, can this be changed?

Second question:
I tested your prima.dll plugin for prim stats >99
as it turns out it is not safe to use because if you check stats with

you will get a negative value for spell power

here all is correct. Value with 150 spell power are displayed correct.

But most scripts are written without /1 and also the command is different because if checks with and without artifact bonuses. To me it looks like in the current form it is dangerous to use this plugin.
Quote:!#UN:P(WOG_OPT_NEW_BATTLE_FIELDS)/(TRUE);
Для отладки включаешь принудительно?
Да. Больше половины написанных скриптов включены всегда, для обнаружения пересечений и багов.
Хитрый, всё поправил 148
(08.06.2021 23:58)PerryR Wrote: [ -> ]two questions:
When playing with ERA Plus this command gives me ERM error:
!#UN:G2/1/1/160; Set new specialty picture
however it works when I write like this:
!#UN:G2/1/1/155;
looks like it is limited to 155, can this be changed?

Код команды UN:G привязан к индексам героев. 155 там максимальный. После 155 идут воговские индексы специализаций, которые... удалены. UN:G не поддерживается в ERA+, т.к. жесткая привязка к количеству героев в UN:G мешает добавлению новых героев с новыми специализациями. Замена изображений специализаций - только непосредственно в UN32.def и UN44.def (или используйте функционал Эры для подмены на лету из png). ERA+ использует оригинальный содовский код для вывода специализаций, без влияния от WoG. По другому новые специализации новым героям добавить невозможно.

(08.06.2021 23:58)PerryR Wrote: [ -> ]I tested your prima.dll plugin for prim stats >99
as it turns out it is not safe to use because if you check stats with

you will get a negative value for spell power

here all is correct. Value with 150 spell power are displayed correct.

But most scripts are written without /1 and also the command is different because if checks with and without artifact bonuses. To me it looks like in the current form it is dangerous to use this plugin.

Команду !!HE:F$1/$2/$3/$4 prima.dll не исправляет, и вот почему. В ней копирование происходит универсальной громоздкой воговской функцией, которую трогать нельзя, т.к. она используется повсеместно в воговском коде. После !!HE:F просто добавляется ERM-код или ERM-функция для преобразования из знакового в беззнаковое, после чего получится реальное значение силы магии, которое уже не будет отрицательным. Ну или !!HE:Z с !!UN:C в помощь для чтения этих данных напрямую, без посредников.

Команду !!HE:F$1/$2/$3/$4/1 prima.dll исправляет, т.к. там предварительное копирование в переменные, которые легко подстраиваются под лимит в 255. Поэтому у этой команды всегда будет правильное значение на выходе.
XEPOMAHT,
Quote:Замена изображений специализаций - только непосредственно в UN32.def и UN44.def (или используйте функционал Эры для подмены на лету из png). ERA+ использует оригинальный содовский код для вывода специализаций, без влияния от WoG. По другому новые специализации новым героям добавить невозможно.

Я уж думал, что я рукопоп, чего это у меня не меняется ничего, а оно вон что 148
Вряд ли Perry интересует «почему не пропатчены команды». Он скорее намекает, что ЕРМ сломан и его нужно патчить ) или плагин нельзя использовать, а его уже Панда в сборки включил.
Berserker, ну так поэтому я его положил его в свой мод и по умолчанию выключил, т.к. толком я его не тестировал, о чём и писал пару страниц назад. Нам нужны тестеры, по другому увы никак... 105
(09.06.2021 02:03)Berserker Wrote: [ -> ]Он скорее намекает, что ЕРМ сломан и его нужно патчить ) или плагин нельзя использовать, а его уже Панда в сборки включил.

prima.dll не ломает ERM. Команда "!!HEy1:F?y22/?y23/?y24/?y25;" выдаёт нулевые и отрицательные значения силы магии и без плагина, т.е. потребность проверять на <1 при чтении магсилы целиком лежит на ERM-скриптёре, как было и до использования prima.dll. Если считаете, что prima.dll поможет не делать эту проверку в ERM, то глубоко ошибаетесь - она всё равно нужна в скриптах, так же как её всегда делает оригинальный код игры, но никогда не делает воговский код. Laie_42
Reference URL's