Current time: 23.04.2024, 01:35 Hello There, Guest! (LoginRegister)
Language: english | russian  

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

Posts: 462
Post: #166

igrik, Dance3120 Супер!

*По ссылке опечатка в строке: !!UN:Cy2/-4/?y3;

Новый вид окна зачётный, действительно. Раньше улетал за экран и в случае если в !!DL, где только def'ки использовались, всё было хорошо, то с текстом, улетая за окно стабильно с 1 или 10 раза выдавал краш игры.

Я вообще в приятном удивлении, что засыпая сегодня ночью, с мыслью: "Блин, чёртов текст портит всю прекрасную малину", проснулся и тут сразу решение. Это чудесно!

А то я уже и картинок с описанием проблемы на утра заготовил ^_^
Было такое (Click to View)
Внизу окно, вверх текст выпрыгнул, через пару кликов - краш.


И я это, ещё спросить пришёл - у вас окошко нигде не завалялось дополнительное? Rolleyes

Это я к тому, что базовое окно диалога !!DL имеет вид с дополнительной строкой HINT'a.


Строка под текст (Click to View)
Там подсказка по наведению мышки по идеи (Click to View)

В обычном случае оно актуально, но раз у меня вызов окна только по ПКМ нажал/отпустил, там уже ничего не выбрать и эта строка лишняя.


Её можно использовать для своего текста (Click to View)
Можно просто скрыть, не велика сложность (Click to View)

Вообще её можно перекрыть своим дефом. Но раз уж daemon_n посоветовал использовать больше базового интерфейса игры, я к этому прислушался и захотелось по минимуму использовать сторонние текстуры. Есть же чистое окно, когда к примеру вызывается информация о dwelling'ах, как на скриншоте тут.
Я так понимаю, стандартное окно по ресиверу DL имеет ID 2746 - именно такое число выдаёт проверка в этой строке:
Или это нечто иное?
В любом случае, какие есть возможности использовать другой вид окна по команде DL или нет вариантов?


Дополнено: отчасти нашёл вариант ТУТ.

P.S. И кто подскажет, куда можно использоваться этот код:
Это из соответствующей темы. Я его (код) и так склонял и этак, но не разобрался, каким образом использовать. Пытался правда в моё диалоговое окно, возможно там вообще так не "склоняется" 96-copy По итогу я думаю это для уникальных строений, чтобы отображать нестандартное описание в подсказке внизу на КП. Верно?
(This post was last modified: 07.10.2020 19:08 by Night.)
07.10.2020 17:53
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #167

Quote:
Night, статус бар - это там где анимация "Новый день!" и сколько ресурсов поднял из кучки...
Кстати, посмотри ресурсы ФМ, там есть заготовки без этой области для подсказок
07.10.2020 18:58
Visit this user's website Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 779
Post: #168

