Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Quote:for(i=2;i<sn;i++){
if(ITxt(i,1,&tf)[0]=='#'){
if(atoi(ITxt(i,2,&tf))==id) goto _Found;
}
}
RETURN(-2)
Проверено в отладчике. Два символа и берутся.
А как же со Славиным диалогом? Он работает... если только 666 не считается как 66.
Не знаю

.
Кстати, весьма полезная информация...
"Если для диалога не указывать фоновую картинку, то в игре автоматически будет создан стандартный меню-диалог под заданные размеры"

Да, это я уже выяснил опытным путем. Но все равно предпочитаю создать подложку в Photoshop, ибо там можно создать нужный эскиз (с рамками для кнопок, например). Долго, правда, парился с тем, чтобы сделать возможность отображать цвета игрока на рамке такой подложки. Но в итоге вышло. Если кому-то нужна палитра, могу скинуть.
Выложи для всех, калi ласка.
Блин, ну точно же работает.

Скачать палитру
Photoshop => Режим => Индексированные цвета => Заказные => Загрузить. Выбираете тип файла PAL, указываете путь к палитре. Готово, картинку можно заливать в LOD.
При работе с ресивером !!DL (создание своего диалога) есть одно важное и, надо признаться, весьма досадное ограничение. Оно заключается в невозможности установить размер задника более чем 700x500 px. Это актуально для экрана размером 800x600 px, но вовсе не актуально для больших разрешений. С HiRez диалоги, большие по размеру, отлично смотрелись бы на экране. Есть огромное желание увидеть возможность обойти ограничение, если такое желание вообще осуществимо.
Второе предложение вроде как проще. В стандартной версии при использовании !!DL диалог помещается в центр экрана (если в опциях диалога не указано иное). В HiRez диалог помещается ближе к левому верхнему углу.
Baratorch, если это осуществимо, не могли бы Вы добавить две эти приятные мелочи в новую версию патча?
I asked same thing in 3 forums, but no answer. I guess it is more difficult than it seems. Increasing the DL background size for HD is impossible, as the sizes of the pcx, defs and text in DL must be hand written. But centering it would be great.
По идее, есть один вариант решения. Нужно найти адреса для двух хуков:
1. Хук, срабатывающий при активации команды !!DL#:N;
2. Хук, срабатывающий при закрытии любого диалога.
Очень прошу знатоков мне помочь... Возможно, тогда у меня получится кое-что намудрить. По крайней мере, первые результаты (без этих хуков) уже есть: удалось обойти ограничения на размер подложки. Отцентрировать не удалось, впрочем, ничто не помешало вручную задать отступы сверху и слева. Но эти хуки необходимо поставить, ибо необходимо менять данные по некоторым адресам ТОЛЬКО при обращении к !!DL:N и СРАЗУ их восстанавливать после завершения работы диалога.
Valery, excuse me: I have no time to translate it in English now. Please, use Google Translate.
729c5a - 0x320 - 800 = ширина экрана
Ниже 600 - высота. Поменяй и должно быть счастье. Хочу в будущую эру встроить автоопределение разрешения.
Может знаете как реализовать диалоговое окно, выскакивающее при удержании правой кнопки мыши на карте приключений через !!DL?... сколько не пытался окно выскакивает, но не исчезает или исчезает при нажатии мыши.
На дф2 в теме про UN:C или инженерию Серж давал код для реализации по ПКМ.
Спасибо! Я думал никогда такого не найду. Всё работает.
Code:
!?CM;
!!CM:R0;
!!DL1:N^txttable.txt^;
!!VRy1:Sv1;
!!SN:E7510739/1/1; [find HDlg -> v1]
!!VRy2:Sv1; [v2 = HDlg]
!!if&y2<>0:;
!!SN:E5864096/1; [stop animation]
!!UN:Cy2/4/?v1; [v1 = dialog]
!!SN:E6245264/2/v1; [show while holding mouse button]
!!SN:E5864272/1; [continue animation]
!!SN:E7518240/2/y2; [destroy HDlg]
!!en:;
!!VRv1:Sy1;
Вот код немного дополненный, мож кому еще нужен будет.
Должно при удержании любой кнопки мыши показывать диагог №1.
Про тонкости кода не знаю, пояснить ничего не могу.
Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15