Wake of Gods Forum | Форум Во Имя Богов
Плагин messages.dll - 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: MoP (/forumdisplay.php?fid=193)
+---- Thread: Плагин messages.dll (/showthread.php?tid=5659)


Плагин messages.dll - igrik - 03.05.2019 15:31

(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)
Понял. Спасибо.
Плохо, что нужно писать в txt название дефа. Это меня не очень устраивает.
Я наверное для сборки запилю триггер IF:Y<тип_клика>/z<текст>/z<название_дефа>/<номер_кадра_дефа>;


RE: ERA PLUS - XEPOMAHT - 03.05.2019 16:04

(03.05.2019 15:31)igrik Wrote:  Я наверное для сборки запилю триггер IF:Y<тип_клика>/z<текст>/z<название_дефа>/<номер_кадра_дефа>;

Было бы очень здорово, если бы вместо <номер_кадра_дефа> можно было б задать номера кадров начального и конечного для вывода анимации из def в диалоге, а не только одного спрайта. В MoP это работает, а в ЭРА так и не сделали.


RE: ERA PLUS - MOP - 03.05.2019 16:37

Неужели кто-то вспомнил о Messages.dll? А ведь эта библиотека всю дорогу шла вместе с Buttons.dll. И исходники их тоже рядышком лежали. И в инструкции по использованию эта длл упоминалась и расписывалась.
Впрочем, кому нужна эта громоздкая хрень, которая, к тому же, не поддерживает сообщения с более чем тремя картинками (преодолено только в третьей версии MoP).
Проще названия дефов в памяти заменить на время показа сообщения.

Ну а анимация дефов в MoP работает только в DL-диалогах. Желающие могут попытаться разобраться в прекрасно упорядоченном и, не побоюсь этого слова, величественном исходнике бинарника DL.txt, где, помимо сего, представлена не менее превосходная и качественная реализация других прелестных вещей.


Плагин messages.dll - Bes - 19.06.2020 11:15

Berserker, задался сегодня вопросом, а почему ты не включил в инструментарий ERA эту библиотеку от Master'а ??? Unsure
напомню, благодаря этой примочки можно делать стандартные IF:Q диалоги с ЛЮБОЙ картинкой из игрового def (любой кадр)
Тип картинки для активации в IF:Q должен быть 100. Подтип соответствует строке (нумерация с 0) в файле настроек typemsgs.txt (помещать в Data)

пример из ФМ: (Click to View)


весьма удобная и простая штука, когда нужен диалог быстро и просто с нестандартной картинкой (эдакий лайт DL-диалог)


RE: Технич. тема - Sandris - 19.06.2020 11:45

(19.06.2020 11:15)Bes Wrote:  весьма удобная и простая штука, когда нужен диалог быстро и просто с нестандартной картинкой (эдакий лайт DL-диалог)
О как удобно.
Я как раз хотел предложить в будущем подобные инфо-диалоги с изображением (к примеру, чтобы окошко с неделей конкретного монстра сопровождалось и картинкой этого монстра... и ряд других схожих окон)


RE: Технич. тема - XEPOMAHT - 19.06.2020 14:13

(19.06.2020 11:15)Bes Wrote:  не включил в инструментарий ERA библиотеку messages.dll от Master'а ??? Unsure

Её нельзя использовать несколькими модами. Там нумерация подтипа картинки статическая. Т.е. автор мода сам добавляет её при необходимости (например messages.dll есть в ERA+ месте с примером использования).


RE: Технич. тема - Berserker - 19.06.2020 15:31

Bes, МоР вклинился в код геройской функции. Добавил возможность, но не гибкую. Для Эры 3 проще было бы писать:
А если нужно ещё и таймер автозакрытия прикрутить? Или две картинки такие? Ведь эта функция используется везде.

В целом простой способ должен быть в будущем для всевозможных диалогов, но можно улучшить и базовый диалог. У кого-нибудь исходники библиотеки есть? На ASM/WERD/BrainFuck/Pascal/C?


RE: Технич. тема - XEPOMAHT - 19.06.2020 16:32

(19.06.2020 15:31)Berserker Wrote:  У кого-нибудь исходники библиотеки есть?

Если там порт с MoP (что скорее всего так), то примерный исходник - в исходниках MoP. Если кратко - перехват в функции универсального диалога игры перед проверкой на тип/подтип картинки (проверка на тип картинки 100, если да - подсовывается имя и номер кадра из загруженного текстовика, если нет - возвращается на стандартную проверку).

НО! Для совместимости с ERA+ не стоит трогать сам кейс на типы картинок, т.к. для поддержки новых городов он перенесён и расширен.

Если всё-таки нужно для базовой версии ERA, то устанавливайте эровский перехват на тип картинки ДО перехвата messages.dll, с сохранением функционала этой dll, тогда всё должно быть ОК.


RE: Технич. тема - Berserker - 19.06.2020 17:13

XEPOMAHT, у меня исходники Тифона. И МоР 2.х тоже, если верно помню, были. Понял, спасибо.
А какие типы добавлены?


RE: Технич. тема - MOP - 19.06.2020 17:14

Messages.dll всю дорогу шла в одном архиве с Buttons.dll. Вторая стала известна и уже давно вошла в ЭРУ как неотъемлемая часть. Первую наглухо забыли и никогда о ней не говорили. Загадка.
Исходники в том же архиве.


RE: Технич. тема - Berserker - 19.06.2020 17:16

MOP, да из-за привязки к одному текстовику (чай, немодульности) и не прижилось за пределами больших модов-конверсий. А из памяти со временем стирается, что и с чем лежало рядом Ab


RE: Технич. тема - MOP - 19.06.2020 17:23

Там недостаток еще в том, что не поддерживается количество картинок >3 (где уже не IF:Q, а IF:N работает). Исправлено лишь в MoP третьей версии, но он обходится без dll.


RE: Технич. тема - XEPOMAHT - 19.06.2020 17:41

(19.06.2020 17:13)Berserker Wrote:  А какие типы добавлены?

Типы 37..46, ну и далее, если будут добавляться новые города.


RE: Технич. тема - Berserker - 19.06.2020 17:43

MOP, если можешь, поделись, пожалуйста, кодом. Вдруг, получится всех осчастливить с указанием первоисточника 4


RE: Технич. тема - MOP - 19.06.2020 18:26

Не знаю, есть ли тут исправление для IF:N или оно в другом куске кода. Исходников RTL для сравнения у меня нет, а в чём была проблема - вообще не помню. Помню лишь, что ларчик просто открывался - исправил свою же ошибку или даже опечатку, допущенную во время разработки Seek & Destroy.


RE: Технич. тема - Berserker - 19.06.2020 18:44

MOP, спасибо большое!