Night, Если в строке заголовка шаблона диалога (которая начинается с #) в столбце 8 (цвет рамки) указать 0, а в столбце 10 (id строки с хинт-текстом) -1, то полоски для хинт-текста внизу не будет.
Я не знаю, почему так, видать, формат шаблонов не был до конца доработан.

Цвет рамки можно будет менять в скрипте командой !!DL:A под цвет игрока.
Для этого помещаем в левый верхний угол диалога деф стандартной рамки dialgbox.def, № кадра 0
и меняем его цвет примерно так:
!!OW:C?y2; цвет игрока
!!DL[№]:A[id]/13/y2/1; fix player color

Такие вот хитрые манипуляции.
(This post was last modified: 07.10.2020 19:17 by wessonsm.)
07.10.2020 18:59
Find all posts by this user Quote this message in a reply
igrik Offline
Administrators

Posts: 2814
Post: #169

(07.10.2020 15:43)Berserker Wrote:  igrik, дополни, пожалуйста, пост определением констант. Может быть, добавлю в Эру по умолчанию. К версии HD-мода привязки нет ведь?
Дополнил. От HD вообще не зависит. Даже если игра будет без HD, то прочитаются 800х600.


(07.10.2020 17:53)Night Wrote:  *По ссылке опечатка в строке: !!UN:Cy2/-4/?y3;
Это не совсем уж и опечатка. Но да, я их все для ERM 1 переводил в положительные.

(07.10.2020 17:53)Night Wrote:  И я это, ещё спросить пришёл - у вас окошко нигде не завалялось дополнительное? Rolleyes

Это я к тому, что базовое окно диалога !!DL имеет вид с дополнительной строкой HINT'a.
Нет, чего нет, того нет.
Попробуйте способ от wessonsm, но я его не проверял и даже впервые слышу.


(07.10.2020 17:53)Night Wrote:  P.S. И кто подскажет, куда можно использоваться этот код:
[spoiler]
Этот хинт только для карты приключений.
07.10.2020 21:18
Visit this user's website Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #170

Bes Wrote:статус бар - это там где анимация "Новый день!" и сколько ресурсов поднял из кучки...
Кстати, посмотри ресурсы ФМ, там есть заготовки без этой области для подсказок
Bes, А разве там, где "Новый день" и про ресурсы - это называется не "Окно состояния"? Статус бар как-раз внизу обозначение.
Status bar - Состояние полоски, если переводить дословно, в некоторых вариациях.

igrik,
Quote:Это не совсем уж и опечатка. Но да, я их все для ERM 1 переводил в положительные.

Я просто запустил изначальный - отладчик выдал ошибку. Я зашёл в скрипт, поставил ZVSE2 - опять ошибки. Поменял и стало нормально всё.
А второй на синтаксисе ERM2 пока не разбирал, вообще с ЕРМ2 пока тяжко идёт. Только-только начинает проясняться ерм1 код, понимание, куда уж до ерм2 Sm

Quote:Этот хинт только для карты приключений.
Это который внизу, подсказка?
А то вроде Bes намекает на это: (Click to View)

Дополнено:
igrik Wrote:Попробуйте способ от wessonsm, но я его не проверял и даже впервые слышу.
Это да, заработало. С цветом игрока были проблемы старые - всегда красный, но сейчас я так попробовал сделать:
Где в DL_ChangeCoords двойной код функции сначала на новые координаты и в конце на изменение окна, чтобы по ПКМ отжамался.
А в DlgSetColor такое:
И пока мне нравится, работает хорошо и главное - правильно. Цвета себе меняю и меняются цвета рамки. Буду смотреть над устойчивостью, вначале, когда пытался в один запихать всё - были краши.
(This post was last modified: 07.10.2020 21:40 by Night.)
07.10.2020 21:33
Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #171

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

Итак, по основным командам добавить нечего, тут всё по прежнему. Флаги также непонятны и непознаны, можно про них только с уверенностью сказать, что выбирая значения иные от предложенного шаблона, вызовет либо краш игры, либо просто элемент диалога не отобразится.
Шаблон: Pcx - flags 2048, Def - flags 16, Text - flags 8, Y(es) bottom - flags 2, N(o) bottom - flags 2, на остальных элементах флагов нет.

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

Пример использования в скриптах и сам код:
... тут ваш основной код ...
//Последняя команда УЖЕ ОТОБРАЗИТ диалоговое окно с заданными параметрами. Это функция тождественна команде !!DL#:S#;

;ниже код функции, объединенный из двух. Сначала изменение координат, потом отрисовка диалога по ПКМ нажал/отжал.

Видео пример, как это работает в игре. (Click to View)
Если нужно без отображения рядом с мышкой, а ровно по центру, используем такую функцию:

Если по каким-то причинам рамка вызванного диалогового окна не отрисовывает соответствующие игроку цвета, то используем эту функцию:

Кстати про отрисовку цвета.
По тестам (в чём спасибо wessonsm, подсказавшему мысль) оказалось, что проблема с отображением границ цвета игрока решена, по крайней мере в последней версии Эры 3.0.4.
Сейчас, чтобы наш диалог отрисовал правильно цвет границ, если мы выбрали без подложки из сторонней картинки/дефа, нужно в Dialog Editor выбрать основному окну Border color = "-1" или Border color = "0".

Ещё момент. Выбирая значение Border color иное, от "-1" и "0" - стабильно вызывает краш при вызове диалога у игрока иных цветов. Так если мы поставим значение "2", то вызвав такой диалог игроком синего цвета, будет вылет игры. Но при значении "0" игра сама перерисуют диалог соответствующего игроку цвета.

Добавлено: Информация по вылету в случае установки Border color отличные от "-1 или 0", не совсем точны. В одних случаях ничего не произойдёт, даже цвет рамки будет по цвету игрока, а в других - краш. Неопределенные последствия вообщем. Но в любом случае, -1 и 0 значения стабильны.

Также, правильный цвет границ рамки будет при установки значения "-1", но! разница в отрисовке диалогового окна при выставлении этих значений есть.
Со значением -1, покажет диалог окно со строкой подсказки: (Click to View)
Со значением 0, покажет чистое диалоговое окно: (Click to View)

Это пожалуй главное отличие в установке значений Border color.

Дополнение о цветах подложки текста.
Background Color= "-1" полностью черный фон.

А также наглядный пример смены значений Align - расположение текста: (Click to View)

Упомяну, что графа "Color" - текстовой вставки, где смена цвета сообщения, в ней "-1" делает текст черным.
Ещё замечено, что любое изменение цвета сообщения вызывает краткий баг отображения цвета рамки. При первом просмотре показывает рамку синего цвета. После нескольких кликов на любое другое строение (кроме замка, лол) и цвета рамки становятся соответствующего игроку.
(This post was last modified: 09.10.2020 03:56 by Night.)
08.10.2020 21:06
Find all posts by this user Quote this message in a reply
wessonsm Offline

Posts: 779
Post: #172

Night, что за элементы Y(es) bottom - flags 2, N(o) bottom - flags 2?
Нигде не встречал о них упоминания.
08.10.2020 21:32
Find all posts by this user Quote this message in a reply
Berserker Offline
Administrators

Posts: 16488
Post: #173

Night, интересные находки, спасибо.


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

Posts: 462
Post: #174

wessonsm, Это из шаблона-примера от разработчика !!DL ресивера, как я понял из файла описания.
Bes ссылку давал и тут кажется и на d2f, там я так понял сопроводительный txt файл к разработке и шаблон.
Фишка в использовании - там деф просто один на кнопку-галочку, второй на кнопку-отмена. Видимо всё Sm

Просто мне как-то в голову вбилась сама идея, вот и упомянул.
(This post was last modified: 08.10.2020 21:54 by Night.)
08.10.2020 21:53
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #175

Night, прости, я за давностью лет (скрипт от 12,2009) совсем забыл что с Универом заморачивался
шаблон ZSETUPur.txt (Click to View)
10.10.2020 04:31
Visit this user's website Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #176

Bes, Спасибо 132, уже разбираюсь, как у тебя всё было устроено Yes
10.10.2020 21:53
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #177

Night, вот ещё тебе для наглядности, как Мастер для МоР сделал
(11.05.2016 09:36)MOP Wrote:  
(09.05.2016 17:48)Ivor Wrote:  2. В Университете... очень хочется видеть по ПКМ после посещения - какие там навыки,
Сделано:
Image: b6383ae5c0f4.png
11.10.2020 02:23
Visit this user's website Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #178

Night, ну, похвались, что там у тебя получилось с диалогами, а то пропал на активной стадии и всё, тишина 116
31.10.2020 20:47
Visit this user's website Find all posts by this user Quote this message in a reply
Night Offline

Posts: 462
Post: #179

Bes, Ну диалог я доделал, вышло неказисто по коду, но работает. С большим опытом сделаю покрасивее всё.
Ещё не добавил проверку на посещения и на кап навыков (если скажем стоят скрипты на кол-во навыков >8).
Пока можно скрипт отсюда скачать, посмотреть. Это пожалуй будет версия 0.9alpha, ибо там до полноценного задуманного осталось относительная мелочь, код уже есть, нужно только вписать в скрипт.

Одна игра, просмотр разными героями:
При улучшение за мифрил в названии учитывается изменение также.



Не доделал ранее, из-за того, что просто болел неделю считай. Вышел 26 вечером за хлебушком, домой пришёл и температура. Хз, ковид ли, или ещё какая погань, с дыханием вроде нет проблем, хотя температура до 38.6 была, голова болела, ломило кости, но это обычные признаки простуды. Только сегодня отошёл и то сейчас опять 37.1 поднялась. Чувствую себя неплохо, но нужно настрой после болезни поймать и доделать всё, ещё планы на улучшения игры есть, хочется продолжить начатое.
(This post was last modified: 31.10.2020 21:07 by Night.)
31.10.2020 21:04
Find all posts by this user Quote this message in a reply
Bes Offline

Posts: 5422
Post: #180

обычные признаки простуды - это сопли/кашель/боль в горле.... а ломота костей скорее признак ОРВИ, к коей и ковид можно отнести. Вопрос лишь один - что с хлебом то? думаю кушать то не сильно хотелось, а значит засох, как минимум? 148
рад что выздоровил, конечно, тебя не хватало Yes
31.10.2020 21:14
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