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

Full Version: ERA PLUS
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Если мне не изменяет память, то в v997 в Эра 3.2.0 были изменения, из-за которых пришлось что-то оптимизировать, данное изменение случаем никак не повлияет на стабильность? Unsure
(27.05.2021 19:57)Berserker Wrote: [ -> ]По мини-карте?

По обычной карте. Специально под диалоги подсказок для объектов. Т.е. кучу проверок перед подсказками делает сам содоский код. Скриптёр прописывает только сам код подсказок, проверяя только данные структуры клетки карты и ничего более. Соответственно, никаких больше костылей и глюков с раздвоением героев.

(28.05.2021 00:05)Panda Wrote: [ -> ]Если мне не изменяет память, то в v997 в Эра 3.2.0 были изменения, из-за которых пришлось что-то оптимизировать, данное изменение случаем никак не повлияет на стабильность? Unsure

v997 использовалась в бою. На карте задействовано не было.
Так, по идее сделал Ab

Image: 123.png
Ссылка всё та же (на гите): wog native dialogs.era
(28.05.2021 00:56)igrik Wrote: [ -> ]Ссылка всё та же (на гите): wog native dialogs.era

Спасибо! В идеале была бы возможность выводить туда графику по типу/подтипу картинки, как в стандартных содовских диалогах, - было бы мегакруто. Например для Жертвенного Алтаря это тип 100 подтип 0.

Сейчас получается такая ситуация:

1 - графика объектов игры для сод-диалогов лежит в def-ах в pac-архивах.
2 - их дубликаты, пересохранённые в png, лежат в папке data\pcx для вог-диалогов.
3 - дубликаты дубликатов придётся тоже где-то положить, чтобы подменялась pcx на png.

В общем, получается тройной набор одинаковой графики, только под разные диалоги. Есть идеи, чтобы во всех диалогах можно было использовать всё же 1 набор? 148
Скажу так: я к своему сожалению не смогу реализовать поддержку gif. Не хватит тут мне навыков и знаний. Мог бы - сделал бы.

Остальные вопросы/ответы - только к Берсу...
XEPOMAHT, для этого нужно писать монструозный диалог, вроде геройского, с поддержкой всего-всего и то, DL будет возможно заменить не всегда.
Например, тебе нужно два поля ввода или выбор из 5 изображений.

Тут хватает геройского IF:N диалога в Эре. Выбор до 8 картинок, можно сделать первую невыбираемой. Совсем уж идеала сложно достичь, иногда проще продублировать изображение.

igrik не указал главного. Теперь обновлённый диалог поддерживает pcx и pcx16 из lod/pac-ов, но без авто-масштабирования. Впрочем, png тоже без масштабирования. Масштабируются только непрозрачные внешние png/jpg/bmp файлы прямо в процессе преобразования в pcx16 билинейным алгоритмом.
(28.05.2021 01:22)Berserker Wrote: [ -> ]igrik не указал главного. Теперь обновлённый диалог поддерживает pcx и pcx16 из lod/pac-ов, но без авто-масштабирования. Впрочем, png тоже без масштабирования. Масштабируются только непрозрачные внешние png/jpg/bmp файлы прямо в процессе преобразования в pcx16 билинейным алгоритмом.

О!!! Замечательно, что наконец-то поддерживаются архивы!

Можно попросить Игрика ещё и снять лимит на 100х100 для pcx? Раз уж gif отправляются в топку, тогда и лимит для них может тоже на свалку истории?
Там 100х100, если верно помню, только когда несколько картинок в ряд. У одиночной чуть больше предел. Подождём игрика.
У одиночной макс ширина 400, т.е. 400х100px

Тут идёт расчёт от кол-ва картинок, т.е. по формуле 400/n, где: n - количество картинок (1..4)

Ширина диалога, как вы понимаете зависит от минимального разрешения игры - т.е. я могу расширить диалог до 760px. Но он будет смотреться, уже не очень. Мне и так не нравится, что при одиночной картинке он слишком растянут. Но в дополнение высчитывать ширину текста кнопок - это уже дофига кода. А это уже сложней обрабатывать, что сказывается на времени разработки, которого и так я позволяю себе выделить всё меньше и меньше.

PS: любой желающий может сам всё увидеть, код то открытый: на гите
(28.05.2021 01:43)igrik Wrote: [ -> ]Ширина диалога, как вы понимаете зависит от минимального разрешения игры - т.е. я могу расширить диалог до 760px. Но он будет смотреться, уже не очень. Мне и так не нравится, что при одиночной картинке он слишком растянут. Но в дополнение высчитывать ширину текста кнопок - это уже дофига кода. А это уже сложней обрабатывать, что сказывается на времени разработки, которого и так я позволяю себе выделить всё меньше и меньше.

