Current time: 27.11.2024, 10:52 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 1468
Post: #91

sergroj Wrote:Пара функций работы с диалогами в Эре:

1) Показ диалога, пока зажата клавиша мыши (левая или правая).
x1 = номер диалога
(после показа диалог уничтожается - перед следующим показом надо загружать снова)

2) Уничтожение диалога.
x1 = номер диалога
Полезно при редактировании диалогового темплейта, чтобы при каждом показе диалог загружался заново.


Источник 4


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
25.06.2013 18:27
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #92

Спасибо, работает.


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
25.06.2013 19:37
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #93

Еще вопрос по DL-диалогам: можно ли менять позицию диалога на экране в процессе игры? Нужно чтобы при первом нажатии он вылазил в одном месте, а при втором - в другом.
Т.е. по другому: как изменить следующие свойства диалога:
3: номер x позиции - X позиция от верхнего левого угла (-1=центр экрана)
4: номер y позиции - Y позиция от верхнего левого угла (-1=центр экрана)
ну и
8: xxx номер - установить цвет рамки диалога под цвет номера игрока (-1 означает текущего игрока)


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
26.06.2013 02:31
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline
Moderators

Posts: 1468
Post: #94

Официально - нет (хотя для себя возможность менять позицию диалога сделал).
Однако, как всегда, есть способы вывернуться.
1. Если хочется менять цвет игрока для фоновой картинки диалога, то накладываешь поверх неё PCX-пункт - копию картинки, а затем обращаешься к этому элементу через его id и 2-ой параметр DL:A = 13. Если фон диалога - стандартная рамка (сконструирован автоматически из кадров DIALGBOX.DEF), то поменять цвет игрока можно, наложив всего один кадр DIALGBOX.DEF в левый-верхний угол диалога и точно так же сменив его цвет через DL:A.
2. Если хочется менять позицию диалога, то делаешь фоновую картинку прозрачной и покрывающей весь экран, а смещаешь вместо диалога все его элементы с помощью параметров DL:A = 52 и 53. Недостаток - диалог не будет иметь тени.

Кстати, давно хотел сказать Берсеркеру: то, что он воспринял в исходниках WoG как ограничение на 2 символа номера диалога - на самом деле отступ в 2 строки от начала текстовика DL-шаблона. Никакого такого ограничения на номер диалога не существует.


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
(This post was last modified: 26.06.2013 07:02 by MOP.)
26.06.2013 06:56
Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #95

MOP, спасибо. Жаль конечно, что через какой-нить DL#:A-1 нельзя, но на безрыбье...


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
26.06.2013 09:39
Visit this user's website Find all posts by this user Quote this message in a reply
Algor Away
Administrators

Posts: 3881
Post: #96

(26.06.2013 06:56)MOP Wrote:  Недостаток - диалог не будет иметь тени.
Диалог имеет тень. Недостаток в том, что в HD экран побольше и тень этой прозрачной подложки отрисовывается по краям за пределами 800x600 (размер подложки). Отключить тень диалога можно как-то?


BattleHeroes Rus/Eng | ERA scripts (+ReMagic) Rus/Eng
26.06.2013 13:34
Visit this user's website Find all posts by this user Quote this message in a reply
MOP Offline
Moderators

Posts: 1468
Post: #97

Попробуй:


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
26.06.2013 14:05
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16657
Post: #98

Quote:Кстати, давно хотел сказать Берсеркеру: то, что он воспринял в исходниках WoG как ограничение на 2 символа номера диалога - на самом деле отступ в 2 строки от начала текстовика DL-шаблона. Никакого такого ограничения на номер диалога не существует.
Видно давно я это сказал, если говорил. Очень давно. ИД используем большие.


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

Posts: 1468
Post: #99

Да, два с лишним года назад
Интересно, как тебя тогда отладчик обманул. Sm


Circle of destruction, hammer comes crushing
Powerhouse of energy
Whipping up a fury, dominating flurry
We create the battery
(This post was last modified: 26.06.2013 18:34 by MOP.)
26.06.2013 18:33
Find all posts by this user Quote this message in a reply
Berserker Online
Administrators

Posts: 16657
Post: #100

Глянул сейчас Феникс — ИД-ки диалога меньше ста.
В вот в невыпущенном моде — #53672902, уже хэш от строки.
Не помню точно, в чём была проблема (.


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

Posts: 5422
Post: #101

Berserker, я брал номер диалога, для ФМ, начиная с 99 (в унисон тогдашнему script99.erm)
а потом все шли в сторону уменьшения... не пробовал, честно говоря, брать номера свыше 2 знаков..
26.06.2013 22:12
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #102

(04.09.2013 11:11)igrik Wrote:возможно ли отловив нажатие кнопки (например ESC) вызвать триггер DL (const int TRIGGER_DL = 30371) 30371 это не номер ли её функции? Или я что-то путаю...
конечно возможно, если не лень, посмотри в Феникс-Моде, к примеру, как это делается
если лень, напиши "мне лень", тогда я свою лень пну и она посмотрит за тебя и сообщит )))
04.09.2013 18:08
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #103

BES,утверждение про "лень" - к чему это? разве было об этом хоть слово ... или не удачный денёк? :D
в Феникс моде смотрел, с "первого раза" в скрипте не нашёл, подумал что в *bin зарыто - вот и спросил. Теперь буду скрипт смотреть под "увеличительным стеклом"...


game bug fixes extended.dll || My Plugins || My GitHub
05.09.2013 12:36
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #104

igrik, вот пример вызова DL-диалога при нажатии F1 на клаве...

думаю тут понятно будет, что вам нужно, чтобы вызвать свой диалог по нажатию любой др.кнопки (таблица кодов кнопок для отлова их триггером 77003 есть в ERA где-то...)
05.09.2013 18:46
Visit this user's website Find all posts by this user Quote this message in a reply
igrik Offline

Posts: 2819
Post: #105

Блин, Bes, мы с тобой про немного разные вещи говорим: я имел ввиду триггер (мне нужно закрыть мой диалог по ESC, ведь почему-то диалоги через эту кнопку не закрываются. (Хотя в Феникс-моде по Esc диалоги закрываются). Может из-за номеров диалога: я использую 352, а Вы в Фениксе - номера меньше 100 ),
Для этого я и хотел вызвать именно триггер !?DL, а потом в нём рессивер !!DL:C1.
... Рессивер по нажатию кнопки вызвать то не проблема...)))


game bug fixes extended.dll || My Plugins || My GitHub
05.09.2013 22:47
Visit this user's website 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