Wake of Gods Forum | Форум Во Имя Богов
ERA III - Printable Version

+- Wake of Gods Forum | Форум Во Имя Богов (http://wforum.heroes35.net)
+-- Forum: Герои Меча и Магии 3.5 WoG/ERA (/forumdisplay.php?fid=99)
+--- Forum: Моды (/forumdisplay.php?fid=104)
+---- Forum: ЭРА / ERA (/forumdisplay.php?fid=182)
+---- Thread: ERA III (/showthread.php?tid=5624)


ERA III - Berserker - 01.06.2020 04:53

ERA 3

Image: era3-poster2.jpg

Image: e29aa1.png Вышла новая мажорная версия HoMM 3 ERA
Текущая версия: 3.0.0 (альфа 0)

Image: f09f9383.png Что нового ?

Image: e2ad90.png Опциональный режим ERM 2.0: именованные константы, локальные переменные и функции на стадии прекомпиляции. На ЕРМ становится возможным писать понятный код с малым числом комментариев.
Image: e2ad90.png Переписан движок ЕРМ: множество исправлений наследия прошлого, универсальный синтаксис, удобная работа со строками, исправление багов, расширение и добавление команд и многое другое.
Image: e2ad90.png Добавлена стандартная библиотека ЭРЫ на ERM: 1 расширенное событие и тысячи предопределённых констант.
Image: e2ad90.png ЭРА становится полноценным ядром для мододелов всех мастей: больше нет навязанных модов, анимации, большинства графических изменений, нового интерфейса, заменённых кампаний и музыки и т.д. Установив ЭРУ вы получаете рабочий скелет со всеми инструментами для создания уникальной сборки под ваши вкусы и желания. Базовый комплект новых монстров/объектов из WoG 3.58 остаётся в качестве ресурсов и включаемых/выключаемых игровых механик.

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

История изменений на русском (автоперевод): https://mods.hmm35.ru/Era%20III%20changelog%20rus.txt
История изменений: (Click to View)



RE: ERA III - XEPOMAHT - 01.06.2020 11:41

Команда VR:S в этой версии ERA работает? Ибо с ERA Scripts вылазит куча ошибок с сообщениями "cannot set string variable to non-string value".


RE: ERA III - nekro666 - 01.06.2020 12:44

Поздравляю с первой публикацией 3.0 Sm

3.0 несовместима со старыми модами? на все, что есть ругается и зависает.

UPD: Отключил все моды, типичные для эры 2 и пока что ничего не виснет,а дальше посмотрим.


RE: ERA III - Valery - 01.06.2020 12:57

Nice development, congrats 109

Have yet some dilemma, what can we do about incompatibilities with previous mods? keep Era 2 and Era 3 as separate entities?


RE: ERA III - Berserker - 01.06.2020 15:14

XEPOMAHT, nekro666, это альфа версия. Ещё не создал баг трекер, но думаю открыть в скорости на trello.com.
Мне очень нужны короткие примеры некорректно работающих команд/скриптов, чтобы исправить шероховатости интерпретатора. Я включил все опции в WoG Scripts старом и провёл ряд операций/боёв, исправив, что нашёл.

Valery, thank you, dear friend.
The process is as usual. 97-99% compatibility is granted (old mods are important heritage), a few edge cases should be either reported as engine bugs and fixed in Era or fixed in mods. So a bit of adaptation is required for almost all changing programming products. In old times I ported mods myself, but currently it's hardly possible. Maybe slowly one by one. Or by reports by enthusiasts.


RE: ERA III - Valery - 01.06.2020 15:24

Except that most authors are no longer active and no one to test their work. Also, if a single command does not work, the mod is 100% disabled most of times, so is not that simple. I may return to Homm do some test (actually modding Skyrim) but not so soon.


RE: ERA III - Berserker - 01.06.2020 15:33

Valery, I'm playing Skyrim with lots of mods ) Crashes from time to time, but still without critical bugs.
You're right, but fixing one command in one small mod will automatically fix all other mods. Moreover, if one big mod is working, most other mods will work too. So the task is solvable.


RE: ERA III - Valery - 01.06.2020 16:04

ok, but I propose you keep ~Era 2.80 available, just in case, as I hardly see someone starting to test all mods which previously worked until that version. What version added the hook plugin so from that point we needed to remove from previous mods? Was 2.80 or before?


RE: ERA III - Berserker - 01.06.2020 16:41

Valery, of course, Val. Sometimes we just need to install something 100% stable for mod and play without any further investigations Ab
2.8+ introduced compatibility with Linux, Windows 10 and so on. Reimplemented virtual file system.
2.9+ was scripting engine improvement with ERM hooker integrated and 2 plugins by gamecreator for pandora and seer huts fixed and integrated.
So for 2.9.13 no need in both.
-------
And 3.0.0 is really alpha, so I will write tests myself, receive other people reports and fix the bugs.


RE: ERA III - Berserker - 02.06.2020 02:01

Quote:Команда VR:S в этой версии ERA работает? Ибо с ERA Scripts вылазит куча ошибок с сообщениями "cannot set string variable to non-string value".
Я столкнулся с такими ошибками в бормотании монстров.
Там реально что-то вида: !!VRz5:S8;


RE: ERA III - Berserker - 02.06.2020 04:09

Добавил поддержку для написания тестов.
Пример ниже. Функция ET_Fail вызывается при нарушенном условии корректной работы скрипта, аналог ASSERT в других языках программирования.
Она ожидает 3-4 параметра: имя файла, номер строки, код строки и опционально пользовательский текст ошибки.

Image: test.png

Чтобы функция работала, добавлена поддержка магических констант (FILE), (LINE), (CODE) и последовательностей экранирования:
%\" интерполируется в ^ (запрещённый символ для строковых литералов)
%\: интерполируется в ; (тоже запрещённый символ для строковых литералов).


RE: ERA III - AlexeevAV - 11.06.2020 11:40

Александр, установил последнюю версию Еры и сверху русификатор Era 2.8.3 Rus? в итоге в Era Start Menu отсутствует Управление плагинами. Может я не тот русификатор поставил?


RE: ERA III - wessonsm - 11.06.2020 15:39

AlexeevAV, в мод-менеджере клик ПКМ на моде "Во имя Богов"\Плагины и патчи.
Plugin Manager как бы и не особо нужен уже, поэтому ссылка на него была удалена из Start Menu.


RE: ERA III - AlexeevAV - 11.06.2020 16:21

(11.06.2020 15:39)wessonsm Wrote:  AlexeevAV, в мод-менеджере клик ПКМ на моде "Во имя Богов"\Плагины и патчи.
Plugin Manager как бы и не особо нужен уже, поэтому ссылка на него была удалена из Start Menu.
Спасибо.


RE: ERA III - V_Maiko - 11.06.2020 18:16

Hello Berserker, I want to do a little interview you.

1. What are the new goals of ERA III in addition to a better ERM engine?

2. Do you plan the implementation of a new scripting language?

3. Are you aware that a much better modding platform could come than VCMI and that its scripting language will be even more flexible than lua? What do you plan to do if ERA is stopped using due to its limitations?

I'm expecting a lot from ERA III, I hope to be able to do all the things I want and do not leave the mods I have created be forgotten. I will continue to be faithful to ERA for all the development it has had over the years, I only worry that ERA may remain in the shadows as VCMI Yes


RE: ERA III - Berserker - 12.06.2020 02:18

V_Maiko, Hi!

1. The first goal is Lua support with wrappers upon ERM.
Possible second goal is dialogs system for Lua, like it's done by GrayFace for 3.59.
Parallel tasks could be:
-) New def frame replacement mechanism (currently changing portrait for single creature is impossible).
-) Porting extended structures from MoP/3.59: artifacts, monsters.

2. Nope. Lua satisfies all the needs.

3. VCMI is brilliant platform, I will enjoy, if it allows scripting and will try to make bidirectional porting more easy.


RE: ERA III - planetavril - 12.06.2020 21:25

Good if will adding extended structures for artifact and monster,but to add unlimited heroes by removing the limit of 16 per city?


RE: ERA III - Berserker - 12.06.2020 22:32

planetavril, extending heroes quantity is task for modders, I think, but barely reasonable due to amount of work.


RE: ERA III - XEPOMAHT - 12.06.2020 23:07

(12.06.2020 21:25)planetavril Wrote:  removing the limit of 16 per city?

ERA works with it, but HD-mod not works and crashed.


RE: ERA III - Berserker - 14.06.2020 04:30

У кого-нибудь ещё возникали какие-либо проблемы с новой версией? HE:X6 исправлена (была жалоба от игрока карт Valery/Salamandre), заодно и HE:X7 заработала.
Code:
[+] Added support for %Vf..t syntax in interpolated strings, that was present in WoG 3.58.
[+] Restored short !!HE:X6 syntax support and fixed ERM HE:X7 bug: short syntax worked as X7/a/d/0/0/0/0 instead of X7/0/a/d/0/0/0.

Тесты всё подтверждают.
Val, from now, when I fix ERM bug, I write ERM automatical tests to ensure, that future releases do not break the same thing again.



RE: ERA III - planetavril - 15.06.2020 10:01

support for png images will be implemented, in order to use png images for town mage guild windows, for cprsmall icon and heroes portraits?


RE: ERA III - Valery - 15.06.2020 10:13

(14.06.2020 04:30)Berserker Wrote:  Val, from now, when I fix ERM bug, I write ERM automatical tests

Frankly I have no idea what to do. Every day I get a message from someone complaining there are errors in my maps. The thing is you will continue to upgrade Era so it makes no sense for me to start a test and then find that next version brings errors again.

Will write more when I find them, the problems remain that people upgrade their ERA to latest (2.9) and I never tested this version. Now I am at 2.8.3 and already CM:R0 errors after 1 minute of playing. So why report, are you going to fix an obsolete version (283) just for my mods?

This is very annoying.


RE: ERA III - PerryR - 15.06.2020 11:05

You could put an ERA version check in your mods. It's just a matter of a few minutes. I do it for my mod too.
In that statement, you can explicitly tell people to use a certain ERA version because the mod was developed and tested for that version. Together with that, you put a link where they can download that version.
That should reduce the number of complaints and give us time to fix either ERA or your mods so they work with the newest version if you want that.




RE: ERA III - Valery - 15.06.2020 11:22

Good idea, but the last era version working 100% for me is 2.4.6. And I see no download link anywhere.


RE: ERA III - Berserker - 15.06.2020 16:01

Quote:planetavril, support for png images will be implemented, in order to use png images for town mage guild windows, for cprsmall icon and heroes portraits?
It depends. png and HD mod are not friends.

Valery, I uploaded 2.46 version, but it's Yandex link.

Never got any reports, that CM:R0 does not work.


RE: ERA III - Sandris - 19.06.2020 13:12

Когда можно ожидать внедрение разделения героев на женский и мужские фигурки на карте и поле боя?
Женский портрет с фигуркой скачущего бородатого старика (и наоборот) как-то не очень стыкуется.


RE: ERA III - XEPOMAHT - 19.06.2020 14:00

(19.06.2020 13:12)Sandris Wrote:  Когда можно ожидать внедрение разделения героев на женский и мужские фигурки на карте и поле боя?
Женский портрет с фигуркой скачущего бородатого старика (и наоборот) как-то не очень стыкуется.

В ERA III зачем такое внедрять? 148 В MoP давно есть, в ERA+ тоже можно портировать.


RE: ERA III - Berserker - 19.06.2020 15:26

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


RE: ERA III - XEPOMAHT - 19.06.2020 16:19

(19.06.2020 15:26)Berserker Wrote:  место, где имя def-а подменяется? Думаю, это будет очень простой плагин.

1. Там не имя, а загруженный def (т.к. там грузится всё и сразу при загрузке диалога карты приключений).
2. Плагин-то простой, но вызовет несовместимость с ERA+, чего я не хочу. Ибо расширение структуры диалога карты приключений - удел плагинописателей-маньяков типа меня 148 . Не стоит тратить на это ценное время разработчика ERAIII.


RE: ERA III - Bes - 19.06.2020 21:30

XEPOMAHT, у разработчика ERAIII сегодня хорошее настроение и высокий боевой дух... а ты всё портишь Yes



RE: ERA III - ElfbI - 21.06.2020 00:41

Было бы здорово иметь возможность подменять часть скрипта построчно вместо замены его целиком.


RE: ERA III - Berserker - 21.06.2020 00:55

ElfbI, а кто заставляет менять целиком? Всё работает именно так, чтобы начать пользоваться сразу из коробки.

Берём скрипт ERA 2.
Меняем ZVSE на ZVSE2.
Переименовываем функции, на которые ругается компилятор.
Всё. Старый код работает.

Примеры корректных имён функций есть в changelog: elf_GiveItTry, например.
Некорректная: (This.is.test Ab


RE: ERA III - ElfbI - 21.06.2020 13:29

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


RE: ERA III - Berserker - 21.06.2020 15:37

ElfbI, нет, так код не организуется вообще. Практически никогда и нигде.
Monkey patching — обезьяньи заплатки, это от безысходности.

Правильный подход: доработка оригинального скрипта с:
1) Вынесением основных настроек во внешние файлы и/или
2) Генерацией пользовательских событий, которые другие скрипты/моды могут обрабатывать.

Привожу пример.

Я пишу мод, в котором при посещении города герой платит за вход Х золотых, по умолчанию 100.
Назовём мод tpm (town payment mod).

Теперь напишем другой мод. ElfbI крайне возмущён дисбалансностью оригинального мода. Отчаявшись переубедить меня, как автора, ElfbI добавляет свой мод-скрипт:
balanced town payments.erm
Итого:
-) Герой заходит в город
-) Оригинальный мод ставит плату в 100 золотых, вызывает нигде не объявленную функцию-событие, которой даёт возможность изменить значение платы
-) Другой человек пишет крошечный мод-скрит, где в обработчике нового события устанавливает справедливую плату за вход.


RE: ERA III - Algor - 21.06.2020 16:33

Berserker, а потом появляется третий мод, использующий эту функцию и ты рвешь зад пытаясь найти проблему, т.к. вызов вункции запрятам в скрипте, а очередность выполнения завязанная на имени скрипта вообще неочевидна.
Тут, имхо, лучше через ini-файлы. Действует ini'шка из более приоритетного мода. Тут приоритет указывается явно, и для смены значения не нужно лезть в скрипты и знать язык.
Я в ES такие вещи как раз в ini и выношу. Пользователь (по-хорошему) копирует ini в свою мод-папку с максимальным приоритетом, правит по вкусу и в дальнейшем при обновлении ES уже ничего делать не нужно.

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


RE: ERA III - daemon_n - 21.06.2020 16:53

85


RE: ERA III - ElfbI - 21.06.2020 17:43

Berserker, ага, осталось только все скрипты делать правильно. И переделать весь ВОГ скриптс. Вот я делаю мод, скажем, на двойной каст для магов, но есть пещера приключений, в которой отшельник дает двойной каст на первом ходу каждому герою. Теперь мне нужно поймать событие в BG0, добавив туда SN:W переменную. Вы предлагаете ради одной-двух строчек в скрипте пещеры подменять мне в моде весь скрипт целиком. Может в программировании это и мартышкина заплатка, но для мода гораздо логичнее подменить строчку, чем скрипт.


RE: ERA III - Berserker - 21.06.2020 20:08

Algor, именно так и работают расширяемые системы. Данный форум, например, или, сюрприз, WoG. Задницу ты не рвёшь. Отключаешь один из противоречащих модов, по F11 определяешь виновника. Гибкое поведение достигается через генерацию событий. Чем больше событий, тем гибче можно мод под себя подстроить. В остальном твоя претензия сродни следующей:

Почему три мода вида
!#MA:A0/10;

!#MA:A0/20;

!#MA:A0/30;

Несовместимы друг с другом и хз где меняют настройки монстров? Может запретить эти три мода и внести настройку в ini, то есть в txt…Или стоп. Настройки и так уже есть в txt и это самая худшая реализация из возможных 96-copy

ElfbI, ваша идея реализуется только очень грубо. Через утилиты патчинга файлов. И они будут зависимы от того, чтобы исходный код мода не менялся. Такой подход где-то ещё есть, например в скриптах для Ведьмака 3, когда нужно вручную разрешать конфликты merge-3 систем. То ещё удовольствие. Уж лучше отключить один из двух модов, которые ну крайне не дружат друг с другом из-за спора в каком-то событии.


RE: ERA III - ElfbI - 21.06.2020 22:46

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

В конце концов, есть же разбиение на скрипты, то есть код в любом случае не монолитен. Сейчас можно менять код кусками, которые называются скрипт. Лучше бы блок поменьше.

Ладно, понял-принял, что делать.


RE: ERA III - Artyr1995ua - 21.06.2020 23:15

Berserker, ссылка на скачивание не открываеться можеш другую кинуть


RE: ERA III - daemon_n - 21.06.2020 23:26

Artyr1995ua, держи - скопировал на ГУГЛ


RE: ERA III - Artyr1995ua - 21.06.2020 23:56

(21.06.2020 23:26)daemon_n Wrote:  Artyr1995ua, держи - скопировал на ГУГЛ

Спасибо!)


RE: ERA III - Artyr1995ua - 22.06.2020 00:06

daemon_n, Не запускаеться!(


RE: ERA III - daemon_n - 22.06.2020 00:25

Artyr1995ua, перекачай - вес файла 77мб должен быть


RE: ERA III - Artyr1995ua - 22.06.2020 00:37

(22.06.2020 00:25)daemon_n Wrote:  Artyr1995ua, перекачай - вес файла 77мб должен быть
Все верно.

(22.06.2020 00:25)daemon_n Wrote:  Artyr1995ua, перекачай - вес файла 77мб должен быть
Все верно че делать просто не запускаеться


RE: ERA III - daemon_n - 22.06.2020 00:56

Artyr1995ua, у меня запустился -- попробуй от имени администратора.


RE: ERA III - Berserker - 22.06.2020 01:05

ElfbI, скачайте WinMerge. Открываете сравнение двух папок: своих 3.58 скриптов и из WoG Scripts, затем пофайлово. Видите, какие места отличаются, имеете возможность копировать отдельные правки. Делается это относительно быстро. Кое-где даже автоматически.


RE: ERA III - Algor - 22.06.2020 01:38

(21.06.2020 20:08)Berserker Wrote:  В остальном твоя претензия сродни следующей
Не-не, не претензия.
Разные подходы. Один для выноса настраиваемых параметров - тут как ни крути ini-файлом лучше, как минимум, для пользователя. Второй - для кастомных обработчиков - тут функциями, без вариантов.

Собсно, квинтессенция моего предыдущего поста в двух предложениях:

(21.06.2020 16:33)Algor Wrote:  Тут приоритет указывается явно, и для смены значения не нужно лезть в скрипты и знать язык.
Вызов отдельной функции оправдан, если есть необходимость писать свой алгоритм.

Что не так?


RE: ERA III - Berserker - 22.06.2020 02:22

Algor, всё верно. Разве что в ini-файлы почти никто не лазает. Тут больше обновлённый диалог опций нужен с возможностью ввода произвольного значения.
Но самое крутое решение — опция со вводом значения + генерация события. И волки сыты, и овцы цены.


RE: ERA III - Artyr1995ua - 22.06.2020 08:47

(22.06.2020 00:56)daemon_n Wrote:  Artyr1995ua, у меня запустился -- попробуй от имени администратора.
Не идет.


RE: ERA III - ElfbI - 22.06.2020 21:36

Berserker, вы зря проигнорировали вторую часть моего поста. У меня есть предложение.

Сейчас скрипты подгружаются только из папки Data-s, правильно? Предлагаю подгружать их также из папки Data-s-Script_любое имя. Зачем? Смотрите: Algor разделил скрипт FUN.erm на отдельные файлы-функции, и я хочу сделать это же с вогскриптс и своими скриптами. Раскидать каждый кусок или скрипт в отдельный мод нелогично. Скинуть все в data-s - бардак.

Предложенным же образом можно будет менять скрипты частями (отдельной функцией скажем) и мы избегаем сложностей, вами описанных.


RE: ERA III - Berserker - 22.06.2020 23:57

ElfbI, я вынужден отклонить Ваше предложение. Можно очень долго и занудно объяснять, но лучше примите не веру. Так делать не нужно. Создайте отдельный мод, в котором в Data\s поместите хоть 50 файлов. Так и происходит в реальных проектах. Например, в системе управления сайтом Joomla 30 тысяч файлов в папках лежат. Предложение с точки зрения инженерной практики лишено смысла.


RE: ERA III - ElfbI - 23.06.2020 00:09

Berserker, ну мне искренне непонятно, почему нельзя сделать удобно. Разве не смысл платформы для модов в удобстве и простоте? Разделение непонятно почему целиковых файлов на отдельно модифицируемые части просто и удобно. А как вы предлагаете... У меня в моде и так в дата s сотня фалов, так их будут тысячи.

Впрочем, я ожидал такого ответа. Очень жаль.


RE: ERA III - Berserker - 23.06.2020 00:57

ElfbI, Вы поймёте, как только изучите любой другой ЯП и начнёте работать со структурным кодом, модулями. Вам ответят как я практически любой другой программист.
Обычно файлы в проектах группируют ещё по подпапкам. Так и будем делать для библиотечных модулей, но уже в Lua. ЕРМ не стоит подобных инвестиций и является движком преимущественно старых модов. В ЭРА 3 в ЕРМ уже вложен предел сил и времени, на него отведённых.

wessonsm, по Эре 3 ещё не было опубликовано руководства по написанию скриптов, планирую по частям этим заняться в ближайшее время. Можете напомнить, если вдруг уйдёт на второй план.


RE: ERA III - Algor - 23.06.2020 01:36

(22.06.2020 21:36)ElfbI Wrote:  Смотрите: Algor разделил скрипт FUN.erm на отдельные файлы-функции, и я хочу сделать это же с вогскриптс и своими скриптами.
...
Предложенным же образом можно будет менять скрипты частями (отдельной функцией скажем)
FUN.erm не был скриптом, выполняющим отдельную задачу. Это изначально был набор функций, вызываемых из разных скриптов.
Разделен на части он был для того, чтобы мододелы могли использовать только то, что им нужно и все это хозяйство можно было просто сопровождать.

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

Кстати да, прочитайте про Monkey patch - применение и потенциальные проблемы. Там вроде понятно описано, почему нам такой подход не годится.


RE: ERA III - Berserker - 24.06.2020 00:51

Обновлён улучшатель/конвертер скриптов:
https://tools.hmm35.ru/erm-enhancer/

Добавилась опция для перехода на ЭРА 3. !!SN:W всюду заменяются на использование именованных s^...^ и i^...^ переменных.


RE: ERA III - Berserker - 27.06.2020 03:07

Created directory for ERA 3 dll updates:
Link

First tests give results:
[-] Included missing ztower1.def in hmm35wog.pac. Credits: ArnoVanClaire.
[-] Fixed bug: each reloading reduced ERT strings length by one. Credits: ArnoVanClaire.


RE: ERA III - V_Maiko - 05.07.2020 20:06

I have something I have been planning since ERA 3 and New Creature Banks scripts was released and that is when I start releasing both of my mods exclusive for ERA 3 people will start playing with that version of ERA and any bugs that players discover, daemon_n and I, we will report it to you. To improve ERA 3 132


RE: ERA III - Berserker - 05.07.2020 21:50

V_Maiko, will be greatful for any reports, thanks.


RE: ERA III - Heromant - 06.07.2020 16:35

Lua поддерживается?


RE: ERA III - planetavril - 06.07.2020 17:13

you could create a plugin similar to H3Sw_buildups and H3SW_towns that allow you to unlock blocked buildings with the difference that it works on typhon and that you can choose which buildings to unlock?, instead of all at the same time as happens in Succession Wars


RE: ERA III - Berserker - 06.07.2020 22:05

Heromant, пока не официально, планирую с середины июля заняться API.

planetavril, personally I have time only for a few tasks, sorry.


RE: ERA III - V_Maiko - 08.07.2020 23:44

Hello Berserker, could you check to avoid having to reinstall ERA 3 for nothing? It's about the objects in the map editor, it seems some are missing.


RE: ERA III - Berserker - 09.07.2020 01:47

V_Maiko, could you name missing resources? I have no issues with map editor on test package.


RE: ERA III - planetavril - 09.07.2020 03:35

ok,it does not matter


RE: ERA III - V_Maiko - 09.07.2020 19:21

Nevermind, I noticed it was fixed in later versions, although you only announced ztower1.def, I'm not sure if ztport01.def was also included because it was a missing def in the editor it had.

Furthermore, have you not thought about implementing an uninstaller for ERA? A simple one made in .bat, or the truth I never knew how to uninstall it properly, could you tell me how? I always erased my game and reinstalled an entirely new one.


RE: ERA III - Berserker - 09.07.2020 19:42

V_Maiko, uninstallation may erase files, used by other mods/projects, it was not a really necessary task. Perhaps, safe installation over previous installation is an expected feature?
How could I trigger ztport01.def error in editor?


RE: ERA III - V_Maiko - 09.07.2020 20:30

Berserker, It's a def that I was missing in ERA 3.0.2 (alpha 2), but maybe it's just my problem, I'll reinstall the whole game again and download the latest version.

Image: Screenshot-2.png


RE: ERA III - Berserker - 10.07.2020 01:52

V_Maiko, you are right. Object is present with msk, def is missing, will add it, sorry.


RE: ERA III - daemon_n - 18.07.2020 20:36

Чем может быть вызвана проблема с лагерями беженцев? Чистая Эра 3.0.2 - карта случайная, день 1.
В лагере 4 копейщика - данная проблема была еще в воге, но хотелось бы, чтобы она пропала.

И еще вопрос - так понимаю, ЭРА 3 не поддерживаает ZVSE?
все переменные в текстах отображаются как %Y...

UPD: касается только json файлов105

И ещё кое-что:
заметил, что "начать заново" из окна битвы не подгружает текст из json , когда как ert спокойно это делает.

Вывод - пока останусь на ert - постараюсь туда 2 языка влепитьSorry


RE: ERA III - Berserker - 20.07.2020 22:18

daemon_n, покажи, пожалуйста, пример, где переменные в текстах как %Y отображаются.

Quote:заметил, что "начать заново" из окна битвы не подгружает текст из json , когда как ert спокойно это делает.
Эм???


RE: ERA III - daemon_n - 20.07.2020 22:58

Berserker,
это пример 1 (Click to View)
(20.07.2020 22:18)Berserker Wrote:  Эм???

это пример 2 (Click to View)



RE: ERA III - Berserker - 21.07.2020 01:45

daemon_n, перевод не должен содержать никаких имён ЕРМ переменных. Только текст и параметры вида @имя параметра@. Можно затем в перевод передать значения этих параметров.

"route_1": "@hero_name@ не может достигнуть этой точки.",
!!SN&y8<1:T^egb_map_%Y1.route_1^/?z2/^hero_name^/z1; передали z1 в качестве параметра hero_name

В целом не вижу смысла использовать неимёнованные переменные вообще в новом коде

Quote:После начинаем игру. В бою нажимаем "Начать заново". При старте игры текст из json в чат не выходит - только звук. С ert работает нормально.
Проверяй значения ключей вида "egb_map_%Y1.battle1", чему равен y1. Проверяй значения условий. Проще говоря, установи z1 в ^TEST-TEST^ кодом выше. Если не изменилась — неверный ключ для перевода или не верное условие. Json вообще тут не при чём.


RE: ERA III - daemon_n - 21.07.2020 01:50

Berserker, 1 на имя героя плевать - мне нужны цифры пути!
2 - а здесь дело не в %Y1 - оно не работало даже в формате "egb_map_eтп.battle1"


RE: ERA III - Berserker - 21.07.2020 03:33

Проверяй так:
Или скинь мне скрипт и json-файл.


RE: ERA III - daemon_n - 21.07.2020 09:21

Berserker, так у меня ZVSE (erm 1)


RE: ERA III - Berserker - 21.07.2020 12:21

daemon_n, разницы нет, и на ЕРМ 1 принцип работы SN:T не меняется. Скинь скрипт и json.


RE: ERA III - daemon_n - 21.07.2020 13:18

Понял. Через часов 9 скину.


RE: ERA III - daemon_n - 21.07.2020 23:56

(21.07.2020 03:33)Berserker Wrote:  Проверяй так:

Это работает.


А вот это не работает105

P.S.: Прошу прощения за опоздание Sorry


RE: ERA III - Berserker - 22.07.2020 02:10


И что должен делать этот код? Если WogRusModCheck = 0? Правильно, обращаться к несуществующей egb_map_0.battlelist1


RE: ERA III - daemon_n - 22.07.2020 09:27

Berserker, как это несуществующему? В json оба лежат


RE: ERA III - PerryR - 22.07.2020 10:03

maybe this?
Does the code needs an update or is it unintended behavior?


RE: ERA III - Berserker - 22.07.2020 16:44

daemon_n, нашёл, извиняюсь. Это, кстати, очень плохая идея два языка в одном файле писать. Либо 99 языков, либо 1.
Perry указал верно на проблему, я понял, отвечаю ниже.

PerryR,
SN:T returns translated strings as is without interpolation. Same json files may be used by C++, Lua code or anything else.
The only universal recommended way to pass parameters to translations is using @param_name@ syntax.

"route_1": "@hero_name@ cannot reach the target.",

!!SN:T^route_1^/?(text:z)/^hero_name^/^PerryDaemon^; (text) = "PerryDaemon cannot reach the target"

But for old ERT using code we could use the following trick:

"route_1": "%Z2 cannot reach the target.",

!!VRz2:S^PerryDaemon^;
!!SN:T^route_1^/?z3 Iz3/?z3; get translation and interpolate/substitute all ERM variables.


RE: ERA III - daemon_n - 22.07.2020 18:01

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


RE: ERA III - Berserker - 22.07.2020 19:08

daemon_n, если окно — pcx/def, то оно и распространяется с модом локализации тоже.
Понятен ли последний пример, как при помощи SN:Iz3/?z3 заменить %Y2-подобные подстроки в переводе значениями ЕРМ переменных?


RE: ERA III - daemon_n - 25.07.2020 17:15

Berserker, нет, последний пример я не понял - есть сборник по всем новым SN? А то искать их по разным местам очень сложноYes

UPD: прочитал в справке. Кажется, понял.


RE: ERA III - Bes - 25.07.2020 18:52

daemon_n, у тебя в сборке есть последний справочник по ЕРМ, там всё и описано... см. SN


RE: ERA III - daemon_n - 25.07.2020 19:28

Bes, нашел - спасибо!

(20.07.2020 22:18)Berserker Wrote:  
Quote:заметил, что "начать заново" из окна битвы не подгружает текст из json , когда как ert спокойно это делает.
Эм???

С этим тоже разобрался: был триггер :OnGameEnter:, который не работает при переигровке сценария из боя. Заменил на PI/GM0;


RE: ERA III - daemon_n - 26.07.2020 16:59

Berserker, почему в Эре старый GameBugFixes плагин? Точнее, чем плох тот, который в сборке?


UPD: баг или намеренно ли?
ранее работала такая штука:
Ныне лишь



RE: ERA III - Berserker - 26.07.2020 22:48

daemon_n, плагин не старый, а тот, который не вносит новый или проблемный функционал. Игрик было писал в новом game bug fixes различные улучшения, которые строго к названию плагина не относились.

2) Да, намерено сделано. Нельзя присваивать числа строкам.


RE: ERA III - daemon_n - 26.07.2020 23:32

Почти закончил с переходом на Эру 3. Но сломанное отображение меню вог опций не позволяет скрипты проверить - ждать фикс в ближайшие дни?
багуются опции с ers файлами
и очень важен xxl мод - текущий не работает с Эрой 3 (
в общем, это 2 причины, по которым не могу пока выпустить сборку на 3
Dry


RE: ERA III - wessonsm - 27.07.2020 00:01

daemon_n, а что не так с XXL?
Подключил, вроде работает, не вылетает, ошибок не выдает.


RE: ERA III - daemon_n - 27.07.2020 00:13

wessonsm, любая карта выше XXL вылетает на старте


RE: ERA III - Berserker - 27.07.2020 00:32

Quote:ждать фикс в ближайшие дни?
Да.

Quote:и очень важен xxl мод - текущий не работает с Эрой 3 (
Пока особо не представляю, чему там вылетать. Скинь, пожалуйста, xxl-карту с вылетом и архив мода, который используешь.


RE: ERA III - daemon_n - 27.07.2020 00:53

Berserker, вот файл - внутри 3 карты (случайные) - можешь попробовать создать свою


RE: ERA III - Berserker - 28.07.2020 17:13

https://dropmefiles.com/1xQ2l
[+] ERS-files parser was rewritten. No more H3 bugs, caused by 12-character path length restriction.
    Any ers file name like "some loooooong script.ers" is supported.

daemon_n, не вылетела XXL.


RE: ERA III - daemon_n - 28.07.2020 18:47

Berserker, супер!!! на этой эре не вылетело тоже!!! - может, оно связано как-то?
Спасибо-спасибо-спасибо!


RE: ERA III - V_Maiko - 28.07.2020 18:51

Thanks, but I suppose it would have been better to fix all the reported bugs in one already and release v3.0.3 for players.


RE: ERA III - Berserker - 28.07.2020 19:15

V_Maiko, sure thing. Preparing 3.0.3 with extra possibility to get/set artifacts names and descriptions without z-index dependency.

daemon_n, отлично, я рад! 20


RE: ERA III - Bes - 28.07.2020 19:24

Berserker, не хватало отдельной "доски обновлений" с последними релизами, так что я это сделал в некогда открытой тобой для этих целей теме, опубликовав пост... переделай авторство поста на себя там, ок? 177


RE: ERA III - Berserker - 28.07.2020 19:34

https://dropmefiles.com/FyD3f
[+] Added command SN:H^art^/art ID/0 (name) or 1 (description)/$text to get/set any artifact name/description
    without z-variables dependency.

Проверяем, как работает получение/установка имён/описаний для артефактов. Z-переменные в прошлом.

Bes, спасибо, Bes, я уже почти готов к релизу.


RE: ERA III - daemon_n - 28.07.2020 19:37

(28.07.2020 19:15)Berserker Wrote:     with extra possibility to get/set artifacts names and descriptions without z-index dependency.

скажу сразу, что формат (text:z) крайне неудобен:

1 - требуется больше времени на ввод, так как автоподстановка текста предлагает лишь "text", когда вводиь только "t" - остальное - сам
2 - нет возможности выбрать нужную z-переменную, когда их надо выводить несколько - или порядок присваивания им номеров основывается на положении "выше/ниже"?

например, как бы это работало здесь?:



RE: ERA III - Bes - 28.07.2020 19:47

Quote:скажу сразу, что формат (text:z) крайне неудобен:
daemon_n, так используй нумерацию в имени получения
(text1:z)
(text2:z)
и т.д.

P.S. вся система ввода в ERA3 предполагает более длинное написание кода, т.к. автоматом подразумевает отказ от комментриования, как это необходимо было для ERM1.0
из двух зол выбирай сам


RE: ERA III - daemon_n - 28.07.2020 19:50

Bes, и это еще неудобнее)96-copy
хотя о такой возможности я не знал - спасибоYes


RE: ERA III - Berserker - 28.07.2020 19:51

daemon_n, ты, вероятно, что-то напутал. (text:z) — просто пример именованной локальной переменной. К SN:H отношения он прямого не имеет.
Твой пример переписывается с именованными переменными так:




RE: ERA III - Bes - 28.07.2020 19:53

daemon_n, ты там используешь именованную переменную, имя не привязано к text или var. Это просто в примерах для понимания.
можно хоть
.../?(описание.арт120:z)
upd. Berserker, ты ещё больше щас пошатнул желание daemon_n'а к скриптингу на ERM2.0 96-copy


RE: ERA III - daemon_n - 28.07.2020 19:58

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

Что касается кода, он не просто длиннее, он в разы сложнее -- где же то самое написание "без комментариев". Только и хочется сказать: "Без комментариев".96-copy

UPD: есть возможность сделать выход из erm файла?
Имеем 2 файла скриптов - 1 для Эры 2.9 , а второй - для Эры 3.
???


RE: ERA III - Bes - 28.07.2020 20:03

daemon_n, комменты Berserker для тебя расписал, так то он итак всё поймёт спустя год не у дел Yes
вообще, если писать не английским имена переменных и массивов, то куда удобнее тебе будет


RE: ERA III - daemon_n - 28.07.2020 20:10

Bes, сне вот что бы понять
вот массив - с 4 элементами/ z говорит нам, что они текстовые, так понмаю, у меня оно должно быть egb_dialogOpt, чтобы не пересекаться с иными именами.


Я просто пока делаю мод универсальный между 2.9 и 3.0 - пока работает.


RE: ERA III - Berserker - 28.07.2020 20:13

daemon_n, выход из ЕРМ файлов не предусмотрен и алгоритмически не нужен.

Quote:у них свои шрифты и проблемы с отображением
Эти проблемы никак не решаемы твоим способом. Много модов — это нормально. В этом принцип управляемости и поддерживаемости в программировании и вообще в любых сложных инженерных системах.

Сверху очень много костылей. Все они не нужны. Json-файл с локализацией должен содержать перевод только для одного языка. В другом моде свой файл с переводом для другого.
Тему школы ЕРМ я продолжу, но хотелось бы узнать задачи, которые ты пытаешься решить и примеры кода, в которых нуждаешься (могу без массивов).


RE: ERA III - Bes - 28.07.2020 20:14

daemon_n, ну массивы в таком исполнении с серией 2.9.x ты не подружишь
или делай как делал, без ERM2.0, пока ERA3 всё ещё на альфа-стадии, а потом... спустя эн-ное кол-во времени перепишешь уже красиво на ERM2.0


RE: ERA III - daemon_n - 28.07.2020 20:17

Berserker, у меня сейчас 3 json файла , в каждом свои строки
имеется такой код (Click to View)
Сейчас работает всё вообще без проблем, и на эре 2.9.14, и на эре 3.0.2.

Я уже понял, как делать тексты - спасибо, но вот вопрос остался



RE: ERA III - Berserker - 28.07.2020 20:18

Quote:у меня оно должно быть egb_dialogOpt, чтобы не пересекаться с иными именами.
Не так. Локальные переменные — это просто временные имена для компилятора для одного триггера. Они не пересекаются с глобальными, не зависят от других скриптов и триггеров.

Смотри. Происходит событие, скажем щелчок мышкой. !?CM0.
Для данного события выделяется временная память в 100 целых чисел (y1..y100). Если в рамках события произойдёт показ диалога, а в том нажатие кнопки, то у нового события будут свои уникальные y1..y100.

Так вот, ЕРМ 2 позволяет тебе не вручную в голове выделять индексы для локальных переменных, а автоматически под читаемыми именами.


Quote:почему последний индекс -1, а не 3?
Отрицательные индексы в именованных локальных переменных имеют значение: «N-й с конца», как во многих функциях Javascript/PHP, например.
-1 — последний или первый с конца
-2 — предпоследний или второй с конца

Если ты изменишь размер массива на 10 элементов, то мой код будет работать, а твой сломается.


RE: ERA III - daemon_n - 28.07.2020 20:24

То есть все новые именованные переменные локальные? Понял, значит, польза для удобного чтения кода.
А будет что-то подобное для глобальных w? вместо !!SN:W^rrtyrty^/?(howMuch:y);?

(28.07.2020 20:18)Berserker Wrote:  -1 — последний или первый с конца
-2 — предпоследний или второй с конца
Если ты изменишь размер массива на 10 элементов, то мой код будет работать, а твой сломается.

Понял! Спасибо!

Ну, говорю же, массивы пока не освоил, но надо бы - на них всё строится, как я понял147


RE: ERA III - Berserker - 28.07.2020 20:26

daemon_n, уже есть.
!!VRs^egb_caption^:S^Заголовок^ вместо !!SN:W^egb_caption^/^Заголовок^
или для чисел !!VRi^egb_age^:S29 +3 *7;

s^...^ и i^...^ — глобальные именованные переменные, SN:W больше не нужен. Можно использовать напрямую во всех командах.

!!VR(daemonAge:y):Si^egb_globalDaemonAgeReadFromSecretIniFile^;

daemon_n, массив — просто набор последовательных элементов одного типа.
Например, y10..y15 — массив из 6-и элементов.
У него логические индексы 0..5, а реальные — 10..15.

Ты можешь получить реальный индекс локальной именованной переменной через (@имя) или (@имя[логический индекс элемента массива]):



RE: ERA III - daemon_n - 28.07.2020 20:31

Berserker, вот последнее я как раз уже усвоил, когда книжку по с++ изучалYes


RE: ERA III - Berserker - 28.07.2020 20:34

daemon_n, если читал, то понимаешь разницу между логическим индексом элемента массива и адресом элемента в памяти. В ЕРМ у массива y10..y15 10 — по сути виртуальный адрес, а 0 — логический индекс первого элемента.


RE: ERA III - daemon_n - 28.07.2020 21:23

(28.07.2020 20:26)Berserker Wrote:  s^...^ и i^...^ — глобальные именованные переменные, SN:W больше не нужен. Можно использовать напрямую во всех командах.

!!VR(daemonAge:y):Si^egb_globalDaemonAgeReadFromSecretIniFile^;

Отлично!
Это ZVSE2, так понимаю, но это с какой версии Эры? на 2.9.14 работать будет?


RE: ERA III - Bes - 28.07.2020 21:25

daemon_n, нет, s^...^ и i^...^ на ERA3 началось


RE: ERA III - daemon_n - 28.07.2020 21:26

(28.07.2020 21:25)Bes Wrote:  daemon_n, нет, s^...^ и i^...^ на ERA3 началось

Понял

(28.07.2020 19:24)Bes Wrote:  Berserker, не хватало отдельной "доски обновлений" с последними релизами, так что я это сделал в некогда открытой тобой для этих целей теме, опубликовав пост... переделай авторство поста на себя там, ок? 177

Я скинул последнюю dll в дискорд, чтобы можно было скачать сразу файл
имеется прямая ссылка на подольше



RE: ERA III - Bes - 28.07.2020 21:31

daemon_n, у меня личностная неприязнь всяким современным дискордам и еже с ним ))) только обменники с ограниченным числом дней хранения 148


RE: ERA III - daemon_n - 29.07.2020 00:23

Нашёл баг. Кампании Дыхания Смерти не воспроизводят анимации (smk), когда на них наведен курсор в меню выбора кампаний.


RE: ERA III - Bes - 29.07.2020 00:30

а сами файлы кусков этих то есть в ресурсах?


RE: ERA III - daemon_n - 29.07.2020 00:42

Bes, есть. Специально этим и занимался - файлы для Клинка сперва пометсил, потом для Сод. Клинок сработал.


RE: ERA III - Berserker - 29.07.2020 00:47

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


RE: ERA III - daemon_n - 29.07.2020 00:55

Заработало!! спасибо. Я забыл сменить HD экзешник, вот и не работало, как оказалось , именно с hd mod.


RE: ERA III - Berserker - 29.07.2020 01:05

daemon_n, просто я вернул в ехе исходные данные кампаний, без которых анимации не будет.


RE: ERA III - wessonsm - 05.08.2020 18:34

Berserker, команда !!SN:U работает?

У меня почему-то выбивает ошибку "Unknown command "!!SN:U".
Пробовал и ZVSE, и ZVSE2 в заголовке скрипта писать.

Если работает, я тогда не пойму, что у меня не так...
Спотыкается на строке !!SN:Uy1/y2/63/66/1/0/0/0;


RE: ERA III - XEPOMAHT - 05.08.2020 18:42

(05.08.2020 18:34)wessonsm Wrote:  У меня почему-то выбивает ошибку "Unknown command "!!SN:U".
Пробовал и ZVSE, и ZVSE2 в заголовке скрипта писать.

[*] !!SN:U was renamed to !!SN:V (Vector).


RE: ERA III - wessonsm - 05.08.2020 19:01

XEPOMAHT, спасибо!
Недосмотрел в чейнджлоге.


RE: ERA III - Berserker - 05.08.2020 21:50

wessonsm, да, успел её переименовать, пока использовать не начали.


RE: ERA III - daemon_n - 08.08.2020 17:46

файл "heroscr4.pcx" лишний. Он отображает иконку командира с отключенным данным скриптом. В этом нет смысла, поскольку иконка (кнопка) добавляется wog native dialogs.era Yes


RE: ERA III - Berserker - 09.08.2020 00:23

daemon_n, а без wog native dialogs её не будет. Отключать плагин может понадобиться при проблемах с вводом китайского текста, например. Пока оставлю картинку.


RE: ERA III - daemon_n - 09.08.2020 02:54

нашел баг в Эра 3
ПКМ на вржеских существах открывает окно о них как ЛКМ на союзных. Ранее это контролировалось скриптом для опыта существ.


RE: ERA III - Bes - 09.08.2020 03:04

уверен? вроде это со времён WoG так и было. Это мне и понравилось когда-то, в отличии от SoD, когда надо было держать ПКМ и невозможно было посмотреть длительность заклов на вражеских отрядах


RE: ERA III - daemon_n - 09.08.2020 03:24

Bes, уже не совсем уверен) 96-copy


RE: ERA III - wessonsm - 09.08.2020 11:27

Я как вспомню Эра 2.46, сколько там было багов, и как посмотрю на тепеперишнюю Эру..
Эх, это небо и земля..
Простите, ребята, что-то я расчувствовался)


RE: ERA III - Bes - 09.08.2020 15:26

wessonsm, меня 2.46 вполне устраивала, о каких там багах ты говоришь? если только скриптовых из WoG?
ну и тех, что от SoD остались..


RE: ERA III - Archer30 - 10.08.2020 07:01

Berserker, you might wanna fix shotcuts from Map Editor - WoG Tools. They haven't been updated since WoG.

For example, check mine (placed in ...Mods\WoG\Data\MapEdPatch).

https://mods.hmm35.ru/ seems to be dead...


RE: ERA III - Berserker - 10.08.2020 14:20

Archer30, thanks, added to release.
mods.hmm35.ru works if using direct link. Anyway, we had elections yesterday and authorities blocked most of Internet resources till everything calms down.


RE: ERA III - daemon_n - 10.08.2020 15:58

Archer30, only in assembly path to sublime is "Tools\Erm Editor Sublime\"
in clean ERA it is "Tools\Erm_Editor_Sublime\"

Berserker, may be change in era to 1st variant, cause all the tools haven't "_" in its paths?


RE: ERA III - Berserker - 10.08.2020 16:21

daemon_n, лучше без пробелов, до сих пор тьма командных утилит, не любящих пробелы. А sublime — огромный комбайн с множеством плагинов и интеграцией питона. Спасибо, что указал.


RE: ERA III - Archer30 - 10.08.2020 20:53

RolleyesBerserker, is it possible to implement Chinese character input support for WoG Native Dialogs? Just got some players asking since they stucked with Living Skulls.


RE: ERA III - Berserker - 10.08.2020 22:00

(10.08.2020 20:53)Archer30 Wrote:  RolleyesBerserker, is it possible to implement Chinese character input support for WoG Native Dialogs? Just got some players asking since they stucked with Living Skulls.

Archer30, not by me, sorry. It's igrik's plugin and he also does not know, what the main issue with special soft for Chinese characters fast input.


RE: ERA III - wessonsm - 12.08.2020 23:37

Не уверен, можно ли это считать багом, но сейчас команда !!HE:P возвращает координаты 65535/65535/65535, если героя нет на карте.
Раньше она возвращала -1/-1/-1.
Это может быть критично для некоторых скриптов, где присутствие героя на карте проверялось примерно так:
!!HEv1:P?y1/?y2/?y3;
!!if&y1>-1:;


RE: ERA III - Berserker - 13.08.2020 00:32

wessonsm, спасибо, исправлю в следующем релизе.


RE: ERA III - daemon_n - 17.08.2020 13:05

Предлагаю ещё вернуть анимации победы и поражения в сценарии. Уж очень они ностальгию наводят)


RE: ERA III - Berserker - 17.08.2020 18:08

daemon_n, а их кто-то удалял разве?


RE: ERA III - XEPOMAHT - 17.08.2020 18:12

(17.08.2020 18:08)Berserker Wrote:  а их кто-то удалял разве?

В кастратных версиях игры традиционно удаляются (т.к. они на CD в оригинале). Архив со всеми роликами полгига почти весит. Можно просто залить его куда-нибудь для тех, у кого нет.


RE: ERA III - daemon_n - 17.08.2020 18:31

Berserker, дело не в том, что они удалены, а в том, что не проигрываются.


RE: ERA III - Berserker - 22.08.2020 18:49

Для будущей сборки от daemon_n обновление DLL:
https://dropmefiles.com/mVx0z
[-] Fixed bug: HE:P used to return unsigned 65535 instead of signed -1.
[-] Fixed bug: ERM compiler didn't process post-triggers.
[-] Fixed bug, causing SN:K with 3 parameters to return garbage string instead of valid character.


RE: ERA III - daemon_n - 23.08.2020 15:01

Berserker, спасибо за файл) намёк понял Ab


RE: ERA III - daemon_n - 23.08.2020 16:34

Berserker, все не получается разобраться с команддой SN:R
она лишь в иснтрукции работает?
пытаюсь заменить текстовый файл, но не выходит


RE: ERA III - PerryR - 23.08.2020 16:35

Berserker, good to see you are still working.
I send you a little bug report in the discord Ab


RE: ERA III - Night - 23.08.2020 18:14

Блин, раз уже всё больше и больше намёков, экивоков на Эру 3, пора уже начинать пользоваться потихоньку, тестить... А то Berserker, скриптец на Эру3 сделает, хитрец Sm, то daemon_n, затравочное сообщение делает, мол "Скоро на всех мониторах страны, самое лучшее" Sm

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

Но честно признаюсь - когда прочитал про релиз, то сначала обрадовался, потому что реально много отличных нововведений, тем более само развитие не стоит на месте, это правильно... Но потом малодушно подумал:
"Бааагов будет... подожду пока другие потестят, потом нормальную исправленную поиграю" =)
Как-то играть хочется, а страдать в ошибках - нет.Rolleyes

Вот как-то первое, что в голове промелькнуло... Хотя частично в своё оправдание скажу, что играя по сети, эксперименты с новыми не обкатанными версиями Эры не очень хочется проводить. Слишком уютная атмосфера в процессе игры, которая итак порой портиться, когда по часу-другому мелкие крит ошибки исправлять приходится в текущей версии, а тут такое серьезное испытание и поле для тестов.
Но раз уже к полноценному релизу подбираемся, не только от Berserker, но и daemon_n, сборку готов предоставить, то хочется прояснить один основной момент по Эре3, на который вконтакте был создан опрос даже.

В частности узнать, какие скрипты будут недоступны?

Мне сложно сходу понять, насколько непростой вопрос задал, поэтому попробую выдвинуть предложение, а там уж, зная сцецифику вопроса, скажите, почему нельзя или сложно сделать так, как я предложу.

По примеру WoG-меню из скринов ниже - закрасить разными цветами, что доступно в Эре3 (зеленным), что недоступно будет совсем или некоторое время до обновления кода (красным).
Чтобы наглядно было видно, что в данным момент отсутствует. Мне просто без некоторых скриптов совсем игра не идёт и не представляю, как без них играть - настолько уже привычны и удобны, геймплейно желательны.
И подобное сделать для всего Вог-Меню (фактически соответствующие), а там уже предметно каждый решит, без чего он будет играть и сможет обойтись, а где нужно оперативно подсуетиться (или подсуетить другого 96) к исправлению.
Остается отдельный вопрос к сторонним модам, но то, что лично я использую, вполне себе живые и активные авторы способны оперативно подправить, если будет несовместимо. Я надеюсь.

Сколько смысла в таком предложении и возможен ли такой подход или всё немного (или даже много) не так и такое прояснение в принципе невозможно?


RE: ERA III - Berserker - 23.08.2020 21:38

daemon_n, txt файлы загружаются ещё до создания основного окна игры и более не выгружаются. Здесь нужен Lua/C плагин, который вызывает GlobalRedirectFile в событии OnAfterWoG, например.

Quote:Слишком уютная атмосфера в процессе игры, которая итак порой портиться, когда по часу-другому мелкие крит ошибки исправлять приходится в текущей версии
Как я тебя понимаю. Сам долгое время пытался повлиять на автора игры Leylines, чтобы тот поправил баги сетевой игры. С б ратом нам очень нравилось, но ни одной игры в splitscreen не могли довершить. Тщетно. Хорошо, когда есть опорные стабильные версии, на которых можно просто играть, а не тестировать.

Night, доступно всё. Просто вылезают иногда мелкие несовместимости или что ещё хуже, ранее скрытые баги и опечатки, которые ныне рапортуются как ошибки. Реальные баги Эры 3 буду править. Спасибо всем за отчёты.

PerryR, will be able to open Discord tomorrow, I hope, thanks.


RE: ERA III - Berserker - 24.08.2020 22:06

Срочное микрообновление: https://dropmefiles.com/iG89Z
[-] Fixed bug, causing many Era commands to return garbage after valid string contents. Credits: PerryR.


RE: ERA III - Bes - 24.08.2020 22:19

Berserker, такого бага нет на era2 ?


RE: ERA III - Berserker - 24.08.2020 22:41

Bes, нет.


RE: ERA III - Berserker - 25.08.2020 00:08

https://dropmefiles.com/t0ayD
[+] Extended town income limits from -32768..32767 to -2147483648..+2147483648 and added new event OnCalculateTownIncome
    with three parameters: Town ID, Income (gold amount), Account resource silo? (0 or 1).


RE: ERA III - Bes - 27.08.2020 00:16

Berserker, использование ini-файлов для хранения данных ещё оправдано, или уже надо все эти манипуляции с записью/чтением значений переводить на SN:M функционал?
я не знаю достоинства/недостатки того или иного по части скорости операций, загрузки игровой памяти, удобства с сохранёками и пр.моментов..


RE: ERA III - Berserker - 27.08.2020 03:27

Bes, для чтения — да, для записи → насилие над диском (каждый раз весь файл записывается).


RE: ERA III - Bes - 27.08.2020 03:30

Berserker, короче, если нужно периодически в процессе игры менять значения, то лучше отказаться от ini ? ок, взял на заметку


RE: ERA III - helgtla - 27.08.2020 19:11

Есть проблемы с ресивером !!IF:N
не работает синтаксис вида: !!IF:N^Текст^;
работать стало только так:
!!VRz1:S^текст^;
!!IF:N9/10/9/11/9/12/9/13;
!!IF:N1/z1;

Это поправимо в ближайшее время?


RE: ERA III - Bes - 27.08.2020 19:20

helgtla, а если синтаксис ERM2 ?
!!IF:Ns^Текст^;
Unsure


RE: ERA III - helgtla - 27.08.2020 19:36

Bes, так тоже не работает.
Уточнение, изначально диалог показывается (и показывается верно), но после сообщает об ошибке (что-то про то, что неверные индекс Z переменной 0). И если в триггере есть ещё какие-либо рессиверы (далее по тексту скрипта)- может выдавать ошибки по ним (неизвестная команда)


RE: ERA III - Berserker - 27.08.2020 20:33

Quote:helgtla, а если синтаксис ERM2 ?
!!IF:Ns^Текст^;
Bes, s^Текст^ — это глобальная строковая SN:W переменная с именем «Текст», а нужно просто ^Текст^.

https://dropmefiles.com/hkzHx
[-] Fixed bug: IF:N$ used to cause ERM errors and crashes. Credits: helgtla.


RE: ERA III - helgtla - 27.08.2020 21:18

Berserker, Спс, заработало20, надеюсь, что daemon_n так же оперативно дополнит этим фиксом сборку.


RE: ERA III - Berserker - 27.08.2020 21:52

helgtla, спасибо за отчёт. Будет что ещё досадное — сразу пиши )


RE: ERA III - Archer30 - 28.08.2020 11:02

Hi Berserker, I'm a bit confused here...

zaobjts.txt has 1416 objects while the object count on top is on only 1415. As far as I know, the wrong count here could result in serious issue. But this seem to have been quite a while and I don't have any issue at all. Should it be corrected?

Edit: Sorry, 1416 is for ERA 2. For ERA 3 it should be 1415 as ZTPort.def was cut.


RE: ERA III - Berserker - 28.08.2020 14:43

Archer30, thanks, fixed. Crashes occur only if objects count is greater, than real number of lines. But less is ok, just the last object is excluded from generation at all ))


RE: Сборка HoMM3 ERA с модами. - ArKan - 28.08.2020 21:53

С новой Эрой возможно сделать независимый наем войск в городах?


RE: Сборка HoMM3 ERA с модами. - Berserker - 28.08.2020 22:53

ArKan, поясните, пожалуйста.


RE: Сборка HoMM3 ERA с модами. - daemon_n - 28.08.2020 23:00

Berserker, как я понял, возможность нанимать отдельно улучшенных и неулучшенных существ


RE: Сборка HoMM3 ERA с модами. - ArKan - 28.08.2020 23:25

Да. Обсуждалось уже со старым функционалом.

Интересно как с новым.


RE: Сборка HoMM3 ERA с модами. - daemon_n - 28.08.2020 23:37

ArKan, а что за старый? Мод на доп существ же есть - вот


RE: ERA III - Archer30 - 29.08.2020 13:42

Hi Berserker,

Nagash's spec doesn't work, he seem to have no spec now, neither +350 gold nor veil of darkness.
As for Jeddite, he still has his spec from WoG (Rebuiilding).

I kinda remember that you intended to revert their specs to H3 vanilla in ERA 3?


RE: ERA III - Berserker - 29.08.2020 13:47

Archer30, right, will check it out, thanks.

Use system (Windows) file inputs plugin. Credits: igrik.
https://dropmefiles.com/Ej8mo


RE: ERA III - igrik - 29.08.2020 17:11

Berserker, а что это и как оно работает? И почему "Credits" мои?


RE: ERA III - Berserker - 29.08.2020 18:06

igrik, не сработало. Завтра посмотрю, в чём проблема. Плагин должен просто загружать wog native dialogs и вызывать твою экспортируемую функцию в событии OnAfterWoG. Здесь первая версия со статическим импортом, но вторая просто вылетает. Не было времени с ходу понять, в чём проблема.


RE: ERA III - Archer30 - 30.08.2020 13:36

Hi Berserker,

There is a bug probably was originally from SoD that I hope to be resolved someday.

Wrong town description of random maps:
Image: hPN264E.png

As you see in the picture, blue is Conflux while the text description says it's Rampart, which is incorrect.
In fact, The type of town in the description is only related to player's colour (ie: Red - Castle, Blue - Rampart) instead of the actual choice the player made.

Apart from resolving this bug, a further request is to have these text exported to an external files so that it can be localized.

Btw, the issue about zaobjcts.txt I reported here was wrong. I used txt from ERA 2 and thought it was the same. 1415 would be the corrected number for ERA 3.

UPD: Thank you Berserker and igrik! Berserker slipped away too soon from Discord, but the plugin of wog 3.58 input dialog worked like a charm! That's just too good to be true!


RE: ERA III - helgtla - 30.08.2020 15:23

(27.08.2020 21:52)Berserker Wrote:  helgtla, Будет что ещё досадное — сразу пиши )
Пример:
В 2.9.х такой пример работал корректно. Т.е. бой стартует с монстром (триггер ивент), монстру даётся герой, который ставит мины и пески (игрок их не видит и они для него враждебны- при попадании урон/остановка). В 3.0.3 - установленные мины/пески для игрока "свои"(игрок их видит и они не причиняют урона) , а для "защитника"-враждебны (урон+ остановка).
Такое поведение теперь(3.0.3) ТОЛЬКО при условии, что бой "навязан игре" (триггер ивент), в случае если бой стартует "стандартно" с монстра/монстра в гарнизоне (которым выдаётся герой)- всё работает корректно.
В принципе у себя я поправил подобное заменив ресиверы вызова мин/песков на !!BH1&v5183=6:Q0/90/0; !!BH1&v5183=6:Q1/106/0; с ними проблем нет.
Суть: !!BM21 в 3.0.3 "работает" только при стандартной инициализации битвы(в 2.9.х - работало всегда, независимо от того, что послужило началом сражения).


RE: ERA III - daemon_n - 30.08.2020 18:30

Команда !!UR#1/#2/#3:XXXX; - университет в X Y L. Университет - тип 104.
перестала работать
!!URx1/x2/x3:Sy1/?y2/?y3/?y4; - в игре пишет "wrong internal university index" (типа нерабочая зона) - если нажать ПКМ на "желтый" квадрат (клетка посещения), игра вылетает.
На 2.9.14 всё работало.

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

Berserker, обновил сборку до Эры 3, называется, надеюсь, силы и время на все это есть36 Удачи!


RE: ERA III - Berserker - 31.08.2020 04:31

daemon_n, на тестовой карте проверял? Всем спасибо, буду смотреть.


RE: ERA III - RoseKavalier - 31.08.2020 06:05

(30.08.2020 13:36)Archer30 Wrote:  Hi Berserker,

There is a bug probably was originally from SoD that I hope to be resolved someday.

Wrong town description of random maps:
Image: hPN264E.png

As you see in the picture, blue is Conflux while the text description says it's Rampart, which is incorrect.
In fact, The type of town in the description is only related to player's colour (ie: Red - Castle, Blue - Rampart) instead of the actual choice the player made.

Apart from resolving this bug, a further request is to have these text exported to an external files so that it can be localized.

Method 1
Code:
_LHF_(RMG_PlayerTownSelection)
{
    c->eax = (*c->Local<INT8*>(4)) * 4;
    return EXEC_DEFAULT;
}
...
pi->WriteLoHook(0x54A4A2, RMG_PlayerTownSelection);
Method 2
Code:
bin patch @54A495
EB 03 90 90 90 F3 A4 8B 45 F0 8B 00 8D 95 DC FC FF FF C1 E0 02
Image: iJfNZnA.png

The description text is hardcoded in exe, it would be simplest to just rewrite it all with a hook using external json as text source starting at 54A2B0 and skipping to 54A4FA.


RE: ERA III - Archer30 - 02.09.2020 01:05

With so much effort and enlightenment from RK, my first bin patch is here.
rmg town info fix.bin
Code:
01 00 00 00 95 A4 54 00 15 00 00 00 EB 03 90 90 90 F3 A4 8B 45 F0 8B 00 8D 95 DC FC FF FF C1 E0 02
I know it has no use since RK is going to release his new mod about this. But this post is for remembering that for this patch I did not sleep last night. So many variants I tried and so many hours of testing, and it turned out my only mistake was forgetting to put the bin in ERAplugin\AfterWoG, instead it was in ERAplugin.


RE: ERA III - Berserker - 02.09.2020 16:45

RoseKavalier, thank you very much for info.

Quote:Berserker, можно ведь скрыть как-то кнопки на карте приключений?
Не в курсе.

Archer30, congrats with hard success Rolleyes. Write here if you fail to apply binary patch again ))))


RE: ERA III - XEPOMAHT - 02.09.2020 17:33

(02.09.2020 00:42)daemon_n Wrote:  можно ведь скрыть как-то кнопки на карте приключений?

Попробовать вызывать содовские функции DlgItem_Enable и DlgItem_Disable для диалога карты приключений разве что, если делать без костылей.


RE: ERA III - Archer30 - 02.09.2020 19:16

Berserker, next time I will not fall into such simple mistake again 96-copy

I have got a new question here - In ERA 3, names of creatures loads from crtraits.txt, and after wogification it loads from zcrtrait.txt instead. Is there any benefit of using different files? Is there any other text resources using the same strategy (using different files after wogification)?


RE: ERA III - Berserker - 02.09.2020 21:23

Archer30, all txt files are loaded before main window creation and are not reloaded anymore.
Look at Mods\WoG\Data\Redirections\Missing\era.json
You will find which files game uses, when it does not find requested resources. No zcrtrait => crtrait.txt there.


RE: ERA III - Archer30 - 02.09.2020 22:52

Berserker, thanks. It's pretty strange. I struggled with the Englsh creature names quite some time in scenario screen (right click on selected faction) with my localization mod loaded, and those names are all localized after starting a map. But now I can't reproduce it.
Maybe it's a failure of VFS. I should keep both zcrtrait.txt and crtraits.txt to prevent unexpected problem.

PS: Sometimes I extract txt in ...\mods\[mod name]\data to make some quick edit. I know it would interfere VFS. But even when I remove those txt, the VFS is frequently still messed up.


RE: ERA III - Berserker - 02.09.2020 23:04

Archer30, if txt file is present in data, it will be loaded and used until you terminate Heroes 3 executable. VFS should not be the source of issue.


RE: ERA III - daemon_n - 03.09.2020 18:49

Berserker, не помогло - "волшебство" на университете всё ещё крашит.

Code:
EIP: Era.45567 (Erm.Hook_ZvsApply + 31 in Erm.pas on line 4979 offset 3). Code: C0000005

> Registers
EAX: D88EBEF8 (int: -661733640)
ECX: 00000000 (int: 0)
EDC: 1AB776B0 (int: 448231088, pint: 0x00000011 = 17)
EBX: 0748DC18 (int: 122215448, pint: 0x00000000)
ESP: 02D30A2C (int: 47385132, pint: 0x0748DE26 = 122215974)
EBP: 02D30A44 (int: 47385156, pint: 0x02D30A84 = 47385220)
ESI: 02D30CEC (int: 47385836, pint: 0x00000014 = 20)
EDI: 1AB77600 (int: 448230912, pint: 0x1AB77580 = 448230784)



RE: ERA III - Berserker - 03.09.2020 21:00

Данный скрипт не рекомендуется использовать в реальных проектах. Он использует механизмы, которые могут быть изменены и позволяет памяти утекать.
По правой кнопке мыши на карте приключений циклически играет файл ACID.wav.




RE: ERA III - Bes - 03.09.2020 21:06

Berserker, 132 , таки сделал что хотел?


RE: ERA III - Berserker - 03.09.2020 21:31

Bes, нет, это просто кирпичики, заменить нужно весь механизм, но по сути он состоит из функций и нескольких структур данных.


RE: ERA III - Berserker - 04.09.2020 02:24

По запросу GarryR пишу универсальный настраиваемый мод Mixed Neutrals. Феникс всегда возрождается.


RE: ERA III - Algor - 05.09.2020 22:32

3.0.4:

Синтакис освобождения, типа !#VA(-myArts); вызывает ошибку:
Image: e3err1.jpg

1000 era - consts.erm:
!#DC(PRIM_SKILL_FIRST) = 0;
!#DC(SKILL_ATTACK) = 0;
!#DC(SKILL_DEFENSE) = 0;
!#DC(SKILL_POWER) = 0;
!#DC(SKILL_KNOWLEDGE) = 0;
!#DC(PRIM_SKILL_LAST) = 3;

1000 era - stdlib.erm:
Не мешало бы добавить (week), (month) и переименовать (isAi) в (isAI)


Точно проверить не могу (см п.1), но сильно подозреваю, что в общем случае пример из changelog'а не корректен, т.к номера могут выделяться не последовательно:



RE: ERA III - Berserker - 05.09.2020 22:52

Algor, спасибо, исправляю.

Я в именовании придерживаюсь соглашения о только первой заглавной в аббревиатурах. То есть ToHtml вместо ToHTML и GetId вместо GetID. Поскольку много капса сложно печатать.

Quote:Не мешало бы добавить (week), (month)
И monthWeek (0..3). Тут будет удобнее набор глобальных переменных. Их и проверять проще прямо в условии триггера.

Предлагаю:

i^timerDay^ 1..+inf
i^timerWeekDay^ 1..7
i^timerMonthDay^ 1..28
i^timerWeek^ 1..+inf
i^timerMonthWeek^ 1..4
i^timerMonth^ 1..+inf
i^timerOnce^ 0..1
i^timerOwner^ 0..7
i^timerIsAi^ 0..1
i^timerIsHuman^ 0..1

Quote:Точно проверить не могу (см п.1), но сильно подозреваю, что в общем случае пример из changelog'а не корректен, т.к номера могут выделяться не последовательно:
Я зарелизю мод сегодня, посмотришь. Индексы для массивов всегда последовательные.


RE: ERA III - Berserker - 05.09.2020 23:13

Вылет исправлен.
https://dropmefiles.com/PSysA


RE: ERA III - Algor - 06.09.2020 01:57

(05.09.2020 22:52)Berserker Wrote:  Я зарелизю мод сегодня, посмотришь. Индексы для массивов всегда последовательные.

Да, ругается, что не может выделить, если нет нужного последовательного куска. С одной стороны это хорошо, можно использовать такое свойство непрерывности. С другой - могут появиться проблемы с фрагментацией.
Нужно ли что-то менять? Наверное, нет. Просто учитывать, что большой массив из локальных переменных не всегда можно выкусить и использовать временные SN:M-слоты с последующим освобождением.


RE: ERA III - Berserker - 06.09.2020 02:04

Algor, для этих целей в SN:M добавилось значение 4-го параметра в виде (SN_M_TRIGGER_LOCAL). Массив автоосвобождается по выходу из текущего триггера. В моде на смешанные нейтралы активно пользуюсь.

По фрагментации всё верно. Можно через !#VA в начале функции объявить массивы, которые потом освобождать. Для огромных данных SN:M и SN:V в помощь.


RE: ERA III - Algor - 06.09.2020 02:14

(06.09.2020 02:04)Berserker Wrote:  Algor, для этих целей в SN:M добавилось значение 4-го параметра в виде (SN_M_TRIGGER_LOCAL).
Угу, видел в описании. Удобно.

(06.09.2020 02:04)Berserker Wrote:  По фрагментации всё верно. Можно через !#VA в начале функции объявить массивы, которые потом освобождать.
Если в своей функции, то зачем освобождать, если при выходе они и так обнулятся?
А если в общем триггере, это не поможет, т.к. хрен знает сколько таких переменных уже занято и не освобождено сторонними скриптами. Или я что-то не так понимаю? На примере сферического кода в вакууме:

UPD: туплю (сонный уже), написал код, а запустить и посмотреть не судьба.
Будет 1.
Но вопрос не в том, а в том, что объявление (myVar:y) затерло фактически использовавшуюся y1, т.е.


С этим могут быть проблемы. Наверное. Подумаю на свежую голову.


RE: ERA III - daemon_n - 06.09.2020 02:17

Algor, 1


Рад снова видеть!Rolleyes



RE: ERA III - Berserker - 06.09.2020 02:22

daemon_n, всё верно. будет 1 всегда. Потому как имена локальных переменных определены только до следующего триггера в тексте. Собственно, всё верно. Каждый обработчик будет насиловать y1..y100 по-своему.


RE: ERA III - Algor - 06.09.2020 02:30

(06.09.2020 02:22)Berserker Wrote:  Собственно, всё верно. Каждый обработчик будет насиловать y1..y100 по-своему.

Т.е., фактически, можно вообще никогда не использовать синтаксис освобождения, кроме отдельных способов особо циничного извращения (это я про попытки использования многих больших временных массивов без SN:M)

daemon_n, взаимно, но я пока еще не надолго.


RE: ERA III - Bes - 06.09.2020 02:34

(06.09.2020 02:14)Algor Wrote:  Но вопрос не в том, а в том, что объявление (myVar:y) затерло фактически использовавшуюся y1, т.е.


С этим могут быть проблемы. Наверное. Подумаю на свежую голову.
Berserker, а вот да, вопрос почему !!VR(myVar:y):S1; возьмёт y1, а не y2. ERM2 разве не смотрит, есть ли в использовании y1 до присвоения ей метки myVar ???Unsure


RE: ERA III - Berserker - 06.09.2020 02:41

Algor, да, но вдруг тебе сперва нужен массив на 50 ячеек, потом высчитать среднее по ним, потом сгенерировать другие 50 чисел на основе среднего + рандома. Вот тут и придётся, чтобы уместиться в y1..y100 и использовать два разных логических имени, таки освободить первый массив. А так будет очень редко использоваться.

Bes, локальные переменные локальны для одного триггера до следующего триггера в тексте. Реальный код точно также переиспользует y1.

!?BA0;
!!BA:H0/?y1;
...

!?BA0;
!!OW:C?y1;
...


RE: ERA III - Algor - 06.09.2020 12:18

(06.09.2020 02:41)Berserker Wrote:  Algor, да, но вдруг тебе сперва нужен массив на 50 ячеек, потом высчитать среднее по ним, потом сгенерировать другие 50 чисел на основе среднего + рандома. Вот тут и придётся
Это как раз тот случай, который я выше описал как "особо циничное извращение".


(06.09.2020 02:41)Berserker Wrote:  Bes, локальные переменные локальны для одного триггера до следующего триггера в тексте. Реальный код точно также переиспользует y1.

Берс, даже внутри одного триггера:


Т.е. использовать смешанный стиль вообще раскованно и, по-хорошему, недопустимо.

Это НЕ плохо.

Если взялся за оружие написал ZVSE2, будь готов получить пулю добр использовать только новые правила. Главное, чтобы при этом не возникало коллизий с используемым в сборке старым кодом. Навскидку, да, не должно. На практике - посмотрим.


RE: ERA III - Berserker - 06.09.2020 16:11

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


RE: ERA III - daemon_n - 06.09.2020 17:00

!!HE-1:N?y1;
   при смене героя кликом на интерфейсе не изменятся, пока новый герой не совершит действие - считаю, это баг, ведь активный герой теперь другой102


RE: ERA III - Berserker - 06.09.2020 17:16

daemon_n, активный/выделенный герой возвращается через OW:A.
Использовать -1 вместо номера героя не рекомендуется вообще. Это значение в ЕРМ, которое заполняют часть триггеров, активируемых героем. Часть, не все. Любые вложенные события его могут переписать. Потому делаем сразу !!HE-1:N?(hero:y) и далее уже пользуемся переменной. И да, до события !?HM, как видишь, -1 не работает. Это не баг.


RE: ERA III - daemon_n - 06.09.2020 17:29

Berserker, спасибо огромное - ты заставил рабоать скрипт верно!Dance3


RE: ERA III - Algor - 06.09.2020 18:28

era iii changelog Wrote:Note, that similar OnBattleStackObtainsTurn event occurs when stack becomes active and is not related to regeneration phase at all.
    Normally OnBattleStackObtainsTurn occurs after OnBattleRegenerationPhase but may also be triggered manually by calling
    464F10 (THISCALL, ecx = CombatManager, Side 0..1, StackInd 0..21).

Мне надо при помощи ERM в произвольном месте кода передать активность нужному мне отряду. Фаза регенерации не нужна. Можно пример?


RE: ERA III - Berserker - 06.09.2020 18:57

Не проверял, но попробуй:



RE: ERA III - Bes - 07.09.2020 19:15

(22.08.2020 18:49)Berserker Wrote:  Для будущей сборки от daemon_n обновление DLL:
https://dropmefiles.com/mVx0z
[-] Fixed bug: HE:P used to return unsigned 65535 instead of signed -1.
[-] Fixed bug: ERM compiler didn't process post-triggers.
[-] Fixed bug, causing SN:K with 3 parameters to return garbage string instead of valid character.
нет упоминания об этом исправлении в основном changelog листе исталлятора. 141
надеюсь, просто забыл добавить текст, а само исправление уже включено?


RE: ERA III - Berserker - 07.09.2020 21:05

Bes, это исправление переименовано в более общее.


RE: ERA III - igrik - 08.09.2020 17:10

Berserker, в 1000 era - const.erm
Id первичных скиллов ты недозаполнил



RE: ERA III - Berserker - 08.09.2020 17:26

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

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


RE: ERA III - Berserker - 16.09.2020 04:03

[+] Added exported functions for array sorting:
// Sorts given integer array in ascending order
procedure SortInt32 (Arr: pointer to array of integer; MinInd, MaxInd: integer); stdcall;
// Sorts given integer array in ascending order using custom ERM comparator function
procedure Erm_CustomStableSortInt32 (Arr: pointer to array of integer; MinInd, MaxInd: integer; ComparatorFuncId: integer; State: integer); stdcall;

The caller passes ID of ERM function, which will be used for items comparison. The function must return:
    - 0 if two values are equal;
    - positive number if the first value is greater than the second one (i.e. +1);
    - negative number if the first value is smaller, than the second one (i.e. -1).

The comparator function prototype is:
Function will always receive special 'State' argument, containing the value, you specified calling Erm_CustomStableSortInt32.
This value may hold array ID, some structure address or any other useful custom data.



RE: ERA III - Archer30 - 18.09.2020 14:38

Hi Berserker, There is a small issue with the bin patch skeleton transformer fix.

As I notice that it enables hydra family to be transformed into bone dragons, which is quite good, however it has some issues.
1. Hell Hydra is not included. It still turns into skeleton.
2. If this patch makes hydra transform into bone dragon, then maybe hydra should have dragon nature as well (boost by dragon spec)?
3. And maybe Slayer should be considered too? (although that requires text change)

My preference: 1# is necessary to fix, as it's purely a bug. 2# and 3# hmmm...leave it be maybe.


RE: ERA III - Berserker - 18.09.2020 15:44

Archer30, I'm not original patch author, just included it in the first Era versions probably.


RE: ERA III - Archer30 - 18.09.2020 15:47

Oh, I see. Personally I don't think what this patch does makes sense to me in the first place. Maybe considering disable it by default?


RE: ERA III - Bes - 18.09.2020 16:00

я на выходных займусь, если никто не опередит, hell hydra и сделаю новый skeleton transformer fix.bin Sorry


RE: ERA III - Archer30 - 18.09.2020 16:09

That will do too 96-copy Thanks Bes


RE: ERA III - Bes - 19.09.2020 04:33

SKELETON TRANSFORMER FIX.BIN
Code:
; CREATURE XX TRANSFORMING TO YY
;
; 157 to 68
7C3F74 44
;
; 196 to 196
7C4010 C4



RE: ERA III - Bes - 19.09.2020 04:58

Berserker, я до сих пор использую bingen.exe, который как я понял в последствии стал BinMagic Unsure
Кстати, мне вдруг стало странно, что прочие не драконоподобные существа 7+ уровней также превращаются в Скелета Dry Может стоит этот патч нормально так расширить, чтобы всякие там Верховные Архангелы тоже становились не скелетами, а чуть мощнее? Драконами костяными?
В игре явно не хватает градации для конвертирования. Мы имеем только
- улучш.Единорог и Чемпион в Чёрного Рыцаря
- драконы в Костяного дракона
- все остальные в Скелета
- Боги/машины/башни естественно не подпадают по трансформатор


RE: ERA III - daemon_n - 19.09.2020 04:59

Bes, сразу скажу, что нет - по лору только драконы и гидры. Я бы только добавил драколича, горыныча, кровавого дракона, если они тоже в скелетов превращаются.

Archer30, does the bone dragon have dragon nature?


RE: ERA III - Bes - 19.09.2020 05:05

daemon_n, извини, не увидел что ты тож на форуме, думал втихую отредактирую себя, а получилось криво
Нет, Горынычи и Кровавые в Костяного превращаются, тут всё ок Yes
а вот что вся нежить Некрополиса трансформируется в Скелета, имхо, не логично. Вот это можно было бы поправить в патче (Привидение, кстати разрабы отключили от трансформации, и правильно)
Image: f215eeeb76a2.png


RE: ERA III - daemon_n - 19.09.2020 05:13

Bes, но не драколичи


RE: ERA III - Bes - 19.09.2020 05:18

daemon_n, забыли? или в разные временные этапы разные люди кодом занимались и потому последних просто проглядели 105


RE: ERA III - Bes - 19.09.2020 05:33

Berserker, короче, в патче оставил две правки
Драколичи в драколичей, Адские Гидры в костяных драконов
Мумий убрал, они будут, как и родственная нежить Некрополиса, превращаться как было прописано изначально. Я б под такую механику и Привидений в скелетов сделал, но... это не мне решать.
В общем, если согласишся ВСЮ нежить отлучить от трансформации, то добавлю их без вопросов


RE: ERA III - daemon_n - 19.09.2020 05:46

Bes, не-не-не, всё есть скелеты)
Большинство стратегий игры за некров преобразует 1-3 лвл некросуществ в скелетов.


RE: ERA III - Berserker - 19.09.2020 16:21

Согласен с daemon_n.
В оригинале драконы в драконов тоже превращались?


RE: ERA III - Bes - 19.09.2020 16:28

да, в оригинале и было, смотри ФИЗМиг, и конь в коня тоже оттуда. Ну, если тока WoG Team что-то не изменяло в этой таблице. Я лишь две позиции изменил, как видно выше...


RE: ERA III - Bes - 21.09.2020 00:26

Berserker, а ты для ERA3 будешь на github у себя инфу дополнять?
там отметка последняя в августе стоит Unsure


RE: ERA III - Berserker - 21.09.2020 01:08

Bes, не понял вопроса. Код в репозитории обновляется постоянно.


RE: ERA III - Bes - 21.09.2020 02:05

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


RE: ERA III - Berserker - 21.09.2020 02:22

Bes, там вообще какая-то дичь отображается. Например 2.8.4 не последний релиз. Так и не понял, почему.


RE: ERA III - daemon_n - 21.09.2020 04:49

Berserker, круто!!
ссылка на файл мертва.


RE: ERA III - V_Maiko - 21.09.2020 04:56

Any news about loop sounds support in this versión? Ab


RE: ERA III - Berserker - 21.09.2020 15:42

V_Maiko, postponed to the nearest versions (3.06, probably). I remember about it, written in TODO list Yes
daemon_n, спасибо, обновил.


RE: ERA III - Night - 22.09.2020 04:01

Berserker, послали направили меня сюда, по моему вопросу.
Суть из двух частей.

По первому моменту хочу узнать, отчего в новой Эре 3.0.4 (может и ранее) появилось два файла fast upgrade stacks in town.dll? Один находится в WoG и весит 10 752 байт, второй находится в GEM и весит 45 568 байт. По работе обоих файлов, каждого по отдельности я видео записал, но словами скажу, что тот, что "толще" - лучше. Он улучшает из 7 уровня существ в 8 уровень, при нажатии A + LMB, если опция На улучшенных существ включена, а тот, что в WoG на 10,5 кб - он только по существам SoD'a производит улучшения, а WoG не улучшает.

Плохо это тем, что скачав сборку, я открыл плагины, увидел, что мой основной используемый плагин отключен и включил его и у меня не улучшались существа WoG'a, только SoD'a.
Как-то разобраться с этим нужно, один оставить наверно. Лучший.

Второй момент связан также с fast upgrade stacks in town.dll и в частности его невозможность использовать в сетевой, при том, что играя с теми же настройками в одиночной никаких проблем нету. На записанном видео это показано. Спасает только дополнительный плагин, которые я подрубаю в HD-mod - Plugin.AutoGradeMonInTown.dll. Он улучшает не так хорошо, как fast upgrade stacks in town.dll в одиночной, но по крайней мере мобов SoD'a улучшить можно.

Плагин fast upgrade stacks in town.dll за авторством igrik, вроде бы...? Посмотрите пожалуйста, что не так с ним, когда по сети играешь. Возможно такой же код/запрет, как в BattleReplay был..




RE: ERA III - daemon_n - 22.09.2020 04:22

Night, Gem - это мой мод. Туда добавлен плагин, чтобы быть по умолчанию включенным.


RE: ERA III - Berserker - 22.09.2020 04:29

Night, в Эре нет указанных плагинов. В сборке игрика/даемона есть. Потому помочь с ними не могу.


RE: ERA III - Night - 22.09.2020 04:30

daemon_n, если твой включенный и работает отлично, зачем второй? Чтобы я его постоянно удалял из новой сборки? Такое себе...

Вот смотри - качаю сборку 3.0.4 по ссылке у тебя в подписи, устанавливаю чистую, открываю "Управление плагинами"

Это тот, что весит 10.5 кб и не гредит из 7 в 8. Твой в GEM он включен и работает отлично. Хорошо. Тогда на скрине который - зачем?
Только удалять, как скачал сборку, чтобы не мазолил глаза...


P.S. Если не твой daemon_n и не berserker'a - то кто туда его засунул?


RE: ERA III - daemon_n - 22.09.2020 04:41

Night, либо он всё-таки есть в чистой эре (скачай и поверь), либо я забыл удалить, что маловероятно116


RE: ERA III - Night - 22.09.2020 04:49

daemon_n,
Quote:либо я забыл удалить, что маловероятно

Зафиксировал Sm
Есть и в чистой эре и ты видимо забыл удалить в сборке.



RE: ERA III - daemon_n - 22.09.2020 04:52

Night, нет, я не забыл удалить (я бы забыл удалить, если в Эре данного плагина не было). Как я говорил ранее, мод Вог я более не изменяю. Чтобы пользователи могли обновить Эру сами, если я на обновляю сборку.


RE: ERA III - Night - 22.09.2020 04:58

daemon_n, ну тогда видимо Berserker'у из Era нужно убирать, раз в GEM он всегда будет? К чему плодить сущности разных файлов, создавая путаницу.
Щас запустил проверить с двумя включенными файлами - улучшает. А первый раз не улучшало, когда включил файл из папки WoG.
И вот разбери, когда она будет туда-сюда и кто еще включит, увидел, что у него отключено.


RE: ERA III - daemon_n - 22.09.2020 05:05

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


RE: ERA III - daemon_n - 22.09.2020 09:42

Berserker, а что за новый мод? Точнее, зачем скрипты вынесены в него?


RE: ERA III - wessonsm - 22.09.2020 11:18

(21.09.2020 03:44)Berserker Wrote:  [*] Creating array using SN:M with 5 parameters does not change v1 anymore.

При автовыделении номера массива (первый параметр -1) он по-прежнему пишется в v1?
Иначе некоторые из моих скриптов сломаются.


RE: ERA III - Berserker - 22.09.2020 15:32

Night, в чистой Эре он включён с расширением off, то есть неактивный. Когда-то включил, чтобы помочь распространению. Заменить на более новый из сборки даемона?
daemon_n, чтобы при отключении/удалении мода было 0 глобальных переменных, функций и констант, созданных Эрой. Если нужна полностью своя сборка. К тому же отдельный мод можно всегда отдать кому-то в шефство.

Quote:При автовыделении номера массива (первый параметр -1) он по-прежнему пишется в v1?
Иначе некоторые из моих скриптов сломаются.
При 4-х параметрах — да. Если используешь пятый, то нет. Пятый параметр даёт возможность не v1 портить, а записать в любую переменную.


RE: ERA III - XEPOMAHT - 22.09.2020 15:57

Что добавилось в era_camp.dll для редактора кампаний? В ченчлоге ни слова, а мне вот интересно.


RE: ERA III - Night - 22.09.2020 16:57

Berserker,
Quote:Сменить на более новый из сборки даемона?

Да, желательно. Я писал, что впервые скачав сборку, увидел, что отключён Dll - включил, а в игре не улучшались юниты.
Начал выяснять, что к чему, копаться... Странно, что потом повторив действия я так и не добился того, что при работающих двух файлах не улучшались существа с 7 на 8 уровень. Но раз один было, будет и у кого-нить подобное. Лучше сразу обновить файлом из сборки GEM.

Quote:Что добавилось в era_camp.dll
Тоже отметил. Любопытно также. Поддерживаю вопрос XEPOMAHT'a.


RE: ERA III - Berserker - 22.09.2020 17:31

XEPOMAHT, перевод на виртуальную файловую систему Эры 2.8х+.
Night, включу обновлённый.


RE: ERA III - Archer30 - 22.09.2020 19:35

A typo found when I localized ZNPC01.txt.

Line 107
Cavean - should be Clavean as in his bio.


RE: ERA III - Berserker - 22.09.2020 21:14

Archer30, thanks, will fix.


RE: ERA III - Bes - 24.09.2020 03:20

Berserker, ты этот патч использовал?
(07.04.2015 02:19)gamecreator Wrote:  
(07.04.2015 00:51)Elzivir Wrote:  при нападении героя AI на человека в режиме одиночной игры и при попытке последнего путем нажатия ПКМ на кнопку Defend (оборона) поменять тип атаки лучников/командира со стрельбы на рукопашную, выдается сообщение: "This feature does not work in Human vs Human network baced battle", т.е. если стрелки никем не заблокированы им остается лишь дистанционная атака, а переход в режим рукопашного боя невозможен, даже если вражеский юнит находится в пределах досягаемости. Причем, если на стороне атакующего героя будет человек, то данной проблемы не возникает

(07.04.2015 01:16)Berserker Wrote:  Может быть кто-нибудь напишет патч, отключающий проверку.

Лучше. Меняем проверку флага 997 на 998 (патч для памяти):
Code:
762604 С5



RE: ERA III - igrik - 24.09.2020 12:23

Berserker, при отладке скриптов очень сильно не хватает номера функции, из которой была вызвана функция с текущей ошибкой. Такое возможно реализовать? (опустим функции хукера)


RE: ERA III - Berserker - 24.09.2020 15:12

igrik, SN:F^GenerateDebugInfo^, после чего сразу же смотрим erm tracking.erm и чаще всего что-то видим. Подходит?

Bes, добавил в TODO, но решение должно быть другое.


RE: ERA III - igrik - 24.09.2020 19:46

(24.09.2020 15:12)Berserker Wrote:  igrik, SN:F^GenerateDebugInfo^, после чего сразу же смотрим erm tracking.erm и чаще всего что-то видим. Подходит?
Чутка конечно не то, но пойдёт (на самом деле я совсем забыл об этом способе).


(24.09.2020 15:12)Berserker Wrote:  Bes, добавил в TODO, но решение должно быть другое.
Почему это? Там действительно просто перепутан номер флага.


RE: ERA III - Berserker - 24.09.2020 20:24

igrik, понял, тогда просто применю патч. Спасибо! 4


RE: ERA III - Bes - 24.09.2020 21:59

Berserker, все патчи растерял за годы Dry, благо они все на форуме так или иначе есть Yes


RE: ERA III - Berserker - 24.09.2020 23:15

Bes, тебе нужно официальное звание «архивариуса» присвоить.


RE: ERA III - Bes - 25.09.2020 00:28

обойдусь "барахольщиком" 148



RE: ERA III - Archer30 - 27.09.2020 10:38

Hi Berserker!

Just wondering, is resolving the bug "revealing the whole XXL map + Load game = Crash" in the to-do list? I thought it was done a few versions ago but just found out I was wrong Rolleyes


RE: ERA III - Berserker - 27.09.2020 15:23

Archer30, hi, archer! No it's not in priority and was not fixed before.


RE: ERA III - Archer30 - 27.09.2020 16:40

Berserker, ok. Rolleyes

A new report to ERA 3:
Animated tree defs, including avlpntr6.def and avlpntr7.def seem to be accidentally packed.


RE: ERA III - Berserker - 27.09.2020 16:54

Archer30, really? I thought they were always in a separate pac. Maybe it's special decorative object, which can be manually placed on map>


RE: ERA III - Archer30 - 27.09.2020 17:02

Well, these 2 defs are also in wog - animated trees.pac from ERA 2 so you get that idea.

Edit: Sorry, it's more complicated than I thought. Let me show you screenshots below.
Left: Vanilla (static)
Middle: WoG main pac (animated)
Right: WoG Animated Tree (animated)

So basically the avlpntr6.def from animated tree pac doesn't make trees animated (becoz it's already animated), instead it change the shape and size of them.
My suggestion is just remove avlpntr6 and avlpntr7 (def+msk+msg) from wog if your idea is elimating animated trees.

Btw, you might also wanna do a file comparison between animated trees.pac and the main wog pac. As I see there are a few mutual files, which might also be considered removing.
Black - same
Red - different

List of mutual files (in text)



RE: ERA III - Berserker - 27.09.2020 18:11

Archer30, thank you very much for detailed investigation. Added everything to TODO. Will be fixed.


RE: ERA III - XEPOMAHT - 27.09.2020 23:44

От msg, как от необъяснимого наследия вога, можно было бы вообще избавиться в ERA (например, проект MoP спокойно обходится без msg).


RE: ERA III - Berserker - 28.09.2020 00:55

XEPOMAHT, подскажи, пожалуйста, как? Затронет ли это редактор карт?


RE: ERA III - RoseKavalier - 28.09.2020 01:09

^Replace 'msg' to 'msk' in maped and in Grayface patch, done.


RE: ERA III - Raistlin - 28.09.2020 01:41

А что вообще хранится в этих файлах?


RE: ERA III - RoseKavalier - 28.09.2020 06:52

(1) Width
(1) height
(6) mask of 8x6 cells with defined color
(6) mask of 8x6 cells with defined shadow


RE: ERA III - Raistlin - 28.09.2020 13:30

RoseKavalier, ok, thanks!


RE: ERA III - Berserker - 28.09.2020 16:45

Do I understand correctly, msg is 1 to 1 odd copy of msk?


RE: ERA III - XEPOMAHT - 28.09.2020 17:18

(28.09.2020 16:45)Berserker Wrote:  msg is 1 to 1 odd copy of msk?

Естественно. По крайней мере на MoP за 5 лет отказа от msg проблем в редакторе обнаружено не было.


RE: ERA III - Berserker - 28.09.2020 19:49

XEPOMAHT, нужно ли что-либо где-то патчить, как пишет Rose? В коде патча GrayFace msg обрабатываются, ищутся и т.д. Ты просто их удалил из pac-ов без каких-либо проблем?


RE: ERA III - Archer30 - 28.09.2020 19:54

Hi Berserker, I've got players reported that ERA 3 is not compatible with ExaGear, they are confused about it since it works great on ERA 2.46. Udated VFS is the reason I guess?


RE: ERA III - Berserker - 28.09.2020 19:57

Archer30, I think so. Era 2 has much simplier/higher level VFS implementation, which does not work with Unicode paths and does not handle many things. Though, it's safe to use on ExaGear-like emulators.

Perhaps, it's possible to restore it some day as a separate VFS of era 2.dll for systems without Unicode file names, but currently it's not in priority.


RE: ERA III - XEPOMAHT - 28.09.2020 20:21

(28.09.2020 19:49)Berserker Wrote:  XEPOMAHT, нужно ли что-либо где-то патчить, как пишет Rose?

Все строковые переменные, содержащие msg, заменяются на msk.

(28.09.2020 19:49)Berserker Wrote:  В коде патча GrayFace msg обрабатываются, ищутся и т.д.

Формат полностью совпадает, если что, исходники патча ведь есть, там можно посмотреть, если что-то заработает не так.

(28.09.2020 19:49)Berserker Wrote:  Ты просто их удалил из pac-ов без каких-либо проблем?

Просто удаляются 1 кликом мыши из архива.


RE: ERA III - Night - 29.09.2020 02:46

А почему в Эра 3 если в heroes.ini я включаю ErmLegacySupport=1, то загружая hotseat нельзя никаких символов ввести в поля никнеймов?
В этом меню (Click to View)
Если выйти и зайти в игру - всё нормально. Это к чему баг относиться, к движку Эры или...?

P.S. Если была ранее загружена сетевая и также если в одиночной играть - после выхода в меню нельзя в Hotseat ничего ввести. И "ESC" не нажимается, не выходит с игры.


RE: ERA III - Berserker - 29.09.2020 03:27

Night, одно с другим не связано вообще. Диалог я не менял.


RE: ERA III - Night - 29.09.2020 07:04

Berserker, Хм, лан, посмотрю ещё отчего такое, раньше просто не замечал подобного...На 2.9.14 всё ок.


RE: ERA III - Berserker - 29.09.2020 16:09

Night, дело в том, что я на 3.0.5 тоже любые символы ввожу. Это может быть hd-mod или wog native dialogs, но вряд ли Эра, ведь я диалог не менял уже давно.


RE: ERA III - Night - 29.09.2020 17:53

Berserker, дело не в любых, а в том, что вообще нельзя после загрузки вписать что-либо. И в главном меню ESC не работает.
Но я разобрался в чём дело. В поставке Эры включил "no erm scripts turning.bin" с ним такое и происходит. А именно:
Загружаем игру, потом выходим в главное меню, жмем Hotseat и в нём ничего не вводится. Вообще клавиатуру через раз отрубает.

В справке про заплатку указано:
Quote:Запрещает отключение ЕРМ скриптов при ошибках. Отключение производилось путём записи в место ошибки символа конца строки (#0), что вызывало обрезку скрипта при загрузке игры.
Но мне кажется тут (в Эре 3) она как-то иначе работает, потому что в 2.9.14 подобного не наблюдается.


RE: ERA III - Berserker - 29.09.2020 18:49

Night, подтверждаю. Жесть какая-то.

Проверил без HD — всё ок. Жду подтверждения.


RE: ERA III - Night - 29.09.2020 19:23

Berserker, Хм, сейчас проверил также без HD - такое же. Ещё я 2.9.14 не тот файл отключал, "no erm scripts turning.bin" у меня в папке был, чтобы список не засорял. Щас вернул оттуда, проверил - такая же ситуация. И в HD и без HD.


RE: ERA III - Berserker - 29.09.2020 21:32

Без HD мода не могу повторить баг. Идеально работает диалог при старте, загрузке, возвращении. Нужен ещё тестер.


RE: ERA III - Panda - 30.09.2020 10:23

Berserker, Night, протестировал немного, баг повторить не смог, все вводится без проблем - русские и английские символы, цифры.
ErmLegacySupport=1 - включен, no erm scripts turning.bin.off - выключен, HD мод 5.0 RC94 - включен, ERA 3.0.4, сборка 1.35 daemon_n от 09.09.2020.


RE: ERA III - daemon_n - 30.09.2020 10:33

Panda, так бинарник надо включить


RE: ERA III - Berserker - 30.09.2020 16:56

daemon_n, что тот бинарник вообще делает и к чему он здесь?

Нужно сперва войтив меню Хот Сит, потом загрузить любую игру, затем попытаться загрузить Хот Сит и уже там вводить во все поля.


RE: ERA III - daemon_n - 30.09.2020 17:02

(29.09.2020 17:53)Night Wrote:  Но я разобрался в чём дело. В поставке Эры включил "no erm scripts turning.bin" с ним такое и происходит. А именно:
Загружаем игру, потом выходим в главное меню, жмем Hotseat и в нём ничего не вводится. Вообще клавиатуру через раз отрубает.

В справке про заплатку указано:
Quote:Запрещает отключение ЕРМ скриптов при ошибках. Отключение производилось путём записи в место ошибки символа конца строки (#0), что вызывало обрезку скрипта при загрузке игры.
Но мне кажется тут (в Эре 3) она как-то иначе работает, потому что в 2.9.14 подобного не наблюдается.


Berserker,


RE: ERA III - Berserker - 30.09.2020 17:09

Спасибо. Этому патчу уже столько лет. К тому же он больше не актуален вообще, потому и выключен. Удаляю его.


RE: ERA III - Archer30 - 03.10.2020 21:52

Hi Berserker, can you share the source code of all war machines in blacksmith.dll please?96-copy


RE: ERA III - Berserker - 03.10.2020 22:16

No. Never. Don't ask.
Author: Baratorch or MoP, I don't remember.


RE: ERA III - Night - 03.10.2020 22:33

Archer30,
Quote:[+] Добавлен модуль "all war machines in blacksmith.dll" от baratorch. Он позволяет покупать все машины войны в кузнице.

This is the HD-mode developer. You can try to write to him by mail baratorch@yandex.ru


RE: ERA III - Archer30 - 03.10.2020 22:44

Thanks Berserker and Night. I have heard from daemon about his experience communicating with bara, was a very tough experience according to him. Rolleyes


RE: ERA III - Berserker - 03.10.2020 23:00

Night, Бара мне уже много лет не отвечает на письма на этот ящик.


RE: ERA III - Archer30 - 05.10.2020 19:29

There is function to remove a neutral stack when the amount is exactly 4095, right click on a 4095 stack and we got this.
Image: AxmNyOl.jpg
Is this hard-coded? It seems to be a little bit old-fashionable - is this function still needed?


RE: ERA III - Berserker - 05.10.2020 19:32

Archer30, seems like some mod feature. Try without mods.


RE: ERA III - Archer30 - 05.10.2020 19:36

Tried )



RE: ERA III - daemon_n - 06.10.2020 19:14

Archer30, new game? checked your "wog/data/s" folder?


RE: ERA III - Archer30 - 06.10.2020 19:38

daemon, I don't even have a "s" folder from mods\wog\data. Neither it shouldn't be just me having this dialog, set a stack with quantity equal to 4095 and check for yourself )


RE: ERA III - daemon_n - 06.10.2020 19:39

backdoor :mon_demon:


RE: ERA III - Berserker - 06.10.2020 21:34

Archer30, there is real issue with such stacks. Many functions, calculating Fight Value or other value multiply monster quantity by big number. Such number must not exceed 2 147 483 647. Of course, simple binary patch is able to suppress the above mentioned message. We need to find out Azure Dragon fight value and calculate possible new limit.


RE: ERA III - daemon_n - 06.10.2020 22:21

Berserker,

Azure Dragon
AI Value - 78845
Fight Value - 56315


RE: ERA III - V_Maiko - 06.10.2020 22:34

Berserker, daemon_n, , I do not agree to put a limit equal to or below Azure Dragon to the values of the creatures, in my mod I have creatures more powerful than Azure Dragon and therefore the AI value will be higher, look at this case.
Image: Screenshot-1.png


RE: ERA III - Berserker - 07.10.2020 00:06

Посмотрел я код WoG. Максимальное число монстров в виде отряда на карте — 4095 или 12 бит. Больше просто физически не хранится. Кто-нибудь, проведите эксперимент. Установить число 4095 и дождитесь прироста населения. Если число монстров не увеличится на 10%, то проверку можно убрать. Важно, чтобы ЕРМ скрипты и моды учитывали это ограничение на !!MO:G.


RE: ERA III - Night - 07.10.2020 00:17

Berserker, не знаю, насколько соответствует моя проверка твоей задаче, но я как только увидел сообщение Archer30, где предлагают убрать юнит с карты, сразу захотел у себя такое же посмотреть и поставил в редакторе 4000 существ (больше не дало) гидр Т8, включил мод на увеличение нейтральных стаков на 10% в неделю и пропускал - не увеличились сверх этого лимита.
Эту проверил опцию (Click to View)
Другие не проверял, но там вроде, как опция в правилах игры, где по 4% в день армии увеличивает, она так делает, но у меня дальше другие дела появились, подзабилбыл дальше глянуть.


RE: ERA III - Berserker - 07.10.2020 02:03

Night, больше невозможно физически, но есть риск, что дальше начинает портиться поле «агрессия»:

unsigned Number :12; 12 бит
unsigned Agression : 5; 5 бит
Через ЕРМ физически больше не поставишь, уйдёт дальше в значение немногим > 0, то есть произойдёт переполнение.
Далее ждём понедельника.


RE: ERA III - Archer30 - 09.10.2020 10:49

Latest finding about Revealing the whole XXL map = crash upon loading

Basically, there are 5 ways in total to reveal the whole XXL map, they are
1. Heroes' vision (by walking through the whole map)
2. Skyship (The wonder of Tower)
3. Cheat code
4. Erm
5. Cartographer

I wasn't able to test the 1st as obviously it's too time consuming. But for the rest of them, an interesting finding is that the 5th, cartographer (with all 3 types) can safely reveal the whole map without a crash upon loading.

Download for examples: XXL Map+savegame revealed the whole map without crash

At this point, the way of revealing a map can be distributed into ethical and unethical ways. The ethical way provide a safe way of revealing the map, while the unethical way is dealing with the devil.
Ethical: Cartographer
Unethical: Skyship, cheat code and erm
not sure: Heros' vision

Another interesting finding is that if a map has been already revealed by Cartographer fully, it does not matter if it's revealed by unethical ways followed by, the savegame will still be safely loaded.

Now return to fixing the crash of XXL by revealing the map. A possible approach to solve this issue is comparing the difference between Cartographer and other ways. The might be enough to tell the answer.
Alternatively, assuming that revealing the map with heros' vision is an ehical way (very likely), the only thing needs to be fixed is Skyship in normal gameplay without cheating. A simple patch changing the effect of Skyship (for example, reveal only a fixed range) could resolve the crash problem.

____________________

Edit:A more interesting fact is that even with an unethical way for revealing, pass a turn and then save/load will also become safe.
This might be the best way to avoid crash before a real solution comes out.


RE: ERA III - XEPOMAHT - 09.10.2020 12:02

(09.10.2020 10:49)Archer30 Wrote:  Latest finding about Revealing the whole XXL map = crash upon loading

XXL-мод давно пора полностью переписать и встроить в era.dll. Например для MoP он когда-то был переписан на 90%, т.к. бинарная версия XXL-мода, которая используется в качестве мода для ERA, по тестам на MoP оказалась довольно багованной и просто недоделанной (сейчас и не вспомню конкретно, дело было года 3 назад...). Тем более часть пачтей XXL-мода заменяется HD-модом (радар, окно обзора королевства) и самой era.dll (патчи на воговские массивы данных, привязанные к размеру карты), поэтому предложение встроить XXL-мод в эру по-прежнему остаётся открытым (меня до сих пор смешит то, что глючный и недоделанный XXL-мод десятилетней давности - по прежнему один из популярных модов для ERA 96 ).


RE: ERA III - Berserker - 09.10.2020 13:41

Archer30, thanks for valuable report.

XEPOMAHT, это всё без конкретики.


RE: ERA III - Bes - 09.10.2020 13:58

Berserker, это же стиль подачи инфы у XEPOMAHT'а такой на форуме, ещё не привык?

XEPOMAHT Wrote:меня до сих пор смешит то, что глючный и недоделанный XXL-мод десятилетней давности - по прежнему один из популярных модов для ERA
ну, так он востребован игроками и потому им хоть какой-то, даже с багами, главное чтобы карты создавал


RE: ERA III - XEPOMAHT - 09.10.2020 15:06

(09.10.2020 13:58)Bes Wrote:  ну, так он востребован игроками и потому им хоть какой-то, даже с багами, главное чтобы карты создавал

Да, потому что не критично. Но тех же кнопок для генерации больших размеров по-прежнему на ERA нет (используются текущие id кнопок) и сам код получения размеров использует сложное вычисление размера вместо получения готовых значений (как в оригинале), что замедляет перерисовку окна карты приключений (а она перерисовывается практически постоянно, например в MoP перерисовку по движению мыши я вообще убрал и на моем древнем ПК немного поднялась производительность игры 148 ).


RE: ERA III - Bes - 10.10.2020 03:49

Berserker, если не секрет, можешь вкратце обрисовать дальнейшие свои планы в развитии линейки ERA3 ?
что так сказать в значимых планах файла TODO ?
иногда хочется так сказать испытывать чувство предвкушения (на этом наркотике вся киноиндустрия уж точно нас держит своими трэйлерами) от той или иной реализации или задумки Rolleyes


RE: ERA III - Berserker - 10.10.2020 04:02

Bes, выпуск мода на Смешанные Нейтралы 2, Управление циклическими звуками, Автообновление, Lua.


RE: ERA III - Bes - 10.10.2020 04:11

спасибо
ERM2.0 как я понимаю сейчас в окончательном релизе? только дошлифовка мелких огрехов и скрытых багов?
ничего из нового уже не ждать?


RE: ERA III - Berserker - 10.10.2020 14:52

Bes, как движок да, конечно.


RE: ERA III - igrik - 10.10.2020 21:11

(09.10.2020 12:02)XEPOMAHT Wrote:  XXL-мод давно пора полностью переписать и встроить в era.dll. Например для MoP он когда-то был переписан на 90%, т.к. бинарная версия XXL-мода, которая используется в качестве мода для ERA, по тестам на MoP оказалась довольно багованной и просто недоделанной (сейчас и не вспомню конкретно, дело было года 3 назад...). Тем более часть пачтей XXL-мода заменяется HD-модом (радар, окно обзора королевства) и самой era.dll (патчи на воговские массивы данных, привязанные к размеру карты), поэтому предложение встроить XXL-мод в эру по-прежнему остаётся открытым (меня до сих пор смешит то, что глючный и недоделанный XXL-мод десятилетней давности - по прежнему один из популярных модов для ERA ).
ХЕРОМАНТ, а дай свой код пожалуйста. Я попробую его адаптировать для ERA. Если уже есть готовый продукт, не хотелось бы копать всё заново с нуля.


RE: ERA III - XEPOMAHT - 11.10.2020 01:04

(10.10.2020 21:11)igrik Wrote:  Если уже есть готовый продукт, не хотелось бы копать всё заново с нуля.

Сохранились только сами "раскопки" - разобранный бинарник от AlexSpl и версия Андрея, на основе которых была написана версия под MoP: https://vk.com/doc-118013293_472373462

Из MoP - только диассемблированием (т.к. всё, что встраивается в mop.exe, производится без использования исходных кодов напрямую байткодом). Что не было встроено - только код, который ставит кнопки:

Code:
        mAlloc 68h
        DrawDefButton eax, 0DDh, 81, 41, 33, Экран_опций_карты_!_Кнопка_карты_180х180, RanSize180_def, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt

        mAlloc 68h
        DrawDefButton eax, 106h, 81, 41, 33, Экран_опций_карты_!_Кнопка_карты_216х216, RanSize216_def, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt

        mAlloc 68h
        DrawDefButton eax, 12Fh, 81, 41, 33, Экран_опций_карты_!_Кнопка_карты_252х252, RanSize252_def, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt

        mAlloc 68h
        DrawDefButton eax, 230, 535, 166, 40, Экран_опций_карты_!_Кнопка_меню_выбора_случайной_карты, 683580h, 0, 1, 0, 0, 2
        call AddItemToArray_MapOpt



RE: ERA III - igrik - 11.10.2020 19:43

Ох. Я понял что не всё так просто. В любом случае - спасибо!

PS: не сказать как я ошалел, когда увидел "40A08F E9B4940000; JMP 00413548" и то, что мы втупую прыгаем из одной функции прямо в свитч другой функции. Это вообще нормально?


RE: ERA III - Berserker - 11.10.2020 19:56

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


RE: ERA III - igrik - 11.10.2020 20:01

Вот то то и оно. Но в данном случае это совершенно не так...


RE: ERA III - XEPOMAHT - 12.10.2020 00:24

(11.10.2020 19:43)igrik Wrote:  Это вообще нормально?

Не очень нормально, поэтому в MoP просто берётся готовое значение из таблицы и пишется в local.2:

Code:
CPU Disasm
Address   Hex dump                  Command                                  Comments
0040A07F  |.  83F8 07               CMP EAX,7
0040A082  |.  77 22                 JA SHORT 0040A0A6
0040A084  |.  8B1485 585E7000       MOV EDX,DWORD PTR DS:[EAX*4+705E58]
0040A08B  |.  8955 F8               MOV DWORD PTR SS:[LOCAL.2],EDX
0040A08E  \.  EB 1D                 JMP SHORT 0040A0AD
0040A090   .  90                    NOP
0040A091   .  90                    NOP
0040A092   .  90                    NOP
0040A093   .  90                    NOP
0040A094   .  90                    NOP
0040A095   .  90                    NOP
0040A096   .  90                    NOP
0040A097   .  90                    NOP
0040A098   .  90                    NOP
0040A099   .  90                    NOP
0040A09A   .  90                    NOP
0040A09B   .  90                    NOP
0040A09C   .  90                    NOP
0040A09D   .  90                    NOP
0040A09E   .  90                    NOP
0040A09F   .  90                    NOP
0040A0A0   .  90                    NOP
0040A0A1   .  90                    NOP
0040A0A2   .  90                    NOP
0040A0A3   .  90                    NOP
0040A0A4   .  90                    NOP
0040A0A5   .  90                    NOP
0040A0A6  />  C745 F8 00008040      MOV DWORD PTR SS:[LOCAL.2],40800000

Там, где свитч совершенно не нужен, его лучше заменять обычной таблицей (+ освобождаются NOPS).


RE: ERA III - Bes - 14.10.2020 01:56

Berserker, хорошо бы таки поставлять в инсталляторе ERA инфу по идущим с WoG патчам, дабы сразу нуждающиеся в их расшифровке понимали что тот или иной bin (даже из числа *.off) в себе несёт конкретно.
** - на правах пожеланий


RE: ERA III - SergOz - 15.10.2020 18:27

JC_howdy
Подскажите, что неправильного в таком коде:

P.S. Эра 3.04


RE: ERA III - Berserker - 15.10.2020 18:48

SergOz, это рудимент воговского кода только для команды !!HE[xxx], попробую исправить.

А тебе нужны локальные переменные.



RE: ERA III - Berserker - 15.10.2020 19:01

Спасибо за отчёт.
[-] Fixed HE receiver to support any ERM variable like !!HEi^heroId^.
https://dropmefiles.com/zzPVA


RE: ERA III - SergOz - 15.10.2020 19:07

Berserker, вот ещё что. В школе по Эра III не нашёл упоминания об глобальных строковых s^xxx^, хотя здесь упоминание о них было.

P.S. Увидел правку [-] Fixed HE receiver to support any ERM variable like !!HEi^heroId^.
Для того чтобы заработало, что нужно сделать?


RE: ERA III - Berserker - 15.10.2020 19:36

SergOz, прямо в том же посте по ссылке выкачать обновлённую dll? 96-copy

s^...^ и i^...^ это глобальные переменные, с которыми работает и команда SN:W. Просто команда по типу аргументов определяет, строка имеется в виду или число, а «голые» переменные нуждаются в явном указании. Напомню, для каждого ключа SN:W в действительности хранит 1 строковую и одну числовую переменную.


RE: ERA III - Berserker - 17.10.2020 19:36

SN:O исправлена, спасибо игрику. Заодно и в ЕРМ коде исправили одну неточность.


RE: ERA III - Bes - 17.10.2020 19:41

Berserker, здорово. 132
одно печалит, что все такие косяки ERA команд (SN:K, SN:O) остались в ERA2.9.14, которая для многих пока является базой (а может и останется на несколько лет, как то было с ERA2.46).
Ты ну совсем не хочешь/сможешь сделать 2.9.15 ? Sorry
(исключительно для правки erm-команд, не более)


RE: ERA III - igrik - 17.10.2020 19:44

Bes, я лично против. Если и делать, то откат до версии ниже 2.8.3.
Чтобы такие моды, как у Валерия, работали корректно. Другие обновления - я вижу неправильными.


RE: ERA III - Bes - 17.10.2020 19:48

igrik, странно слышать именно от тебя это "против", когда именно благодаря тебе была выпущена 2.9.14 при уже выпущенной на тот момент ERA3 Dry


RE: ERA III - igrik - 17.10.2020 19:50

Когда такое было? 36


RE: ERA III - Bes - 17.10.2020 19:53

соррян, 2.9.13 (март-апрель 2020г.)


RE: ERA III - Night - 17.10.2020 21:27

Berserker, в теме смешанных нейтралов, ссылка на era.dll и прочее - насколько актуальна в рабочем смысле?

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

Вообщем из предыдущего сообщения (от 29.09) era.dll вернул и перестали внезапные краши появляться.
Если нужен Debug, то вот ссылка. Без сейва, ибо краши внезапные и не повторяемые были.


RE: ERA III - Berserker - 17.10.2020 22:41

Night, актуально последняя, но ты файл из DebugMaps не распаковал или вылет какой-то странный на повышении героя. Сложно сказать.
Если будет возможностьв сингле проверить, скину тебе ещё более актуальную. Но с вылетом что-то непонятное.


RE: ERA III - Night - 17.10.2020 23:25

Berserker,
Quote:Но с вылетом что-то непонятное.
Я также подумал.
Файл распаковал, из Debug maps с заменой, проверил только что, у меня сборка осталась та, что я брату на комп в отдельную папку закидывал. Сравнил в Тотале, одинаковые. Из твоего архива и того, что игралось и крашило.




RE: ERA III - Bes - 18.10.2020 04:24

Berserker, в истории изменений опечатка
Quote:d& unsets bits, specified in #. d&17 unsets bits 1 and 16
Тут же имеется ввиду d~ как я понимаю


RE: ERA III - Berserker - 18.10.2020 04:59

Да, всё верно. Исправляю, спасибо.


RE: ERA III - Bes - 18.10.2020 05:28

(17.10.2020 19:41)Bes Wrote:  одно печалит, что все такие косяки ERA команд (SN:K, SN:O) остались в ERA2.9.14, которая для многих пока является базой (а может и останется на несколько лет, как то было с ERA2.46).
(17.10.2020 19:44)igrik Wrote:  Bes, я лично против. Если и делать, то откат до версии ниже 2.8.3.
Чтобы такие моды, как у Валерия, работали корректно. Другие обновления - я вижу неправильными.


увы, но я вынужден для текущей версии справки по ерм делать вот такие замечания Dry
(справку, с ориентированием на движок ERM2 я не планирую)
Quote:SN:O
...
Комментарии:
  • ...
  • Если же кликнуть на любом из входов объекта, возвращает координату этого же входа.
    Замечание: команда вызывает сбои игры, если кликнуть на входе, где стоит активный герой.



RE: ERA III - igrik - 18.10.2020 05:45

(18.10.2020 05:28)Bes Wrote:  увы, но я вынужден для текущей версии справки по ерм делать вот такие замечания Dry
(справку, с ориентированием на движок ERM2 я не планирую)
Quote:SN:O
...
Комментарии:
  • ...
  • Если же кликнуть на любом из входов объекта, возвращает координату этого же входа.
    Замечание: команда вызывает сбои игры, если кликнуть на входе, где стоит активный герой.
Не активный герой! Пассивный))

Пример: активный Орин, где угодно на карте.
Пассивынй Джелу, в двеллинге у эльфов.

Активный Орин кликает на двеллинге этих эльфов - Джелу исчезает.
Если активный Джелу кликает по двеллингу, где стои Джелу - всё норм. Если стоит пассивный Орин, Орин пропадёт.

А ю нау ндастэнд?)))


RE: ERA III - Bes - 18.10.2020 05:48

если Оррин активный, стоит на входе, и кликнуть на этот вход - бага не будет?


RE: ERA III - igrik - 18.10.2020 05:50

Нет. Только если кликнет активный Орин.


RE: ERA III - Bes - 18.10.2020 05:53

Code:
команда вызывает сбои игры, если кликнуть на входе, где стоит другой герой.
ок, исправил, хотя лучше бы этого бага в принципе не было... как и других у SN при работе со строками Kap (в ERA2)


RE: ERA III - XEPOMAHT - 18.10.2020 14:27

(18.10.2020 05:53)Bes Wrote:  хотя лучше бы этого бага в принципе не было...

Надо было рапортовать ещё лет 5 назад, когда этот баг (ну я бы не считал это багом, просто так реализована функция в самой игре) был известен (правда и самой SN:O тогда ещё не было, а использовался её SN:E-аналог, я тогда очень удивился, что Берсеркер вдруг без повода сделал из неё отдельную команду). Тогда наверное и исправлен он был бы быстрее. Для пользователей старых версий ERA можно добавить решение из ERA+ (работает и на старых версиях ERA) или код от Игрика на замену SN:O или аналогичную ассемблерную функцию из MoP, написанную ещё чёрт знает когда, в которой этого бага соответственно тоже нет.


RE: ERA III - Berserker - 18.10.2020 16:58

Накопилось много изменений с момента предыдущего релиза. Следующая версия будет 3.1. С игриком ведём плодотворную работу.
Bes, ERM 1 — морально устаревший диалект, который никто больше поддерживать не будет. У нас не бесконечная жизнь. Новые скрипты игрика я могу открыть, прочесть и исправить. Старые скрипты без комментария на каждой строке — нет. И скорость разработки в разы выше.


RE: ERA III - Berserker - 18.10.2020 18:23




RE: ERA III - igrik - 18.10.2020 18:47

... а дальше - чёрная магия, а не код ...


RE: ERA III - Berserker - 18.10.2020 19:04

Кажется, спасибо, igrik-у, у нас будет диалог с выбором до 8-и изображений!
Image: NX5NI_ez4Og.jpg


RE: ERA III - Night - 18.10.2020 19:07

Berserker, Оооо, это Легендарная новость. Всякого можно теперь из идей реализовывать.

Это только на КП будет или в городе также сработает? Если верно последнее, то это ваще зачёт. Давно хотел сделать скрипт на скупку юнитов с карты, чтобы в городах были диалоги.

P.S. Кстати, что с тестированием. Говорил, что скинешь какие-то новые файлы, с кучей исправлений. Я сейчас играю одиночку, мог бы сразу проверить.


RE: ERA III - Berserker - 18.10.2020 19:56

Quote:Это только на КП будет или в городе также сработает?
В любых местах.


RE: ERA III - Berserker - 18.10.2020 21:50

Тестируем уже:
Image: 8j37KmQuwFM.jpg?size=584x393&amp;qua...194d6982b7



RE: ERA III - Berserker - 19.10.2020 01:02

Code:
[+] Implemented extended complex dialogs support in ERM. Credits: igrik, Berserker.
    IF:N(msgType/^text^[/?result/(textAlignment)/(preselectedPicId)].
    Display dialog with up to selectable 8 pictures.

    msgType           is one of MSG_TYPE_XXX constants (message, question, popup, picture selection with optional cancel button).
    textAlignment     is bit mask of TEXT_ALIGN_XXX flags. Both vertical and horisontal alignment are supported. -1 means "use default".
    preselectedPicId  is preselected picture index: 0-7 or -1 for none
    result            will contain -1 in most cases, (TRUE) or (FALSE) for questions, 0-7 (picture index) for picture selection and -1 for cancelled selection.

    Example:

    !?FU(OnAfterErmInstructions);
    !!IF:N(PIC_TYPE_SPELL)/(SPELL_TOWN_PORTAL)/(PIC_TYPE_RES_GOLD)/300/
          (PIC_TYPE_RES_WOOD)/5/(PIC_TYPE_RES_MERCURY)/10/(PIC_TYPE_RES_ORE)/15/
          (PIC_TYPE_RES_SULFUR)/20/(PIC_TYPE_RES_CRYSTAL)/25/(PIC_TYPE_MONEY)/5000;

    !!IF:N(MSG_TYPE_CHOOSE_PIC_OR_CANCEL)/^Take anything you need, bro!^/?(chosenItem:y)/(TEXT_ALIGN_LEFT);

    !!IF:M^%(chosenItem)^;



RE: ERA III - XEPOMAHT - 19.10.2020 01:15

(18.10.2020 19:04)Berserker Wrote:  у нас будет диалог с выбором до 8-и изображений!

Круто. Надеюсь, совместимость с messages.dll не сломана?


RE: ERA III - Berserker - 19.10.2020 01:32

XEPOMAHT, не тестировали. Дашь библиотеку и тестовый код? Напомни, что она позволяла делать. Забываю постоянно.


RE: ERA III - XEPOMAHT - 19.10.2020 02:00

(19.10.2020 01:32)Berserker Wrote:  Дашь библиотеку и тестовый код?

Из ERA+ можно скопировать. Завтра на работе попробую протестировать.


(19.10.2020 01:32)Berserker Wrote:  Напомни, что она позволяла делать. Забываю постоянно.

(01.05.2019 00:46)XEPOMAHT Wrote:  
(30.04.2019 19:38)igrik Wrote:  По messages.dll: есть исходник или хотя бы инструкция как им пользоваться?

Там просто прописывается в typemsgs.txt имя дефа, номер спрайта, текст под картинкой и подсказка по пкм. Затем можно вызывать сообщение с картинкой любыми средствами, например "!!IF:Q1/100/1/4/z100504;" (ERM) или "Message стр ebx*4+524 MoPSpec, Type_Msg_RMBINFO, Pic_MoP, Pic_Арена" (WERD)

Исходник наверное есть у Берсеркера. И в исходниках MoP ассемблерный код тоже можно найти.



RE: ERA III - Berserker - 19.10.2020 03:11

Хорошая идея. Нужно сделать такую возможность без привязки к messages.dll. Совместимость пропадёт тогда, но messages.dll не расчитана на два и более мода.


RE: ERA III - XEPOMAHT - 19.10.2020 03:38

(19.10.2020 03:11)Berserker Wrote:  Совместимость пропадёт тогда, но messages.dll не расчитана на два и более мода.

Оно и используется, на моей памяти, только в 2-х модах - Фениксе и ERA+, которые... и так не совместимы друг с другом. Режима глобального мода в ERA (чтобы глупые пользователи модов не могли их запустить единовременно) по-прежнему увы нет (как будто это только мне нужно).


RE: ERA III - Berserker - 19.10.2020 05:03

XEPOMAHT, может и можно сохранить совместимость. Реализовали с игриком поддержку выбора картинки по умолчанию для диалога:
https://yadi.sk/i/gUmUzwwL-0aUIQ



RE: ERA III - XEPOMAHT - 19.10.2020 11:36

(18.10.2020 21:50)Berserker Wrote:  Тестируем уже:
Image: 8j37KmQuwFM.jpg?size=584x393&amp;qua...194d6982b7

Протестировал. С ERA+ несовместимо, увы.

На этой строке при любом раскладе

Code:
!!IF:N(MSG_TYPE_CHOOSE_PIC_OR_CANCEL)/^Hi!^/?(res:y);

вылетает всегда:

Code:
Failed to read data at ECE8EDE0.
EIP: H3era.004F55D3. Code: C0000005

> Registers
EAX: 00000000 (int: 0)
ECX: FFFFFFFF (int: -1)
EDC: ECE8EDE0 (int: -320279072)
EBX: 00227F8C (int: 2260876, pint: 0x00000024 = 36)
ESP: 00227C38 (int: 2260024, pint: 0x00227F8C = 2260876)
EBP: 00227D00 (int: 2260224, pint: 0x00227D20 = 2260256)
ESI: FFFFFFFF (int: -1)
EDI: ECE8EDE0 (int: -320279072)

Ну и проверки на синтаксис так же на новой команде нет, берёт в себя любой мусор, а проверка на синтаксис работает только для старых !!IF:N-команд.


RE: ERA III - igrik - 19.10.2020 13:25

(19.10.2020 11:36)XEPOMAHT Wrote:  
(18.10.2020 21:50)Berserker Wrote:  Тестируем уже:
Image: 8j37KmQuwFM.jpg?size=584x393&amp;qua...194d6982b7

Протестировал. С ERA+ несовместимо, увы.

На этой строке при любом раскладе

Code:
!!IF:N(MSG_TYPE_CHOOSE_PIC_OR_CANCEL)/^Hi!^/?(res:y);

вылетает всегда
А как ты смог протестировать, если у тебя нет новых era.dll и wog native dialogs.era?
Я сейчас поставил ERA+ и протестировал. У меня всё отлично работает.
Image: Image.jpg

На данном скрине видно, что:
1. Работает выравнивание текста СЛЕВА
2. Выбран элемент №6 (напомню, что индексация 0-7)
3. Элемент №6 выбран по дефолту (т.е. элемент при показе диалога уже подсвечен и активна клавиша ОК)
4. Тип сообщения 10 (есть выбор элементов, кнопки ОК и ОТМЕНА)


RE: ERA III - XEPOMAHT - 19.10.2020 14:01

(19.10.2020 13:25)igrik Wrote:  А как ты смог протестировать, если у тебя нет новых era.dll и wog native dialogs.era?

Меня воодушевил призыв Берсеркера (видимо с бодуна неправильно его понял), скачал версию era.dll, что постом выше, почему-то на радостях подумал, что там оно есть. JC_see_stars

(19.10.2020 13:25)igrik Wrote:  Я сейчас поставил ERA+ и протестировал. У меня всё отлично работает.

Это хорошо. Значит в будущем можно пытаться переходить на ERA 3.1, раз такие фишки добавляются, ERM эволюционирует дальше. Ab


RE: ERA III - Berserker - 19.10.2020 15:19

XEPOMAHT, проверил, messages.dll из Феникса не вылетает.


RE: ERA III - Bes - 19.10.2020 17:34

Berserker Wrote:Дашь библиотеку и тестовый код? Напомни, что она позволяла делать. Забываю постоянно
Berserker, вот тема ж по messages.dll - http://wforum.heroes35.net/showthread.php?tid=5659
делал специально летом её, чтоб потом не искать где попало, а сразу под глазами 116
там же и есть исходники от Мастера


RE: ERA III - Berserker - 20.10.2020 03:51

Code:
[+] Improved UN:U command. It does not raise error if no more objects are found, but sets x-coordinate to -1 instead. Thus no premature
    objects counting is required. A new syntax with 6 parameters was added to allow using arbitrary integer variables instead of v-variables.
    !!UN:U(objectType)/(objectSubtype)/(direction like -1/-2 or object index)/(x)/(y)/(z).

    Example:
    ; Let's traverse through all map monsters, doubling their quantity

    !#VA(x:y) (y:y) (z:y); define variables to store object coordinates
    !!VR(x):S-1;           setting x-coordinate to -1 will force to start search from scratch
    
    !!re i; endless loop
      !!UN:U(OBJ_MONSTER)/(ANY_OBJ)/-1/(x)/(y)/(z); find next monster, (x) = -1 on failure
      !!br&(x)<0:;                                  exit loop if nothing found
      !!MO(x)/(y)/(z):Gd*2;                         double monsters quantity
    !!en:;



RE: ERA III - Archer30 - 20.10.2020 14:39

Thanks for the update Berserker, great work!

Just wondering if the Era Erm Framework mod is the latest in ERA 3.1.0. By checking files it is the same as in 3.0.5.

Another thing is the animated trees. I thought you would have removed them 102


RE: ERA III - Berserker - 20.10.2020 15:27

Archer30, thanks for report, you're right. Will release 3.1.1 update in a few hours, I hope.


RE: ERA III - Berserker - 20.10.2020 15:45

Reuploaded. Included missing Era Erm Framework files and:
[-] Removed rest files from "Animated Trees" mod. Credits: Archer30.

Version remains the same.


RE: ERA III - Berserker - 21.10.2020 05:07

If there are other unsolved issue, please mention, because 3.1.1 may be released soon.

В версии 3.1.1 планируется убрать у Санта-Гремлинов подарки и сделать урон от ледяной стрелы пропорциональным количеству Санта-Гремлинов, одновременно уменьшив его до 5 хитрым способом рандома.


RE: ERA III - Archer30 - 21.10.2020 07:30

Here I come again, the seeker of perfection.

Succubus and Astral Spirit skill icons from the latest WND were revamped to match H3 style (found here, Dlg_NPC1.def, Author: FfuzzyLogik).
Why not include them 102
Image: unknown.pngImage: unknown.png

Another concern is the primary skill icons in Kingdom Overview. The spell points and knowledge icons swapped places (the main difference is the "scroll").
Fixed: pskil32.def

And another one. The compatibility with Warmachine Enhancement II option.
The script uses 124 as the creature number of Catapult in normal battles. The big portrait was replaced to make the compatibility, while nothing was done to the small portrait. It was all fine until we have Battle Queue by RoseKavalier.
Fixed: cprsmall.def (made from ERA 3.1.0)


RE: ERA III - Night - 21.10.2020 10:39

Berserker,
Quote:и сделать урон от ледяной стрелы пропорциональным количеству Санта-Гремлинов

Ну всё, значит я вечно на 3.1.0 играю...Kap
А как нам выиграть в начале, на максимальной сложности Difficulty мода с Судным днём на 5 число?) Сейчас только сантами и тащим Fie и то комп на 3 недели с полным набором прибегает под 10 шт т7 и прочей мишуры, когда у тебя едва наскреблось 5шт т7 не улучшенных.

Надеюсь изменение будет отменяемым/опциональным? 4

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


RE: ERA III - SergOz - 21.10.2020 12:45

(21.10.2020 10:39)Night Wrote:  Надеюсь изменение будет отменяемым/опциональным?
Хотелось бы чтобы все изменения были опциональными.
А вот если бы эти опции можно было вкл/выкл во время игры... JC_tongue


RE: ERA III - igrik - 21.10.2020 12:51

Специально для желающих, я сделаю плагин, который вернёт весь функционал Санта-Гремлинов. Но в ERA 3.1.1 и выше, это "недразумение" (я про нынешних Санта-Гремлинов) должно быть вырезано.

(21.10.2020 10:39)Night Wrote:  А как нам выиграть в начале, на максимальной сложности Difficulty мода с Судным днём на 5 число?) Сейчас только сантами и тащим Fie и то комп на 3 недели с полным набором прибегает под 10 шт т7 и прочей мишуры, когда у тебя едва наскреблось 5шт т7 не улучшенных.
А кто виноват, что Difficulty мод дисбалансит игру. Кто виноват, что Санта-Гремлины - такой же диспаланс, который позволяет противостоять дисбалансу Difficulty мода.
В целом, это всё какой-то бред, который не может быть обоснованным аргументом.


RE: ERA III - Night - 21.10.2020 12:59

SergOz, хотелочно оченя, да Rolleyes

В ГЕМ кстати уже реализовано это вкл/выкл - принятие существ за деньги, опция просмотра героев в бою по ПКМ. Удобно.


Если уж взялись за встроенные навыки, чудесно было бы сделать некий мод/опцию, который отключал выборочно любой из существующих встроенных.
Подарки гремлинов, призыв водного у Лазурных, стена огня у Пожаров и т.д. Вот такое чертовски хотелось бы увидеть когда-нибудь. Ибо накрутили Слава и Ко в Heroes 3.5 всякого мобам, встроили в exe, что не выковырять простым способом...


RE: ERA III - Night - 21.10.2020 13:05

igrik,
Quote:Кто виноват, что Санта-Гремлины - такой же диспаланс

Охрана, охрана ихняя дикий дисбаланс и бред.
Да и выглядит это ужасно, дичайшее кол-во существ из ниоткуда. (Click to View)

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

Если убрать им подарки, убрать их абилку гвардов (программно вырезать), но оставить только стрелку со скалированием от кол-ва - такое выглядит вполне прилично, на мой взгляд.


RE: ERA III - igrik - 21.10.2020 13:38

Будут вырезаны:
- подарки.
- каждодневное накопление в двеллингах.
- урон станет пропрциональным их кол-ву.

Останется только охрана (но тут я не уверен как решит Берс).


RE: ERA III - XEPOMAHT - 21.10.2020 14:00

(21.10.2020 13:38)igrik Wrote:  Будут вырезаны:
- подарки.
- каждодневное накопление в двеллингах.
- урон станет пропрциональным их кол-ву.

Останется только охрана (но тут я не уверен как решит Берс).

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

Если Санта-Гремлины так сильно мешают балансу, то можно просто запретить в рандоме по-умолчанию (в Тифоне - поставить галочку в редакторе), оставив их полностью на совести картоделов. Ну и лишить возможности читерного апгрейда до них, заодно и повысить уровень и пересчитать все проставленные от фонаря параметры (так же делается с помощью Тифона, в MoP 2.xx было сделано очень давно вообще для всех монстров в игре, никто пока не жалуется, правда, может быть потому, что никто в MoP не играет 148 ).


RE: ERA III - Bes - 21.10.2020 14:01

(05.10.2020 15:56)Berserker Wrote:  
Вредители Moral148



RE: ERA III - igrik - 21.10.2020 14:17

Я ещё раз повторяю - я сделаю плагин, который будет возвращать их тупорылый функционал в полной мере. Кто захочет - пусть тот и пользуется.
Плагин будет восстанавливать функционал методом восстановления оригинального воговского asm кода - а значит никакая совместимость нигде не пострадает.


RE: ERA III - Berserker - 21.10.2020 15:23

igrik, слава тебе господе, ты свет в конце туннеля. Ребята, не забывайте, что сплошной ретроградизм, неприятие исправлений и инерция мышления убивают вообще любое направление.

Quote:Что-то слишком радикально и противоречиво.
Обычный прирост и пропорциональный урон — это не радикально, а нормально для Героев 3.

Quote:Отредактировать стоит только все атакующие заклинания, чтобы они учитывали количество монстров при касте от монстров
А сейчас не так?


RE: ERA III - Bes - 21.10.2020 15:45

Berserker, ретроградинг?
ты лучше скажи тебе то чем эти существа (да, дисбалансные, сомнительные,но как раз из числа необязательных в игре и не вездесущих), что ты в лидеры партии "НЕТ САНТЕ" подался?
они реально так встали в ERA поперёк горла?
(я не против движухи, я просто не вижу особой нужды в ней... слишком много внимания просто к этим гремлинам)


RE: ERA III - Berserker - 21.10.2020 15:47

Archer30, thanks for fixes 132. Each def rebuilding makes graphics worse. I'm afraid, all of us faced that issue. Anyway, I'll include your defs.

Bes, да, генерируются, используются в модах, а в бою полный швах. Или дисбалансный Win в кол-ве 1-1-1-1-1-1 или полнейший мусор, да ещё растут каждый день.. Какое бы ещё тупое свойство им придумать? Пусть после смерти воскресают в виде единорогов, если ты не против.


RE: ERA III - Bes - 21.10.2020 15:50

(21.10.2020 15:23)Berserker Wrote:  igrik, слава тебе господе, ты свет в конце туннеля..
сразу не позитивный смысл читается, а наоборот... веянье долгожданной кончины, и концов твоих многолетних мучений, а igrik прям эдаким ангелом смерти для тебя будет 96



RE: ERA III - Bes - 21.10.2020 15:55

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


RE: ERA III - Night - 21.10.2020 16:03

Berserker,
Quote:А сейчас не так?
Не так в большей части. Титаны бьют молнией всегда одним уроном, также как и магоги, также как стена пожаров и т.д.

Ну санта мне видятся без подарков (как мы уже играем давно), без гвардов и молния базовая (где-то 30 урона без Remagic) если существ =1 и +n, за каждого доп.существо, где n скажем 3 или 4 урона. Они всё таки дорогие довольно таки.

Просто если гвардов уберут в сборке - этот вариант будет гораздо желательнее. Я уже готов бы убрать сам, кодом, да брат возмущается, привык зараза Sm А так скажу, что вот новая версия, тут вырезали 96-copy

   Мне самому не очень нравятся последние игры, где первые 3 недели бегают по 4 героя с красношляпниками, но вижу имболансность именно в том, что гварды позволяют защититься на 2-3 хода, когда пробьют их и тем самым санта настреляют нормально.


RE: ERA III - Berserker - 21.10.2020 16:04

Bes, так игрик мне помог, подкинул адреса. И код ВоГ под рукой. Почему бы не исправить то, что во время многих партий в Феникс всегда казалось мусором с огромным Fight Value? Как думаешь? В остальном согласен. Если бы трудозатратно, не трогал бы.


RE: ERA III - Archer30 - 21.10.2020 16:05

(21.10.2020 15:47)Berserker Wrote:  Each def rebuilding makes graphics worse. I'm afraid, all of us faced that issue.

Oh no, I thought changing only the order of BMPs could avoid that. It turns out to be wrong...there are still minor differences before and after rebuilding. 112

I must keep a library of those most original BMPs.


RE: ERA III - Berserker - 21.10.2020 16:09

Night,
Quote:Титаны бьют молнией всегда одним уроном, также как и магоги, также как стена пожаров и т.д.
Это всё способности от системы опыта и мы про громовержцев?

Охрану планировал оставить. Средний урон 5 от лед. стрелы на санту. Выйдет магический апгрейд для мастер-гремлинов со стрелкой и охраной. FightValue/Цену пересчитаю. Приятно играть, интересно сражаться. Да, вероятность успешного каста ледяной стрелы для числа существ < 8 тогда будет рассчитываться как количество сант / 8. То есть малые отряды (по 1) будут чаще 0 урона наносить, а не бить как Герой с силой магии 1 и заклинанием второго уровня.

Archer30, you can unpack portraits from H3 complete, add those from WoG 3.58 and new ones, then rebuild. Should I send you WoG 3.58 package?


RE: ERA III - Night - 21.10.2020 16:16

Berserker, они стреляют Image: icebolt.png, а не Image: ma.png

Quote:Это всё способности от системы опыта и мы про громовержцев?
Это способности НЕ ОТ системы опыта, встроенные, такие же, как и у санта. Только у санта всё же увеличивается урон, если >64 юнита, там есть нехитрая формула, а вот с остальными мобами увеличения урона не заметил. Сейчас конечно посмотрю физ.миге вога, но кажется там ничего нету про это.

P.S. Некоторые заклинания монстры кастуют от навыков опыта, но урон там статичен. А другие кастуют от базовых умений (та же стена огня пожара), но и этот урон статичен 148

P.P.S.
Quote:Громовержец
Удар молнии при ударе (вближнем бою) из расчета 10 урона на одного Громовержца;
Не знал этого. Ну есть некоторые исключения. Где-то 50% существ имеют статичный, не зависящий от кол-ва монстров урон, а остальные капельку, но получают бонусы.


RE: ERA III - Bes - 21.10.2020 16:20

(21.10.2020 16:04)Berserker Wrote:  Bes, так игрик мне помог, подкинул адреса.
ты не думааешь, что igrik, возможно, затратил(ит) куда больше времени на это дело?
инфа для размышления, не надо отвечать.

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

разработчик ERA Wrote:Охрану планировал оставить. Выйдет магический апгрейд для мастер-гремлинов со стрелкой и охраной. Приятно играть, интересно сражаться.
В рамках некоего custom мода аля Yona ? вообще тогда вопросов нет.
В рамках базы ERA и зашитого в основу? точно перебор


RE: ERA III - Berserker - 21.10.2020 16:26

Night, да, заменил. 5 урон достигается через ледение существ на 8, а с остаток применением рандома. То есть 16 сант будут гарантировано бить с силой магии 2. Сейчас, как ты заметил это Число существ / 64 + 1. Что делает их
1) Сверхсильными по 1-е
2) Сверхслабыми в больших количествах


RE: ERA III - XEPOMAHT - 21.10.2020 16:37

(21.10.2020 15:23)Berserker Wrote:  Обычный прирост и пропорциональный урон — это не радикально, а нормально для Героев 3.

Там как бы закос под Heroes 4 был когда-то. Тогда давайте сразу переименуем Heroes 3.5 обратно в Heroes III. 148 Странно видеть возрастающую неприязнь к вогу уже и у авторов ERA. 112

(21.10.2020 15:23)Berserker Wrote:  
Quote:Отредактировать стоит только все атакующие заклинания, чтобы они учитывали количество монстров при касте от монстров
А сейчас не так?

А сейчас - так же как в SoD, в этом плане вообще ничего не менялось. Т.е. оригиналом установка атакующей магии подразумевается только для Сказочных Драконов, в дополнении Клинок Армагеддона, сделанному впопыхах. Вогом не было добавлена ни учёт силы монстра, ни его количество (если следовать традиции оригинального кода, то для монстров нужно добавлять отдельные атакующие заклинания и не трогать оригинальные атакующие вообще, но это возможно только на MoP, увы, поэтому для всей атакующей магии придётся делать поправки исходя из колдующей стороны, что уже будет "неканон").

(21.10.2020 15:47)Berserker Wrote:  Или дисбалансный Win в кол-ве 1-1-1-1-1-1 или полнейший мусор, да ещё растут каждый день.. Какое бы ещё тупое свойство им придумать? Пусть после смерти воскресают в виде единорогов, если ты не против.

Ох, оставили бы весь WoG на усмотрение самих моддеров (в той же ERA+ Санта-Гремлины немного усилены, если скляроз не изменяет), если сам WoG - отдельный от ERA мод (условно конечно, но всё же). Можно просто выпустить мод, удаляющий часть свойств Санта-Гремлинов. Можно добавить новую встроенную опцию. Ну а так как предлагается сейчас - думаю, на том же http://heroescommunity.com/ или вовконтакте будут недовольные отзывы (можно сделать голосование за/против способностей Санта-Гремлинов в ERA).


RE: ERA III - Night - 21.10.2020 16:40

Bes,
Quote:инфа для размышления, не надо отвечать.
Грязные приёмчики!!11 148Spiteful Так нечестно!


В таких случая (обсуждения и определения дисбаланса и его исправления), всегда есть два момента.

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

Второй случай - когда обсуждаемый дисбаланс даёт слишком большие преимущества, НО! при этом сам игровой процесс подчинён умениям и способностям ИГРОКА. Вроде и абуз, но абуз специфичный, не каждым повторяемый, зависит от навыка, знаний, понимания специфики использования.

Сейчас Санта - первый случай. И это неадекватный абуз и игрок должен понимать или понимает, что слишком просто всё.

Такое должно лечится нерфами. Но нерфы должны СУЩЕСТВУЮЩИЙ абуз доводить до второго случая - когда юнит становится предметом использования умельца.
А чтобы он не был самым-самым, вводятся противовесы, аналогичные по сути, но разные по использованию (как это должно быть правильно в ММО и вообще ПК-играх, а не вырезать всё и забыть, как сейчас).

В большинстве своём люди понимают, что и как, просто не желают расставаться с удобством, даже если это нарушает восприятия игрового процесса. Если делать это за них, ПРАВИЛЬНО делать, отмечу, приводя первый случай ко второму - это будет оценено правильно, пусть и не сразу, но со временем.


Berserker, ну давай ещё гвардов порежем, давай? 116
Пусть будет 1 юнит перед ними, хоть так. Хочется, чтобы это было вшито в код и забыто, чтобы рука не дергалась к отмене. Сейчас твоё видение с уроном мне нравится - слабые, если мало и сильные, если много. Но нужно доводить до конца правки ^_~


RE: ERA III - Berserker - 21.10.2020 16:43

Quote:в той же ERA+ Санта-Гремлины немного усилены, если скляроз не изменяет
Сам-то давно с ними играл? Spiteful

Реальному микропроценту староверов будет плагин/bin-патч от igrik-а, который просто восстановит воговский оригинальный код. Остальные смогут начать полноценно играть с данным юнитом.


RE: ERA III - Archer30 - 21.10.2020 16:54

(21.10.2020 16:09)Berserker Wrote:  Should I send you WoG 3.58 package?

I can find it online, but a link from you is more appreciated 96-copy


RE: ERA III - XEPOMAHT - 21.10.2020 16:55

(21.10.2020 16:43)Berserker Wrote:  Сам-то давно с ними играл? Spiteful

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

1. Нельзя купить в городе
2. Нельзя получить апгрейдом гремлинов

Т.е. если Санта-Гремлины не выпали в рандоме на карте (т.е. нет их жилищ и не получится завербовать их дипломатией), то игрок ими и не поиграет никак.

Ну если даже есть жилище, это 7 в неделю, для монстров второго уровня считай что ни о чём (для начала, жилище ещё предстоит захватить, ибо в ERA+ оно охраняемо).

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

А вообще, даже Мастер в своё время их не стал трогать, хотя им те же Эмиссары были удалены (мне потом пришлось их восстанавливать).

(21.10.2020 16:43)Berserker Wrote:  Реальному микропроценту староверов будет плагин/bin-патч от igrik-а, который просто восстановит воговский оригинальный код. Остальные смогут начать полноценно играть с данным юнитом.

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


RE: ERA III - PerryR - 21.10.2020 16:59

I can offer my Santa Balance.erm minimod which can be found on the Discord Server under "Plugins". It adds damage scaling and gives the possibilites the change the attributes of the summoned guards.
A mini mod made personally for me because because I agree that these Santa Gremlins are way to useful when playing vs the AI but I still do like to have them in my army 96-copy just not as strong as the are.
I support the icentive to give them normal growths and remove the "gift" option.


RE: ERA III - Berserker - 21.10.2020 17:30

Archer30, https://dropmefiles.com/kPqnm


RE: ERA III - Berserker - 21.10.2020 17:57

Кто ещё неправильно колдует? Пожары огненную стену, Громовержцы удар молнией.

Да, смотрю в воге волшебным драконам подняли силу магии в 5 раз.
Стрелка бьёт не на 10, на 50.
Молния не на 25, а на 125.
Ледяной болт не на 20, а на 100.
Цепная молния не на 50, а на 250.

Неслабое изменение. Стоит уменьшить?


RE: ERA III - SergOz - 21.10.2020 18:16

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


RE: ERA III - Berserker - 21.10.2020 18:17

Так, удар грома Громовержце наносит урон 10 * число громовержцев.


RE: ERA III - Night - 21.10.2020 18:55

Berserker, Тут не стоит с горяча рубить. Даже если усилен, это в рамках ВоГа с существами т8 сущие копейки, а не урон.

Да и где этих драконов найдёшь, на дороге не валяются...
Вообще нужно не об ослаблении думать, а наоборот, об усиление. Те же Громовержцы, пусть и получают увеличение от кол-ва, но что это за мелочь, когда 100 штук будут 1000 урона наносить - это 2 моба Т8, без прокачки, без артефактов. Даже если получится и приличное число с усилением, то нужно подумать о самом существе - многие труднополучаемые или кроме маг урона бесполезные, слабые, медленные или разнофракционные, что влияет на мораль...

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


RE: ERA III - Berserker - 21.10.2020 19:26

Отбой. Только сант правлю.

У мастер-гремлинов макс. урон составляется 3 + 300% = 12. В бою с равным по силе урон может быть 3 или вплоть до 0.9.
У санта-гремлинов будет 10 (урон ледяной стрелы без бонусов). По силе это похоже на волшебных драконов. Сила магии отряда сант = (число монстров - 1) + 1 для чётного числа монстров с вероятностью 50%. К итоговому урону прибавляется 10 (эффект заклинания, не зависящий от ранга школы).

Привожу примеры числа сант и их уронов:

1 - 10
2 - 10 или 30
3 - 30
4 - 30 или 50
5 - 50
6 - 50 или 70
и т.д.

Охрану тоже оставляю. У неё несколько обработчиков, завязки на систему опыта. Кому нужно — ковыряйтесь )
Выходит слабый по жизням юнит, но защищённый базово от ближних атак и с довольно мощным ледяным болтом.
Идеален для мода на третий апгрейд.


RE: ERA III - Berserker - 21.10.2020 19:35

https://dropmefiles.com/BW1ez


RE: ERA III - Night - 21.10.2020 19:39

Berserker,
Quote:Отбой. Только сант правлю.
Добро.
Я себе всё же составлю список, не помешает. Если появится желание/возможность прикрутить проверку - обращайся, таблица будет.

Quote:Привожу примеры числа сант и их уронов:
Неплохо. Мне нравится.


RE: ERA III - Berserker - 21.10.2020 19:43

Патчи на санту отменить просто. Вернуть воговские 6 байт по 44836D, 1 байт по 760D6D и 2 байта по 75A964. Это простой bin-patch.
Я отключил подарки и вернул обычное накопление в жилищах.

Какой у них стандартный прирост, кто знает?


RE: ERA III - Night - 21.10.2020 19:50

Berserker,
Quote: * Во внешнем жилище Снеговик Санта-гремлины приходят каждый день. Прирост Санта-гремлинов в день равен 1
за каждого оставшегося в игре игрока. Например: Если в игре всѐ ещѐ все 8 игроков, то прирост Санта-гремлинов
составит 8 в день. В Портале вызова Темницы прирост Санта-гремлинов составляет 1 в неделю.


P.S. Какие же дол... странные юниты. Словно работа школьника-девятиклассника, который сделал самый_любимый_юнит_победун.


RE: ERA III - Berserker - 21.10.2020 20:04

Да, это уже отключено.


RE: ERA III - Berserker - 21.10.2020 21:53

Code:
[+] Replaced Heroes 3 pseudo random number generator with high quality Mersenne Twister generator.
    Native generator is still used for battle obstacles generation and in multiplayer battles, excluding Hot Seat.



RE: ERA III - Panda - 22.10.2020 01:24

Смотрю тут "жарко", подолью масла в огонь: 147
(20.10.2020 15:45)Berserker Wrote:  Reuploaded. Included missing Era Erm Framework files and:
[-] Removed rest files from "Animated Trees" mod. Credits: Archer30.

А зачем анимированные деревья удалили, кому они то помешали? Или я неправильно что-то понял? 118


RE: ERA III - daemon_n - 22.10.2020 01:40

(21.10.2020 19:43)Berserker Wrote:  Патчи на санту отменить просто. Вернуть воговские 6 байт по 44836D, 1 байт по 760D6D и 2 байта по 75A964. Это простой bin-patch.
Я отключил подарки и вернул обычное накопление в жилищах.

Какой у них стандартный прирост, кто знает?

В сборке я поместил бинарник на исправленный прирост. Что санта-гремлинов, что т8 юнитов.


RE: ERA III - Berserker - 22.10.2020 01:41

Panda, они случайно остались в Эре. Должны быть в отдельном моде. Постараюсь скоро выложить.

daemon_n, на санты уже не нужно. В текстовиках прирост теперь 16, оригинальный воговский код отключён.


RE: ERA III - daemon_n - 22.10.2020 02:19

Berserker, 16 много, мне кажется.

С точки зрения левелинга, если он первого уровня, то логично...
Но если смотреть на их вэлью и цену, то 16 - много. Просто потому что это звери.

А что со сказочным драконами? Их урон в воге разве менялся?


RE: ERA III - Berserker - 22.10.2020 02:55

Нет, не менялся.
Поставил 16. Совокупная цена в золоте для одного прироста - 3200. Сравни в любым 3-м апгрейдом а-ля Верховный Архангел. Это ровно прирост мастер-гремлинов без доп. строений. И 16 * 5 = 80. Всего 80 жизней у такого отряда.


RE: ERA III - Berserker - 22.10.2020 05:54

Code:
Version 3.1.2 (10/2020)
------------------------
[*] Fixed Json library to allow sequential comment lines. Example:
  {
    "mix": {
      // comment line 1
      // comment line 2

      "global": {
        "test":"best"
      }
    }
  }



RE: ERA III - Archer30 - 22.10.2020 09:15

Great update! Thank you Berserker.

I'm looking for some advice about localizing plugins in WoG (no prison on random maps.bin, etc.). They are not very understandable if not localized. Is it true that the only way is to rename them?
____

Another thing, the creature description "Can Gift" of Santa Gremlin should be removed? 102

____

There is a question from Hawaiing, I'm also curious. Why random towns in this map were only generated with one single type? How can we increase diversity?
Download: Town Testing Map


RE: ERA III - Berserker - 22.10.2020 15:31

Archer30, The only way to rename them is to rename them. Yes.

Quote:Another thing, the creature description "Can Gift" of Santa Gremlin should be removed?
I left it as Easter egg ) In Russian localization this line is absent.

Quote:There is a question from Hawaiing, I'm also curious. Why random towns in this map were only generated with one single type? How can we increase diversity?
I don't know the reason, except that it's real random.


RE: ERA III - wessonsm - 22.10.2020 19:47

Berserker, то есть в !!VR:T теперь нет нужды? Они равнозначны с !!VR:R?


RE: ERA III - Algor - 22.10.2020 22:16

ERA 3.1.2 (Click to View)



RE: ERA III - daemon_n - 22.10.2020 23:03

Algor, уже исправлено. Ты там сделал именованную v-переменную Sm Вскрылось ещё на Эре 3.0.0


RE: ERA III - Berserker - 23.10.2020 00:02

wessonsm, да, можно просто использовать VR:R, не переживая ни о чём.


RE: ERA III - Algor - 23.10.2020 15:10

(22.10.2020 23:03)daemon_n Wrote:  Algor, уже исправлено. Ты там сделал именованную v-переменную Sm Вскрылось ещё на Эре 3.0.0

Что значит исправлено? Да, там именованная переменная и, с моей точки зрения, это вполне себе корректный код.
Другое дело, что при этом выделяется фактический номер v-переменной, с которой не работает стандартный ERM-ресивер - это уже баг движка.


RE: ERA III - Berserker - 23.10.2020 16:19

Algor, код там не совсем некорректный. ERM 2 поддерживает только именованные локальные переменные. И синтаксис их объявления: ?(someOpt:y), а не ?y(someOpt).
Если нужна глобальная, то с префиксом ?i^esr_someOpt^, например. i^...^ равносильна переменной SN:W.
Примеры в моде смешанных нейтралов: https://dropmefiles.com/XX2Hy

Без ZVSE2 ЕРМ 2 не включается, а потому у тебя просто идёт автовыделение ИД функции, которое в Эре 2 имеет синтаксис "(что угодно)".


RE: ERA III - V_Maiko - 23.10.2020 17:06

Berserker, new ERM engine is completely new, you make even the most veterans take ERA scripting courses again, I think these courses should become mandatory 96-copy



RE: ERA III - SergOz - 23.10.2020 17:32

(23.10.2020 17:06)V_Maiko Wrote:  
Berserker, new ERM engine is completely new, you make even the most veterans take ERA scripting courses again, I think these courses should become mandatory 96-copy
Иначе 119Gigakach_01


RE: ERA III - XEPOMAHT - 23.10.2020 18:00

(23.10.2020 17:06)V_Maiko Wrote:  new ERM engine is completely new, you make even the most veterans take ERA scripting courses again, I think these courses should become mandatory 96-copy

Впереди ещё обещанная LUA, вот где точно переучиваться придётся всем (если кто-то доживёт). Лично я остаюсь верен старому ERM, только в целях совместимости скриптов WoG и MoP.


RE: ERA III - daemon_n - 23.10.2020 19:58

(23.10.2020 15:10)Algor Wrote:  Что значит исправлено?


Заменил на !!SN:W во всех местах - и поместил в сборку. В т.ч. выложил на Дискорд-сервере.


RE: ERA III - Bes - 23.10.2020 20:01

(23.10.2020 06:23)SergOz Wrote:  При определении координат клика не использовал i^...^, потому что у меня на ERA3.04 ругается на !!OBi^x^/i^y^/i^z^:...;, а значит не мог протестировать.

Berserker, а вот кстати, нельзя разве так?102


RE: ERA III - Berserker - 23.10.2020 20:35

Bes, будет исправлено для всех подобных синтаксисов в Era 3.1.3. Там вызов воговского GetVarVal, который только ЕРМ 1 переменные обрабатывает.


RE: ERA III - SergOz - 23.10.2020 21:18

(23.10.2020 20:35)Berserker Wrote:  будет исправлено для всех подобных синтаксисов в Era 3.1.3. Там вызов воговского GetVarVal, который только ЕРМ 1 переменные обрабатывает.
И хорошо бы !?OBi^...^: ну как !?OB998:


RE: ERA III - Algor - 23.10.2020 21:20

(23.10.2020 16:19)Berserker Wrote:  Если нужна глобальная, то с префиксом ?i^esr_someOpt^
Да, оно и есть. Спасибо.


RE: ERA III - Berserker - 23.10.2020 21:48

SergOz, !?OBi^...^: — триггер, там нельзя.


RE: ERA III - SergOz - 23.10.2020 21:49

Berserker, та это я провтыкал. Имелось ввиду !!OB


RE: ERA III - Berserker - 23.10.2020 22:03

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


RE: ERA III - Bes - 23.10.2020 22:15

не забудь и про



RE: ERA III - Berserker - 23.10.2020 22:52

Bes, они самые.


RE: ERA III - Berserker - 25.10.2020 03:45

Товарищи, не пора ли заменить OnBattleRound на OnCombatRound полностью (сделав их синонимами) + v997 всегда чтобы содержала номер раунда тот же, что и в OnCombatRound.
Некоторые скрипты поломаются, которые корректно обрабатывали кривые воговские ситуации с пляшущим -1 раундом при чёрном экране, зависящим от тактики и двумя(1) раундами 0.
Давайте этот нарыв вскроем раз и навсегда.

Напомню, OnCombatRound вызывается только для видимых раундов, номера раундов не повторяются и всегда возрастают. 0 - всегда реальный послетактиковый первый раунд, а -1000000000 — первый раунд тактики. Достала эта путаница.


RE: ERA III - Berserker - 25.10.2020 04:48

Code:
[*] Totally disabled old buggy "OnBattleRound" event behavior. From now "OnBattleRound" is an alias of "OnCombatRound".
    v997 contains valid battle round throughout the whole battle.



RE: ERA III - Bes - 25.10.2020 05:18

так а что теперь делать с кодом вида !?BR# ?
если его использовать, он автоматом будет завязан на событие (OnCombatRound) ?


RE: ERA III - Berserker - 25.10.2020 06:17

Bes, автоматом.
!?BR = OnBattleRound = OnCombatRound без гемороя.

Так, научил сохранять и загружать глобальные константы в сейв, а также получить их значение по имени в любой момент. Стало возможным в json-конфигах использовать константы!
Code:
{
  "mix": {
    "global": {
      "minNumNeutralStacks":        "2",                // Minimum number of mixed neutral stacks in battle.
      "maxNumNeutralStacks":        "4",                // Maximum Number of mixed neutral stacks in battle.
      "neutralStackSpread":         "MIX_SPREAD_SPACE_BETWEEN", // Default spread strategy for neutral stacks.
                                                        // Possible values:"sp_no", "sp_random", "sp_top_down", "sp_near_center", "sp_away_form_center", "sp_space_between".
      "neutralStackScale":          "125",              // Multiplier for original neutrals quantity on adventure map in percents.
      "netralStackScaleForHuman":   "200",              // Additional multiplier of neutrals power only for humans in percents.
      "noNeutralsMorale":           "1",                // If 1, neutrals will have no morale at all.
      "generateMonstersByFactions": "1",                // If 1, additional generated monsters will belong to the same faction.
      "allowAlliedFactions":        "1",                // If 1, allied faction monsters will also be generated.
      "moveNeutralsToFactions":     "1",                // If 1, all WoG neutral monsters will be assigned a faction / town.
      "registerRegularMonsters":    "1",                // If 1, all regular WoG creatures are registered and will become accessible for generation.
      "registerFactionAllies":      "1",                // If 1, configurates each faction allies and their association level.
    },

    "mon173": {
      "custom": "1",
      
      "slot0": {
        "type": "mt_same_faction",
      }
    }
  }
}



RE: ERA III - Bes - 26.10.2020 02:26

Berserker, я тут это, опять в прошлое отсылаю...
смотри, это тебе для ERA3 не интересно?

(16.09.2015 22:44)igrik Wrote:  
Quote:!!EX:R$1/$2/$3/$4
    $1 – есть артефакт или нет (0 = нет, 1 = да)
    $2 – номер артефакта (сейчас только 156)
    $3 – подтип артефакта (опции 0…15 – еще не все используются)
    $4 – количество копий артефакта (0...3)
gamecreator, ты не вкурсе как увеличить кол-во копий арта с 0...3 до 0...6?

(19.09.2015 14:12)gamecreator Wrote:  Как-то так с индикатором:
Code:
; SetArtAll
753313 8B45088B510881E2FF1FC0FF85C0740C8B45144083E01FC1E00D09C28B451083E00FC1E01209C289​51088BE55DC210009090909090909090909090909090909090909090909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​9090909090909090909090
; HasArt
7279C3 8B41082500E003007406B80100000090
; GetArt
728263 B89C00000089EC5DC390909090909090909090909090909090
; ArtCopy (get)
727A63 8B41082500E003007406C1E80D489090
; DelArt + new GetIndicator(uint amount)
727903 8B410825FF1FC0FF89410889EC5DC390909090909098028600E0187900E4187900E8187900EC1879​00909090905589E58B450883F8047605B8040000008B04851879720089EC5DC20400909090909090​
; SetArt
7279E3 8B51088B450C81E2FF1FC0FF83E00F81CA00200000C1E01209C2895108B80100000089EC5DC20800​90909090909090909090909090909090909090909090909090909090909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090
; GetArtNums
768B93 8B41082500E00300C1E80D89EC5DC3909090909090909090909090909090909090909090909090
; TakeArt
728283 8B410889C22500E00300741EC1E80D48740A81E2FF1FFCFF09C2EB0681E2FF1FC0FFB80100000089​510889EC5DC390909090909090909090909090909090909090909090909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​9090909090909090909090909090909090909090
; CopyArt
727D53 8B55088B42088B51082500E03F0081E2FF1FC0FF09C289510889EC5DC20400909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​
; ArtCopy (set)
727A83 8B51088B450881E2FF1FFCFF83F8007D07B801000000EB0D83F81F7C07B81F000000EB0140C1E00D​09C289510889EC5DC204009090909090909090909090909090
; Exp2String calls GetIndicator
717363 8B451050E8C40501008945E0EB3A9090909090909090909090909090909090909090909090909090​9090909090909090909090909090909090909090909090909090909090909090
; Exp2String2 calls GetIndicator
717470 8B55108B028B4A0450E8B20401008945C451E8A90401008945F8EB79909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​90909090909090909090909090909090909090909090909090909090909090909090909090909090​9090909090909090909090909090909090909090909090909090909090

если интересно, там можешь в тот период полистать их переписку


RE: ERA III - Berserker - 26.10.2020 03:26

Bes, спасибо, я пока воздержусь от применения указанных заплаток.


RE: ERA III - igrik - 26.10.2020 20:47

Bes, эта заплатка работает не совсем корректно. Я уже не помню что-именно, но её нельзя применять.


RE: ERA III - igrik - 26.10.2020 21:01

Ох скоко сборок появилось 96-copy Теперь при каждом обновлении ЭРЫ, каждую сборку теперь нужно будет отлаживать - работы тьма....

Вот яркий пример: если Берсеркер согласится (а для этого есть резонные причины) wog native dialogs в следующем релизе будет отвязывать текстовик, а в замен него будут использоваться JSON файлы такого содержания:
wog options rus.json (Click to View)
Причина - это очень и очень гибкая настрока названий вкладок диалога WoG Опций.
Например, тот же мод Era Scripts теперь не будет заменять весь файл "zsetup00.txt" целиком, а создаст свой файл JSON с частью необходимых ему строк:
wog options ES rus.json (Click to View)



RE: ERA III - SergOz - 26.10.2020 21:23

Berserker, при инициализации переменной (any:y) в первом триггере !?GE1; она не переносит своё значение во второй, такой же !?GE1; хотя обычные устаревшие y# это успешно проделывают.
В чём секрет? Или так и задумано?


RE: ERA III - Berserker - 26.10.2020 23:01

SergOz, локальная переменная даже в теории должна быть локальной, то есть личной для конкретного обработчика событий ака триггера. Это его частная приватная память.


RE: ERA III - Bes - 27.10.2020 02:59

SergOz, ещё не поздно вернуться на родной ЕРМ, ZVSE, и при этом вроде как на ERA3 быть Spiteful
а я... конфет по почте перешлю за этоYes


RE: ERA III - SergOz - 27.10.2020 03:36

Bes, ни шагу назад!
Хотя больше топчусь на месте
Привычные фишки автоматом тулишь в код, а Эра потом страшно ругается. Аж багровеет. 134
Я уже выучил несколько нехороших выражений на английском из её лексикона.
Но, данное ограничение, наверное, уменьшает количество потенциальных багов, хотя и вносит некоторое неудобство.


RE: ERA III - Berserker - 27.10.2020 04:33

SergOz, данное ограничение присутствует в любом ЯП. Приведи, пожалуйста, пример, где оно мешает.
Ты смотри. Код от !?XX до следующего !?XX — это просто уникальный обработчик события, никаких не связанный памятью с остальными, кроме глобальных переменных и функций. Если это функция, то у неё есть входные и выходные параметры. Например, функция возведения в квадрат числа. Принимает одно число — возвращает другое. Никто не должен знать, что там в личной локальной памяти у обработчика творится. Никто никогда не даёт никаких гарантий, что y1..y100 будут сохранять свои значения между разными обработчиками. Их предыдущие значения — просто мусор.


RE: ERA III - SergOz - 27.10.2020 06:40

Berserker, "небольшое" неудобство только в отличии новых правил ERM2.
Вот, как я "спалился" вчера.
Я узнаю сложность, выбранную игроком. Потом, в !?GE1, отталкиваясь от этого значения, я с градациями от сложности, редактирую коэффициент получения опыта, ресурсы игрока, статы героев, их армию, вторнавыки, строения в городе и т.д. Получается довольно большой скрипт, который я именую "СЛОЖНОСТЬ" и закрываю, потому что длинные скрипты потом неудобно редактировать. Ресурсы я получал в (wood:y), (merc:y), (ore:y) и т. д. добавлял бонусы (bonusWood:y), (bonusMerc:y), (bonusOre:y)... получал окончательное (endWood:y)... и устанавливал в !!OW:R#/0/(endWood);...
Потом, я захотел во всех Гротах установить охрану и плюшки от сложности. В скрипте "ГРОТЫ" я решил воспользоваться уже ранее вычисленными значениями и со спокойной душой написал: !?GE1; !!CB(x)/(y)/(z):R0/(endWood);... потом запускаю игру и получаю кучу ошибок.
Я понимаю, что можно занести рассчёты в i^endWood^/i^endOre^... но, я же этого не знал, а знал что y# сохраняет значение между одинаковыми !?GE1; как и между другими одинаковыми триггерами, чем я раньше без опасений пользовался.
Но, я за прогресс обеими руками и, несмотря на полученные душевные травмы, "небольшими неудобствами" меня не запугать! 113


RE: ERA III - Berserker - 27.10.2020 06:56

Quote:а знал что y# сохраняет значение между одинаковыми !?GE1;
Это не гарантируется. Бывало, что перед каждым все занулялись, просто это неэффективно, потому мусор и сохраняется.
У тебя всё можно сделать цивилизованнее. В данном случае уровень сложности лучше хранить в глобальной переменной, а множители для ресурсов в константах или глобальном массиве.

Например, начальное дерево = 5 * уровень сложности. 5 вынесем в константу. Да и скрипт Грота может поменяться, равно как и скрипт инициализации. Их нельзя таким неявным грязным способом связывать. Либо функции вызывать с передачей параметров, либо в каждом обработчике свой расчёт.


RE: ERA III - Night - 27.10.2020 13:24

igrik,
Quote:Причина - это очень и очень гибкая настрока названий вкладок диалога WoG Опций.
Выглядит здорово.
Ещё реализовать бы доп.вкладку в текущий вид, чуть потеснив существующие вкладки, как вариант. Сейчас всё фактически занято и если использовать сторонний мод/скрипт, которому необходимо строка в WoG-меню, то выглядит не очень прилично это дело:
Может вторую страницу сделать, если есть такая возможность? Раз уж в рамках Era 3 такие глобальные обновления везде к лучшему, то и тут нужно как-то расширить возможности. Мне кажется многим мододелам хотелось бы иметь кусочек личных галочек в меню от своего мода...


RE: ERA III - Bes - 27.10.2020 13:30

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


RE: ERA III - igrik - 27.10.2020 13:36

В настоящее время не получится - сам движок WoG не позволяет сделать новые вкладки. Ну вот совершенно никак. Там жёстко всё пришито к 8 вкладкам. Если бы это было просто сделать - я бы уже это сделал. А чтобы сделать новые вкладки, нужно переписать весь код, который отвечает за инициализацию и создание стуктуры диалога WoG Опций. И это уже по части Берсеркера ...


RE: ERA III - XEPOMAHT - 27.10.2020 15:12

(27.10.2020 13:36)igrik Wrote:  А чтобы сделать новые вкладки, нужно переписать весь код, который отвечает за инициализацию и создание стуктуры диалога WoG Опций.

1. Можно растащить окна опций вверх (надпись "Опции ВоГ-ификации" неплохо влезает в свободное место рядом с кнопками) с помощью патча функции создания борландского диалога в zvslib1.dll (там портянище та ещё, но сделать можно).

2. Можно перевести диалог целиком на !!DL и написать dll-обработчик диалога (решение из MoP).

3. Можно портировать диалог из WoG 3.59, где он целиком посажен на lua.

4. Можно вообще удалить старый диалог и на его месте вызывать абсолютно новый, совместимый с данными старого.

5. Можно просто добавить новую кнопку что-то вроде "Опции ERA", с новым диалогом, оставив диалог вог-опций без изменений.

6. Почистить наконец-то вог-опции от мусорных опций, некоторые опции можно объединить, некоторые сделать неопциональными...

В общем, всё в руках моддеров. 20


RE: ERA III - Panda - 27.10.2020 15:24

(27.10.2020 15:12)XEPOMAHT Wrote:  5. Можно просто добавить новую кнопку что-то вроде "Опции ERA", с новым диалогом, оставив диалог вог-опций без изменений.

6. Почистить наконец-то вог-опции от мусорных опций, некоторые опции можно объединить, некоторые сделать неопциональными...

Прям мои мысли прочёл )) Давно хотел подкинуть эту идею, но потом подумал, что моддерам виднее, что и как.


RE: ERA III - Bes - 27.10.2020 15:25

XEPOMAHT, +1


RE: ERA III - igrik - 27.10.2020 15:36

(27.10.2020 15:12)XEPOMAHT Wrote:  1. Можно растащить окна опций вверх (надпись "Опции ВоГ-ификации" неплохо влезает в свободное место рядом с кнопками) с помощью патча функции создания борландского диалога в zvslib1.dll (там портянище та ещё, но сделать можно).

2. Можно перевести диалог целиком на !!DL и написать dll-обработчик диалога (решение из MoP).

3. Можно портировать диалог из WoG 3.59, где он целиком посажен на lua.

4. Можно вообще удалить старый диалог и на его месте вызывать абсолютно новый, совместимый с данными старого.

5. Можно просто добавить новую кнопку что-то вроде "Опции ERA", с новым диалогом, оставив диалог вог-опций без изменений.

6. Почистить наконец-то вог-опции от мусорных опций, некоторые опции можно объединить, некоторые сделать неопциональными...
XEPOMAHT, ты видимо не до конца понимаешь как сейчас сделан диалог WoG Опций в WND.

Графическая часть диалога полностью написана с нуля (это и есть тобой и указанный п.2). Вообще каждый диалог, который реализован в WND, написан с нуля и zvslib1.dll вообще в них - выпелен к чертям.
А это значит, что пункт 1 ты описал по не знанию.
3. В топку. Уже реализовано по п.2. Нахрена тогда я его переписывал?
4. Диалог как раз таки абсолютно новый. А вы их путаете, потому что сдалал я его визуально точь-в-точь как оригинальный воговский.
5. Да я хоть щас добавлю эту кнопку - толку то.... Кто будет заниматься заполнением структуры? Правильно - о чём я и говорю. Нужно писать заново обработчик.
6. Всё в руках сообщества, но с увереностью тебе скажу, что появится масса вопросов: А куда делось? Я хочу вернуть. Как вернуть? и т.п. Вот когда выйдет WoG Scripts 2 (на ERM 2), тогда и поговорим. Хотя я и так в нём планирую выпилить процентов 30% хлама.

Теперь, самое главное - я ещё раз повторяю, что нужно переписать обработчик создания и заполнения опций. Все данные для диалога я беру из уже готовой структуры. Вот кто по твоему создаёт эту структуру? Правильно - сам WoG, а не zvslib1.dll. В вэб-программированиии это называется бэкенд. Вот когда бэкенд будет переписан, я адаптирую фронтенд диалога (саму визуальную часть) как пожелаете, хоть "вверх-ногами", потому что п.2 уже мной сделан на 100%. Но сделан он не на DL, а на "внутреннем SOD" функционале.

Вот открой файл "wogsetup.cpp" и хорошенько изучи его - вот его и нужно переписать для создания нового окна ВОГ опций. Ты думаешь в 3.59 он сильно переписан (предложение п.3)? Очень и очень сомневаюсь.


RE: ERA III - Bes - 27.10.2020 15:51

igrik, почему ты не стал делать с вертикальными закладками, дабы автоматом расширить область под возможные опции на страницу?
это ведь не подпадало в сферу бэкенда? Unsure
в топку всех, кто будет с непривычки хаить такое расположение, оно общепринятое везде и куда привычнее горизонтальных закладок... смирится слюбится



RE: ERA III - igrik - 27.10.2020 15:59

(27.10.2020 15:51)Bes Wrote:  igrik, почему ты не стал делать с вертикальными закладками, дабы автоматом расширить область под возможные опции на страницу?
это ведь не подпадало в сферу бэкенда? Unsure
Вертикальные закладки? Сделай дизайн макет - тогда и поговорим 96-copy Я дизайнер - от слова "худо" со всеми вытекающими... Тот же фотошоп для меня - боль и страдания, а не программа.
А скролы не сделал - просто потому что до этого не дошли руки. Были более приоритетные задачи, а потом просто забылось. На вскидку - там работы - пару часов. Значит займусь в скором времени.

Но объясню еще один момент - без переписывания так называемого бэкенда, в диалоге мы не можем уйти от 8 вкладок и 4х блоков на каждую вкладку.


RE: ERA III - Bes - 27.10.2020 16:12

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


RE: ERA III - igrik - 27.10.2020 16:15

Да я тебя прекрасно понял. Но какая разница - сверху вкладки, или сбоку, если мы привязаны к жесткому ограничению в 8 вкладок и ни одной больше!


RE: ERA III - Berserker - 27.10.2020 17:08

igrik, бэкэнд будет, как и планировали.
Я за.
Quote:5. Можно просто добавить новую кнопку что-то вроде "Опции ERA", с новым диалогом, оставив диалог вог-опций без изменений.
Старые опции оставляем для совместимости со старыми модами. Кстати да, плохо, что файл zsetup00 вообще убрал. Лучше, если бы значения из Json переопредеяли значения из zsetup00.txt при наличии. Тогда сохранилась бы обратная совместимость. Напомню, что если в json отсутствует значение, tr вернёт строку ключа «как есть».

По новому диалогу.

Нюанса два:
1) Нужно уметь удалять элементы и пересоздавать их заново (при переходе на другую страницу меняется местоположение пунктов и заголовков в группах). Либо, если это визуально не скажется, просто закрывать и заново показывать диалог, что будет равносильно.

2) Хотелось бы иметь возможность задавать тип опции. Нужны галочки, радиокнопки из нескольких вариантов и поля ввода произвольного текстового значения.
В полях ввода можно было бы настраивать то, что сейчас требует json/ini конфигов. То есть множители, коэффициенты, шаблоны строк.

Если макет делать схожим с текущим, то без введения, и, например, верхняя вкладка имеет текст НАЗАД, а нижняя ВПЕРЁД, работая как кнопки навигации по страницам опций.


RE: ERA III - igrik - 27.10.2020 17:16

1) Это уже реализовано. Переход на другую страницу отображает текущую вкладку и скрывает все остальные. Проблем никаких не будет с изменением местарасположения элементов. Всё в настоящее врему уже гибко.
2) Проблем нет. Расширь поле type и укажи мне как ты расширил. И всё. Мне в диалоге исправить - 1 место!
Code:
struct _DlgSetup_ItemList_
{
  char  *Name;        // название группы
  char  *Hint;        // текст хинта внизу (при наведении на имя группы)
  char  *PopUp;       // текст в окне по правой мыши (при клике на имя группы)
  int   *ItemState;   // ук. на массив состояния галочек
  char **ItemName;    // текст справа от галочки
  char **ItemHint;    // текст хинта внизу (одна строка)
  char **ItemPopUp;   // текст в окне по правой мыши.
  int    Type;        // 0-нет группы, 1-чекбоксы, 2-радиобутоны
  int    ItemCount;   // число элементов
};



RE: ERA III - XEPOMAHT - 27.10.2020 17:36

(27.10.2020 15:36)igrik Wrote:  Все данные для диалога я беру из уже готовой структуры. Вот кто по твоему создаёт эту структуру? Правильно - сам WoG, а не zvslib1.dll. В вэб-программированиии это называется бэкенд. Вот когда бэкенд будет переписан, я адаптирую фронтенд диалога (саму визуальную часть) как пожелаете, хоть "вверх-ногами", потому что п.2 уже мной сделан на 100%.

В чём сложность перенести все таблицы диалога? Можно сделать сторонней dll но... твоя dll по-прежнему будет читать старые адреса, поэтому выделять память и переносить таблицы (а их там штук 10, для оптимизации кода можно перенести только половину, обычно я беру те, которые меньше используется кодом) потребуется в твоей dll.

(27.10.2020 15:36)igrik Wrote:  Вот открой файл "wogsetup.cpp" и хорошенько изучи его - вот его и нужно переписать для создания нового окна ВОГ опций. Ты думаешь в 3.59 он сильно переписан (предложение п.3)? Очень и очень сомневаюсь.

В 3.59 lua - бурелом кода, не очень понятно как у них сделано. Но скроллинг в опциях у них работает, что на ERA так и не смогли перетащить. Т.е. ограничение в 8 вкладок преодолевать не обязательно.


RE: ERA III - igrik - 27.10.2020 17:45

(27.10.2020 17:36)XEPOMAHT Wrote:  В чём сложность перенести все таблицы диалога? Можно сделать сторонней dll но... твоя dll по-прежнему будет читать старые адреса, поэтому выделять память и переносить таблицы (а их там штук 10, для оптимизации кода можно перенести только половину, обычно я беру те, которые меньше используется кодом) потребуется в твоей dll.
Сложности никакой нет. Только я не хочу этим заниматься и не должен. Это движок игры. А движком игры у нас занимается тольк один человек - Berserker. Я в Воговский движок не лезу.

(27.10.2020 17:36)XEPOMAHT Wrote:  В 3.59 lua - бурелом кода, не очень понятно как у них сделано. Но скроллинг в опциях у них работает, что на ERA так и не смогли перетащить. Т.е. ограничение в 8 вкладок преодолевать не обязательно.
Ты как буд-то читаешь сквозь пальцы. Я же написал что сделаю скролл, просто были более важные задачи, и до скролла руки так и не дошли. И не зачем мне откудо-то его перетаскивать. Тем более, что весь диалог там написан на lua. Даже если бы я и хотел его перетащить - как по твоему я бы это сделал?


RE: ERA III - Berserker - 27.10.2020 17:49

Quote:1) Это уже реализовано. Переход на другую страницу отображает текущую вкладку и скрывает все остальные. Проблем никаких не будет с изменением местарасположения элементов. Всё в настоящее врему уже гибко.
У тебя строго 8 вкладок, которые ты только скрываешь и показываешь. А нужно при переходе на 9 удалить старые элементы вкладки 1 и пересоздать. Тебе нужен метод элемента диалога «Удалить» или что-то в этом роде. Возможно, нужна прокрутка вкладок и прокрутка опций внутри одной вкладки.

Quote:2) Проблем нет. Расширь поле type и укажи мне как ты расширил. И всё. Мне в диалоге исправить - 1 место!
Давай второй диалог делать независимым от первого по отдельной кнопке. Там и опции будут по имени, а не с кодом. И формат сохранения/загрузки другой.

XEPOMAHT, да, нужно уточнить у Сергея, как в Г3 скроллинг работает.


RE: ERA III - igrik - 27.10.2020 17:58

(27.10.2020 17:49)Berserker Wrote:  А нужно при переходе на 9 удалить старые элементы вкладки 1 и пересоздать.
А кто будет инициализировать и заполнять структуру 9й вкладки? Если ты это сделаешь и она в реальности будет 1й вкладкой (твоя псевдо-9ая), то диалог уже это легко схавает и переварит.

1. У меня строго 8 вкладок, потому что так требует структура _DlgSetup_. Будет в ней больше вкладок - сделаю больше. Это вообще не проблема. За прокрутку перестаньте уже мне говорить, надоели, честное слово. Сделаю я её (пока что внутри вкладок). Будет 20 вкладок - сделаю прокрутку вкладок. Проблемы с прокруткой у меня нет. Хотите вкладки сверху - сделаю сверху.
2. Легко. Но нужен бэкенд!

Сделайте мне бэкенд, тогда будет вам диалог, какой хотите, хоть с блекджеком и шлюхами.


RE: ERA III - Berserker - 27.10.2020 18:52

А ориентироваться нужно будет на схожую визуальную структуру? Вкладки, группы вкладок с заголовками и прокручиваемые страницы? Если не прокручиваемые, а перелистываемые страницы (псевдовкладки НАЗАД и ВПЕРЁД), то скажешь потом.


RE: ERA III - Bes - 28.10.2020 03:06

(27.10.2020 17:58)igrik Wrote:  надоели, честное слово.

...Хотите вкладки сверху - сделаю сверху.

... какой хотите, хоть с блекджеком и шлюхами.
последние слова должен был говорить Algor 147

igrik, вкладки сверху тем хороши, что не урезают по ширине область опций, ведь у нас окно имеет бОльшую сторону по ширине, а не высоте.
Так можно даже без скроллинга вместить три столбца опций. Шрифт главное не гигантить
Ab


RE: ERA III - Berserker - 28.10.2020 05:41

Столкнулся с нехваткой 100 y-переменных и освобождением привязок через !#VA(-имя переменной). А Алгор говорил, что не понадобится ))


RE: ERA III - Bes - 28.10.2020 05:54

Berserker, теперь 200 сделаешь?


RE: ERA III - Berserker - 28.10.2020 06:03

Нет, конечно. Уместился в 100 )
Просто пометил в коде, что вот этот массив на 7 y-переменных далее не используется. Можно освободить его и эти переменные на другие имена завязать.

Это когда ты y90..y96 использовал под типы монстров, а дальше у тебя y90 - номер героя, y91 - стратегия распределения монстров по слотам и т.д.


RE: ERA III - Bes - 28.10.2020 06:11

вот сижу щас битый час подстраиваясь под ЕРМ2-синтаксис... как же тяжко, хочется бросить и быстренько сверстать что хочется на родном (для меня уж точно) ЕРМ Dash1
но я упёртый, надо пройти этот вязкий путь, для потомков нужно исходник сделать таки с модными каля-маля


RE: ERA III - Berserker - 28.10.2020 06:13

Bes, накидал тебе в тему помощь. Обращайся.
Поверь, писать сложный мод а-ля Феникс на ERM 2/SCVS в 2-3 раза быстрее, чем без. А сложные вещи на ЕРМ 1 не пишутся вовсе. Пока работал над модом на Смешанные Нейтралы с функционалом на все случае жизни в этом очередной раз убедился.


RE: ERA III - Bes - 28.10.2020 06:22

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


RE: ERA III - Berserker - 28.10.2020 06:29

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


RE: ERA III - Archer30 - 28.10.2020 07:22

Bersy, it seems ERA 3.1.2 breaks the compatibility with some dialogues from WoG Scripts. Currently, issues of Arcane Tower and New Chests have been identified.
The selection will always be the leftmost one (combat in this case) no matter what exactly is picked.


RE: ERA III - Panda - 30.10.2020 15:52

Berserker, как уже писал Archer30, помимо новых сундуков 1/2 и башни, нашёлся ещё навык "Орлиный Глаз I" с такой же проблемой, это будет правится в Эра, или это уже в скриптах копаться нужно?


RE: ERA III - Berserker - 30.10.2020 17:33

Archer30, Panda, мне нужно сохранение только с модом WoG Scripts, на котором можно проверить данный баг.


RE: ERA III - Panda - 30.10.2020 19:21

Berserker, ок, вот сохранение бага навыка Орлиный Глаз - тыкаем "woggandalfwhite", выбираем правое заклинание, смотрим книгу магии - получаем в неё левое.
https://yadi.sk/d/0LmbmSDbMFb9EQ


RE: ERA III - Berserker - 30.10.2020 20:02

Panda, спасибо, исправлено. Войдёт в ближайший релиз.


RE: ERA III - Panda - 30.10.2020 20:06

Berserker, как оперативно 120Rolleyes


RE: ERA III - Berserker - 30.10.2020 21:47

Panda, за тобой угонишься 96-copy


RE: ERA III - Berserker - 31.10.2020 06:45

Готовится к выходу 3.2.0.
Archer30, did you rebuid def fixes you suggested earlier?
http://wforum.heroes35.net/showthread.php?tid=5624&pid=117825#pid117825


RE: ERA III - Archer30 - 31.10.2020 08:41

Yes Berserker, I rebuilt all 3 icons from their most original sources (from what I can find).
Note that there are two versions of CPRSMALL I made. One directly from WoG and the other made from H3 (GOG Edition) for creatures < #150 and WoG for the rest. You can decide which one to be used.

igrik, I rebuilt Dlg_NPC1 from WoG and two new icons by FfuzzyLogik, should be the highest quality of icons that can be achieved. Use mine if you prefer Sm

Download: dropmefiles (with source)


RE: ERA III - Berserker - 31.10.2020 16:22

Archer30, thank you very much!


RE: ERA III - Raistlin - 01.11.2020 01:30

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


RE: ERA III - Berserker - 01.11.2020 01:33

У меня пока нет готовых лекарств по def-файлам. Тут тебе и утилиты по их созданию/распаковке, и тьма игровых функций, которые жёстко ожидают 256 палитру, и HD мод.


RE: ERA III - Raistlin - 01.11.2020 02:34

Я понял. Жаль, конечно, но похоже сделать пока действительно ничего нельзя.


RE: ERA III - Berserker - 01.11.2020 02:39

Идеи есть по замене кадров дефа аналогично плагину alphase.dll, но нужно будет с ХД-модом сделать совместимость, а Бараторч нигде не отвечает. И это будет не для анимаций существ в бою. Ахивы будут больше весить, требования к опер. памяти возрастут. Посмотрим.


RE: ERA III - Raistlin - 01.11.2020 04:28

Berserker, а что, если выпустить сторонний патч? Просто хукнуть нужные функции, как в случае с самой игрой?


RE: ERA III - Berserker - 01.11.2020 18:52

Raistlin, попробуй )


RE: ERA III - Raistlin - 01.11.2020 19:06

Berserker, это немного не мой профиль, я высокоуровневое программирование понимаю лучше) Однако попытка - не пытка, быть может когда найдётся свободное время, я поэксперементирую ради интереса Ab Кстати, а пробовал кто-то ещё что-то такое делать?


RE: ERA III - SergOz - 02.11.2020 16:20

Препятствия на поле боя при переигровках меняются. ERA 3.1.2


RE: ERA III - igrik - 02.11.2020 16:39

Это уже исправлено в следующей версии ERA 3.2.хх


RE: ERA III - Berserker - 02.11.2020 16:47

Raistlin, плагин akphaSE от Семёна, если не ошибаюсь. Перехват 6-8 функций отрисовки кадров дефов с выводом png картинок вместо них. Но там нет совместимости с HD модом.


RE: ERA III - Archer30 - 02.11.2020 22:10

Berserker, it seems the beta 3.2 (or probably since 3.1?) gives me some unexpected surprises :D

Check this out. Some dialogues now become 3-selection type (should be 2)
Image: QzUD3Mm.jpg
52 wog artificer.erm

Moreover, the selection is also broken. It never pops up the following dialogue with the item I pick now. From what I see, the relation between user input and v1 is now different from the previous.

A savegame for you to test over. I'd like to know whether you are going to update the engine to allow less edit to scripts or just leave it as it is now.


RE: ERA III - Berserker - 02.11.2020 22:17

I'll check it out, thanks. In updated dialog all pictures are selectable now and this behavior will not be changed.


RE: ERA III - Berserker - 02.11.2020 22:35

https://dropmefiles.com/g9u0I
Selecting third image will be treated as CANCEL if it's dialog with cancel button or as LEFT image if not CANCEL button is present. It's advised to remove the third image from dialog by changing

!!IF:Q1/7/y5/6/y6/8/y2/10/z126050; in 52 wog - artificer.erm on line 157 at pos 3

into

!!IF:Q1/7/y5/6/y6/10/z126050; in 52 wog - artificer.erm on line 157 at pos 3


RE: ERA III - Berserker - 03.11.2020 00:10

Archer30, we are working with igrik on this issue.


RE: ERA III - Artyr1995ua - 03.11.2020 01:09

(22.10.2020 04:36)Berserker Wrote:  Image: e29aa1.png Вышло обновления для HoMM 3 ERA
Текущая версия: 3.1.1

Image: e29884.png Скачать: https://mods.hmm35.ru/Era%203.X.exe

Можно другую ссылку на обнову ,не работает эта


RE: ERA III - Berserker - 03.11.2020 01:38

Artyr1995ua, антивирус отключи. И скажи название антивируса.


RE: ERA III - Panda - 03.11.2020 01:51

Berserker, на мой дистрибутив вчера тоже (причем только на лёгкую версию) яндекс-диск при загрузке начал жаловаться, типа вирус Sorry


RE: ERA III - Berserker - 03.11.2020 02:22

Подтверждаю. Нужно выяснить, какой антивирусный движок вредит нам.


RE: ERA III - XEPOMAHT - 03.11.2020 11:00

Может быть проще убрать из инсталлятора ЭРЫ весь софт (а вообще зачем он там??? ) ?

1. Снижение размера архива на 27MB (и установленной ЭРЫ на 72MB).
2. Там какая-то куча малопонятных и устаревших программ, к которым и описания какого-то нет.
3. Для моддеров думаю самыми необходимыми являются только MMArchive, DefTool и erm_s с ERM-хелпом, которые можно оставить, остальное предлагаю выложить отдельным архивом, чтобы меньше было подозрений у антивирусов.


RE: ERA III - Panda - 03.11.2020 11:44

XEPOMAHT, это не решит проблемы, т.к. некоторые антивирусы жалуются не (или не только) на утилиты из папки "Tools", но и на некоторые .exe файлы самой игры.

Однако идея очень даже хорошая, лучше было бы из папки "Tools" убрать всё, кроме "Era Start Menu" и файлов, необходимых для установки/обновления Эры, а все остальные утилиты в ней выложить отдельным архивом. Моддеры скачают, если им нужно, ну а обычным игрокам они подавно не нужны.

Berserker, кстати, в дискорде недавно был случай, антивирус "360 total security", убил ей некоторые .exe файлы игры.

PS: провел эксперименты:
1. Конкретно яндексу вдруг не понравились мои файлы на смену 10SSkills, причём на .bat файл он не жалуется, а не нравится ему sfx-архив, в котором лежит 10SSkills.dll... (у кого есть огнетушитель, срочно мне его, у меня горит 5 место 148)
2. Загрузил на вирус тотал Light версию сборки сначала с папкой "Tools", потом без неё, но количество срабатываний это не уменьшило.


RE: ERA III - XEPOMAHT - 03.11.2020 12:43

(03.11.2020 11:44)Panda Wrote:  это не решит проблемы, т.к. некоторые антивирусы жалуются не (или не только) на утилиты из папки "Tools", но и на некоторые .exe файлы самой игры.

Не решит, но придирок от антивирусов будет в разы меньше. От антивирусов спасёт разве что использование отдельного инсталлятора + архива, нечитаемого антивирусами и любыми популярными распаковщиками. В том виде, в котором сейчас выкладывается ERA, антивирусы всегда смогут просканировать архив и найти там ассемблерные вставки и прочий нестандартный хакерский код, наличие которого сейчас приравнивается к вирусам во многих бесплатных антивирусах (которые от реальных вирусов защищают редко, т.к. вирусописатели тоже не дураки и умеют маскировать вредоносный код; в голом виде вирусы, имеющие ярко выраженный ассемблерный вид, уже давно сняты с производства). Например, чтобы выложить Тифон, приходится переименовывать редактор монстров, а моддерам (если кто-то хочет им пользоваться) приходится переименовывать обратно 148 .

(03.11.2020 11:44)Panda Wrote:  1. Конкретно яндексу вдруг не понравились мои файлы на смену 10SSkills, причём на .bat файл он не жалуется, а не нравится ему sfx-архив, в котором лежит 10SSkills.dll...

Кстати, перехваты и патчи в скрытом виде позволяют избавиться от маниакальности антивирусов (например HoA до версии 1.5 имела традиционную систему хуков и бинарных патчей, отлично читаемую как в отладчике, так и антивирусами, а вот начиная с 1.5 они усложнили жизнь антивирусам, но сообщения о ложных срабатываниях антивирусов всё равно иногда да проскальзывают, правда и плата за это - сильное увеличение времени загрузки игры, по крайней мене на моём старом ПК разница была заметна сильно, а про распухший после этого в 3 раза dll от HoA и редактора карт можно и не говорить), но тоже не панацея. Лучше уж тогда не использовать яндекс или переименовать все dll (сейчас некоторые особо умные антивирусы видя, что dll собрана компилятором десятилетней давности, однозначно принимают её за вирусную угрозу и удаляют нафиг).


(03.11.2020 11:44)Panda Wrote:  2. Загрузил на вирус тотал Light версию сборки сначала с папкой "Tools", потом без неё, но количество срабатываний это не уменьшило.

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


RE: ERA III - Berserker - 03.11.2020 15:43

Идея разбивки установщика на компоненты у меня записана в TODO. Стартовое меню Эры при таком решении поломается. Выживаемость и распространённость утилит снизится. Возможность давать советы новичкам тоже, ведь придётся начинать с «загрузи утилиты с сайта ххх».


RE: ERA III - Bes - 03.11.2020 17:49

Berserker, я бы, всё же, прислушался к советам порезать папку Tools в установщике ERA.
такие полезные для тестинга проги как DEE, EVME, Dialog Editior, BinMagic и др. ну реально не востребованы простым игрокам.
Кто любит самостоятельно устранять мелкие проблемы, пользуясь советами знатоков, скачает доп.пакет прог без особых бурчаний


RE: ERA III - Panda - 03.11.2020 20:53

В любом случае это не нам решать.

Я бы сделал вот так:
Из папки "Tools" удаляется всё, кроме Era Start Menu, Mod Manager и install-файлов для установки самой Эры.
В папку "Help" кидается файл "Utilities.url", в папку "Tools\Era Start Menu" файл "settings.ini" из архива ниже по ссылке. Теперь меню будет выглядеть так:
Image: Start-Menu-Lite.jpg
Пункт "Загрузить утилиты" (будет вести к файлу "Utilities.url") в нем ссылка на скачивание sfx-архива с утилитами "Tools HoMM3 ERA.exe" (ссылку в файле "Utilities.url" заменишь на свою, это я показательно сделал, что и как все это работает). Т.е. юзеру будет достаточно нажать на пункт "Загрузить утилиты" и скачать их, ему не нужно будет искать или спрашивать у кого-то ссылки, все очень просто: тыкнул, скачал. Установка так же предельно проста: просто указать папку с установленной игрой, и всё, распаковщик сам все сделает без запроса, и создаст ярлык на рабочем столе на "Era Start Menu". И теперь стартовое меню будет выглядеть так:
Image: Start-Menu-Full.jpg.

Ссылка на архив:
https://drive.google.com/file/d/1-jXXmh_GGUKtloTdWzU2SunbdwJXBMKL/view?usp=sharing


RE: ERA III - SergOz - 03.11.2020 21:37

(03.11.2020 20:53)Panda Wrote:  В любом случае это не нам решать.
Несколько дней назад смотрел стрим Glenn'а. Зашёл разговор о "нелюбви" к WoG'у. Одному то не нравится другому - сё. Я написал, что любую "нелюбимую" опцию можно отключить - и делов то. На что мне ответили, что для того, чтобы отключить, нужно знать где и что отключать. А сидеть втыкать и долго разбираться - не в кайф. Напомню, что речь идёт об меню "Опции WoG", в котором за столько лет существования, казалось бы и мартышка уже разобралась бы.
Но, ключевое здесь - "не в кайф", а не в умственной неспособности.
Если добавлять ещё какие-то условия: перейди по ссылке =>загрузи => установи => активируй (а, если не знаешь, то спроси у шарящих), - популярность Эры снизится. ИМХО.


RE: ERA III - Bes - 03.11.2020 21:53

SergOz, нет, ты путаешь "настройки для игрока" с настройками" для продв.уровня фаната/моддера.
аналогия с опциями игры в данном ключе не совсем равнозначна.
Для игрока, которому "не в кайф" что-либо кликать/искать где кликнуть, сама ERA не подходит в принципе. Ибо там надо частенько лезть в Менеджер модов ,что уже "не в кайф".
для таких только отдельные готовые игровые сборки, где всё уже отстроено и включено, и остаётся лишь запустить игру и играть.

Мы же (я же), говорим именно что про вычленение из основы ERA заведомо продвинутого софта, которым такие игроки просто никогда не станут пользоваться, ибо "не в кайф". И то, только самые сложные для понимания.
Менеджер модов, ЕРМ редактор и пр. частые проги конечно пусть будут автоматом включены в установщик


RE: ERA III - Berserker - 03.11.2020 21:53

Panda, но с сборках наличие Tools более чем желательно. Качаешь одну сборку — получаешь всё наследие.


RE: ERA III - Bes - 03.11.2020 21:56

Berserker, если только саму сборку автор не позиционирует как "просто кликни и играй" Yes
"сборка" не тождественна "инструментарий моддинга"
для этого ты и сделал раздел Сборки ,чтобы там нужную для себя скачать и не глумить голову лишним


RE: ERA III - wessonsm - 03.11.2020 22:25

Для того и нужны готовые сборки, чтобы установить и играть.
Тот, кто хочет что-то менять в игре, обычно сам или с минимальной помощью может разобраться, что нужно скачать или установить.


RE: ERA III - Bes - 03.11.2020 22:40

(03.11.2020 22:37)Raistlin Wrote:  
(02.11.2020 16:47)Berserker Wrote:  Raistlin, плагин akphaSE от Семёна, если не ошибаюсь. Перехват 6-8 функций отрисовки кадров дефов с выводом png картинок вместо них. Но там нет совместимости с HD модом.
Не могли бы Вы дать мне ссылку? Я что-то ничего не нахожу...

это? Unsure
http://wforum.heroes35.net/showthread.php?tid=5747
там вроде мелькали исходники альфа плагина


RE: ERA III - Panda - 03.11.2020 23:03

Berserker, wessonsm, я в своей сборке ничего "урезать" не буду. В этом нет никакого смысла.
1. "Параноидальники" будут всегда. Однако искать движка-поганца всё равно нужно, одно дело когда антивирус грохает что-то из "Tools" или мой несчастный sfx-архив с 10SSkills, на самой игре это никак не отразится, а другое дело, когда уже сами .exe файлы Эры и игры страдают.
2. В моей сборке как раз для того и переделано стартовое меню, чтобы в 1 закладке было только то, что нужно обычному игроку, а-ля скачал, установил, может что-то поднастроил, запустил и играй, и всё. 2 закладка уже как раз для опытных/продвинутых.
Image: 01.jpgImage: 02.jpg
3. В Лёгкой версии папку "Tools" можно было бы и урезать, ведь по сути в ней изменяется только один файл, но тогда тот, кто установит легкую версию не на мою сборку, получат полностью неработоспособное стартовое меню. Поэтому урезать в легкой версии тоже ничего не буду.


RE: ERA III - Berserker - 03.11.2020 23:32

wessonsm, инструменты умрут, если их не распространять в основном установщике или сборках. Я едва HMM 3.5 TE откопал и старый WoG. А вы их хотите и из Эры убрать, и из сборок. Вот Панда убирать инструменты не собирается из сборки и мне легче будет отрезать ещё кусок, который редко обновляется, а место в каждом установщике занимает.


RE: ERA III - wessonsm - 03.11.2020 23:38

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


RE: ERA III - Panda - 04.11.2020 00:32

Berserker, ну я лишь озвучил самый безболезненный способ, если вдруг инструменты будут убраны из установщика Эры. Ничего против них не имею.
Так же для распространения эти инструменты можно загрузить в тему "[Архив] игровых сборок Героев III". Проблема лишь в том, что при установке этих инструментов, это поломает стартовое меню, которое было у чела до установки этих инструментов.
Значит, на будущее, нужно сделать как уже писал XEPOMAHT: "От антивирусов спасёт разве что использование отдельного инсталлятора + архива, нечитаемого антивирусами и любыми популярными распаковщиками. В том виде, в котором сейчас выкладывается ERA, антивирусы всегда смогут просканировать архив".


RE: ERA III - Bes - 04.11.2020 00:41

(03.11.2020 23:38)wessonsm Wrote:  Berserker, я против, чтобы убирать утилиты из Эры.
Искать их на просторах интернета - удовольствие ниже среднего.
достаточно один раз их скачать (что уже все давно сделали итак) и положить вне папки ERA. Я так и сделал в 2011. И не лазаю в папку Tools вообще. Новым скриптером тож не пользуюсь, меня устраивает старый добрый редактор.
А новые моддеры так же скачают вместе с ERA отдельным архивом пак с инструментарием, или сразу готовую сборку с ними, и не надо опять что-то выискивать спустя месяц


RE: ERA III - Raistlin - 04.11.2020 01:44

(03.11.2020 22:40)Bes Wrote:  это? Unsure
http://wforum.heroes35.net/showthread.php?tid=5747
там вроде мелькали исходники альфа плагина
Спасибо! Там, правда, ссылки умерли, но суть я в общих чертах понял


RE: ERA III - Berserker - 04.11.2020 02:53

Bes,
Quote:Новым скриптером тож не пользуюсь, меня устраивает старый добрый редактор.
Ты теряешь 90% скорости разработки. Множественное выделение/курсоры, переход к объявленным функциям, автодополнения, полная подсветка синтаксиса и многое другое. На тебя равняться нельзя.


RE: ERA III - Bes - 04.11.2020 03:08

(04.11.2020 02:53)Berserker Wrote:  Bes,
Quote:Новым скриптером тож не пользуюсь, меня устраивает старый добрый редактор.
Ты теряешь 90% скорости разработки. Множественное выделение/курсоры, переход к объявленным функциям, автодополнения, полная подсветка синтаксиса и многое другое. На тебя равняться нельзя.
мне просто не хочется вникать в эти хитрые раскладки клавиш, да и привыкать к новому сложнее (без мотивации особой и придерживания к привычному) и вообще я ж не пишу уж сколько лет ничего, так, тока правки редкие.
И равняться на меня уж точно не надо, это правда. 115

(для ускорения рутины редактор отличный, часто меня выручает, но по html писанине)



RE: ERA III - wessonsm - 04.11.2020 03:59

Я тоже старым редактором пока пользуюсь, но это просто из-за ретроградства и нежелания привыкать к новому.

Именованные переменные я оценил. Некоторое усложнение написания скриптов с лихвой компенсируется при тестировании и отладке.


RE: ERA III - SergOz - 04.11.2020 04:36

(04.11.2020 00:41)Bes Wrote:  Новым скриптером тож не пользуюсь, меня устраивает старый добрый редактор.
(04.11.2020 03:59)wessonsm Wrote:  Я тоже старым редактором пока пользуюсь, но это просто из-за ретроградства и нежелания привыкать к новому.
Я тоже... Так чего же хотеть от простых игроков, не желающих вникать в новшества Эры? Tease


RE: ERA III - XEPOMAHT - 04.11.2020 04:58

(04.11.2020 04:36)SergOz Wrote:  
(04.11.2020 00:41)Bes Wrote:  Новым скриптером тож не пользуюсь, меня устраивает старый добрый редактор.
(04.11.2020 03:59)wessonsm Wrote:  Я тоже старым редактором пока пользуюсь, но это просто из-за ретроградства и нежелания привыкать к новому.
Я тоже... Так чего же хотеть от простых игроков, не желающих вникать в новшества Эры? Tease

И я тоже. Лично мне старый просто привычнее, с ним проще, не надо переучиваться и мучиться с настройками (блокнот - он и в африке блокнот). Да и в самом ERM-е я безнадёжно отстал, т.к. на MoP оно сейчас почти не обновляется (за год только расширил 1 команду и больше ничего не делал), а совместимость скриптов между ERA и MoP для меня важна.


RE: ERA III - Berserker - 04.11.2020 07:23

Редактор/Трафик (щёлкайте на любой картинке для увеличения всех) (Click to View)



RE: ERA III - igrik - 04.11.2020 10:38

Кругом столько старпёров 36


RE: ERA III - V_Maiko - 04.11.2020 14:19

Are you guys talking about preferring to use the classic ERM Scripter more than Sublime Text Editor? because, although I'm not as veteran as you guys, I prefer to also use the old one, because it is a tool that lived with us many years before and is better suited to our liking 96-copy


RE: ERA III - Berserker - 04.11.2020 17:28

igrik, мы окружены староверами 96-copy


RE: ERA III - Berserker - 06.11.2020 08:34

Почти релизное обновление библиотеки: https://dropmefiles.com/uqbOb


RE: ERA III - Panda - 07.11.2020 13:21

Berserker, нашёл ещё один баг, он связан со скриптом 27 wog - enhanced commanders, у командира "Астральный Дух" вызов Элементалей стал работать неадекватно, он не зависимо от силы командира вызывает только по 3 элементаля, хотя должен 3, 6, 9, 12, 15 в зависимости от силы командира. На Эра 3.0.4 и 3.0.5 все хорошо, вызов работает как положено. С последней версии библиотеки из сообщения выше тоже пробовал - баг остался. Может посмотришь, как будет возможность. Ab


RE: ERA III - Berserker - 07.11.2020 16:23

Подтверждаю. Что-то пошло не так в переписанном после Сант коде, найду баг.

Спасибо большое за отчёт. Исправление: https://dropmefiles.com/x1arv


RE: ERA III - Panda - 07.11.2020 16:45

Berserker, спасибо за исправление, теперь призыв работает как надо 132


RE: ERA III - Panda - 09.11.2020 20:50

Berserker, спасибо за обновление! Ab Пару замечаний:
1. Все ссылки на скачку ведут к версии 3.1.2, а не 3.2.0.
2. В Era 3.2.0 плагин "wog native dialogs.era" по контрольным суммам не сходится с плагином, который я только что скачал с гитхаба у igrik.


RE: ERA III - Berserker - 09.11.2020 21:36

Panda, всё верно, на гите игрик оставил версию без одной правки. Спасибо за заметку, обновляю ссылку )


RE: ERA III - igrik - 09.11.2020 22:05

Я сегодня обновил плагин для ERA 3.2.0 на гите. А после этого обновил ещё раз, засунув туда одну очень мелкую, не влияющую на геймплей правку. Поэтому контрольные суммы и различаются. Но функционал полностью идентичен.


RE: ERA III - Berserker - 09.11.2020 22:12

igrik, если перейдём на std::string, можно будет одну версию держать. Или теперь плагин на гите под Эру 3.2+?


RE: ERA III - igrik - 09.11.2020 22:16

Ребята, которые пишут скритпы - обратите пожалуйста внимание! Плагин BattleReplay в будущем (не в скором времени, но всё же...) перестанет поддерживать функции !?FU870520; и !?FU870530;
Начиная с ERA 3.2 и выше - переходите на функции !?FU(OnBeforeBattleReplay); и !?FU(OnAfterBattleReplay);



RE: ERA III - igrik - 09.11.2020 22:22

(09.11.2020 22:12)Berserker Wrote:  igrik, если перейдём на std::string, можно будет одну версию держать.
Столько танцев с бубном мне нужно сделать, чтобы использовать std::string. Сама игра в подавляющем большинстве случаев заставляет использовать char*, и постоянное использование string.c_str(), которое не всегда корректно отрабатывет при созданнии тех же элементов диалогов, меня, мягко выражаясь, не один раз очень сильно огорчало. Но, как я вижу, в любом случае придётся это сделать.

На гите wog native dialogs под 3.2+ (все нужные версии wnd под соответствующие версии эры есть у тебя в установщиках самой эры)


RE: ERA III - Archer30 - 10.11.2020 21:40

Hi Berserker, just to confirm a small thing. I can see the Dragon Spec from UN44 is now the icon of Crystal Dragon, is it intentional? If so, then UN32 has to be updated too. 102

Also, can you share the source of the updated UN44, please?


RE: ERA III - Bes - 10.11.2020 22:36

Archer30, нет, это моя ошибка, когда я собирал базовые кадры из H3COMPLETE исходника. Там была иконка кристального дракона.
исправлю


RE: ERA III - Bes - 10.11.2020 22:46

https://dropmefiles.com/p21G9
UN44 с головой дракона (Click to View)
+ те кадры, что я исправлял из оригинального WoG3.58f файла UN44.def

Upd.Я таки планирую другие незатронутые кадры из un44 так же доработать под общую wog-подложку (заклы/навыки), после чего уже выложу все файлы разом.
Кстати, касаемо головы, которую wogteam вставила в кадры специализации - может поменять её? раз уж занялись этой темой?
взять голову одного из драконов NWC-рендеров и уменьшить в размер 36 пикселей по длине?
Мутарэ на каком драконе должна специализироваться? кристальном же?


RE: ERA III - Berserker - 11.11.2020 00:11

Bes, на твоё усмотрение. Мне казалось, что специализация по всем драконам.


RE: ERA III - Archer30 - 11.11.2020 17:19

Thanks Bes132

Berserker, is there anything changed to HE:L1 and HE:L2? They don't seem to work now. Although HE:L5 works the same.

Another question is, how can I check the number of scenarios of a campaign?
I'm trying to write external scripts for campaigns. I learn from the WoG Campaign structure. It turns out I have to put my script for a campaign scenario in Maps\Resources\[campaign file name]\[scenario #]\Data\s directory. But where I can get the scenario # from?


RE: ERA III - Berserker - 12.11.2020 07:07

Archer30, I didn't change HE:L, maybe wrong path. Show me the code, please.
Open campaign editor. When you select map, you see Zone name. There is a txt with campaign zone names in h3bitmap.lod, afaik. Map name is zone index in group, starting from zero.

Or simply create 1, 2, 3, 4 directories with Data\s\test.erm inside with

ZVSE2
!#IF:M^1^; or 2 or 3 or 4


RE: ERA III - Archer30 - 12.11.2020 17:33

Berserker,

Thanks for the tip of campaign index. What if it's a 3rd party campaign that I have only the h3c? Guess testing each of them is the only choice?


RE: ERA III - daemon_n - 12.11.2020 23:06

(09.11.2020 22:16)igrik Wrote:  

igrik, Раньше было так (Click to View)
То есть !!FU87052:P; и !!FU87053:P; больше не нужны?


RE: ERA III - Berserker - 13.11.2020 00:09

Archer30, look at zamptext.txt or camptext.txt

Say, the map zone is Even way home

Long Live the Queen
Liberation
Song for the Father
Dungeons and Devils
Long Live the King
Spoils of War
Seeds of Discontent
Bracada
Islands
Krewlod
Nighon
Tatalia
Armageddon
A Life of A-d-v-e-n-t-u-r-e
Evil Way Home - 14-th item in the list
In the Wake of Gods
The Samaritan
Rise of the Necromancer
Unholy Alliance
Specter of Power

Item index is 14. In each campaign group item indexes start from zero.


RE: ERA III - igrik - 13.11.2020 02:05

(12.11.2020 23:06)daemon_n Wrote:  
igrik, Раньше было так (Click to View)
То есть !!FU87052:P; и !!FU87053:P; больше не нужны?
Нужны. Я ошибся. Исправлю в своих сообщениях.


RE: ERA III - Archer30 - 13.11.2020 22:20

Berserker, I don't fully understand your way as it seems only works for the official campaigns. When it comes to 3rd party campaign, for example, Heroes Chronicles, I got confused. But anyway I figured out with IF:M.
HC - Masters of the Elements

Another question I would like to ask is about installmod.exe. What parameter should I use to insert text in list.txt with it (if I run a cmd)?
Trying to create a custom installer without Sydr's Mod Manager.


RE: ERA III - Berserker - 13.11.2020 23:26

Archer30,
Edit - Campaign properties - Map: Armageddon

open zamptext.txt
Search for Argageddon:
// Armageddon Map Region Names
Armageddon A
Armageddon B
Armageddon C
Armageddon D
Armageddon E
Armageddon F
Armageddon G
Armageddon H

So Armageddon A = 0
Armageddon B = 1
Armageddon C = 2
...

installmod.exe "mod name"

You can open Mixed Neutrals.exe mod file with winrar and see sfx comments and settings. All my mods can be installed without mod manager.


RE: ERA III - Archer30 - 14.11.2020 06:28

Thanks Berserker, now I understand how it works! 132

A small drawback is that installmod.exe triggers UAC, which makes an installer far more suspicious. For now, is there no way to have the same function as installmod.exe but without UAC warning?

Also, any idea about HE:L1/L2? They don't seem to work in the latest ERA (no need to check in a hurry, just reminding).


RE: ERA III - Berserker - 14.11.2020 08:02

Welcome Sm

Archer30, installmod is simpliest program, used for years. I don't know, why it triggers UAC at your side.

Quote:Also, any idea about HE:L1/L2? They don't seem to work in the latest ERA (no need to check in a hurry, just reminding).
I will recheck both, added to TODO, thanks.


RE: ERA III - Berserker - 14.11.2020 08:18

HE:L1^^ is invalid syntax for Era 3+
I'll rewrite the command from scratch, but you will have to write HE:L1/^name^ (not slash, separating arguments).


RE: ERA III - Archer30 - 14.11.2020 09:24

Strange, so HE:L2 does work? 102 Then we have different results here.

The example you gave
isn't this the same as the previous HE:L1 syntax (without /)?

I'm surprised that UAC does not trigger on your end with installmod.exe. How could it be? I use the OS with the most market share - Windows 10 Home btw. Fie
It would be really handy if installmod.exe also remove the outdated mod folder with the name specified.


RE: ERA III - Berserker - 14.11.2020 09:26

I use Windows 7 with UAC off. installmod should not trigger anything, unless you've installed the game on C drive in program files.

Update:
https://dropmefiles.com/RcmX5

Code:
[!] HE:L command was rewritten to support #/^...^ Era 3 syntax. Automatical adventure map redrawing was removed.
    From now command supports any ERM string.



RE: ERA III - Archer30 - 14.11.2020 10:25

Berserker, thanks! Now HE:L works like a charm.

Hehe, you won't believe it unless I show a screenshot, check this one.
As you see, installmod.exe is with a "shield" on its icon, that's the mark for programs that triggers UAC. Also I don't think it matters which location I put it or my games, the program itself has been marked and will trigger UAC whenever it's run.


RE: ERA III - Berserker - 14.11.2020 17:11

4. Right click on the desktop shortcut icon and select “Properties”. Select tab for “Compatibility”.
5. On “Privilege Level” at the bottom of this window: remove check from the box next to “Run this program as an administrator”.


RE: ERA III - Archer30 - 14.11.2020 17:58

Sorry Berserker, I should have identified the cause sooner. The reason that installmod triggered UAC is becoz it's not from a known publisher.

So basically if a user clicks "yes" in this pop-up, installmods will run as it should, nothing more. But it looks suspicious. That's why I'm looking for an alternative way.


RE: ERA III - Berserker - 14.11.2020 18:11

Archer30, I didn't received a single compliance on UNC for years. It's normal, that any new application without a company signature will trigger such a warning single time. Many people have UAC disabled.


RE: ERA III - Berserker - 15.11.2020 07:25

Обновление dll и ЕРМ библиотеки: https://dropmefiles.com/5eNn5


RE: ERA III - Berserker - 17.11.2020 03:32

Era 3.3:
-) Создать временный массив строк
-) Получить список всех папок в каталоге Mp3
-) Объединить элементы списка, используя перевод строки в качестве разделителя
-) Вывести пользователю список папок в каталоге Mp3



RE: ERA III - Berserker - 18.11.2020 07:32

Обновление для работы мода «Безлимит на музыку»:
https://dropmefiles.com/pGC0K


RE: ERA III - SergOz - 20.11.2020 03:08

(20.11.2020 02:51)Berserker Wrote:  SergOz, переходи на тройку. Я вчера ради интереса запустил Феникс-Мод. Стартанул без ошибок, как и новая карта Валеры. Ну разве не пример 99% совместимости? А возможности новые растут с каждым обновлением.
Та, я уже здесь, просто мой, не раз простреленный в геройских боях мозг, не поспевает за всеми нововведениями + отсутствие простых понятных примеров использования.
А чтобы задать вопрос, нужно хоть немного вникнуть в суть вопроса...
Афоризм - мой, при употреблении ссылка на автора не обязательна



RE: ERA III - Bes - 20.11.2020 03:14

SergOz, предлагаю тебе попробовать сделать одну сборку нововведений ERA3, это максимально продуктивный способ узнать всё, без практики по сути, и реально увидеть что даже и не знал. Заодно и всем пользу принесёшь эдаким ЕРМ-справочником по новой платформе 116


RE: ERA III - Berserker - 20.11.2020 03:20

SergOz, начни с простого. Пишешь новый скрипт — вместо y и z переменных пиши при первом использовании

(urovenMonstra:y), (opisanieGildii:z) или (monLevel:y), (guildDescription:z), а далее уже без :z, :y

Пример:

Второй уровень — это почти везде, где хочешь написать голое число, поищи константу в 9999 era - const.erm (включены в автодополнения редактора).
Итого:



RE: ERA III - SergOz - 20.11.2020 03:48

Berserker, та это я уже "схавал" и новую маленькую карту пишу исключительно на ERM2, где нет ни одной v и y, а sublime (да будут счастливы дни его авторов), очень помогает мне в этом. Прям сто раз уже клял себя, что раньше не попытался в нём работать. Но, всё даётся туго и времени мало. А тут ещё и времена тяжкие настали.
Не такие, конечно, как в периоды набегов половцев и печенегов, но ...

Bes, я бы с радостью помог, но, про мозг помнишь где копать и собирать, как оформить и т. д. - я не знаю. Я абсолютно не знаком со стуктурой Героев, никогда ничего (кроме mp3) не менял, в папки не лазил и даже чем что открывать не знаю. За последние пол-года, благодаря этому форуму, появились небольшие просветы в этой области, но, так чтобы создать справочник - сори. Sorry
P.S. Я, если бы не твой Хэлп, так вообще бы 75


RE: ERA III - Berserker - 20.11.2020 03:52

SergOz, обращайся, если будут вопросы )


RE: ERA III - Bes - 20.11.2020 03:59

SergOz, да я ж не о том, справочник должен был быть написан в ковычках.
Я просто тебе предложил внимательно, с кучей вопросов тут пройтись по истории изменений ERA3 ;-)
Так реально многое проясняется. А записывая для себя эти куски инфы по ЕРМ, потом ими можно со всеми поделиться, простым текстовиком с скопированными выдержками. Многие даже этого боятся/ленятся сделать, тем самым не давая себе же новый нужный для своих задач материал


RE: ERA III - daemon_n - 20.11.2020 07:06

(20.11.2020 03:20)Berserker Wrote:  

иллюзия удобства: из-за обилия констант, перечисленных в столбик, довольно часто приходится прыгатьь по файлу. Мб, отделить особо крупные списки? Скажем, номера героев, артефактов, существ и объектов - в отдельные erm-файлы.

Ну и в справку добавить можно основные префиксы? Так будет сразу наводка на ERM2


RE: ERA III - Berserker - 20.11.2020 07:57

daemon_n, так про любой справочник и документацию можно сказать. Прыгать нужно всегда. Найти нужно группу лучше всего по поиску: CTRL+F, "FLAG" + F3...

Чисто для визуального ознакомления да, сортированный список префиксов может быть удобен.


RE: ERA III - Panda - 21.11.2020 04:51

Berserker, вылет при заходе в город, из модов только WoG Scripts, без HD мода результат такой же. Эра 3.2.0 + патч который для работы смешанных нейтралов нужен был.
Нанимаю оруженосца, допустим эльфа, беру знамя, и либо вылет сразу, либо вылет при попытке зайти в город.
Дебаг плюс сохранение:
https://cdn.discordapp.com/attachments/755379249744969830/779492369779130374/Debug.rar


RE: ERA III - Archer30 - 21.11.2020 12:36

Hi Berserker,

Can I ask you to implement the support for h3m like what you have done to h3c - putting scripts in resources folder makes those scripts only enabled when a specific scenario is loaded, please? That would be really handy. 96-copy


RE: ERA III - Berserker - 21.11.2020 17:24

Panda, ровно о таком же девушка с ВК дважды мне писала. Но там была сборка. Что за патч?

Archer30, Maps\Resources\Arrogance\Data\s\...

Done for years already.


RE: ERA III - Panda - 21.11.2020 18:53

Berserker, когда ты выпускал мод смешанные нейтралы версию 2.1.0, ты скидывал и обновления эры, т.к. на чистой 3.2.0 мод бы не работал.
Вот этот:
"Обновление dll и ЕРМ библиотеки: https://dropmefiles.com/5eNn5".


RE: ERA III - Berserker - 21.11.2020 19:00

Panda, понял, спасибо. Буду разбираться. Действительно, нужно срочно решать.


RE: ERA III - Berserker - 21.11.2020 19:39

Panda, как вызвать вылет? Один раз получилось при поднятии баннера. Дальше — ни в какую.


RE: ERA III - daemon_n - 21.11.2020 19:42

Berserker, как я понял, надо в замок сессть после этого


RE: ERA III - Berserker - 21.11.2020 19:46

daemon_n, заходил в город по сто раз. Вылет при посещении объекта должен быть. Но у меня он крайне редкий.


RE: ERA III - Panda - 21.11.2020 19:48

Berserker, Нанимаю оруженосца, допустим эльфа, беру знамя полководца, жму "пробел" ну или просто мышкой зайти в город, "улетаю в космос" 148 Улетаю увы не всегда, иногда можно и 3 часа не улетать, и иногда несколько раз подряд улететь, так и не увидев карты...


RE: ERA III - Berserker - 21.11.2020 22:05

Panda, печально, что баг плавающий. Посмотрю, что можно сделать.


RE: ERA III - Panda - 22.11.2020 11:10

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


RE: ERA III - Berserker - 22.11.2020 16:27

Уже отписался в другой теме. Попробуй отключить wog native dialogs плагин и выполнить те же действия с оруженосцем и городом. А потом поднять баннер войны.

Обновление dll и библиотеки. Теперь в форме удобного инсталлятора.
Нужно для новых версий модов.


RE: ERA III - Berserker - 22.11.2020 18:50

https://dropmefiles.com/IuGHC


RE: ERA III - Archer30 - 23.11.2020 17:21

Quote:Done for years already.
Thanks!

Berserker, latest bug of the ERM engine. Spiteful

A side effect of the !!CO:A series is that it messes up the name string of the commander.
Currently, this bug has been spotted on ERA 2.46, ERA 2.9 and ERA 3.2+ with CO:A1 and A3. Most likely A2 and A4 also have the problem.


RE: ERA III - Berserker - 23.11.2020 17:41

But CO:A should change only artifact name, no? Show me the code, please.

Multiple hot keys cannot be set now, but I'll see what can be done.


RE: ERA III - Archer30 - 23.11.2020 18:28

Berserker, try this one.
In theory, Archer should always be your loyal commander. But in reality, it ends up with some random guys... Rolleyes

A question - is it possible to raise the priority of scripts inside Maps\Resources\[Name]\data\s ? According to a map maker, scripts in this directory will always have the lowest priority (execute sooner than other scripts) without the consideration of priority in list.txt. Changing the names of scripts also didn't help. Yes, he's making a map allowing wogification with external scritps


RE: ERA III - SergOz - 23.11.2020 18:29

У меня, с самыми последними обновлениями Эры 3, по прежнему, при переигровке боя, меняются препятствия на поле боя.
Может, нужно изменить? Но, после предупреждений Бараторча и Игрика опасаюсь это делать, так как не уверен 96
Не дай Бог, жена увидит этот пост...



RE: ERA III - Berserker - 23.11.2020 23:30

SergOz, у тебя явно древняя версия плагина на переигровку.

Archer30, scripts from Maps\Resources\[Name]\data\s are currently loaded before global scripts, thus they are executed first. thus nothing has to be done to achieve the goal.

Thank you for code examples, I'll look into them.


RE: ERA III - Berserker - 26.11.2020 08:44

https://mods.hmm35.ru/Era%20Update.exe
Обновление Эры. Далее будет использоваться эта же ссылка для неофициальных обновлений.
Понадобится для мода Difficulty Mod и других.


RE: ERA III - daemon_n - 26.11.2020 08:50

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

UPD: баг была получен без новых "багофиксов.dll", потому изучу поподробнее. Мало ли кто ещё сталкивался с этим, но как минимум один репорт я уже получил.


RE: ERA III - Berserker - 26.11.2020 09:14

daemon_n, сомневаюсь, что дело в Эре. Лычки и опыт не трогал никаким боком.


RE: ERA III - Archer30 - 26.11.2020 20:01

Berserker, there is a new bug found with WoG Scripts - 31 wog - creature relationships. It seems
from the script is incorrect, both x9 and x10 = 0 no matter what.
is corrected.

I am happy to update this particular script. But isn't the first case should be allowed?


RE: ERA III - Berserker - 27.11.2020 00:32

It should be allowed, thanks. I'll recheck it. Thank you for report.


RE: ERA III - Berserker - 27.11.2020 07:27

В Эре 3.3 реализована поддержка цветных текстов для всех режимов HD мода. Плагин дли китайского языка, использующий свои функции отрисовки, работает по-старому.
https://mods.hmm35.ru/Era%20Update.exe


RE: ERA III - Algor - 27.11.2020 10:05

132


RE: ERA III - daemon_n - 27.11.2020 10:33

(27.11.2020 07:27)Berserker Wrote:  В Эре 3.3 реализована поддержка цветных текстов для всех режимов HD мода.
Работает!!!

P.S.: в апдейтере мусорная папка "Runtime"


RE: ERA III - Berserker - 27.11.2020 15:14

daemon_n,
Code:
[+] Added "Runtime" directory to Heroes 3 directory. Mods should read/write data, created or modified at runtime there.
    If you need config, that player will be able to alter using GUI interface, read data from "Runtime\you mod.ini",
    fallbacking to json config values from Lang directory. Thus cleaning "Runtime" directory will have the same effect as reinstalling all mods from scratch.
Удалишь эту папку, самые современные моды не смогут в ней настройки хранить. Её задача — хранить изменяемые файлы но так, что если всю её очистить, эффект будет как от переустановки всех модов. То есть моды считывают резервные json-конфиги или используют настройки по умолчанию. Новый Difficulty Mod от Perry уже вовсю использует сохранение/загрузку ini из Эры 3.3.


RE: ERA III - daemon_n - 27.11.2020 18:34

Может, тогда туда и плагниы добавить? А то одно там включи, другое там выключи, ну, вы поняли.


RE: ERA III - Algor - 27.11.2020 18:52

daemon_n, не надо мешать, это не для плагинов папка.
Берс вроде вполне однозначно обозначил ее роль.


RE: ERA III - Archer30 - 28.11.2020 00:28

Berserker, there is a mini bug with Campaign - starting bonus.

When picking Building Lookout Tower at Main Town as the starting reward, the game is trying to find BoTCasW.pcx as the picture of the option, instead of BoTCastW.pcx. The first one does not exist.
Testing campaign - In zone 2 you will have the Lookout Tower as the starting reward.


RE: ERA III - Berserker - 28.11.2020 00:53

Quote:BoRUni2.pcx BoRTre2.pcx BoRPeg2.pcx BoRElf2.pcx BoRDwf2.pcx BoRCen2.pcx BoRDra1.pcx BoRUni1.pcx BoRTre1.pcx BoRPeg1.pcx BoRElf1.pcx BoRDwf1.pcx BoRCen1.pcx BoRHoly.pcx BoRTre2h.pcx BoRTre1h.pcx BoRGar2.pcx BoRDwf2h.pcx BoRDwf1h.pcx BoRGar1.pcx BoRAid.pcx BoRMrk2.pcx BoRMrk1.pcx BoRHal4.pcx BoRHal3.pcx BoRHal2.pcx BoRHal1.pcx BoRCas3.pcx BoRCas2.pcx BoRCas1.pcx BoRTav.pcx BoRMag5.pcx BoRMag4.pcx BoRMag3.pcx BoRMag2.pcx BoRMag1.pcx BoCsAng2.pcx BoCsCv2.pcx BoCsMon2.pcx BoCsGr2.pcx BoCsPik2.pcx BoCsAng1.pcx BoCsCv1.pcx BoCsMon1.pcx BoCsSwd1.pcx BoCsGr1.pcx BoCsPik1.pcx BoCsHoly.pcx BoCsTav2.pcx BoCsCv2S.pcx BoCsGr2H.pcx BoCsGr1H.pcx BoCsLite.pcx BoCsBlak.pcx BoCsMrk2.pcx BoCsMrk1.pcx BoCsHal4.pcx BoCsHal3.pcx BoCsHal2.pcx BoCsHal1.pcx BoCsCas3.pcx BoCsCas2.pcx BoCsCas1.pcx BoCsDock.pcx BoCsTav1.pcx BoCsMag5.pcx BoCsMag4.pcx BoCsMag3.pcx BoCsMag2.pcx BoCsMag1.pcx
BotCasW seems to be valid name. I didn't find "BoTCastW" in the executable. Strange.


RE: ERA III - Berserker - 28.11.2020 01:01

Lifehack. WoG Chinese\Data\Redirections\Missing\chinese.json
Code:
{
  "BoTCastW.pcx": "BoTCasW.pcx"
}



RE: ERA III - Archer30 - 28.11.2020 01:13

Well, you didn't find BoTCastW from the executable becoz there isn't one. Dry It looks for BoTCasW.pcx like I said, while BoTCastW is the only one available.
Please add this lifehack to the next release so I don't have to correct the Heroes Chronicle mod 96-copy


RE: ERA III - Berserker - 28.11.2020 02:11

No problem, done.


RE: ERA III - daemon_n - 28.11.2020 08:03

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

P.S.: Насчёт папки Runtime (а ещё random_maps и games).
Может, добавить возможность эре создавать данные папки автоматически? Или будут проблемы со стороны доступа к системе?


RE: ERA III - Archer30 - 28.11.2020 09:59

daemon, from testing the chronicles mod I did not find the same issue. As far as I know, HE:L might not be correctly working for ERA 3.0 - ERA 3.1. That might interfere with the test. In ERA 3.2 everything works just fine.

Berserker, thanks! Just make sure it's
Code:
"BoTCasW.pcx": "BoTCastW.pcx"
(The post swapped these two around)


RE: ERA III - Panda - 28.11.2020 14:17

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


RE: ERA III - Berserker - 28.11.2020 15:43

daemon_n, отличная идея. Буду проверять и автоматически создавать папки Runtime, random_maps, games.

По портретам действительно проверь последнее обновление.

Archer30, right, done.

Panda, понял, посмотрю, спасибо.


RE: ERA III - daemon_n - 28.11.2020 17:19

Berserker, последняя эра, кажется (отзыв из ВК) (Click to View)
UPD: возможно, уже исправлено. Потому и нет смысла смотреть, но я пока оставлю здесьAb

P.S.: Напоминаю о своей просьбе: добавить кнопку вог настроек в окно перед стартом кампании.Ab


RE: ERA III - Berserker - 29.11.2020 01:40

Quote:Berserker, последняя эра, кажется
1000 const.erm из старой Эры 3. Установили обновление поверх старой версии. Нужно переустановить поверх чистых героев или скачать сборку.

Quote:P.S.: Напоминаю о своей просьбе: добавить кнопку вог настроек в окно перед стартом кампании.
Это к Игрику. Идеально для wog native dialogs.


RE: ERA III - daemon_n - 29.11.2020 02:28

Berserker, понял, а что касается (Click to View)
Тоже неправильно обновили?
Я просто не могу понять, где взятть новый erm framework. Только из ERA 3.2 с яндекса? Что странно, он там старее и меньше моего текущёго. И все жалуются на вылет при нападении на замок.

P.S.:
с каких пор я не daemon_n?Dry


RE: ERA III - Berserker - 29.11.2020 02:30

Panda, вылет в начале боя. Пробуй без всех плагинов igrik-а. Если будет повторяться, пробуй начать карту без BattleSave и иже с ними вообще.


RE: ERA III - daemon_n - 29.11.2020 02:35

Berserker, это game bug fixes extended.dll

P.S.: 1000 era - stdlib.erm и 1000 era - consts.erm более не нужны?

UPD: вот текст дебага (Click to View)
P.P.S.: два краша уже вот с этим - то есть багофиксы при нападении на город дают это:

Era.34AB6 (Triggers.Hook_EnterTownScreen + 54 in Triggers.pas on line 514 offset 31)


RE: ERA III - Panda - 29.11.2020 03:29

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

daemon_n, это печально, если эти 2 вылета при передаче хода и при нападении на город делает game bug fixes extended.
Новую эру и её комплектацию вот отсюда взять можно:
https://mods.hmm35.ru/Era%20Update.exe
Обновление Эры. Далее будет использоваться эта же ссылка для неофициальных обновлений.


RE: ERA III - daemon_n - 29.11.2020 04:09

Panda, именно про город я уже написал


RE: ERA III - Berserker - 29.11.2020 04:30

Quote:Berserker, это game bug fixes extended.dll
Да, я детально ознакомился с папкой Debug. Это в тему плагинов к игрику.

Quote:Я просто не могу понять, где взять новый erm framework. Только из ERA 3.2 с яндекса? Что странно, он там старее и меньше моего текущёго. И все жалуются на вылет при нападении на замок.
Игрик писал, что исправил указанный вылет. И что карты портятся, если играть со старым BattleSave плагином.

Обновление берётся отсюда: http://wforum.heroes35.net/showthread.php?tid=5624&pid=119273#pid119273
Там постоянная ссылка.

Panda, попробуй без game bug fixes extended.dll. У меня код уже давно (с 2.х?) не трогает ничего с городами. Если это баг плагина, то будем просить игрика исправить.


RE: ERA III - Berserker - 29.11.2020 07:22

Image: image.png





RE: ERA III - Archer30 - 29.11.2020 08:13

Berserker, very interesting feature. It might be useful for displaying the required resources of the next building to be built (with a building priority list).

Bes, can I confirm that dropmefiles link of this post has included every frame you fixed? To build the UN44 with the best quality, I only need to use UN44 from WoG and replace with the frames you shared, right?

I did a comparison with every frame you shared, and there is one frame that caught my notice.
Image: wA17yr3.jpg
(Left for WoG, Right for Bes)
It seems the hellhound you fixed has some green dots on its body. 102 Is this normal?


RE: ERA III - Berserker - 29.11.2020 08:20

Archer30, actually, it's now possible (alpha) to use most def pictures in messages, captions and hints.


RE: ERA III - daemon_n - 29.11.2020 08:28

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

Однако выглядит просто замечательно, особенно с песенкой)
Теперь все релизы чтобы были под музыку и цитаты философов античности.

P.S.: Разве что нет поддержки wog native dialogs, как я понял.


P.P.S.: в sublyme нет поддержки !!TL; ресивера.


RE: ERA III - helgtla - 29.11.2020 12:00

(29.11.2020 07:22)Berserker Wrote:  

Вот ЭТО очень даже офигенно.
Есть вопрос:
1) Будут ли ограничения на показ типов ДЭФ файлов (объекты на карте, интерфейс, герои в битве и т.д.)?
2) На картинке этого не понять, но: в сообщении показывается только первый кадр ДЭФа или проходит полная анимация (случай с несколькими кадрами в одном ДЭФ файле)?
3) Данная фича будет распространятся только на !!IF :M или и с другими диалоговыми окнами будет работать(!!IF :N / !!IF :Q и т.д.)?
4) ДЭФы будут "подхватываться" из директории MOD или это только к стандартным, запакованным в оригинальных LOD архивах относится?
-----------------------------------------------
UPD: Посмотрел, вопросы сняты.
daemon_n Разве что нет поддержки wog native dialogs, как я понял.
С ЭТИМ да, пока доработать надо бы, а то странно смотрится иногда.
Image: image.jpg


RE: ERA III - daemon_n - 29.11.2020 12:57

Berserker, найден баг.

Если у существа в текщем раунде (кажется, лишь у человек) сработала мораль, то у всех существ того же типа в этом раунде сработает мораль.

Смотреть баг с моралью ОНЛАЙН БЕЗ СМС И РЕГИСТРАЦИИ!!!!!11
Эра 3.04 и 3.2.+ - результат един.


RE: ERA III - feanor - 29.11.2020 13:58

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


RE: ERA III - Berserker - 29.11.2020 14:42

helgtla,
Quote:Вот ЭТО очень даже офигенно.
MicroHTML в мире Героев. Схожая функция есть в Цивилопедии. Там большинство текстов с иконками, что занятно упрощает локализацию.

wog native dialogs работает. Я отключил его для ввода фигурных скобок в диалогах.
Размер внедряемых изображений должен либо быть схожим с межстрочным расстоянием, либо нужно пустыми переводами строк отбить место под картинку.
У тебя в примере несколько символов текста съедено, кинь его код, пожалуйста.

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

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

feanor, хотел такую же идею предложить. Библиотека иконок схожего со шрифтами размера (высоты) была бы очень кстати.


RE: ERA III - helgtla - 29.11.2020 17:04

(29.11.2020 14:42)Berserker Wrote:  У тебя в примере несколько символов текста съедено, кинь его код, пожалуйста
Здесь CH02.def это дэф героя в битве (размер кадра ДЭФа 150х175). Разрешение игры - 1180x664.


RE: ERA III - Berserker - 29.11.2020 22:13

helgtla, как не пытался, съеденные символы повторить не удалось.
Image: image.png



RE: ERA III - Chaomen - 29.11.2020 22:55

Я насколько понимаю, IF:N ещё не позволяет указывать количество монстров?


RE: ERA III - Berserker - 29.11.2020 23:10

Chaomen, всегда позволяла. Число * 65536 + Тип, если не ошибаюсь.


RE: ERA III - Chaomen - 29.11.2020 23:20

(29.11.2020 23:10)Berserker Wrote:  Chaomen, всегда позволяла. Число * 65536 + Тип, если не ошибаюсь.

119 Я никогда об этом не знал, спасибо! И да, я проверил и именно так работает.


RE: ERA III - helgtla - 29.11.2020 23:31

Berserker, ХЗ, у меня часть букв иногда съедается, зависит от количества пропущенных строк и размера Деф кадра.
Пример кадр героя в битве (150х175)
Пример 1 (без пробелов)
Image: image.jpg
Пример 2 (10 строковых пробелов)
Image: 3.jpg
Пример3 (Дэф существа в битве 450х400 + 10 строковых пробелов)
Image: 2.jpg
------------------
И ещё, все Дэфы ставятся не по центру диалогового окна.

пар-ры ХД мода (1180x664 + 16 бит Верок / стрейч фильтр None + Hemite)


RE: ERA III - Berserker - 30.11.2020 00:35

Возможно, ещё от шрифтов зависит. Кинь, пожалуйста, свой шрифт, def, на котором можно проверить, и коды IF:M, буду тестировать.


RE: ERA III - helgtla - 30.11.2020 01:35

Berserker,
https://drive.google.com/file/d/1mWmMQSXc0rO0j5ue6zg226KWei_PJQ3r/view?usp=sharing


RE: ERA III - Berserker - 30.11.2020 02:06

helgtla, спасибо, вижу теперь.


RE: ERA III - SergOz - 30.11.2020 02:49

Это действительно круто!
Да, что там круто - это просто ахрененно!!!

Первый блин комом. Не пойму как показать всю картинку
P.S. Это будет работать на Эра 2, если обновить dll ?


RE: ERA III - Berserker - 30.11.2020 03:18

SergOz, сейчас картинка рисуется вместо символа, на неё не выделяется вертикальное место. Для крупных центрированных картинок это частично решаемо, но пока можно просто отбивать пустыми строками снизу. Я правильно понял вопрос?


RE: ERA III - V_Maiko - 30.11.2020 03:18

The dialog with icons reminds me a lot when I was playing the first Exile trilogy from Spiderweb software, but this is much more advanced.



RE: ERA III - Berserker - 30.11.2020 03:21

V_Maiko, I was always excited with idea to embed graphics in text in Heroes 3, though the code with character replacement was remaining an experimental for years. Maybe, we will have something more or less usable, but there are many technical issues too.


RE: ERA III - SergOz - 30.11.2020 03:23

Berserker, нет, в игре всё как надо! Я про то, что в посте не вся картинка.
Видно нужно сперва в редакторе править, а потом кидать в ibb

Повторюсь: Это будет работать на Эра 2, если обновить dll ?
Или это будет уже Эра3


RE: ERA III - Berserker - 30.11.2020 03:38

SergOz, это будет уже Эра 3.


RE: ERA III - V_Maiko - 30.11.2020 03:38

SergOz, It seems to me that if it depended once more on the Erm Framework it will only work for the latest versions.


RE: ERA III - Berserker - 30.11.2020 05:57

V_Maiko, actually no, colored texts is dll-only feature without ERM relation. But images in texts is a feature of Era 3.3+ dll.


RE: ERA III - Berserker - 30.11.2020 08:06

Новое обновление: https://mods.hmm35.ru/Era%20Update.exe
-) ERA учитывает цвет, который HD-мод устанавливает для своих нужд через переменную "HotA.FontColor".
-) Исправлено вычисление ширины символов. Изображения в тексте теперь корректно центрируются, а символы не пропадают.


RE: ERA III - daemon_n - 30.11.2020 14:30

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

Также "Содовский" ПКМ при игри без опыта корректно работает лишь на свой ход - на ход оппонента используется "Воговский" ПКМ.


RE: ERA III - daemon_n - 30.11.2020 15:54

Странный баг с константами:
- всё норм (Click to View)
- всё не норм (Click to View)

UPD: HERO_LAST_WOG тоже даёт лишь 0


RE: ERA III - Berserker - 30.11.2020 17:28

daemon_n, ZVSE2 забыл и скобки -> k/0/(HERO_LAST_WOG).

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

Также "Содовский" ПКМ при игри без опыта корректно работает лишь на свой ход - на ход оппонента используется "Воговский" ПКМ.
Нужна отдельная тема сугубо для багов Героев 3/WoG, просто как справочник.


RE: ERA III - Bes - 01.12.2020 11:07

(29.11.2020 08:13)Archer30 Wrote:  Bes, can I confirm that dropmefiles link of this post has included every frame you fixed? To build the UN44 with the best quality, I only need to use UN44 from WoG and replace with the frames you shared, right?

I did a comparison with every frame you shared, and there is one frame that caught my notice.
Image: wA17yr3.jpg
(Left for WoG, Right for Bes)
It seems the hellhound you fixed has some green dots on its body. 102 Is this normal?
нет, я этот кадр не правил. Вот что было мной в плане фона кадров изменено
Code:
Un44Behe.bmp
Un44Beho.bmp
Un44Cycl.bmp
Un44Devi.bmp
Un44DFly.bmp
Un44Drag.bmp
Un44Eelm.bmp
Un44Efre.bmp
Un44Ench.bmp
Un44Felm.bmp
Un44Gobl.bmp
Un44Gole.bmp
Un44Harp.bmp
Un44Hell.bmp
Un44Lich.bmp
Un44Liza.bmp
Un44Mant.bmp
Un44Mino.bmp
Un44Naga.bmp
un44none.bmp
Un44Ogre.bmp
Un44Pelm.bmp
Un44PitF.bmp
Un44Shar.bmp
UN44Trea.bmp
Un44Tree.bmp
Un44Unic.bmp
Un44Vamp.bmp
Un44Wigh.bmp
Un44Wolf.bmp
Un44Wyve.bmp
как вы видите, здесь нету UN44Cerb
на всякий случай, повторю тот архив с исходными файлами, которые указаны выше в списке
https://dropmefiles.com/PDeeU


RE: ERA III - Bes - 01.12.2020 11:13

Berserker, обалденная вещь, картинки в тексте132


RE: ERA III - Archer30 - 01.12.2020 13:08

Thanks Bes for uploading again!

But as you see, it's Un44Hell.bmp I showed in the post, not UN44Cerb. Would you please check if everything's alright with this frame? 96-copy


RE: ERA III - Bes - 01.12.2020 18:59

Sorry Archer30, извини, после ночной работы не увидел, что речь про гончих а не церберов.
Однако, у меня кадр из WoG такой первоначальный
Image: 306cf8a9cc6e.png
я же за основу брал кадр из сборки daemon_n, где правил сам фон.
Короче, позже посмотрю что да как там с пикселями, хорошо


RE: ERA III - Archer30 - 01.12.2020 19:26

Bes, no worries! The icon you showed here is originally from GOG Heroes 3 Complete Edition.

Download GOG/WoG spec icons in case you don't have them - these are extracted directly from the source defs, so they should have the least quality loss.

From what I see, the art styles of GOG icons are different from WoG/ERA - the sizes, the shadows, the poses, etc. Thus they are not very recommended to mix together as they might break the consistency IMO.


RE: ERA III - SergOz - 02.12.2020 21:48

(01.12.2020 19:18)SergOz Wrote:  как узнать дэф вторнавыка, в частности "Мудрости", "Продвинутой Мудрости"?
(01.12.2020 19:45)Berserker Wrote:  SergOz, secskill.def от Secondary Skills (Вторичные Навыки).
Не получается у меня вставить картинку вторнавыка. Был уверен, что после secskill нужно добавить 17 или 017, но это - ошибка; {~>secskillWisdom.def} - так же ошибка. Пробовал и {~>secskillW.def} и... и... и... - всё без толку.
Альтернативные способы постичь знание Pioneer_smoke тоже были безуспешными

Пожалуйста, направьте на путь истины...


RE: ERA III - helgtla - 02.12.2020 22:06

SergOz, Berserker вроде писал, что пока с помощью {~>х.def} можно отображать лишь первый кадр ДЭФ файла. А выбор кадра/анимация всех кадров ДЭФа - это только в будущих релизах (пока данная опция на "обкатке"). Я потому сам пока не спешу всё это внедрять, всё равно после придётся заново корректировать. Думаю дождаться обновления ХД мода (на котором можно "безопастно" стопорнуться) + с цветными шрифтами доработку (тексты с прокруткой) + корректная вставка картинок из готового ДЭФа (или полной анимации).


RE: ERA III - SergOz - 02.12.2020 22:13

helgtla, я про картинку, которую можно увидеть в !!IF:Q#/20/24/1^^;
Там же не анимация... или я чёт не так понимаю?


RE: ERA III - helgtla - 02.12.2020 22:57

SergOz, secskill.def содержит кадры всех вторичных навыков (технически это ничем не отличается от анимации). Если указать такой ДЭФ, то с помощью этой "разметки" - выведется только первый кадр ДЭФа (начальная стрельба вроде).
Ни о каком варианте прописать 17 и т.д. речи скорее всего не идёт, так как команда IF Q уже берёт готовый РСХ из дэфа (через слеш номер кадра в ДЭФе).
   Имею ввиду, что никаких {~>secskillWisdom.def} и т.д. в игре физически не существует, а в IF Q идёт параметр ТИП/ПОДТИП. И тип это не сам ДЭФ(физически)а лишь ссылка-метка для след пар-ра "подтип" (берущий уже готовый РСХ). НАВЕРНО(по крайней мере я так себе представляю). Sm


RE: ERA III - SergOz - 02.12.2020 23:06

helgtla, Thank_you


RE: ERA III - Berserker - 02.12.2020 23:19

helgtla, можно первую группу выводить. Кадр через двоеточие:
secskill.def:13, например.

SergOz, IF:Q1/20'24/2/^What?^;


RE: ERA III - helgtla - 03.12.2020 22:05

Berserker, есть ли какой-либо способ выравнивать изображения выведенные в диалогах с помощью {~>х.def} кроме выставления пробелов?
   Сколько ни пытался, но в большинстве окон, первый ДЭФ часто оказывается с левой стороны диалога (начало абзаца), поставить на середину его получается лишь в некоторых диалогах (подсказки). А если одновременно нужно задействовать несколько картинок, то порой приходится очень постараться, чтобы их расположение в окне диалога было хотя бы более или менее адекватно распределено (я не говорю про картинки с разными разрешениями, имею ввиду, что спецом создавал картинки одного разрешения и пытался их выровнять/отцентровать). Ко всему прочему, сейчас, насколько я видел, бывают случаи, когда при каком-либо исправлении орфографии текста(бывает достаточно и запятую поставить), расположение картинок может значительно измениться.
Потому и хотелось бы знать, может есть способ как-то управлять смещением изображений, с последующей их фиксацией в показываемом окне. Просто, вроде бы как, на форуме проскальзывала инфа по редактированию текста в диалогах (отступы, центровка и т.д.), может эта возможность будет применима и на картинки?


RE: ERA III - Berserker - 03.12.2020 23:43

helgtla, обновление устанавливал? Изображение и так центрируется автоматически, как и остальной текст. Только в диалогах с прокруткой центрирование по левому краю. Возможно, я добавлю теги для управления построчным выравниванием, но и сейчас уже всё работает даже с твоим модом для тестов.


RE: ERA III - helgtla - 04.12.2020 00:10

(03.12.2020 23:43)Berserker Wrote:  helgtla, обновление устанавливал?
Наверно нет, у меня эровская библиотека с того момента, когда данная особенность была анонсирована. Попробую скачать последнюю сборку от Панды (в ней ведь есть эти правки?)

(03.12.2020 23:43)Berserker Wrote:  Возможно, я добавлю теги для управления построчным выравниванием.

    Вот это было бы очень хорошо.
---------------------------------------
Ещё, есть ли возможность как-то решить проблему с цветным выделением шрифтов в диалогах с прокруткой? Сейчас при цветовом выделении если есть прокрутка, цвет "сбрасывается" на белый после определённой длины текстового сообщения, а при попытке обновления тэга цвета перед каждым словом ({~цвет}СЛОВО 1 {~цвет}СЛОВО 2 {~цвет}СЛОВО 3 и т.д.{~}) - изменяется "межсловесное" расстояние и предложение может выглядеть очень сумбурно по заполнению (я так понимаю, что кол-во символов тэга цвета учитывается в общую длину строки, и из-за этого подобное и получается)


RE: ERA III - Berserker - 04.12.2020 00:15

http://wforum.heroes35.net/showthread.php?tid=5624&pid=119483#pid119483
Сборка Панды не нужно, все обновления по одной и той же ссылке пока.

По второй проблеме согласен, нужно работать.


RE: ERA III - helgtla - 04.12.2020 05:10

Berserker, скачал обновление, изображения центруются. Я доволен132 Благодарствую.


RE: ERA III - Berserker - 04.12.2020 05:13

helgtla, отлично ) Когда я соберусь поиграть в Ваши с Sergos-ом карты, уровень атмосферности в них уже будет зашкаливать Dance3
А пока, за работу Yes



RE: ERA III - Archer30 - 04.12.2020 06:28

Berserker, Hi!

I'd like to submit a request about the localization of debug generation. I hope to inform the players to send me the debug folder (in Chinese) so they can do so. I will also tell them stop sending me HD Crash Logs there. This would make the life of assembly builder much easier 96-copy

Also, here's a small list of my previous requests:
1. Skippable x vars. in DO loop
2. CO:A messing up commander's name

No hurry, just reminding in case they are not in your list. Thank you for all the great works!


RE: ERA III - Berserker - 04.12.2020 07:54

Archer30, thank you Archer, added to TODO all clauses 4


RE: ERA III - Berserker - 04.12.2020 08:56

Archer30, please, check if this dll is ok with Chinese colored texts and HD different modes:
https://dropmefiles.com/fwVqm


RE: ERA III - Archer30 - 04.12.2020 10:01

Berserker, there are some issues.

With WoG Native Dialog input dialog+32-bit HD modes
The previous dll: allows Chinese characters to be removed with backspace in input dialogues from WoG Native Dialog
New dll: is an instant crash with backspace on Chinese characters.
debug

Without WoG Native Dialog+32-bit HD modes
The backspace crash is non-existent.
Both old and new old dlls have no problem displaying Chinese text with different colour, but it has a problem with English characters.
For example,
{~Fuchsia}Events OFF 中文{~}
Image: os83927.jpg
You only get the Chinese text changed in colour. Even if it's {~Fuchsia}Events OFF{~}, the colour is still white.

With 16-bit HD modes
English and Chinese characters can be changed to any colour. WoG Native Dialog + Backspace on Chinese = crash still (on new dll).


RE: ERA III - Berserker - 05.12.2020 01:12

Archer30, thank you. Working on it.


RE: ERA III - Archer30 - 05.12.2020 14:56

Berserker, latest bug report of ERA today 96-copy

1. Missing golden colour from creature rank fonts.
Image: pG0alM9.jpg
Now I have double white swords.

2. A crash report from a player while using assembly+ACM.
Debug+Save
The player reported a crash happens when attacking the beholder (henchman). I tested with the save + reading the crash logs, it seems the problem happens with Liches when they cast death ripple with an attack. But I can't reproduce the problem with a new game.


RE: ERA III - PerryR - 05.12.2020 16:05

Archer30,
thanks for report, I played the fight 3 times, no crash 105

So maybe it was just bad luck.
Error says nothing to me...




RE: ERA III - daemon_n - 05.12.2020 16:32

PerryR, for me it says, that liches tried to cast mass death ripple


RE: ERA III - Berserker - 05.12.2020 18:10

Archer30, crash because of missing def. Any new creatures mods?


RE: ERA III - Archer30 - 05.12.2020 18:25

Well, that doesn't look like that at all. The mod list is in the debug folder, no creature mod was included.


RE: ERA III - Berserker - 05.12.2020 18:58

Seems like battle stack 0 def is set to null. If it is not related to some plugin, of course. Try the same battle without game bug fixes extended.dll, for instance.
Battle manager tries to access stack 0 def groups and stack 0 def is not loaded. Structure corruption, UN:C hack or some plugin interruption.


RE: ERA III - Archer30 - 05.12.2020 19:27

Rolleyes Hmmm, strange. It's getting weirder. I was able to reproduce the crash with the save, but now I can't. Even with the suspicious mass death ripple, everything's fine. I will leave this.


RE: ERA III - Archer30 - 06.12.2020 16:36

Berserker, I'm looking for some help with a crash report from Yunings.
Debug+save generated on turn end, using assembly+ACM
He suffers from random crashes on turn end and picking up treasures. The crashes are not reproducible. Would you please check the debug tell what might be the cause?
I suspect that has something to do with a portrait mod he loaded recently. The .pac is named in Chinese, which might impact the compatibility.


RE: ERA III - Berserker - 06.12.2020 17:39

Archer30, Battlereplay/Battlesave used to corrupt game structure. Thus crashes is almost in the same place and occurs when AI tries to visit Oasis object.


RE: ERA III - igrik - 06.12.2020 18:10

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

И укажу ещё вот что - плагин переигрываемой битвы вообще не трогает и не создаёт сейвы.


RE: ERA III - Archer30 - 06.12.2020 18:39

Berserker, then it seems like a dead end, becoz I know it quite well, yunings did not uses Battlesave plugin. It was the battle save script he used Rolleyes


RE: ERA III - Berserker - 06.12.2020 18:42

igrik, ты смотрел debug? На тех же местах вылет с тем же рандомом и с той же порчей структуры. Полагаю, администратор китайского форума yunings играл с более старой версией. Или wog native dialogs более старая. Ибо вылет Панды вызывался при активации сперва диалога wog native dialogs.

Battlereplay ("D:\HoMM 3 ERA3\EraPlugins\BattleReplay.dll", size: 77824, addr: 7CA50000, entry: 1D8E)

Image: image.png
Вылет в нижней строчке.


RE: ERA III - igrik - 06.12.2020 19:00

(06.12.2020 18:42)Berserker Wrote:  igrik, ты смотрел debug? На тех же местах вылет с тем же рандомом и с той же порчей структуры. Полагаю, администратор китайского форума yunings играл с более старой версией. Или wog native dialogs более старая. Ибо вылет Панды вызывался при активации сперва диалога wog native dialogs.
Да, я хорошо посмотрел дебаг.
Вот где ты тут в стеке увидел вызов "wog native dialogs"?
К тому же WND никогда не портил структуру.
И когда была порча структур (от плагина сохранения BattleSave), вылетало в другом месте (жаль адрес не сохранился), а в "erm memory dump.txt" всегда показывало, что виновен скрип новых боевых полей.
BattleReplay вообще уже месяц как не трогает сохранения, а ошибка в нём была только в том, что нельзя было увидеть окно повышения уровня (очень быстро оно закрывалось).


RE: ERA III - Berserker - 06.12.2020 20:11

Это в точности вылет из сейва Панды. Я тебе его уже кидал с последовательностью действий. Перепроверил ещё раз с генерацией вылета. Благо, сейв сохранился. Ты сказал тогда, что карта уже битая из-за плагина и бесполезно что-либо менять.

Вот сейв Панды:
https://dropmefiles.com/9uHEt

Открываем окно героя. Выбираем нового оруженосца.
Заходим в окно города и выходим.
Пробуем поднять Знамя Войны у города основным героем. Вылет ровно в том же месте.

Хотя, кажется, это были не твои плагины. Смотри:

Quote:if(NPCinBattleStr[0]==0) goto No_NPC; // и не было
if(*(int *)&NPCinBattleStr[0][0x4C]!=0){ // остался жив
Мусорный указатель на стэк командира в бою? Хотя боя не была, идёт подъём артефакта или посещение объекта.

int PlaceNPCAtBattleStart2(Byte *bm,int Side,int Placed)
NPCinBattleStr[Side]=0; этот код сработает только при бое, а если мы только загрузили игру и стартовали сохранение?

Проблема в том, что
// NPC
{0x4DA9B6,0,DP(NPC_AddExpo)}, //

Этот вызов происходит не только после боя, но и после посещения любого объекта. А ВоГ считает, что после боя и использует мусор в глобальной переменной NPCinBattleStr из прошлых боёв для проверки командира. Я прав?


RE: ERA III - Archer30 - 06.12.2020 20:18

Hi, here I upload the plugin yunings used in his game, might help with the diagnosis

WoG Native Dialog+Game Bug Fixes+Battle Replay used


RE: ERA III - Berserker - 06.12.2020 20:23

Archer30, seems, that I've found the source of bug. Will be fixed.


RE: ERA III - Panda - 06.12.2020 20:39

(06.12.2020 20:18)Archer30 Wrote:  Hi, here I upload the plugin yunings used in his game, might help with the diagnosis

WoG Native Dialog+Game Bug Fixes+Battle Replay used

Attention! I checked the given archive. I don’t know where these files were taken from, but the checksums of the plugins "game bug fixes extended.dll" and "wog native dialogs.era" do not match those that are in the igrik, and mine assembly! It is possible that these plugins were corrupted when they were loaded, or the files were modified by someone. With plugin "BattleReplay.dll" everything is fine, checksums match.


RE: ERA III - Archer30 - 06.12.2020 20:42

RolleyesPanda, older version doesn't mean they aren't from igrik.

Edit: Thanks all, I will pass yunings the latest plugins.


RE: ERA III - igrik - 06.12.2020 20:47

(06.12.2020 20:11)Berserker Wrote:  Открываем окно героя. Выбираем нового оруженосца.
Заходим в окно города и выходим.
Пробуем поднять Знамя Войны у города основным героем. Вылет ровно в том же месте.
Я исправлял этот вылет. У тебя может устаревшая WND?

(06.12.2020 20:11)Berserker Wrote:  Этот вызов происходит не только после боя, но и после посещения любого объекта. А ВоГ считает, что после боя и использует мусор в глобальной переменной NPCinBattleStr из прошлых боёв для проверки командира. Я прав?
Да, там мусор в Воге. Но вылетало по другой причине (в окне героя я использовал структуру артефакта _Art_{id, mod}. А вог использует только int id арта. Моя ошибка при переписывании части функции, хотя по исходникам Вога я это не разобрал, а разобрал только в Олли). Но это уже исправлено (см.выше ссылка)


RE: ERA III - Berserker - 06.12.2020 21:17

Archer30, please recheck the same savegame with the newest battlereplay and wog native dialog plugins.


RE: ERA III - Panda - 06.12.2020 21:35

Archer30, I also now checked the files from the installation Era 3.2.0, as well as the three previous versions of these plugins igrik - there is no coincidence, from which I conclude that either these plugins are too old, or they are damaged or changed.

Berserker, igrik, вылета при заходе в город со времен исправления WoG Native Dialog не было.


RE: ERA III - Berserker - 06.12.2020 21:52

Panda, вылет у yunings, судя по логу, при посещении Оазиса, то есть крайне напоминает старый вылет от старой wog native dialogs + мутный код Вога.
Скорее всего, источник плавающего бага с мёртвым командиром найден.


RE: ERA III - Archer30 - 07.12.2020 19:27

Berserker, bug report for today is about artifacts Spiteful

The right-click info of artifacts from #146 - #160 is not available if these artifacts are unequipped.


RE: ERA III - Berserker - 08.12.2020 00:27

Archer30, is it WoG 3.58 behavior? Seems like they have no static description in txt files and dynamical description is used in commander's screen only.


RE: ERA III - Archer30 - 08.12.2020 18:06

Berserker, that's wrong. At least in ERA 3.0.4, right-clicking on commander artifact still pops up the info. Note that in the latest ERA, #156 - #160 normal WoG artifacts lose their right clicks too.


RE: ERA III - igrik - 08.12.2020 18:49

Berserker, это HD мод, и его новый функционал разбора артефактов в рюкзаке героя. Все артефакты с номерами 146 и выше не имеют ПКМ в окне героя, в окне встречи героев. Может быть где и ещё. Нужно отписаться Бараторчу.


RE: ERA III - Panda - 09.12.2020 02:33

Berserker, хотел полчаса покатать в героев, но не тут то было, при создании/старте рандомной карты получил вылет. После позапускал рандомки еще примерно 10 раз, вылета не было. Но учитывая, что данного вылета я не припомню с версии Эра 3.0.4, то возможно это не единичный случай. Глянь, может чем и поможет этот дебаг.
Дебаг:
https://yadi.sk/d/OqMw36XQqcaHTQ

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


RE: ERA III - XEPOMAHT - 09.12.2020 03:08

(09.12.2020 02:33)Panda Wrote:  при создании/старте рандомной карты получил вылет. После позапускал рандомки еще примерно 10 раз, вылета не было.

В функцию генерации монстра не ушла структура монстра. Всё таки запускать лучше с лаучера HD-мода, а не с "h3era HD.exe".


RE: ERA III - Algor - 10.12.2020 16:38

era iii changelog Wrote:[+] Added support for d- syntax in function parameters.
    !!FU(edu_Test):Pd-200; will pass -200, previously 200
Кто может пояснить механизм действия?
Емнип, при вызове функции x-переменные обнулены или равны переданному параметру. Если это всё еще так, какой практический смысл у d-модификаторов в данном случае?
Чем Pd-200 от P-200 отличаться будет?


RE: ERA III - igrik - 10.12.2020 17:02

(10.12.2020 16:38)Algor Wrote:  при вызове функции x-переменные обнулены или равны переданному параметру.
Именно так.

(10.12.2020 16:38)Algor Wrote:  Если это всё еще так, какой практический смысл ...
Не знаю для чего Берс это сделал. Я такую конструкцию ещё не разу не использовал, и вообще не вижу в ней никакого логического смысла.


RE: ERA III - Archer30 - 10.12.2020 17:32

Hi Berserker, there is a crash report from a player, saying in Multiplayer game via LAN, there's always a crash when the first human player got attacked by the AI.

Debug (assembly+TUM+ACM)

Can you help with this issue?


RE: ERA III - Berserker - 10.12.2020 18:50

igrik, Algor, поскольку функции уже давно могут проверять синтаксис, с которым передали параметр, то есть возможность реализовать ЕРМ-подобные команды, пусть и в ограниченном виде.

Code:
[+] Added possibility to query syntax, that was used for particular function parameter.
    !!FU:S#1/?$2;
    #1  - argument index
    ?$2 - syntax type (0 - get, 1 - set, 2 - add)
    Add syntax is applied via 'd' prefix like FU:Pd200.

    Using this receiver scriptmakers can write functions which act the same as normal ERM commands.
    For instance, one function to get/set/add dwelling population amount.

Скажем, если передали -200, вы установите -200 значение. А если d-200, то вычтите 200 из значения.
Пример из библиотеки Эры:
Archer30, the crash is in ReceiveCreatures function. TUM uses Amethyst, so it's majaczek issue, I suppose:
Code:
void ReceiveCreatures(int len,Byte *buf)
{
  #include "templ.h"
  int i,j,k,num;
  num=len/sizeof(_CrState_);
  if(len!=(int)(num*sizeof(_CrState_))){ MError("Wrong length of sent Modified Creatures"); RETURNV };
  if((num<0)||(num>MONNUM)){ MError("Incorrect number of Modified Creature"); RETURNV }
  for(i=0;i<len;i++) ((Byte *)CrState)[i]=buf[i];
  for(j=0;j<num;j++){
    i=CrState[j].Index;
    if((i<0)||(i>MONNUM)){ MError("Incorrect index of Modified Creature"); RETURNV }
    MonTable[i].Group=CrState[j].Group;
    MonTable[i].SubGroup=CrState[j].SubGroup; // CRASH
    MonTable[i].Flags=CrState[j].Flags;
    for(k=0;k<7;k++) MonTable[i].CostRes[k]=CrState[j].CostRes[k];
    MonTable[i].Fight=CrState[j].Fight;
    MonTable[i].AIvalue=CrState[j].AIvalue;
    MonTable[i].Grow=CrState[j].Grow;
    MonTable[i].HGrow=CrState[j].HGrow;
    MonTable[i].HitPoints=CrState[j].HitPoints;
    MonTable[i].Speed=CrState[j].Speed;
    MonTable[i].Attack=CrState[j].Attack;
    MonTable[i].Defence=CrState[j].Defence;
    MonTable[i].DamageL=CrState[j].DamageL;
    MonTable[i].DamageH=CrState[j].DamageH;
    MonTable[i].NShots=CrState[j].NShots;
    MonTable[i].HasSpell=CrState[j].HasSpell;
    MonTable[i].AdvMapL=CrState[j].AdvMapL;
    MonTable[i].AdvMapH=CrState[j].AdvMapH;
  }
  RETURNV
}



RE: ERA III - Algor - 10.12.2020 19:03

Berserker, я правильно понимаю, что любого из d#, d-#, d*#... ?$2 вернет 2 и практической пользы от него все равно нет?


RE: ERA III - Berserker - 10.12.2020 19:42

Algor, да, практическая польза в различении SET/GET/ADD/SUB.
!!FU:Pd-(someVar), например, будет преобразован в ADD с обратным значением переменной.

Порой достаточно поддержки SET/GET. Все модификаторы при большом желании пилить можно было бы, но смысла в текущем варианте нет, так как даже для поддержки SET/GET/ADD код заметно усложняется. Вот если аналог Apply завести, который к любой переменной применит переданный модификатор, то да, стало бы просто и удобно. Подумаю над этим.


RE: ERA III - Algor - 10.12.2020 20:03

(10.12.2020 19:42)Berserker Wrote:  Вот если аналог Apply завести, который к любой переменной применит переданный модификатор, то да, стало бы просто и удобно. Подумаю над этим.
Berserker, может не стоит плодить, без необходимости?
А то скриптерам вообще скоро работы не останется.


RE: ERA III - Archer30 - 10.12.2020 20:28

(10.12.2020 18:50)Berserker Wrote:  Archer30, the crash is in ReceiveCreatures function. TUM uses Amethyst, so it's majaczek issue, I suppose:
Thanks, Berserker. Then I wouldn't expect it gets fixed soon 105


RE: ERA III - Berserker - 10.12.2020 20:37

Archer30, at least, try to report it with the above mentioned code.

Algor, тоже так думаю. Нужно уже развивать что-то помимо ЕРМ.
Сейчас продвигаюсь в работе с цветным текстом. Задача — корректное разбиение на строки с корректным переносом/воссозданием тегов цвета и картинок.


RE: ERA III - Archer30 - 12.12.2020 08:32

Berserker, reported, majaczek did his attempt and failed Rolleyes

Here I'd like to raise another issue related to majaczek's work.
The latest Emerald plugin is not compatible with RoE and AB campaigns. The game crashes at loading (debug). To my understanding, that's becoz of special limits of artifacts (ie, a hero has only 4 misc slots, can't assemble combo arts) in these campaigns that conflict with Emerald. But it turns out moving these campaigns from Data to Maps folder for launching them through "Custom Campaign", problem solved. This says the problem basically has nothing to do with the map files, it is with the engine or hardcode instead.
Berserker, is it convenient for you to check whether the limit can be raised from ERA?


RE: ERA III - Berserker - 12.12.2020 09:55

Quote:Berserker, is it convenient for you to check whether the limit can be raised from ERA?
I'm sorry, but I think it's better for me to concentrate on high priority tasks in the near future, because there can exist numerous things like this and fixing single one requires quite enough time. If there is a workaround like using custom campaigns, the issue is not critical for now. Buy anyway, thanks for detailed report.


RE: ERA III - Archer30 - 12.12.2020 10:00

Berserker, ofcoz, it's not with high priority at all, don't worry about that. 4


RE: ERA III - XEPOMAHT - 12.12.2020 12:51

(12.12.2020 08:32)Archer30 Wrote:  The game crashes at loading (debug).

Таблицу запрета артефактов кто должен расширять под новые артефакты? Например приватный Тифон 3 её расширяет вместо Emerald.

Так же мод "16 2-way teleports" без патчей тоже будет приводить к порче данных 1-сторонних телепортов (т.к. игра поддерживает только 8 телепортов), не используйте его.


RE: ERA III - Berserker - 12.12.2020 18:27

XEPOMAHT, не поделишься патчем на исправление телепортов? Хуже порчи данных в сохранении ничего нет.
Archer30, majaczek should extend banned artifacts table for his plugin of new artifacts.


RE: ERA III - XEPOMAHT - 13.12.2020 00:03

(12.12.2020 18:27)Berserker Wrote:  не поделишься патчем на исправление телепортов?

Из MoP (для ERA некоторые адреса могут быть другими, ну и формат сохранений тоже поменяется, т.к. туда запишется инфа о 16 порталов вместо 8):

Code:
; map_portals 1 side
    mov esi, <адрес базовой структуры, куда переносятся данные>
    mov byte [4BD672h], кол_во_порталов - 5
    mov dword [4BD6D5h], esi
    mov byte [4BEA26h], кол_во_порталов
    mov byte [4BEA4Eh], кол_во_порталов
    mov dword [4BEA2Eh], esi
    mov byte [4BF092h], кол_во_порталов
    mov dword [4BF0DEh], esi
    mov dword [4C131Dh], esi
    mov dword [4CDA84h], esi
    mov byte [4CDF51h], кол_во_порталов
    mov byte [4CDF6Fh], кол_во_порталов
    mov dword [4CDF72h], esi
    mov byte [4CE398h], кол_во_порталов
    mov byte [4CE3AEh], кол_во_порталов
    mov dword [4CE388h], esi
    mov dword [56B10Ch], esi
    mov byte [62CA45h], кол_во_порталов
    mov byte [62CA5Dh], кол_во_порталов
    mov dword [62CA64h], esi
    mov byte [62CBE1h], кол_во_порталов
    mov byte [62CBF9h], кол_во_порталов
    mov dword [62CC00h], esi
    mov dword [713EB9h], esi
    add esi, 4
    mov dword [4BF0D7h], esi
    mov dword [4C1324h], esi
    mov dword [713EB2h], esi
    add esi, 4
    mov dword [4BF0E5h], esi
; map_portals 2 side
    mov esi, <адрес базовой структуры, куда переносятся данные>
    mov dword [4BD682h], esi
    mov dword [4BEA06h], esi
    mov dword [4BF0A4h], esi
    mov dword [4C141Dh], esi
    mov dword [4CDAC6h], esi
    mov dword [4CDF54h], esi
    mov dword [4CE3B1h], esi
    mov dword [56B154h], esi
    mov dword [62CA4Ch], esi
    mov dword [62CBE8h], esi
    mov dword [70895Fh], esi
    mov dword [713E94h], esi
    add esi, 4
    mov dword [4C1416h], esi
    mov dword [713E8Dh], esi
    add esi, 4
    mov dword [4BF09Dh], esi
    mov dword [4C2811h], esi



RE: ERA III - Berserker - 13.12.2020 01:26

XEPOMAHT, спасибо 132 Раз уж для расширения числа монолитов нужно патчить код и менять формат сохранений, почему бы не встроить в Эру сразу все 26, как ты сделал в МоР? С идентичной графикой и подтипами. Будет 100%-ая преемственность. Патч я сделаю через патчер бараторча. Нужны будут дефы и записи для добавления в txt-файлы.


RE: ERA III - XEPOMAHT - 13.12.2020 02:06

(13.12.2020 01:26)Berserker Wrote:  Раз уж для расширения числа монолитов нужно патчить код и менять формат сохранений, почему бы не встроить в Эру сразу все 26, как ты сделал в МоР?

Вообще-то это запланировано для ERA+, в которой изначально свой формат сохранений, несовместимый с обычной ERA. Т.к. базовую структуру переносить должен кто-то один (иначе будут несовместимости с той же ERA+, в которой уже перенесено почти четверть адресов базовой структуры).

(13.12.2020 01:26)Berserker Wrote:  Патч я сделаю через патчер бараторча. Нужны будут дефы и записи для добавления в txt-файлы.

Там считай порт всех хотовских монолитов + из WoG-фикса. Ничего нового. Если делать патчером Бараторча, то придётся ставить кучу хуков на все адреса и делать отвязку от базовой структуры (как это сделать так, чтобы игра при этом не глючила - придётся разбирать сами функции, в пример плагин на loop sounds, где сделана отвязка от менеджера карты приключений, в итоге моды с loop sounds подглючивают неизвестно от чего на нестандпртных сборках. Это нужно для ERA? Думаю, порт всех объектов HoA->MoP->ERA+ лучше оставить мне (нужно просто подождать, когда вся работа будет доделана).


RE: ERA III - V_Maiko - 13.12.2020 02:19

XEPOMAHT, after having played with the new version of Assembly and with the distinctive features that wog native dialogs includes with XXL and HD mod, I'm fully accepting your idea of adapting XXL to ERA as HotA has done, the reason is simple, I don't feel comfortable playing other players' maps with XXL enabled because they don't work properly, I want to have the option to choose S to G in map size. You should present your MOP code to Berserker and see if he can implement it. I don't care about the problem that it will carry with HD mod, Bara could do something with that since it would be the same work that it carried with HotA.


RE: ERA III - Berserker - 13.12.2020 04:25

XEPOMAHT, game manager структура никому не будет нужна после применения патча и переноса монолитов. Это обычные массивы. Если можешь поделиться сборкой готовых def-ов/txt — поделись. Нет — возьму из WoG Fix 16 штук. Стандартных 8-и действительно мало.

Ещё раз по поводу базовой структуры. В коде обращение всегда идёт к массивам по адресу БАЗА + СМЕЩЕНИЕ до начала массива + СМЕЩЕНИЕ в массиве. Переносятся такие подструктуры в полпинка. Патч пишет НОВЫЙ АДРЕС МАССИВА - Старое смещение от начала GameManager до массива монолитов. Всё. Так переместить можно любую изолированную подструктуру. А ты всё время думаешь, что кто-то один должен кромсать весь GameManager Ab


RE: ERA III - igrik - 13.12.2020 12:01

Berserker, моё предложение, если ты будешь менять адреса массивов:
Увеличивай пожалуйста саму структуру GameMgr, и пиши свои данные в конец. Это можно сделать по адресу 0x4EE2F3 push 4E7D0h (4E7D0h это нынешний размер).
Плюсы такого подхода:
- ты будешь править намного меньше самих указателей, т.е. для монолитов ты всего лишь изменишь смещение, но не основной указатель на GameMgr
Code:
// * +4E678
// * H3Position
H3Vector<UINT32> monolithTwoWay[8];
// * +4E6F8
// * H3Position
H3Vector<UINT32> monolithOneWay[8];
- таким же образом максимально безболезненно можно увеличить массив кол-ва героев и массив хозяевов героев, и банки, и гарнизоны и замки и т.п.
- не нужно слишком много париться об удалении этого массива - игра это сделает сама
- другим модам очень и очень легко получить доступ к твоему массиву
- также можно, и нужно расширить массив артефактов и массив доступности артефактов под WoG: randomArtifacts[170] и artifactsAllowed[170]
Code:
// * +4E224
INT8 randomArtifacts[144];
// * +4E2B4
INT8 artifactsAllowed[144];
- да и вообще, в возможном будущем, это даст тебе ряд преимуществ и упрощения работы.

Code:
template<typename _Elem>
struct H3Vector : H3Allocator
{
    BOOL _init; // useless
    // * the first item, also start of list
    _Elem *m_first;
    // * the end of last item
    _Elem *m_end;
    // * end of allocated memory
    _Elem *m_capacity;
}

struct H3Allocator
{
    PVOID operator new(const size_t sz);
    VOID  operator delete(const PVOID block);
    PVOID operator new[](const size_t sz);
    VOID  operator delete[](const PVOID block);
};

Это моё личное ИМХО. Но если бы я занялся этим процессом, я бы далал именно так.


RE: ERA III - XEPOMAHT - 13.12.2020 14:28

(13.12.2020 04:25)Berserker Wrote:  В коде обращение всегда идёт к массивам по адресу БАЗА + СМЕЩЕНИЕ до начала массива + СМЕЩЕНИЕ в массиве. Переносятся такие подструктуры в полпинка. Патч пишет НОВЫЙ АДРЕС МАССИВА - Старое смещение от начала GameManager до массива монолитов. Всё. Так переместить можно любую изолированную подструктуру.

А ничего что код игры может задать ОДИН базовый адрес и использовать его на протяжении сотни функций, не меняя его? Т.е. если изменишь этот НОВЫЙ АДРЕС МАССИВА, то он измениться в куче функций и игра полетит к майкрософту. Если что, я не понимаю твоих предложений по переносу данных базовой структуры (я переношу по-старике).

(13.12.2020 12:01)igrik Wrote:  Увеличивай пожалуйста саму структуру GameMgr, и пиши свои данные в конец. Это можно сделать по адресу 0x4EE2F3 push 4E7D0h (4E7D0h это нынешний размер).

Не стоит, т.к. в ERA+ уже так сделано и если Берсеркер сделает так же в ЭРЕ, то данные базовой структуры будут испорчены (например я пишу туда структуры героев + все данные, которые идут после них).


RE: ERA III - igrik - 13.12.2020 15:06

(13.12.2020 14:28)XEPOMAHT Wrote:  Не стоит, т.к. в ERA+ уже так сделано ...

Разве? Я проверил на текущейм моде ERA+, перед тем как написал, и вот что я увидел:

Image: image.jpg


RE: ERA III - XEPOMAHT - 13.12.2020 16:33

(13.12.2020 15:06)igrik Wrote:  Я проверил на текущейм моде ERA+, перед тем как написал, и вот что я увидел

Версия ERA+ с поддержкой новых героев не выкладывалась ещё, т.к. не готова к релизу. Чтобы не было как в басне "Лебедь Рак и Щука" и чтобы потом не думать о том, как в era.dll отключить мешающие ERA+ патчи и хуки, необходимо сразу распределись области памяти, которые патчат те или иные dll, т.е. делать это централизовано, а не как придётся.

Например ERA+ забирает себе _GameMgr_, _AdvMgr_, а так же все таблицы городов/героев/монстров/артефактов/двеллингов. Т.е. если нужна совместимость с ERA+, то переносить всё это нельзя (т.к. уже перенесено) и обращение к данным из этих таблиц - по базовым адресам, кроме структуры героев (её адрес не изменяется в рамках совместимости с кучей эровских плагинов и HD-модом).

Давайте уже работать в команде, а не порознь. Даёшь ERA Team.


RE: ERA III - igrik - 13.12.2020 23:55

(13.12.2020 16:33)XEPOMAHT Wrote:  Давайте уже работать в команде, а не порознь. Даёшь ERA Team.
Да я и не против Ab

Berserker, кстати, почему до сих пор для генерации случаного монстра мы пользуемся Содовской функцией, которая вообще не генерирует Воговских существ? Почему не переписать её, чтобы учитывались все существа.
Например как то так, чтобы не заморачиваться с компактным массивом и установкой битов как в СоДе (благо на нынешних компах памяти тьма) (Click to View)



RE: ERA III - XEPOMAHT - 14.12.2020 00:16

(13.12.2020 23:55)igrik Wrote:      // исключаем несуществующих монстров
    monArray[122] = 0;
    monArray[124] = 0;
    monArray[126] = 0;
    monArray[128] = 0;

    // исключаем Драколича
    monArray[196] = 0;

    // исключаем Супер Драконов (так делает SOD)
    for(int i = 132; i <= 135; i++)
    monArray[i] = 0;

    // исключаем Боевые Машины
    for(int i = 145; i <= 149; i++)
    monArray[i] = 0;

    // исключаем Богов
    for(int i = 160; i <= 163; i++)
    monArray[i] = 0;

    // исключаем Командиров
    for(int i = 174; i <= 191; i++)
    monArray[i] = 0;

В ERA+ монстры 122, 124, 126, 128 используются, и... генерируются содовским кодом на карте. Их принудительно запрещать не нужно.

Запрет Тифон ставит двумя хуками:

Code:
Hook 5410FDh, MonsterRandomGeneration,    TJump; запрет из таблицы запрета
      Hook 54110Fh, MonsterRandomGeneration2,    TJump; запрет при отсутствии дефа в текстовике

В Тифоне 3.XX поддержка генерации из всех 1000 слотов - надо будет подтягивать соответствующий код из MoP (т.к. Мастер его почему-то пропустил).


RE: ERA III - Raistlin - 14.12.2020 01:49

igrik, а Вы не будете против, если я приведённый Вами код использую у себя в проекте?


RE: ERA III - Berserker - 14.12.2020 03:33

Quote:Например ERA+ забирает себе _GameMgr_, _AdvMgr_, а так же все таблицы городов/героев/монстров/артефактов/двеллингов.
Мне видится правильным такой подход к разработке платформ, при котором обеспечивается максимально широкий доступ к модификациям, богатый формат описания объектов и отсутствие привязки к фиксированным значениям. То есть правильный плагин на новых монстров — это плагин, парсящий json из VCMI и предоставляющий API для получения адреса таблицы с монстрами, размера одной записи, максимального числа монстров, актуального числа монстров. Завязывать же всю игровую структуру, а то и все структуры на конкретном разработчике нельзя.

Вероятно, разумным будет предложить библиотеку с методами получения/установки адресов и пределов для всех основных игровых структур.
ПолучитьМаксимальныйИДМонстра, ПолучитьЧислоМонстров, ПолучитьТаблицуМонстров. Установить первое, втрое и третье.

Поскольку правильное расширение структур, на мой взгляд, должно иметь динамическую природу (монолитов 8, 50 или 100 зависит от содержимого json-конфигов), то и переносить подструктуры по методу Хероманта или Игрика не вариант. Исходный код gameManager->twoWayTeleports всё время генерирует команду доступа от базового адреса, который можно пропатчить смело, не боясь нарушить остальной код, поскольку далее будет всё тот же gameManager->другоеПоле, который компилятор не имел права оптимизировать. Доступ по указателю — это такая штука, которая предполагает, что значение указателя может измениться даже из соседнего потока. Потому чаще всего можно подструктуру перенести на массив динамического размера без последствий. Если найдёте в патче Хероманта доказательство обратного, сообщите, пожалуйста.

После переноса остаётся несколько вопросов:
-) Какой теперь новый адрес подструктуры?
-) Размер её элемента?
-) Количество элементов?

Вопрос, схожий с обсуждением RedirectMemoryBlock/GetAddr и решаемый на уровне АПИ и соглашений, а не на уровне «никто не имеет права расширять ни одну структуру кроме автора мода ХХХ». Стоит ещё раз подумать, какого АПИ хватило бы всем.

Для начала можно попробовать сделать 26 монолитов отдельным модом. Можно не вносить пока изменений в движок.

igrik, у меня в моде Mixed Neutrals всё есть: регистрация монстров, автоматическое их индексирование, функция генерации монстров по фракциям, включая союзные фракции, учёт ограничений по уровням и т.д. На текущий момент не вижу проблемы в том, чтобы используя мощь мода в пять строк написать скрипт, который пройдётся и заменит всех монстров на карте на случайные. Непринуждённо так и с сохранением уровня существ. В будущем плагин на новых монстров должен предоставлять схожее АПИ и да, подменять указанную функцию.

Была идея вычленить из Mixed Neutrals по сути подмод Monsters Framework, который и нужен всем скриптам для генерации монстров.


RE: ERA III - XEPOMAHT - 14.12.2020 11:45

(14.12.2020 03:33)Berserker Wrote:  То есть правильный плагин на новых монстров — это плагин, парсящий json из VCMI и предоставляющий API для получения адреса таблицы с монстрами, размера одной записи, максимального числа монстров, актуального числа монстров.

1. Мне json из VCMI не нравится, там сложно разобраться человеку, не знакомому с программированием. Куда удобнее готовый редактор монстров из Тифона (аналог которого на каком-то ведре сделали и для Аметиста, т.к. ковыряние в *.cfg - не удобно), предоставляющий готовый набор бланковых монстров в рамках одного мода.
2. Готовых средств для работы с json ЭРА не предоставляет плагинописателям на ассемблере. Изобретать велосипед как-то не хочется (мне ещё предстоит осваивать обработку текстовиков для загрузки из них всех данных городов для моддеров, желающих добавлять свои города в ERA).
3. Сложность, сложность, сложность. API на новых монстров должно быть встроено в саму ЭРУ тогда уж. Но вот практическая польза от этого какая? Исходных кодов самой игры у нас нет. Тонна работы, когда всё это и так есть на VCMI? Смысл? Для кого? API нужно профессионалам. Ту же VCMI используют небольшое количество народу, она в России популярна намного намного намного меньше, чем ЭРА.

(14.12.2020 03:33)Berserker Wrote:  Завязывать же всю игровую структуру, а то и все структуры на конкретном разработчике нельзя.

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

(14.12.2020 03:33)Berserker Wrote:  Вероятно, разумным будет предложить библиотеку с методами получения/установки адресов и пределов для всех основных игровых структур.
ПолучитьМаксимальныйИДМонстра, ПолучитьЧислоМонстров, ПолучитьТаблицуМонстров. Установить первое, втрое и третье.

Думаю, что установленных 1000 бланковых монстров, артефактов, жилищ и т.д. моддерам хватит заглаза. Зачем лишние сложности? Памяти хватает на всё это, экономить-то зачем?

(14.12.2020 03:33)Berserker Wrote:  Поскольку правильное расширение структур, на мой взгляд, должно иметь динамическую природу (монолитов 8, 50 или 100 зависит от содержимого json-конфигов), то и переносить подструктуры по методу Хероманта или Игрика не вариант.

Мой способ добавления новых героев - как раз динамический, т.к. Тифон пересобирает базовую структуру вместо переноса её частей. И значение количества будет вынесено в конфиг в будущих версиях ERA+.

(14.12.2020 03:33)Berserker Wrote:  После переноса остаётся несколько вопросов:
-) Какой теперь новый адрес подструктуры?
-) Размер её элемента?
-) Количество элементов?

Систему базовых адресов, которую я предлагал несколько раз, которая используется в HD-моде для совместимости с HoA. Т.е. функции ничего никому не передают, а берут эти данные напрямую из кода SoD.

(14.12.2020 03:33)Berserker Wrote:  Вопрос, схожий с обсуждением RedirectMemoryBlock/GetAddr и решаемый на уровне АПИ и соглашений, а не на уровне «никто не имеет права расширять ни одну структуру кроме автора мода ХХХ». Стоит ещё раз подумать, какого АПИ хватило бы всем.

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

(14.12.2020 03:33)Berserker Wrote:  Для начала можно попробовать сделать 26 монолитов отдельным модом. Можно не вносить пока изменений в движок.

Лучше не надо. Тот патч, который я выложил, вызовет несместимость с ERA+. Одним несовместимым модом больше - я не хочу. Только если будет полная отвязка от базовой структуры (и сделать это в разы сложнее и геморойнее).


RE: ERA III - feanor - 14.12.2020 12:33

Фатальный недостаток json - отсутствие комментариев.
Я очень люблю этот формат, конечно, хоть и в плюсах он не так удобен, как в ЯП, хранящих метаинформацию, но все-таки этот факт сильно ограничивает его применимость именно для конфигов.

Я вообще считаю, что мы стали забывать румынского диктатора геройские тхт-таблицы.

Quote:То есть правильный плагин на новых монстров — это плагин, парсящий json из VCMI и предоставляющий API для получения адреса таблицы с монстрами, размера одной записи, максимального числа монстров, актуального числа монстров.
Эээ.. и как это будет осуществляться в реальности?
Ну т.е. для того, чтобы это апи использовать, нужно _знать_ о существовании такого плагина.
Причем ладно с монстрами, там хотелка давняя и предсказуемая, можно договориться, особенно если он в поставке будет (впрочем, мне не нравится эта идея).
А вот представьте себе плагин, который увеличивает число препятствий на поле боя?

Мы _никогда_ не договоримся о совместимости в общем виде, так что нету смысла придумывать какие-то абсолютные технические решения, нужно договариваться по конкретным вопросам.

(алсо, определение размера записи в апи - довольно бессмысленная штука, если мы уж лезем в изменение способа обращения к структурам, то, возможно, у нас уже некоторые проблемы с самим таким понятием, как размер структуры)


RE: ERA III - RoseKavalier - 14.12.2020 18:02

There are many json formats that now support single-line // or multi-line comments /**/.


RE: ERA III - Berserker - 14.12.2020 18:41

Quote:Фатальный недостаток json - отсутствие комментариев.
Я очень люблю этот формат, конечно, хоть и в плюсах он не так удобен, как в ЯП, хранящих метаинформацию, но все-таки этот факт сильно ограничивает его применимость именно для конфигов.
В Эре парсер Json поддерживает однострочные // комментарии.

Quote:Эээ.. и как это будет осуществляться в реальности?
Как сейчас с *.btn-кнопками, только лучше. Появляется плагин на новых монстров с описанием формата. Он закрывает все вопросы, предоставляя декларативное json-api (под который без проблем можно писать визуальный редактор) и набор функций API для остальных. Для базовых потребностей по монстрам без учёта новых способностей RedirectBlock + одной функции GetMonCount хватило бы за глаза.

Quote:Лучше не надо. Тот патч, который я выложил, вызовет несместимость с ERA+.
Эра+ — потенциальная сборка. С ней просто не включать неудобные плагины, дублирующие функциональность. Это же решается в два щелчка. Нет?


RE: ERA III - Str1g0 - 14.12.2020 18:55

Quote:Мне видится правильным такой подход к разработке платформ, при котором обеспечивается максимально широкий доступ к модификациям, богатый формат описания объектов и отсутствие привязки к фиксированным значениям. То есть правильный плагин на новых монстров — это плагин, парсящий json из VCMI и предоставляющий API для получения адреса таблицы с монстрами, размера одной записи, максимального числа монстров, актуального числа монстров. Завязывать же всю игровую структуру, а то и все структуры на конкретном разработчике нельзя.

Вероятно, разумным будет предложить библиотеку с методами получения/установки адресов и пределов для всех основных игровых структур.
ПолучитьМаксимальныйИДМонстра, ПолучитьЧислоМонстров, ПолучитьТаблицуМонстров. Установить первое, втрое и третье.

Поскольку правильное расширение структур, на мой взгляд, должно иметь динамическую природу (монолитов 8, 50 или 100 зависит от содержимого json-конфигов), то и переносить подструктуры по методу Хероманта или Игрика не вариант. Исходный код gameManager->twoWayTeleports всё время генерирует команду доступа от базового адреса, который можно пропатчить смело, не боясь нарушить остальной код, поскольку далее будет всё тот же gameManager->другоеПоле, который компилятор не имел права оптимизировать. Доступ по указателю — это такая штука, которая предполагает, что значение указателя может измениться даже из соседнего потока. Потому чаще всего можно подструктуру перенести на массив динамического размера без последствий. Если найдёте в патче Хероманта доказательство обратного, сообщите, пожалуйста.

После переноса остаётся несколько вопросов:
-) Какой теперь новый адрес подструктуры?
-) Размер её элемента?
-) Количество элементов?

Вопрос, схожий с обсуждением RedirectMemoryBlock/GetAddr и решаемый на уровне АПИ и соглашений, а не на уровне «никто не имеет права расширять ни одну структуру кроме автора мода ХХХ». Стоит ещё раз подумать, какого АПИ хватило бы всем.

Для начала можно попробовать сделать 26 монолитов отдельным модом. Можно не вносить пока изменений в движок.

Quote:Как сейчас с *.btn-кнопками, только лучше. Появляется плагин на новых монстров с описанием формата. Он закрывает все вопросы, предоставляя декларативное json-api (под который без проблем можно писать визуальный редактор) и набор функций API для остальных. Для базовых потребностей по монстрам без учёта новых способностей RedirectBlock + одной функции GetMonCount хватило бы за глаза.

Just wait a bit, will ya? Sm


RE: ERA III - XEPOMAHT - 14.12.2020 19:04

(14.12.2020 18:41)Berserker Wrote:  Эра+ — потенциальная сборка. С ней просто не включать неудобные плагины, дублирующие функциональность. Это же решается в два щелчка. Нет?

Да, но как пользователям это объяснишь? Давно прошу добавить в ERA режим глобального мода (или сборки), принудительно отключающий ненужные моды, но вот воз и ныне там. 105


RE: ERA III - feanor - 14.12.2020 19:45

Quote:Появляется плагин на новых монстров с описанием формата. Он закрывает все вопросы, предоставляя декларативное json-api (под который без проблем можно писать визуальный редактор) и набор функций API для остальных.
Но ведь это не ответ.
Т.е. "автор сделает нам зашибись, а как - ну как-нибудь сделает". Я за такое даже за бабки грязно ругаюсь и иногда даже отказываюсь, а тут прост так.

Как будет реализовываться единообразное чтение json? Эра поддерживает комментарии, но не предоставляет плагинам ничего для работы с json (емнип), поэтому библиотек будет..разнообразно, и с теми же нестандартизированными комментариями будут наблюдаться всякие интересные эффекты.
Если это будет не просто "api c json", а именно JSON:API "типа я restful", то нужна сразу эталонная реализация. Кто её подгонит? Кто будет гарантировать, что она адекватна всем возникающим задачам? Как убедить людей, что она нужна?

Как будет это апи реализовываться? Экспорты из дллплагина, и заголовочник? Это возможно и без эры, но почему-то этим никто не пользуется. Не говоря уже об опухании дллмейна от всяких InitializeEra(); InitializeMonsterExtender(); InitializeMonsterExtender2(); InitializeArtifactExtender(); InitializeSomeshit1Extender(); InitializeSomeshit2Extender(); .. InitializeSomeshit37Extender();
Как будет решаться вопрос с разными версиями плагинов, и вообще с известной проблемой пятнадцатого стандарта? У нас уже есть два разных плагина для добавления монстров, и при этом этот зоопарк еще и не закрывает всех потребностей.


Альтернативное предложение: нам просто нужен обмен переменными на уровне эры, как это делают плагины и хота для общения с HD-модом.
Т.е. никакого внешнего апи, которое поддерживается волшебными гномиками, а тупо глобальное key-value хранилище, и функции типа GetEraDword("name", [default_value]), добавить по вкусу вариаций для разных типов.

Тогда, для получения размера монстров - GetEraDword("amethyst.monster_count", 197) или там даже GetEraDword("amethyst.monster_count", GetEraDword("typhon.monster_count", 197))

Более того, мы даже для массива существ можем использовать тогда конструкции вида (_CreatureInfo_*)GetEraDword("amethyst.monster_table_ptr", o_Creatures)

И вообще функция универсальная. У меня давно подгорает от того, что для SN:W-переменных нету прямого доступа, например, приходится писать всякие ненужные обертки над erm.
Туда же можно заливать прочитанный эрой JSON, типа какой-нибудь {plugin_config":{"param":1}} будет мапиться в "_json.plugin_config.param".. ладно, увлекся.


RE: ERA III - Berserker - 14.12.2020 20:39

Quote:Давно прошу добавить в ERA режим глобального мода (или сборки), принудительно отключающий ненужные моды, но вот воз и ныне там.
Так с любой игрой с модами. Есть параметр командной строки modlist="путь к файлу со списком модом". Если это сборка, то и вовсе включи в архив list.txt. А если я всё равно хочу включить какой-то мод, я его включу.

Quote:Just wait a bit, will ya?
It's not an announcement. Just point of view.

Quote:Альтернативное предложение: нам просто нужен обмен переменными на уровне эры, как это делают плагины и хота для общения с HD-модом.
Т.е. никакого внешнего апи, которое поддерживается волшебными гномиками, а тупо глобальное key-value хранилище, и функции типа GetEraDword("name", [default_value]), добавить по вкусу вариаций для разных типов.

Тогда, для получения размера монстров - GetEraDword("amethyst.monster_count", 197) или там даже GetEraDword("amethyst.monster_count", GetEraDword("typhon.monster_count", 197))
Это форма неявного, нечёткого и более хрупкого API. Конкретно его низкоуровневая часть. В твоём высокоуровневом коде всё равно будут функции-обёртки, если делаешь по уму.

15 стандартов есть, когда нет ни одного удобного. Сам плагин через любую json-библиотеку сам считывает json-конфиги в своём формате. Как Yona считывает свой ini-файл. В чём сложность? Другим lua/dll/erm модулям нужно простое и рабочее API для доступа к новым возможностям. Даже указатель на массив структур можно получать, считывая части кода SoD, как и предлагали выше.

Доступ к SN:W переменным и глобальному хранилищу ключ-значение сделаю.


RE: ERA III - feanor - 14.12.2020 21:17

Quote:Сам плагин через любую json-библиотеку сам считывает json-конфиги в своём формате. Как Yona считывает свой ini-файл. В чём сложность?
А в чем смысл?
Ну т.е. это все то же самое, что и сейчас, ровно с теми же проблемами. Только стильный, модный, молодежный json (со своими новыми стильными проблемами).

Quote:Другим lua/dll/erm модулям нужно простое и рабочее API для доступа к новым возможностям.
Ну всем понятно, что лучше быть здоровым и богатым, чем бедным и больным, но это неконструктивное утверждение.
Это просто клич "авторы, чаще используйте extern "C" __declspec( dllexport )"? Ну ок, будем использовать, но к чему эти разговоры про единое замечательное апи, если его предлагается не то что реализовывать, а даже декларировать своими силами — и следовательно, оно не будет ни таким уж единым, ни таким уж и замечательным.

Quote:Это форма неявного, нечёткого и более хрупкого API. Конкретно его низкоуровневая часть. В твоём высокоуровневом коде всё равно будут функции-обёртки, если делаешь по уму.
Нет, не будут, я же не бессмертный оборачивать все, что у нас там нареверсено, под обертки.
¯\_(ツ)_/¯
Либо тогда мне нужна стоковая поставка из Эры описывающих герои заголовочников, которые по функционалу эквивалентны хотя бы тем, которые когда-то в начале десятых были в последних HD-шных сорцах, 3.15f, кажется. Там немного, килобайт триста.

Алсо
> хрупкое
НD общаться с HotА и HD с плагинами так общаться нехрупко, а тут ну не норм.
И сравнивать с решением, в котором мы будем зависеть как минимум от имени dll-файла плагина и считать это менее хрупким.. ну такое.
И да, оно неявное, нечеткое и низкоуровневое - и это еще не все его достоинства!
Смешно бояться хрупкости в реверсинговой сцене.


RE: ERA III - Archer30 - 15.12.2020 13:26

Berserker, reporting an issue related to characters/colour
Check this one:
Debug+Save
The menu pops up when fighting a neutral stack is totally messed up.

Checked w/ and w/o WoG Native Dialgos/HD mod, it turns out
1. w/o WoG Native Dialog, the issue can be resolved.
2. w/o HD, the issue persists.

This could be a problem with WoG Naitve Dialog, but since ERA gets so many updates related to characters/colour recently, I believe it's more likely needed to be adjust from ERA Yes


RE: ERA III - Raistlin - 15.12.2020 13:50

(14.12.2020 19:04)XEPOMAHT Wrote:  
(14.12.2020 18:41)Berserker Wrote:  Эра+ — потенциальная сборка. С ней просто не включать неудобные плагины, дублирующие функциональность. Это же решается в два щелчка. Нет?

Да, но как пользователям это объяснишь? Давно прошу добавить в ERA режим глобального мода (или сборки), принудительно отключающий ненужные моды, но вот воз и ныне там. 105
Подписываюсь под Вашими словами. В качестве варианта реализации могу предложить использование текстовика или ini-файла, лежащего в папке с модом, который будет считываться одновременно с list.txt, и в котором будут указаны моды, которые нужно отключить. Соответственно, при чтении списка модов нужно просто пробегаться циклом по этому списку исключений и проводить сравнение с данными из, например, mod.json или ещё откуда-нибудь.


RE: ERA III - XEPOMAHT - 15.12.2020 14:08

(15.12.2020 13:50)Raistlin Wrote:  В качестве варианта реализации могу предложить использование текстовика или ini-файла, лежащего в папке с модом, который будет считываться одновременно с list.txt, и в котором будут указаны моды, которые нужно отключить. Соответственно, при чтении списка модов нужно просто пробегаться циклом по этому списку исключений и проводить сравнение с данными из, например, mod.json или ещё откуда-нибудь.

Думаю, что вместо чёрного списка модов лучше использовать белый список - проверенные на совместимость моды. Т.е. пользователь подключает ERA+, перед загрузкой движок ERA рядом с list.txt находит whitelist.txt, сравнивает содержимое с list.txt и подгружает только моды, имена которых совпали в обоих листах. Пользователь отключает ERA+, и моды уже грузятся согласно list.txt (т.е. список модов, который пользователь мог собирать и настраивать под себя годами, никак не повреждается от включения/выключения ERA+, т.е. всё проходит автоматически и мне потом не нужно уговаривать людей УСТАНАВЛИВАТЬ ERA+ В ОТДЕЛЬНУЮ ПАПКУ С ГЕРОЯМИ, ЧТОБЫ НИКАКИЕ СТОРОННИЕ МОДЫ НЕ МЕШАЛИ ПОЛЬЗОВАТЕЛЯМИ, КОТОРЫЕ В НИХ НИЧЕГО НЕ ПОНИМАЮТ И ХОТЯТ ТОЛЬКО ИГРАТЬ В САМУ ИГРУ 141 ).


RE: ERA III - Berserker - 15.12.2020 19:25

Имхо, это уровень ответственности настроек мода в json и менеджера модов. Менеджер модов должен предупреждать о несовместимых модах по набору критериев: явные чёрные списки и и явные белые.

Archer30, thank you. My bug, will be fixing it.


RE: ERA III - XEPOMAHT - 15.12.2020 20:19

(15.12.2020 19:25)Berserker Wrote:  Менеджер модов должен предупреждать о несовместимых модах по набору критериев: явные чёрные списки и и явные белые.

Вообще-то Менеджер Модов не является приложением Win32 не работает в виндовозах младше 7-й. Лично мне он за всю историю ни разу не пригодился (не запускается, и не надо) и всецело заменим обычным блокнотом, т.к. только управляет содержимым list.txt (чем я кстати не занимаюсь, как 5 лет прописал там 4 мода, так они там и остаются). Ну а винить-то будут опять ERA+, в том что не смогут её запустить, а никак не Менеджер Модов. Мне вот не хотелось бы решать проблемы этого самого Менеджера (который всё равно ничего не знает о ERA+ и совместимых с ним модов). 141


RE: ERA III - Berserker - 15.12.2020 20:31

У твоей аудитории уже давно стоят Windows 10. И да, они пользуются менеджером модов.


RE: ERA III - Archer30 - 15.12.2020 21:14

Berserker, help needed with SN:D/BU:R
How exactly does these work? Why are they sometimes result in crashes that only reproducable in particular PC?

From discord:
Quote:всё ещё пытался поймать вылет тума и пока что он работает без вылета и выключение помогает, но произошло это: включена автобитва, прилетаю в хижину ведьмы, там страж, победа, начинается бой, краш.
debug - This is a crash realated to SN:D from 40 Karmic Battles.

I had this report a week ago. I tested with the savegame the player sent and not able to reproduced his issue, while he had a very high chance of crash (like every 3 battles). I thought that was only a rare situation. But since now I see the second report, it must be something.


RE: ERA III - Berserker - 15.12.2020 21:49

SN:D calls BU:R. BU:R crashes if called on round 0. That's all I know. Thanks for report.

Seems like some def was not loaded still and BU:R requires it.

Ah, seems like BU:R in autobattle is a bit unsafe.


RE: ERA III - Archer30 - 16.12.2020 16:11

Berserker, I'd like to have some suggestion from you about 40 Karmic Battles.

This script had the same issue with BU:R due to ERA updated battle round definition. I fixed it by moving the call to the same timing before ERA updates (from round -100000000 to round 0). It works perfectly on the most situation but still, 2 players reported about getting crashes. Should we move neutrals generation to round 1? 102


RE: ERA III - Berserker - 16.12.2020 18:03

Archer30, I will try to fix crash in autobattle and see what can be done in round 0.


RE: ERA III - SergOz - 17.12.2020 16:11

В последнее время "старая" гвардия стала проявлять интерес к Эре
80 166 161 Laie_56 113


RE: ERA III - totkotoriy - 18.12.2020 00:16

Раз уж зашёл: нифига вы там за это время делов то наворотили, коллекции, джоинты, даже думать страшно чтоб свой мод адаптировать под новую версию, это ж неделю безвылазно сидеть, потом ещё месяц дорабатывать... Молодцы короче)))) я думал всё давно загнулось.... Хороших реализаций вашего движка не хватает, я наверное только 30% возможностей старой версии использовал.


RE: ERA III - Berserker - 18.12.2020 02:38

totkotoriy, да, возможностей много. Можно использовать те, которые нужны под конкретную задачу.


RE: ERA III - SergOz - 18.12.2020 20:05

Очень странный глюк получил в игре.
Хочу сделать так, чтобы при посещении заброшенной шахты, имея определённый арт (у меня это арт №101 - Брелок Ясновидения), можно было бы выбирать ресурс, добываемый этой шахтой.
Написал:
Это работает при любых раскладах. Но, если такой шахте установить ERM'ом охрану, например:
и если у игрока установлена быстрая битва, то при переигровке боя с драконами за шахту, появляется клон героя, который стоит на входе в шахту и не исчезает.

Глюк воспроизвёлся на двух произвольных тестовых картах постоянно

P.S. добавление в код строк
не помогает


RE: ERA III - igrik - 18.12.2020 20:32

SergOz, у вас видимо старый плагин переигровки. Обновите плагин. Данная проблема была решена в переигровке с месяц назад.


RE: ERA III - SergOz - 18.12.2020 20:48

Плагин только недавно переустанавливал, но только что ещё раз переустановил. Это не помогло.
Плагин установлен в Mods/BattleQueue/EraPlugins.


RE: ERA III - igrik - 18.12.2020 21:59

(18.12.2020 20:48)SergOz Wrote:  Плагин только недавно переустанавливал, но только что ещё раз переустановил. Это не помогло.
Плагин установлен в Mods/BattleQueue/EraPlugins.
Что за странный путь установки? Вы уверены, что он в самом высшем приоритете?
Я у себя проверяю - у меня проблемы развоения нет.

Раздвоение возникает из за неправильного создания сейва игры (точнее там указан неправильный параметр, из-за чего вызывается функция Скрыть Героя). В плагине создания сейва нет.


RE: ERA III - Berserker - 18.12.2020 23:24

Нужна папка Debug по f11. Возможно, там старый плагин или присутствует BattleSave.era плагин.


RE: ERA III - SergOz - 19.12.2020 00:59

(18.12.2020 21:59)igrik Wrote:  Что за странный путь установки? Вы уверены, что он в самом высшем приоритете?
(01.12.2018 21:28)igrik Wrote:  Переигрываемая битва для ERA
Автор: igrik
Язык: не имеет значения
Поддерживаемые версии: только ERA
Способ установки: Класть в EraPlugins любого мода
Вот я и поклал его в EraPlugins любого мода. Как задавать приоритет - не знаю..

Berserker, а где может находиться старый BattleSave.era плагин?


RE: ERA III - igrik - 19.12.2020 01:30

(19.12.2020 00:59)SergOz Wrote:  Berserker, а где может находиться старый BattleSave.era плагин?
В одной из папок EraPlugins
Найди поиском (виндовским, или тотал-коммандером)

PS: у тебя в папке "Mods\Game Enhancement Mod\eraplugins" лежит старый плагин. А мод Game Enhancement Mod имеет наивысший приоритет. Удали плагин в этом моде.


RE: ERA III - SergOz - 19.12.2020 02:00

igrik, спасибо за пояснения.
Поисковик не нашёл BattleSave.
В папке "Mods\Game Enhancement Mod\eraplugins" старый плагин удалил до того, как написал.

U.P.D. Всё, отбой. Я нашёл причину. Без команды
глюка нет.

U.P.D.D. Уф... Если инструкцию !#UN:J3/^:clear:^; сделать ресивером !!UN:J3/^:clear:^; после !?PI; то глюка тоже нет!
Это меня абсолютно устраивает! Не зря как-то писал, если не ошибаюсь, ХЕРОМАНТ, что старается избегать инструкций...


RE: ERA III - Berserker - 19.12.2020 03:29

SergOz, чёрная магия. Команда явно не при чём. Скорее всего, она отключает скрипт сохранений перед боем мода GEM, а точнее его опцию.


RE: ERA III - SergOz - 19.12.2020 03:49

Berserker, инструкцией отключает, а ресивером нет?
Это точно что-то потустороннее 26
Пользуясь возможностью, передаю привет спрошу: в папке maps находится файл Zutorial. Для чего он?


RE: ERA III - Berserker - 19.12.2020 04:21

Ресивером отключает позже, уже после того, как остальные скрипты тоже выполнили свои инструкции. То есть триггер !?PI (post instructions) выполняется после инструкций всех скриптов. Часть скриптов к тому моменту уже сохранили состояния опций в глобальных переменных. В общем, что-то с опциями. Попробуй без мода GEM вообще.


RE: ERA III - igrik - 20.12.2020 01:48

(19.12.2020 03:49)SergOz Wrote:  Пользуясь возможностью, спрошу: в папке maps находится файл Zutorial. Для чего он?
Это карта-обучение.


RE: ERA III - SergOz - 20.12.2020 14:58

igrik, Thank_you
Странно, что на него не распространилось действие "открывать подобные файлы с помощью программы..."

Я окончательно разобрался с вышеописанным глюком. Да, как и писал Berserker, !!UN:J3/^:clear:^; не при чём.
Я переместил плагин в Game Enhancement Mod и всё стало ОК.


RE: ERA III - Panda - 20.12.2020 22:18

Berserker, краш при заходе в город, как утверждает чел, при заходе в город Инферно крашей происходит больше всего.
PS: отключение мода TavernVideosBIKv2HD ни к чему не приводит, краш остаётся.
Дебаг:
https://yadi.sk/d/XiPZ-sQAdagT7g


RE: ERA III - daemon_n - 20.12.2020 23:05

SergOz, а мод включен?
Так-то данный плагин должен лежать в GEM


RE: ERA III - XEPOMAHT - 20.12.2020 23:20

(20.12.2020 22:18)Panda Wrote:  Berserker, краш при заходе в город, как утверждает чел, при заходе в город Инферно крашей происходит больше всего.

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


RE: ERA III - Berserker - 21.12.2020 02:17

Какой-то бой, затем через v2055 = -1 обращение к !!BM-несуществующему монстру. Сохранение нужно.


RE: ERA III - PerryR - 21.12.2020 02:36

v2055 is only existing in the Enhanced Warmachine 1 script 11



RE: ERA III - Berserker - 21.12.2020 02:44

Right. The last executed command:
!!BMv2055:N?y1 H?y2 L?y3 I?y4 S?y13; in 24 wog - enhanced war machines 1.erm on line 127 at pos 3


RE: ERA III - Archer30 - 23.12.2020 08:20

Berserker, hi!

Just want to provide more info related to a problem I reported about BU:R / 40 - Karmic Battles

Here's the latest debug+save (Assembly+TUM+ACM). With this save, fight a few neutral stacks and should be able to reproduce the crash.
It should be noted that the crash happens when initializing the battlefield, quick combat is not necessary for the condition.

Edit: It seems the crash stops after I disable SN:D (BU:R) Rolleyes There is no need to refresh in the first place, right?


RE: ERA III - Berserker - 23.12.2020 09:40

Archer30, right.


RE: ERA III - Panda - 24.12.2020 02:26

Berserker, igrik, Есть стабильный вылет если напасть на синего и после завершения битвы переиграть

Дебаг+сохранение:
https://yadi.sk/d/obiiJBDx8_FsyA


RE: ERA III - Berserker - 24.12.2020 07:23

Вылет при переигрывании нужно смотреть igrik-у, скорее всего:

> Callstack
H3era hd.00473AA0
Wog native dialogs.E032 (?CreateNewBattleLogDlg@@YAXPAU_BattleMgr_@@@Z + 1170)


RE: ERA III - Panda - 24.12.2020 09:43

Berserker, спасибо, до последнего надеялся, что это не плагин Wog native dialogs Sorry Передал igrik-у в тему плагинов.
PS: предыдущий вылет при заходе в город - сохранения чел так и не предоставил.


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

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


RE: ERA III - igrik - 24.12.2020 11:16

(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, ты уверен, что твой лог правильно генерируется?


RE: ERA III - Berserker - 24.12.2020 19:51

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


RE: ERA III - igrik - 24.12.2020 22:04

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

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


RE: ERA III - Berserker - 24.12.2020 23:01

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


RE: ERA III - Panda - 25.12.2020 01:59

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


RE: ERA III - Berserker - 25.12.2020 08:35

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

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

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


RE: ERA III - igrik - 25.12.2020 14:59

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

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

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

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

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


RE: ERA III - Panda - 25.12.2020 15:02

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



RE: ERA III - Panda - 25.12.2020 15:39

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


RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng от Panda - SergOz - 25.12.2020 17:31

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


RE: ERA III - Berserker - 25.12.2020 18:22

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

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

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

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


RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng от Panda - Berserker - 25.12.2020 18:30

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


RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng от Panda - SergOz - 25.12.2020 18:41

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


RE: [ERA 3] Сборка HoMM3 ERA HD Rus/Eng от Panda - Berserker - 25.12.2020 18:55

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

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


RE: ERA III - Panda - 25.12.2020 19:08

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


RE: ERA III - Bes - 28.12.2020 14:00

Quote:[+] Добавлена поддержка выравнивания изображений по вертикали относительно текущей строки (для внутристрочных) или границ блока (для блочных).
Атрибут "valign" может принимать одно из трёх значений: top, middle или bottom. По умолчанию: middle.
Berserker, может сделать сокращение в три символа, всё ж короче и, как мне кажется самое главное, это ЕРМ и нам можно сокращать, чай не обременены всякими чужими стандартами и спецификациями.
top, mid или bot


RE: ERA III - helgtla - 28.12.2020 15:27

Berserker установил последнее обновление. Теперь ВСЕ картинки (по умолчанию) отображаются зеркально (необходимо исправить) и выравнивание идёт по центру(это поправимо, но лучше бы "центровку по высоте" оставить на усмотрение пользователя, так как перед вставкой картинки может быть поле с текстом).

Image: 04.jpg


RE: ERA III - Berserker - 28.12.2020 17:31

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

helgtla, старый файл был по ссылке. Обновил.

По умолчанию картинки теперь внутристрочные, для которых естественно выравнивание по центру. Для выравнивания не по центру строки и виртуально они занимают одну строку в высоту. По верхнему краю выравнять:
{~>test.def valign=top}.

Ты чаще всего используешь одну большую блочную картинку по центру. Вот такие блочные картинки:
{~>test.def block}

будут скоро, надеюсь, сами корректно резервировать себе место по вертикали, так что проблема стоять не будет.

И поддержка выравнивания уже в самых ближайших планах.


RE: ERA III - helgtla - 28.12.2020 17:57

Berserker, скачал заново. Зеркальность пропала, но ни одна и команд (valign=top, valign=middle, valign=bottom или block) - не срабатывает. Картинка в любом случае отрисовывается посредине строки слева.


RE: ERA III - Berserker - 28.12.2020 22:17

Приведи, пожалуйста, полный код IF:M.


RE: ERA III - helgtla - 28.12.2020 22:42

Berserker, пример сообщения (дэф сменил на стандартный, результат тот же):
   Пробовал и в ивент на карте приключений чисто сообщением, и в ивент в настройках карты. В оригинале схожее сообщение есть и при старте карты и в памятке (!!IF:M через триггер по клику мышью !?CM0; ).


RE: ERA III - Berserker - 28.12.2020 23:39

Всё верно, в многострочных диалогах не работало. Там вообще сложная внутренняя кухня. Посмотрю, что можно сделать.


RE: ERA III - Berserker - 29.12.2020 00:11

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


RE: ERA III - helgtla - 29.12.2020 00:27

Berserker, скачал обновление тчк Работает зпт буду тестить тчк Спасибо тчк


RE: ERA III - Berserker - 29.12.2020 00:42

Отлично Ab Спасибо за тесты.


RE: ERA III - Archer30 - 31.12.2020 09:57

Hi Berserker, it looks like the latest ERA update a few hours ago breaks the compatibility with WoGCN.dll. The colour of Chinese characters is messed up.
I tested with every single ERA update, pretty sure this is a new problem starts only from this version.
Can you fix that either on wogcn.dll or era? Thanks 96-copy


RE: ERA III - V_Maiko - 31.12.2020 10:14

Archer30, WoGCN.dll is some kind of Chinese core designed specifically for your language version?


RE: ERA III - Berserker - 31.12.2020 11:23

Archer30, right, WoG Chinese is not supported currently. Text opacity will not be supported unless plugin functionality is rewritten in Era. I'll provide quick fix later to allow normal colors.


RE: ERA III - Archer30 - 31.12.2020 11:43

Berserker, thanks! That would be the best.

V_Maiko, yes! You won't need it unless you want some hieroglyph in your game


RE: ERA III - feanor - 31.12.2020 19:31

Quote:Для шрифтовой тени реализована поддержка градаций, 1 - полностью непрозрачная, 254 — почти полностью прозрачная. Рассматриваются и варианты отключения тени в файлах шрифтов и рисования автоматической тени.

Изображение: image.png

Друзья, нужны советы и отзывы. Нужна ли нам полупрозрачность в текстах и тенях? Нужны ли нам автоматические тени или рисованные вручную для каждого символа?
Для TSW определенно нужна возможность либо отключать, либо _очень_ гибко переопределять.
Ну то есть мы все равно будем отменять хук (если вообще будем мигрировать на 3.x), так что лучше сделать это как-то ко всеобщей выгоде.


RE: ERA III - feanor - 31.12.2020 21:58

А, или компромиссный вариант. Нам же не нужно действительно _255_ теней?

Из 253 доступных нам значений пикселя шрифта выделяем, допустим, 50 под оттенки тени, 50 или 100 под оттенки шрифта, N под фиксированные цвета (шрифт с гарантированными цветными элементами), возможно, определяемые в файле шрифта, и еще в M случаях - на табличное соответствие: таблица[16-битный пиксель фона] -> итоговый цвет шрифта, M*64 кб таблиц.


RE: ERA III - Berserker - 31.12.2020 23:17

feanor, уже сейчас функция отрисовки символа полностью переписана. Ещё добавится встроенная поддержка азиатских языков.
Мне кажется, что для шрифта достаточно того цвета, который ему передают, а сами значения 0..255 — это просто альфа канал (непрозрачность). Тогда 255, как сейчас, чистый цвет, 0 - отсутствие цвета, а градации — реализация сглаживания, как в True Type. Тени, имхо, лучше отрисовывать автоматически по смещению x+1, y+1 для всего зоопарка шрифтов, у которых чаще всего нет этой самой тени в оригинале. А вы каким путём пошли?


RE: ERA III - V_Maiko - 01.01.2021 00:23

Berserker, Are you planning to include igrik's improved XXL mod in later versions of ERA once it works properly without HD mod? This would greatly benefit the future of ERA.


RE: ERA III - feanor - 01.01.2021 02:21

Quote:Тогда 255, как сейчас, чистый цвет, 0 - отсутствие цвета, а градации — реализация сглаживания, как в True Type. Тени, имхо, лучше отрисовывать автоматически по смещению x+1, y+1 для всего зоопарка шрифтов, у которых чаще всего нет этой самой тени в оригинале..
Плохо.
Сглаживания больше, чем математически имеет смысл в RGB565 @ зато указываем автору шрифта, как будет располагаться тень. Даже если он этого намеренно не планировал.

В ванильном троечном интерфейсе это не очень страшно, потому что на темном коричневом на самом деле пофигу, есть там тень или нет, но есть ведь и интерфейсные моды, типа NIM или тех попыток в четверочный.

Quote:А вы каким путём пошли?
Ну нам нужен вот такой эффект:
Image: 165_519920388620d.jpg

Image: 87278914.jpg

Когда не блендинг с фоном, а сам текст имеет оттенки.


RE: ERA III - Berserker - 01.01.2021 05:33

V_Maiko, XXL mod should be tested and HD-mod independent before inclusion.

feanor, напомни, пожалуйста, как кодируете тени вы.
Возможно, стоит идти по пути разных версий шрифтов. Где-нибудь есть описание формата fnt-файлов?


RE: ERA III - MaGoth - 01.01.2021 15:53

Berserker, а напрямую вектора вкрутить нельзя, вместо убогих фнт ?!


RE: ERA III - Berserker - 02.01.2021 01:09

MaGoth, какого именно формата? Даже для китайского 3D0 использовала простой растровый формат шрифтов. Проще — лучше.


RE: ERA III - MaGoth - 02.01.2021 04:42

Berserker, на ОТФ наверное было бы самое то, там же галимый вектор в матане.. про последнее я бы поспорил что лучше.. Sm


RE: Ваши вопросы по ERM-скриптам - Archer30 - 02.01.2021 13:14

Need some help with !?FU(OnAdvMapTileHint)

My code:
Code:
{
"0_WF": {
"HintBones": "Bones!!!!!!"
},
}

With this code, I got this in the game
Right click info keeps switching between objHintBones and name in objnames.txt

What could be wrong here Unsure


RE: ERA III - Berserker - 02.01.2021 15:06

This code has nothing to todo with right click. It's a hint when you hove mouse over object. And it's correct in your gif.

Seems like your !?CM0 trigger uses some garbage code like !?CM0; !!IF:Mz1; what is z1 here???

(02.01.2021 04:42)MaGoth Wrote:  Berserker, на ОТФ наверное было бы самое то, там же галимый вектор в матане.. про последнее я бы поспорил что лучше.. Sm

Попробую. Может, что и выйдет. Спасибо за совет )


RE: Ваши вопросы по ERM-скриптам - Archer30 - 02.01.2021 15:34

Quote:This code has nothing to todo with right click
Thanks Berserker, I thought the same. But from my test it also affect right click, made me wonder if I was wrong.

Checked with !?CM0; !!IF:M^%z1^; z1 is "WoGification is completed!" Doesn't look suspicious.


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

Send me test savegame with this script only please and above mentioned bug.


RE: Ваши вопросы по ERM-скриптам - Archer30 - 02.01.2021 18:38

Berserker, please check this one.

I changed to another object: dead vegetation 119. The result is the same.
Savegame + debug

Right-clink on this object and you will see
Image: VNHlopn.jpg


RE: Ваши вопросы по ERM-скриптам - Berserker - 02.01.2021 21:36

You are right. I'll try to deal with it.


RE: ERA III - daemon_n - 06.01.2021 16:33

!?FU(OnTownHallMouseClick);
не работает у меня вообще.


RE: ERA III - Berserker - 06.01.2021 20:05

daemon_n, проверял в экране выбора постройки города?


RE: ERA III - daemon_n - 06.01.2021 20:17

Berserker, да, там и проверял.


RE: ERA III - Berserker - 06.01.2021 20:58

Это окно форта/цитадели/замка — найм существ. В оригинале без форта не Town Hall называется?


RE: ERA III - daemon_n - 07.01.2021 04:21

Berserker, насколько я знаю,town hall - городская управа. Это знаете, которое приносит деньги и даёт строить здания. От форта и прочего зависимости нет. Да и все справочники говорят о том, что этот триггер для муниципалитета


RE: ERA III - Archer30 - 07.01.2021 11:25

Berserker, a very interesting bug here Sm

A player reported that his hero (Christian) is controled by purple player at the turn end.
GIF
debug+save

I tried with removing all the scripts, mods and added in !!OW:A0/6; to force Christian belonged to Red, didn't work. Any idea? Rolleyes

This really inspired me to create Berserk Adv Spell btw...


RE: ERA III - daemon_n - 07.01.2021 13:28

Archer30, disquise spell for blocking berserk? Ab


RE: ERA III - Berserker - 07.01.2021 16:42

Archer30, nice bug, confirm strange behavior.


RE: ERA III - V_Maiko - 07.01.2021 21:05

I hadn't realized that ERA was haunted 36


RE: ERA III - Archer30 - 08.01.2021 10:51

Hehe 96-copy Christian is an insider. He moves secrectly at night.

It seems the support of altering text from zsetup00 (3.2 feature) is limited.

I tried to change the text of page 4 Map Rules by adding a few characters, and it immediately overflowed. Delete "and mod options" then everything back to normal

Screenshot:
Image: XNMWkcj.jpg
Code:
{
    "wog_options": {
            "page4": {
            "name": "Map Rules and Mod Options",
            "hint": "This page lets you select the Map Rules and Mod Options you wish to use. You can also choose to have two random rules for each game or to select rules at the start of each game.",
            "popup": "This page lets you select the Map Rules and Mod Optinos you wish to use. You can also choose to have two random rules for each game or to select rules at the start of each game."
        }
    }
}



RE: ERA III - Berserker - 08.01.2021 14:37

Archer30, you mean, that length restriction because of bounding box still remains?


RE: ERA III - Archer30 - 08.01.2021 15:10

Berserker, not exactly. Sorry for didn't explain it clearly.

You see, for "name" key, I wrote "Map Rules and Mod Options". Instead of showing these characters, the game shows "Map Rules and Mod OptThis page lets you blablabla...".

Why? Becoz "Map Rules and Mod Options" exceed a unreasonable character limit (which shouldn't be existing) of "name" key and resulted in error - it shows characters from "hint" now. The restriction here is far behind the restriction of the bounding box.

Same happened to "popup". My popup msg exceed a certain restriction so that the last few words overlapped with "name" key of page 5


RE: ERA III - igrik - 08.01.2021 18:04

Дело в длине первоначальной строки в файле zsetup00.txt и в моём методе копирования строки через strcpy. Я разберусь с этим в ближайшие дни.


RE: ERA III - daemon_n - 08.01.2021 18:53

(31.12.2020 05:57)Berserker Wrote:  Друзья, нужны советы и отзывы. Нужна ли нам полупрозрачность в текстах и тенях? Нужны ли нам автоматические тени или рисованные вручную для каждого символа?

Прозрачность в тексте смотрится прикольно - вот как это влияет на тень и типы её реализации?
Из двух вариантов выбрал бы тот, что быстрее и совместимее с тем же hd mod.


RE: ERA III - Archer30 - 08.01.2021 21:03

Thanks igrik, much appreciated. 132

Quote:Friends, I need advice and feedback. Do we need translucency in texts and shadows? Do we need automatic or hand-drawn shadows for each character?
Forgive me. It's cool but I'm too dumb to understand how transparency in text can be of great use in moddding. 96-copy


RE: ERA III - Berserker - 08.01.2021 23:19

daemon_n, совместимы с HD мод все, а быстрее всегда текста без прозрачности. В акких шрифтах используются тени? Я предлагал выше, как сделано в gray формате freetype библиотеки считать коды 1..254 альфа-каналом цвета, что нужно для реализации сглаживания (anti-aliasing).

Quote:Forgive me. It's cool but I'm too dumb to understand how transparency in text can be of great use in moddding.
Perhaps, semi-transperent captions in custom DL-dialogs over images?


RE: ERA III - Archer30 - 08.01.2021 23:25

Quote:Perhaps, semi-transperent captions in custom DL-dialogs over images?
Interesting idea. Now I figure out the connection of a series of updates 132


RE: ERA III - feanor - 09.01.2021 00:27

(01.01.2021 05:33)Berserker Wrote:  V_Maiko, XXL mod should be tested and HD-mod independent before inclusion.

feanor, напомни, пожалуйста, как кодируете тени вы.
Возможно, стоит идти по пути разных версий шрифтов. Где-нибудь есть описание формата fnt-файлов?

0, 1, 255 - как в ванилле
254 - полупрозрачное затемнение (50% черный)
с 2 по 26, кажется, градации цвета шрифта (домножение на черный какой-то там прозрачности)
индексы, понятно, двигаемы

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


RE: ERA III - Archer30 - 13.01.2021 22:46

Hi Berserker,

Just want to make sure. Is it true that even if I change the ZVSE marker from any script to ZVSE2, those scripts should still work as expected, right?


RE: ERA III - Berserker - 13.01.2021 22:54

Right, except that functions naming is stricter.


RE: ERA III - daemon_n - 13.01.2021 23:14

what about text strings interpolation?


RE: ERA III - Berserker - 13.01.2021 23:37

daemon_n, а что с ними не так? Старый синтаксис работает.


RE: ERA III - daemon_n - 13.01.2021 23:40

Berserker, какие -то были сложности, что приходилось менять на "Iz1?z1", но я могу путать. В общем, тебе-то уж точно виднее96-copy


RE: ERA III - Berserker - 13.01.2021 23:55

Интерполяция работает по-новому вне зависимости от того, ZVSE или ZVSE2 указано в начало файла.


RE: ERA III - Archer30 - 14.01.2021 18:38

(13.01.2021 22:54)Berserker Wrote:  Right, except that functions naming is stricter.

Thanks a lot! Time for some coding experiments. Mail1


RE: ERA III - daemon_n - 14.01.2021 19:19

Berserker, а давно (y-1/-10) переменные не сбрасываются?

имеем WS

Также не могу понять, почем не обновляется часть экрана героя со вторичными навыками, когда они меняются в этом самом окне?
Раньше точно было динамичное отображение, когда надевал артефакт со вторичным навыком.

UPD: вижу - игра крашится. А так было разве раньше?

UPD:UPD: краш происходит лишь при СНЯТИИ артефакта "в руку", то есть мышкой, и SN:D после.
Надевание артефакта и SN:D проблемы не вызывает.
К тому же снять/надеть через CTRL/ALT + ЛКМ на артефакте (с помощью HD mod) тоже работает отлично и обновляет экран


RE: ERA III - XEPOMAHT - 15.01.2021 11:55

Зачем-то сегодня установил полную версию HD-мода 5.2 RC16 и оказалось, что ERA 2.9.14 фатально несовместима с библиотекой HD_UPD.dll (вылет происходит сразу после показа главного меню):

В общем, то-ли Берсеркер против авто-запросов обновлений HD-мода, то-ли вся хрень с обновлениями просто не фурычит на Windows XP. 148

В общем, продолжу использовать lite-версию HD-мода (вместе с lite-версией ERA 2.9.14), содержащую только необходимые файлы для запуска ЭРЫ без лишних dll, которые не являются обязательными.


RE: ERA III - daemon_n - 15.01.2021 11:58

XEPOMAHT, проблема на всех графических режимах?
Как вариант, попробовать последнюю версию HD mod


RE: ERA III - XEPOMAHT - 15.01.2021 12:18

(15.01.2021 11:58)daemon_n Wrote:  проблема на всех графических режимах?

С графическими режимами можно грузится только с HD модом не выше 5-й версии. В 5-й версии Бараторч запрашивает системную функцию "GetLogicalProcessorInformation" которой... нет на Windows XP 148

Лично мне графические режимы не интересны (мой старый ПК их всё равно тянул еле-еле, пыхтя и кряхтя как паровоз, раскручивая куллер на максимум 148 ), использую 32-bit DirectDraw, на котором всё ОК (на расширении окна 885x664 вполне хватает, т.к. у меня монитор 1024х768). Так же мне совершенно не нравится картинка, получаемая после фильтров HD-мода: либо цвета становятся пластмассово-пластелиновыми, либо вся картинка размывается, либо черезчур сильные искажения цвета и рисунка изображения.

(15.01.2021 11:58)daemon_n Wrote:  Как вариант, попробовать последнюю версию HD mod

Надо будет как-то скачать, у меня по трафику жесткий лимит - 3 гига на месяц надо растаскивать, чёртов ТЕЛЕ2 с его чёртовыми ценами за интернет. Fie


RE: ERA III - daemon_n - 15.01.2021 12:35

XEPOMAHT, нарезал, как смог 5 МБ


RE: ERA III - XEPOMAHT - 15.01.2021 12:50

(15.01.2021 12:35)daemon_n Wrote:  XEPOMAHT, нарезал, как смог 5 МБ

Спасибо. Взял от туда _HD3_.dll, HD_WOG.dll, HD_TC2.dll, HD_SCX2.dll. Остальное для обновления под Эру вроде бы не нужно (неожиданно, что даже исправленные мною дефы нимф и океанид там есть).


RE: ERA III - daemon_n - 15.01.2021 13:14

XEPOMAHT, возможно, текст и файл настроек лучше взять. И сбросить их на дефолт.
И на всякий случай пересоздать h3era HD.exe


RE: ERA III - XEPOMAHT - 15.01.2021 13:29

(15.01.2021 13:14)daemon_n Wrote:  возможно, текст и файл настроек лучше взять. И сбросить их на дефолт.

Спасибо, так и сделал.

(15.01.2021 13:14)daemon_n Wrote:  И на всякий случай пересоздать h3era HD.exe

h3era HD.exe не использую. Привык к лаунчеру.


RE: ERA III - MaGoth - 16.01.2021 01:31

(15.01.2021 11:55)XEPOMAHT Wrote:  В общем, то-ли Берсеркер против авто-запросов обновлений HD-мода, то-ли вся хрень с обновлениями просто не фурычит на Windows XP. 148
странно, у меня все работает без проблем..

(15.01.2021 12:18)XEPOMAHT Wrote:  С графическими режимами можно грузится только с HD модом не выше 5-й версии. В 5-й версии Бараторч запрашивает системную функцию "GetLogicalProcessorInformation" которой... нет на Windows XP 148
и как у меня оно работает тогда ?! чем и как запускал распиши попробую у себя проверить..

Quote:Надо будет как-то скачать, у меня по трафику жесткий лимит - 3 гига на месяц надо растаскивать, чёртов ТЕЛЕ2 с его чёртовыми ценами за интернет. Fie
у тебя мобильный инет что-ль от телека ?! если что могу кинуть тебе несколько гигов.. Ab


RE: ERA III - XEPOMAHT - 16.01.2021 02:24

(16.01.2021 01:31)MaGoth Wrote:  и как у меня оно работает тогда ?! чем и как запускал распиши попробую у себя проверить..

Проверил дома на Windows 2003 - работает. Думаю, что на Windows XP надо устанавливать последний сервис-пак, тогда может быть заработает и там (у меня на работе дремучее старьё, которое и обновлять-то некому - бухгалтерию главное тянет, остальное как получится).

(16.01.2021 01:31)MaGoth Wrote:  у тебя мобильный инет что-ль от телека ?! если что могу кинуть тебе несколько гигов.. Ab

Не надо - доступ в интернет всё равно не мой, от конторы.


RE: ERA III - V_Maiko - 16.01.2021 02:43

Why does almost everyone here use such old OS to play Heroes 3? I use windows 10, I feel like a millennial surrounded by baby boomers without offending
Unsure


RE: ERA III - MaGoth - 16.01.2021 03:10

XEPOMAHT, яснопонятно, мой хрюндель такой: 'Microsoft Windows XP' '5.1' 'Service Pack 3' '2600.xpsp_sp3_qfe.130704-0421'
3-й СП со всеми последними обновками и плюшками на сегодня..


RE: ERA III - Archer30 - 16.01.2021 08:21

The last working ERA version for Chinese players is the ERA before the transparent font update. I feel much regretful that I didn't save a copy of it. Unsure

Yet another quesiton from Hawaiing (and me) - Is there a way to identify whether a scenario is resumed from last scenario of a campaign?
I'm trying to make a features that allows to save henchman stats overs compaign scenarios. Without such flag, the only way I can figure out is saving stats into ini and load manully by players.


RE: ERA III - Panda - 16.01.2021 11:18

Archer30, I have all unofficial Era versions after 3.2.0. But which one you need, I can no longer say. If necessary, I can throw it off.


RE: ERA III - Archer30 - 16.01.2021 12:17

Panda, thanks! If you can upload all of the unofficial updates after 3.2 that would be the best! I can easily sort out which specific one I need.

Edit: Got it from Panda. Much appreciate for his help.


RE: ERA III - daemon_n - 16.01.2021 15:53

sublime editor 3

on - предлагает начать ф-цию и вставляет !?FU();
_fu - предлагает начать ф-цию и вставляет !?FU()


RE: ERA III - Berserker - 16.01.2021 18:48

Лучше писать код, считая все переменные инициализированными мусором.
y-1, y-100, y1..y100 не исключение.


RE: ERA III - daemon_n - 16.01.2021 19:25

(16.01.2021 18:48)Berserker Wrote:  Лучше писать код, считая все переменные инициализированными мусором.
y-1, y-100, y1..y100 не исключение.

В том и дело, что без инициализации она НЕ ОБНУЛЯЛАСЬ.


+ новая ошибка.

Только с новой Эрой!

Теперь любая клавиша работает как клик ЛКМ.
Например,
!?CM5; [Left Click on Adventure Screen to change pathfinding value]
!!IF:L^%x1^; выдаёт номер клавиши. Если точнее, ощущение, что возврат идёт лишь в том случае, когда клавиша хоть как-то повлияла на игру. Скажем, хоткеи или процесс набора текста.

Что в бою, что в замке, что в окне героя, что на экране встречи.
Но беда ещё в том, что оно по-прежнему работает в чате и не проходит проверку на тип клика. Потому печатание в чат вызывает все функции, которые вызывает триггер ЛКМ, игнорируя все проверки.

В общем, это и есть багAb


RE: ERA III - Berserker - 16.01.2021 20:56

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

daemon_n, проверил.

Quote:Теперь любая клавиша работает как клик ЛКМ.
Не подтверждаю. Нажатие клавиши не генерирует триггеры мыши.

Quote:!IF:L^%x1^;
Ты просто выводишь мусорное значение с другого триггера.

Quote:Но беда ещё в том, что оно по-прежнему работает в чате и не проходит проверку на тип клика. Потому печатание в чат вызывает все функции, которые вызывает триггер ЛКМ, игнорируя все проверки.

В общем, это и есть баг
Дичь какая-то. Не подтверждаю.


RE: ERA III - Archer30 - 16.01.2021 23:12

Berserker, thanks for bringing us the awesome pic in text feature. That's really enjoyable to use and brings interesting gaming experince.
Just a minor imperfection of this feature.
Pictures reaches treachedge won't move when scrolling down the dialogue for some reasons. 96-copy


RE: ERA III - Berserker - 16.01.2021 23:15

It's because picture is drawn outside of text area. I know about the issue. It may or may not be resolved.


RE: ERA III - daemon_n - 16.01.2021 23:36

Archer30, top part isnt text field. As solutiion - bottom alignment


RE: ERA III - Archer30 - 16.01.2021 23:55

Thanks Berserker, no biggie.

daemon_n, thank you. Figured out myself )


RE: ERA III - Archer30 - 18.01.2021 08:28

Berserker, a very weird problem here.

A player reported that the bin patch "quick battle no retreat question" didn't work. I checked and confirm his report.

bin
Code:
01 00 00 00 D0 78 47 00 03 00 00 00 EB 26 90

My erm:

Result:
Image: 3ebaOc0.jpg

This looks super weird. Fie Why is the value changed immediately after setting up? Something hooked?


RE: ERA III - Berserker - 18.01.2021 14:20

-21 = unsigned 235.
byte is 0..255 or -128..+127, just a point of treatment.
Everything seems ok with your code. It worked earlier, tried without HD-mod?


RE: ERA III - Archer30 - 18.01.2021 16:59

Thanks. Didn't think of that 96-copy

But, it looks like ERA breaks this patch.
I have 87, -150 returned with neither mod nor HD involved.


RE: ERA III - Berserker - 18.01.2021 18:42

4748D6: EB3590909090
This is better patch. Probably, original patch is wrong.


RE: ERA III - Berserker - 18.01.2021 19:13

Image: image.png



RE: ERA III - Archer30 - 18.01.2021 23:00

My apologies Berserker, now I understand why the patch disabling retreat msg didn't work. It's only becoz when I renamed it, I also removed its "bin" extension by accident. Kap
The patch works perfectly well so there is no need to update it.

Nice list of pre-defined functions! 132


RE: ERA III - feanor - 20.01.2021 22:09

(09.01.2021 00:27)feanor Wrote:  формат шрифта потом найду и выложу, но там версии если только самому прикручивать, кажется.

Короче, так
- 5 байт заголовок, {31, 255, 8, 0, 0}
- 1 байт высоты глифов
- 26 нулевых байт
- 256 раз по три дворда: отступ от символа слева, ширина, отступ от символа справа. Отступы могут быть отрицательными
- 256 двордов, которые показывают смещение данных о глифе
- 256 битмапов на каждый глиф, ширина*высота байт

Code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace H3Fnt
{
    struct H3Char
    {
        public int left;
        public int width;
        public int right;
        public int offset;
        public byte[] bytestring;

        public int height;
    }
}
[/code]
Code:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;

namespace H3Fnt
{
    internal class H3Font
    {
        byte[] tmp_header;
        public byte height;
        byte[] tmp_fill;
        public H3Char[] charset;

        public H3Font()
        {
            tmp_header = new byte[]{31,255,8,0,0};
            height = 0;
            tmp_fill = new byte[26];
            charset = new H3Char[256];
        }

        public void Load(string path)
        {
            using (BinaryReader br = new BinaryReader(File.Open(path, FileMode.Open)))
            {
                this.tmp_header = br.ReadBytes(5);
                this.height = br.ReadByte();
                this.tmp_fill = br.ReadBytes(26);

                for (int i = 0; i != 256; i++)
                {
                    this.charset[i].left = br.ReadInt32();
                    this.charset[i].width = br.ReadInt32();
                    this.charset[i].right = br.ReadInt32();

                    this.charset[i].height = this.height;
                }
                for (int i = 0; i != 256; i++)
                {
                    this.charset[i].offset = br.ReadInt32();
                }

                /*for (int i = 0; i != 255; i++)
                {
                    fnt[i].bytestring = br.ReadBytes(fnt[i+1].offset - fnt[i].offset);
                }
                fnt[255].bytestring = br.ReadBytes(fnt[255].width * heigth);*/

                for (int i = 0; i != 256; i++)
                {
                    this.charset[i].bytestring = br.ReadBytes(this.charset[i].width * this.height);
                }
            }
        }


        public void Save(string path)
        {
            using (BinaryWriter br = new BinaryWriter(File.Open(path, FileMode.Create)))
            {
                br.Write(tmp_header);
                br.Write(height);
                br.Write(tmp_fill);

                for (int i = 0; i != 256; i++)
                {
                    br.Write(this.charset[i].left);
                    br.Write(this.charset[i].width);
                    br.Write(this.charset[i].right);
                }

                for (int i = 0, offset = 0; i != 256; i++)
                {
                    br.Write(offset);
                    offset += this.charset[i].width * this.height;
                }

                for (int i = 0; i != 256; i++)
                {
                    br.Write(this.charset[i].bytestring);
                }
            }
        }
    }
}



RE: ERA III - daemon_n - 21.01.2021 06:45

Вот что интересно. В мультиплеерной битве игрок защитник видит 1 ПК за партией, а нападающий - больше.

Если точнее, то для нападающего:
V?$1/?$2/?$3/?$4/?$5
    $4 – один или более ПК в игре = 1 – больше одного
BA:E = 1

Для защитника обе команды возвращают 0


RE: ERA III - Berserker - 21.01.2021 15:18

XX:V? YY:V?


RE: ERA III - daemon_n - 21.01.2021 19:12

Berserker, UN:V и BA:E, если я тебя правильно понял.


RE: ERA III - daemon_n - 21.01.2021 21:49

[quote='Berserker' pid='121229' dateline='1610979222']
Image: image.png

А в новой версии не будет обновления экрана каждую секунду, если подсказка не отличается? А то в текущем варианте наблюдается мерцание подсказки на движение мыши по тому же объекту, если сделать просто

Ну и выполнение какой либо функции на MM выдаёт в строку цифры. То 10, то 1000, то 20.

UPD: Если под курсор попадает герой, который находится в центре экрана (активный - после ЛКМ на нём в панели героев или на карте), то "тип объекта" возвращается "0", а не "34";




RE: ERA III - Berserker - 22.01.2021 20:58

Проверил код. Мерцания не наблюдаю.
По герою верно. Такова механика игры. Активный герой отсутствует в структуре клетки. Вместо него виден объект под героем, например, шахта. Или 0 для почвы. Потому не грех ещё OW:A вызвать и проверить координаты активного героя, если нужна подсказка для героя.


RE: ERA III - daemon_n - 23.01.2021 00:58

Berserker, мерцания запишу на видео чуть позднее, а пока с объектами разбираюсь.
Поскольку беру в привычку писать н а ERM 2.0, то вот вопрос: как в игре выражается (NO_OBJ)? Пустая карта приключения начинается с 0, если там, скажем, нет объекта.
А то записываю (NO_OBJ), думая, что он равен 0, а код не работает) Хорошо хоть, что догадался проверить EEF consts. , а то уже писал бы в спортлотоRolleyes



RE: ERA III - Berserker - 23.01.2021 01:04

NO_BJ - флаг, что нет объекта, а не что число объектов 0. Если счётчик, то его нужно устанавливать в 0 прямо. В целом вопрос без примера не ясен до конца.


RE: ERA III - daemon_n - 23.01.2021 01:33

Berserker, да вот как раз по герою.
Мне надо, чтобы при наведении на активного героя менялась подсказка в строке состояния


Но при нажатии ПКМ на данного героя отображается подсказка ^%(currMm) {%(newD)} %(hC) / %(hM){)}^, а не окно героя. То есть PoPup окошко хранит в себе z-переменную, полученную из подсказки. И каждый следующий клик лишь добавляет подсказку к подсказке.

Image: image.png


RE: ERA III - igrik - 23.01.2021 01:39

(23.01.2021 01:33)daemon_n Wrote:  
Димон, ну что за ерунда. Что это за набор иероглифов xA, oT и т.д. Какая разница использовать старый синтаксис ERM, и твой этот, если ничерта не понятно? Цель ERM 2 сделать читабельные скрипты, а не перевести их в буквенный вид взамен цифрового. Весь Вог на таком шифровании написан, которое просто не хочется читать. Отвыкай от такого написания, пожалуйста. Используй нормальные именования переменных.


RE: ERA III - daemon_n - 23.01.2021 01:46

igrik, да вроде понятно всё105
Активный герой - и координаты с припиской A Yes
Могу, конечно, заменить на xActH././., может, есть гайдик, где подглядеть что?
а вот не я начал. тут у нас (oT) и (oS) - с этого всё и пошлоBeee хе-хе, всё-таки я начал96-copy Исправлю сейчас всё тогда

[b]P.S.:[/b Может, приделать разным триггерам в sublime автообъявлние :x переменных?
Вот печатаю я , сажем,
!?FU(OnAdvMapTileHint);
и он мне сразу.... хобана :
   !#VA(x:x) (y:x) (z:x) (objType:x) (objSubtype:x);132 (можно сразу с одобряющим смайликом:96Sm


RE: ERA III - igrik - 23.01.2021 01:55

Нет. Ты ошибаешься. Вот я смотрю на твой код и не сразу могу в него вникнуть, нужно разбирать глазами команды (так как я это делал на старом ERM). Это говорит о том, что твой код не читаем.
В чём проблема написать не oT, а objectType; не actH, а activeHero и так далее.

На самом деле красноречивое наименование переменных - это целое искусство.
Quote:Правильный выбор имени переменной – одна из самых важных и сложных вещей в программировании, которая отличает начинающего от гуру.

Дело в том, что большую часть времени мы тратим не на изначальное написание кода, а на его развитие.

Возможно, эти слова не очевидны, если вы пока что ничего большого не писали или пишете код «только для записи» (write-only, написал 5 строк, отдал заказчику и забыл). Но чем более серьёзные проекты вы будете делать, тем более актуальны они будут для вас.

Что такое это «развитие»? Это когда я вчера написал код, а сегодня (или спустя неделю) прихожу и хочу его поменять. Например, вывести сообщение не так, а эдак… Обработать товары по-другому, добавить функциональность… А где у меня там сообщение хранится? А где товар?..

Гораздо проще найти нужные данные, если они правильно помечены, то есть когда переменная названа правильно. © learn.javascript.ru



RE: ERA III - daemon_n - 23.01.2021 02:04

(23.01.2021 01:55)igrik Wrote:  Нет. Ты ошибаешься. Вот я смотрю на твой код и не сразу могу в него вникнуть, нужно разбирать глазами команды (так как я это делал на старом ERM). Это говорит о том, что твой код не читаем.
В чём проблема написать не oT, а objectType; не actH, а activeHero и так далее.

1. Мне жалко время - печатаю я медленно, а в голове мысли уходят намного, чем я напечатал. UPD: даже слово "дальше" пропустил по этой же причине.
2. Одержимость размерами файлов (erm). Сам не знаю, откуда такая экономия105

P.S.: со статьёй ознакомился, спасибо. Ещё бы Era Scripts на это дело пересадить96-copy

Но я полностью согласен, и буду стараться. Вот - переделал. (Click to View)

А вот что касается мерцающей подсказки. (Click to View)



RE: ERA III - Berserker - 23.01.2021 04:08

daemon_n, большие имена в sublime вводятся с использованием нечёткого автодополнения.
obn + TAB => objName

До и после любых if/re блоков обязательно пустая строка, если только это не подряд идущие !!en

Quote:И каждый следующий клик лишь добавляет подсказку к подсказке.
Это потому, что ВоГ по правому щелчку переиспользует буфер подсказки из подсказки при наведении. Игра в целом также отображает по ПКМ в общем случае текст подсказки. А ты выводишь оригинал + что-то. Возможно, стоит добавить параметр, подсказка это при наведении или по ПКМ, так как для ПКМ ВоГ тоже вызывает функцию обработки подсказки по клетке.


RE: ERA III - daemon_n - 23.01.2021 04:35

Berserker, но ведь пкм на герое должно отображать инфо о герое.

К слову, если прокликать пкм раз 12 на герое, то в конце появится информация о герое

В общем, всё идёт к тому, что я отказываюсь от данного скрипта.
Ведь если герой сидит в замке, то наведение на замок в подсказку помещает имя замка и имя типа замка + запас хода героя в нём. И пкм на замке также вызывает зацикливание подсказки до 12 линий, только потом появляется 1 раз инфо о замке, ну и так по кругу.
Наведение на замок уже точно никак не решить.
СМ:Р работает лишь на клик.


RE: ERA III - Berserker - 23.01.2021 14:37

Я посмотрю, что можно сделать.


RE: ERA III - Berserker - 23.01.2021 18:58

Code:
[!] Improved "OnAdvMapTileHint" event. It will not occur on RMB popup anymore and will have extended arguments:
  
  !?FU(OnAdvMapTileHint);
  !#VA(x:x) (y:x) (z:x);             Object entrance coordinates
  !#VA(objType:x) (objSubtype:x);    Type and subtype of object. For active hero it's object under hero.
  !#VA(tileX:x) (tileY:x) (tileZ:x); Real tile coordinates.



RE: ERA III - daemon_n - 23.01.2021 19:17

Berserker, *смайлик с бьющим чело о земь колобком".


RE: ERA III - igrik - 23.01.2021 23:23

Berserker, зайди в ВК. Есть серьезная проблема с получением координат в битве через CM:A при использовании HD.


RE: ERA III - daemon_n - 24.01.2021 01:09

(23.01.2021 18:58)Berserker Wrote:  [code][!] Improved "OnAdvMapTileHint" event. It will not occur on RMB popup anymore and will have extended arguments: ...


Оно, конечно, работает, но тип объекта берёт из
   !#VA(x:x) (y:x) (z:x); Object entrance coordinates


RE: ERA III - Berserker - 24.01.2021 02:53

Не так. Просто активный герой считается прозрачным, то есть возвращается объект под ним.


RE: ERA III - Archer30 - 24.01.2021 19:37

Berserker, looks like your link to the beta 3.4.0 is incorrect. It‘s a link of a previous version. Can you update it please 4


RE: ERA III - Berserker - 24.01.2021 19:51

Reuploaded, thanks.


RE: ERA III - Panda - 24.01.2021 20:44

Berserker, странно, у меня всё ещё скачивается старая версия, видимо что-то пошло не так... Unsure


RE: ERA III - daemon_n - 24.01.2021 21:04

Panda, Berserker, скачивается Новая


RE: ERA III - Berserker - 24.01.2021 21:15

Проверил обе ссылки. Новые. Удалите старый файл, если Хромо-браузеры.


[split] ERA III. Новые версии - MaGoth - 29.01.2021 06:09

эм.. некоторая критика.. )
как по мне цветной текст это вообще не про герои, из трех представленных цветов нормально сочетается только оливковый в центре про три части марксизма, остальное так или иначе бьет по глазам..

зы, в край, нужно что-то делать с подложкой фона, кмк..


RE: ERA III - SergOz - 29.01.2021 06:38

(29.01.2021 04:42)Berserker Wrote:  Вскоре на экранах:
Image: image.png
Круто!
А будут ли поддерживаться в сообщениях смещение картинок по align=right/align=center/align="left"?
И почему "left" взято в кавычки?
(29.01.2021 06:09)MaGoth Wrote:  эм.. некоторая критика.. )
как по мне цветной текст это вообще не про герои, из трех представленных цветов нормально сочетается только оливковый в центре про три части марксизма, остальное так или иначе бьет по глазам..
зы, в край, нужно что-то делать с подложкой фона, кмк..
Ну, цветовая палитра довольно обширна и всегда можно подобрать сочетающиеся цветовые комбинации.
Но, соглашусь: если бы у фона было хотя бы три-четыре варианта цвета, то это было бы ваабще..


RE: ERA III - daemon_n - 29.01.2021 06:51

SergOz, ты приглядись к коду и картинке. Там уже стоит выравнивание сперва по правой затем по левой стороне.

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


RE: ERA III - SergOz - 29.01.2021 16:03

daemon_n, я спрашивал не про текст, а про картинки, типа {~>ah10_e.def} , которые можно вставить в сообщение.


RE: ERA III - Berserker - 29.01.2021 16:07

1) Выравнивание работает в любых текстах и диалогах: с прокруткой и без.
2) Выравнивание отлично работает с картинками.
3) Цвета выбирались по-быстрому, демонстрируется альфа-канал (полупрозрачность) в красном и жёлтом.
4) Как и в HTML, значения атрибутов можно заключать в кавычки, что может быть важно для визуального форматирования, включения запрещённых знаков или пробелов.

{~RosyBrown align=left}
{~text align=left}
{~RosyBrown align="left"}
{~text color="RosyBrown Extended Non-existent" align="left"}

Image: image.png


RE: ERA III - MaGoth - 29.01.2021 21:45

Quote:3) Цвета выбирались по-быстрому, демонстрируется альфа-канал (полупрозрачность) в красном и жёлтом.
вон оно чего, михалыч.., Sm


RE: ERA III - Panda - 30.01.2021 03:05

Berserker, в последней неофициальной Эра с окном выбора вторичного навыка происходит вот это:
Image: image.jpg
Текст выбора сдвинут в левую сторону.
На предыдущей версии Эра всё ОК - текст по центру.


RE: ERA III - Berserker - 30.01.2021 04:10

Panda, перекачай ещё раз, пожалуйста.


RE: ERA III - Panda - 30.01.2021 04:24

Berserker, перекачал, контрольные суммы совпадают. Ладно, придётся опять Димона просить, теперь Эру по другому мне не скачать. Через Tor или ВПН не канает, либо пустая страница, либо вообще соединение не устанавливает. Через все остальные браузеры скачивается старая версия, как и в прошлый раз.


RE: ERA III - Berserker - 30.01.2021 04:31

Не нужно, я ещё раз перепроверю и перезалью сейчас.

https://dropmefiles.com/hD9uk

Код проверки работоспособности:



RE: ERA III - Panda - 30.01.2021 04:56

Berserker, скачал, проверил, вот что вышло:
Image: Test-01.jpg
Image: Test-02.jpg

Навыки по прежнему слева.


RE: ERA III - Berserker - 30.01.2021 05:31

Так, в диалоге всё