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

Post Reply 
Threaded Mode | Linear Mode
DL - создание расширенных диалогов
» для TE, MoP, ERA
Author Message
Algor Away
Administrators

Posts: 3880
Post: #151

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

Повторю вопрос: у кого-нить есть рабочий пример с !!DL:H?


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
22.02.2020 04:56
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #152

Algor, не нахожу примеров. С первого взгляда код корректен. Нужно отлаживать !!SN:H.


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

Posts: 3880
Post: #153

Dash1

"Особенность" работы !!DL:H :
Если устанавливать подсказку для элемена, которому уже задана подсказка в текстовике диалога - следует вылет из игры.
Если в текстовике диалога подсказка для элемента НЕ задана (пустая строка) - она нормально устанавливается через !!DL:H

Добавил в тему ERM Help'а.

...ля, 3 часа убил Bad


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
22.02.2020 11:57
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #154

Algor, как я тебя понимаю…Yes


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

Posts: 459
Post: #155

How to close a Dialogue with pressing "Enter" ?


The usual way would be by pressing a button:
29.08.2020 14:47
Find all posts by this user Quote this message in a reply
daemon_n Offline
Administrators

Posts: 4338
Post: #156

PerryR, in dl editor - flag 28


Image: widget.png?style=banner2

Новейший Heroes 3 Launcher
29.08.2020 14:50
Visit this user's website Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #157

Нужна помощь в скрипте!

Занимаюсь всяким украшательством, заодно разбираюсь с ресивером !!DL и как он работает вообще.
Давно хотел кое-что изменить, чем и занимаюсь.

Как выглядит стандартное сообщение по ПКМ на университете вы знаете думаю, лишний раз показывать нет смысла.

Так выглядит, если использовать скрипт Волшебство I (Click to View)

Такой вид, (черновой вариант) делает мой скрипт (Click to View)

Можно было наверно и через IF:N всё сделать, но там "ок" нужно нажимать и если убирать, то в памяти игры копаться необходимо, а это я пока не умею. В отличии от доступности разбора !!DL.
Мой вариант скрипта, показывает и убирает отображение по нажатию/отпусканию ПКМ, что здорово.

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


Код самого скрипта: (Click to View)
Ссылка на ЯД архива скрипта если кому-то будет интересно проверить его работу. Работает пока только если герой имеет навык волшебство.
(This post was last modified: 05.10.2020 23:15 by Night.)
05.10.2020 22:45
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #158

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


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

Posts: 2270
Post: #159

(05.10.2020 22:45)Night Wrote:  В данном случае моё окно появляется ИДЕАЛЬНО по центру экрана. А мне хочется сделать, чтобы показывался рядом с указателем мышки. Подобное, как мне видится вполне реально сделать, но я просто не понимаю как.

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

Готовая функция вывода DL-диалога по координатам мыши есть только в MoP на WERD.
(This post was last modified: 06.10.2020 00:32 by XEPOMAHT.)
06.10.2020 00:30
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #160

Berserker, мне не то, чтобы совсем надо полностью нарисовать диалог, а выполнить !!DL:S в заданном месте, а конкретно на клике, где находится курсор мышки.
Возможно, тут не всё так сложно, ведь DL уже изначально берёт какие-то внутренние параметры для обработки, загружает предоставленную txt файлом таблицу и прочее и пр.
Хотя также вероятно, в моём "хотении" реализация сложна. Хз, буду со временем разбираться.

XEPOMAHT,
Quote:Получаешь координаты клика мыши и исходя из них рассчитываешь координаты экрана диалога, с поправкой на границы окна карты приключений.
Как-то так я и думал, но из готовых вариантов, как образец, нужного не нашёл. Или просто не понимаю, как это воплотить.

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