Понятно. Спасибо.

Обновление Тифона из ERA+:
1. В триггере 30378 теперь используются переменные v995 - тип объекта, v996 - подтип объекта, v997 - структура клетки карты.
2. Триггер 30378 теперь полностью игнорирует клик по герою.
3. Триггер 30378 теперь полностью игнорирует туман войны.

Теперь всё срабатывает по всем правилам, необходимых для вывода диалогов подсказок к объектам в ERA+. 148
Имхо, это и на обычном ЕРМ делается. Проверки + вызов новой функции вида WoG_OnAdvObjHint. Всё, что можно сделать библиотечно, лучше сделать библиотечно.
(28.05.2021 04:10)Berserker Wrote: [ -> ]Имхо, это и на обычном ЕРМ делается. Проверки + вызов новой функции вида WoG_OnAdvObjHint.

Стандартным ERM-ом невозможно по-человечески проверить клик по герою на карте. В старом скрипте для этого пришлось проверять координаты ВСЕХ героев, и то, от бага раздвоения героев это всё равно особо не спасло (т.к. например герой может умереть, а координаты останутся те, что были в момент смерти). При этом, содовскую проверку на клик по герою правит ещё и HD-мод (видимо, там тоже что-то изменяется для исправления бага с раздвоением). В общем отдельным триггером о всей этой куче проверок на ERM, на 99% ведущих к ошибкам, скриптёру уже думать не нужно - всё сделает сама игра. Да и сам скрипт стал заметно меньше, правда может задержка увеличится, т.к. по клику по видимой части карты срабатывают 2 триггера вместо одного, но я на своем старом хламе этого не заметил - ERM на ERA 3 работает очень быстро.

Обновление Тифона: добавлена поддержка !!CM:R в триггере 30378.

Скачать: https://vk.com/doc-118013293_601256012
(28.05.2021 01:43)igrik Wrote: [ -> ]У одиночной макс ширина 400, т.е. 400х100px

Тут идёт расчёт от кол-ва картинок, т.е. по формуле 400/n, где: n - количество картинок (1..4)

Мне главное, что сейчас лимит Игрик убрал, так что всё работает как надо!!! Главное, что поддерживается всецело PCX прямо из архивов игры !!! После этого мне никакой PNG уже не нужен !!! Короче теперь наконец-то ВСЁ работает !!! Dance3

Image: 0eb0aa048696.png


НО!!! Баг выгрузки не исправлен. Т.е. pcx из def с таким же именем выгружается тоже, оставляя кадр def-а полностью пустым. 148 Но тут просто нужно давать разные имена в pcx и в def, не критично (это вроде баг самого геройского движка).
Quote:Стандартным ERM-ом невозможно по-человечески проверить клик по герою на карте.
И как новый триггер работает на щелчках по своих и по чужим героям, по объектам под своими и по объектам под чужими героями? Неужелди пропала необходимость их различать?

Quote:Мне главное, что сейчас лимит Игрик убрал, так что всё работает как надо!!! Главное, что поддерживается всецело PCX прямо из архивов игры !!! После этого мне никакой PNG уже не нужен !!! Короче теперь наконец-то ВСЁ работает !!!
Это временно. Мы собирались попробовать масштабировать pcx8/pcx16 тоже, в полном соответствии с поведением остальных внешних картинок для диалога.

Quote:НО!!! Баг выгрузки не исправлен. Т.е. pcx из def с таким же именем выгружается тоже, оставляя кадр def-а полностью пустым. 148 Но тут просто нужно давать разные имена в pcx и в def, не критично (это вроде баг самого геройского движка).
Это багофича (реализация). Видимо, разработчики изначально думали, что где-то будут использоваться отдельные кадры дефов как pcx картинки.
(28.05.2021 16:37)Berserker Wrote: [ -> ]Это багофича (реализация). Видимо, разработчики изначально думали, что где-то будут использоваться отдельные кадры дефов как pcx картинки.
По факту, это так и есть - насклько я понимаю, интерфейсные дефы именно так и работают.
(28.05.2021 16:37)Berserker Wrote: [ -> ]И как новый триггер работает на щелчках по своих и по чужим героям, по объектам под своими и по объектам под чужими героями? Неужелди пропала необходимость их различать?

Очень просто: кликнули по ЛЮБОМУ герою - триггер не сработал. Что находится под героем, триггер не интересует - он это не читает. Чтение типа, подтипа с адресом структуры происходит уже после проверки клика по герою (да-да, вначале проверяется "верхний слой" карты, потом уже читается "нижний").
Reference URL's