(06.10.2020 03:09)Bes Wrote:Night, в ФМ есть готовый DL-шаблон для показа содержимого таких вот объектов, бери готовое и не трать время на вымеривание своих элементов в диалоге.
Что до желания видеть окно там, где хочется - излишний каприз, не стоящий затрат на его воплащение.
Или, в конце-то концов, стань очередным моддером на базе MoP, там для таких идей куча готовых плюшек, нам и на этой платформе моддеры нужны, да ещё и с таким потенциалом как у тебя Rolleyes
Bes, ФМ, ФМ...Феникс мод? Надо будет расковырять его, помню откладывал на изучение ранее.

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

Оказалось не так. Почти все хинт и прочие окна показываются ровно по центру экрана самой игрой в оригинале, WoG и тот же SoD.

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

Как дойду до копания в памяти, есть идея отыскать адреса отвечающие за отрисовку и там уже работать с этим. Ведь тот же код из моего скрипта, где идет !!FU90303:S80;, как я понимаю занимается тем же самым. Указывает ресиверу DL отработать отображение готового дефа по функции, а в самой функции работа с памятью, где видимо записаны те самые стандартные Hint отображение по ПКМ с центрированием.

Кажется это всё так работает, но если где сильно не прав - поправьте, это будет к пользе.
(This post was last modified: 06.10.2020 21:02 by Night.)
06.10.2020 09:43
Find all posts by this user Quote this message in a reply
XEPOMAHT Offline
Moderators

Posts: 2270
Post: #161

(06.10.2020 09:43)Night Wrote:  Оказалось не так. Почти все хинт и прочие окна показываются ровно по центру экрана самой игрой в оригинале, WoG и тот же SoD.

Воговский код по-умолчанию отправляет на содовскую функцию создания такого окна минус единицы вместо координат. Если найдёшь в памяти вога это:

Code:
int   NextMessX=-1;
int   NextMessY=-1;

то сможешь изменять координаты при вызове данного диалога.
06.10.2020 11:18
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #162

Night, вот то что ты ищешь.

Upd: Закинул в тему DL и UN:C

Upd2: А вот так код выглядит на ERM 2.0 (Click to View)
06.10.2020 11:41
Visit this user's website Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #163

igrik, Шииииикаарная ссылка, спасибо в очередной раз!! Мечты сбываются и даже не газпром 132
Такой вид кода отлично работает - отображает по моим координатам мышки и не требует доп.нажатий, ПКМ нажал, появилось, отжал, пропало.
Dance3

Дополнено:
Ааа, даже не нужно выполнять вторую функцию, предложенный вариант работает по сходному принципу, показ на ПКМ нажал/отжал.
Это здорово.

Дополнено №2:
А, не, надо или я просто не понимаю, как воспользоваться проверкой v1, из:
Чтобы по отпусканию ПКМ пропадал диалог... Ну раз работает с двойным вариантом, оставлю с комбинацией двух функций. Работает же всё.Rolleyes

Посмотрю, как лучше будет, по центру или где клацнул мышкой, но то, что появился такой способ в копилке знаний - чертовски классно и приводит меня в восторг Sm



XEPOMAHT,
Quote:Если найдёшь в памяти вога это:

У-у-у, это не скоро будет, когда дойду до копания в памяти. Возможно с января начну копаться, курить гайды, читать про реверс-инжиниринг и сопутствующую инфу.
(This post was last modified: 07.10.2020 07:34 by Night.)
06.10.2020 20:27
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #164

(06.10.2020 00:30)XEPOMAHT Wrote:  Готовая функция вывода DL-диалога по координатам мыши есть только в MoP на WERD.
Я обновил функцию - теперь и для ERA и есть такой функционал с проверками на выходы за границы экрана

Night, обнови у себя функцию. Новая работает ваще чётко...
07.10.2020 09:59
Visit this user's website Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #165

igrik, дополни, пожалуйста, пост определением констант. Может быть, добавлю в Эру по умолчанию. К версии HD-мода привязки нет ведь?


Скачать Герои 3 Эра и всё, что с ней связано / ERA 2.46f для старых модов
Поддержать проект
07.10.2020 15:43
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


Forum Jump:

Powered by MyBB Copyright © 2002-2024 MyBB Group