Graff46 598 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 1 час назад, TIGER_VLAD сказал: Вот только тогда игрок сможет выйти за пределы локации и упасть например) Ставите невидимую стену или пишите скрипт который будет вызывать нужные эффекты когда ГГ входит в заданную область координат Ссылка на комментарий
Graff46 598 Опубликовано 19 Августа 2017 Поделиться Опубликовано 19 Августа 2017 3 часа назад, Graff46 сказал: Нету Нету в чистом ТЧ в Экстейсшоне есть, но у меня не робит... Выходом из этой ситуации я вижу только составление математического выражения которое из расчета длины строки передаваемой в статик будет задавать статику высоту... Ссылка на комментарий
=VENOM= 50 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 (изменено) Согласен с TIGER_VLAD, для себя такую проблему решал давным-давно - похоже, тем же способом, что и в ЧН на болотах (точно не помню, в ЧН не играл с момента выхода игры, наверное ). 2 варианта: первый попроще, если вокруг левелчейнджера есть много свободного места, "накрываем" его рестриктором, с шейпом, бОльшим, чем у левелчейнджера. В его логике выставляем условия, при которых рестриктор будет "возвращать" игрока в заданную (заданные) точки функцией set_actor_position+set_actor_direction, не давая ему "добраться" до левелчейнджера. И, может быть, даже с соответствующим сообщением, типа "дорога закрыта" . Второй вариант, если пространство у перехода ограничено, и рестриктором не получается надёжно перекрыть левелчейнждер - логику рестриктора, перемещающую игрока оставляем, как и в первом случае, а вот сам левелчейнджер придётся спонить/удалять уже либо из логики рестриктора (что очень удобно, в общем-то), либо где-то в другом месте, где удобнее разработчику. Изменено 20 Августа 2017 пользователем =VENOM= 1 1 Ссылка на комментарий
Graff46 598 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 (изменено) Можно ли на ТЧ получить имя шрифта или размер шрифта в GUI статике? GUIWindow:GetFont() Возвращает непонятный объект\класс Изменено 20 Августа 2017 пользователем Graff46 Ссылка на комментарий
UnLoaded 313 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 6 минут назад, Graff46 сказал: Возвращает непонятный объект\класс С объектом\классом все понятно - CGameFont. Вот только толку от этого мало - в скрипты из этого класса ничего не экспортировано, кроме флагов выравнивания текста. Цитата Выходом из этой ситуации я вижу только составление математического выражения которое из расчета длины строки передаваемой в статик будет задавать статику высоту... Не выйдет у Вас ни чего, т.к. для этого надо много чего иметь экспортированного в скрипты - а нету ! Ну не нужно это было ПЫСам... Самый простой вариант - правка движка. Я вот у себя экспортнул AdjustHeightToText() - проверил, все прекрасно работает. Ссылка на комментарий
macron 1 884 Опубликовано 20 Августа 2017 Поделиться Опубликовано 20 Августа 2017 В 19.08.2017 в 23:23, Lebedev30 сказал: В 19.08.2017 в 23:19, nego сказал: Здравствуйте ВАМ. Как можно в ТЧ...04 сделать арты, увеличивающие переносимый вес? Меня этот вопрос интересовал и давно, но для ТЧ даже таких модов не встречалось или инструкций. Лучше на ЧН или ЗП переходи. Сразу видно, в OLR не играли. Ссылка на комментарий
nego 35 Опубликовано 21 Августа 2017 Поделиться Опубликовано 21 Августа 2017 (изменено) Цитата Сразу видно, в OLR не играли Я не играю. Я делаю мелкие модификации для мальчишек. Вот они играют. Изменено 21 Августа 2017 пользователем nego Одна голова хорошо, а две лучше. А вот три, это уже змей Горыныч. Ссылка на комментарий
Graff46 598 Опубликовано 21 Августа 2017 Поделиться Опубликовано 21 Августа 2017 (изменено) В 20.08.2017 в 23:38, UnLoaded сказал: Не выйдет у Вас ни чего, Вот реализация ввода строки с переносами в кастом статик и его растягивание под текст function start(t, fntName, kegl) -- t - вводимый текст: fntName* - шрифт; kegl* - размер шрифта var = doc_viewer.DocUI() level.start_stop_menu(var, true) str_ln_px = string.len(t)*(0.35*kegl) cnt_str = math.ceil(str_ln_px/list:GetWidth()) for str in string.gmatch(t, "\\n") do cnt_str = cnt_str+1 end offst_ht = math.ceil(cnt_str*30) list:SetHeight(offst_ht) --list:SetFont(GetFontGraffiti22()) list:SetText(t) end list это объект статика Изменено 22 Августа 2017 пользователем Graff46 Ошибки исправлял Ссылка на комментарий
UnLoaded 313 Опубликовано 21 Августа 2017 Поделиться Опубликовано 21 Августа 2017 2 часа назад, Graff46 сказал: Вот реализация ввода строки... И где это будет работать ? Т.е. под какую версию исходного движка ? 2 часа назад, Graff46 сказал: list это объект статика doc_viewer.DocUI() - а это что ? "kegl" каким образом задается\вычисляется ? GetFontGraffiti22() - это из какой версии движка ? Ссылка на комментарий
Graff46 598 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 (изменено) 9 часов назад, UnLoaded сказал: И где это будет работать ? ТЧ оригинал. doc_viewer.script Скрытый текст local var, list, str_ln local str_ln_px, offst_ht, cnt_str = 0, 0, 1 --*************************************************************** function start(t, fntName, kegl) var = doc_viewer.DocUI() level.start_stop_menu(var, true) str_ln_px = string.len(t)*(0.35*kegl) cnt_str = math.ceil(str_ln_px/list:GetWidth()) for str in string.gmatch(t, "\\n") do cnt_str = cnt_str+1 end offst_ht = math.ceil(cnt_str*30) list:SetHeight(offst_ht) --list:SetFont(GetFontGraffiti22()) list:SetText(t) end --*************************************************************** class "DocUI" (CUIScriptWnd) function DocUI:__init() super() self:InitControls() self:InitCallBacks() end function DocUI:__finalize() end function DocUI:InitControls() local xml = CScriptXmlInit() self:Init(0,0,1024,768) xml:ParseFile("DocUI.xml") self.frame1 = xml:InitFrame("frame1", self) self.st = xml:InitStatic("frame1:Static1", self.frame1) self.descr_scroll = xml:InitScrollView("frame1:Static1:descr_scroll", self.st) list = xml:InitStatic("frame1:Static1:Static2", self.descr_scroll) self:Register(xml:Init3tButton("frame1:button1", self.frame1), "button1") end function DocUI:InitCallBacks() self:AddCallback("button1", ui_events.BUTTON_CLICKED, self.button1_button_clicked, self) end function DocUI:button1_button_clicked() self:Hide() end function DocUI:Hide() self:GetHolder():start_stop_menu(self, true) end Кегль задаём сами - это как правило число в конце названия шрифта. Изменено 22 Августа 2017 пользователем Graff46 Описал кегль Ссылка на комментарий
UnLoaded 313 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 @Graff46 Беру свои слова обратно. Хотя так и не получил ответа: "kegl" - как вычисляется\откуда берется, + смущают как всегда "волшебные" числа str_ln_px = string.len(t)*(0.35*kegl) и offst_ht = math.ceil(cnt_str*30)... Ссылка на комментарий
UnLoaded 313 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 Только что, Graff46 сказал: Кегль задаём сами - это как правило число в конце названия шрифта. Понятно. Ссылка на комментарий
Graff46 598 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 (изменено) 31 минуту назад, UnLoaded сказал: Хотя так и не получил ответа: Числа подбирал и пользовался конвертерами из пунктов в пиксели + некоторые свои расчёты... Всё это очень приблизительно с округлением в большую сторону, т. е. скролл возмет весь текст + немного пустого места снизу будет. _________________ Хотел бы получить разъяснения как писать шрифты в метод :SetFont(СFont*). Изменено 22 Августа 2017 пользователем Graff46 Ссылка на комментарий
Graff46 598 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 Внимание в моём посте была ошибка: параметр t - это не какой не шрифт, а вводимый в статик текст! Ссылка на комментарий
UnLoaded 313 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 44 минуты назад, Graff46 сказал: Хотел бы получить разъяснения как писать шрифты в метод :SetFont(СFont*). local font = GetFontGraffiti22Russian() какой-то-статик:SetFont(font) Список шрифтов, доступных в скриптах(нашел поиском в движке, то что экспортировано(в 1.0007rc1)), в виде ф-ций их получения: "GetFontSmall" "GetFontMedium" "GetFontDI" "GetFontGraffiti19Russian" "GetFontGraffiti22Russian" "GetFontLetterica16Russian" "GetFontLetterica18Russian" "GetFontGraffiti32Russian" "GetFontGraffiti50Russian" "GetFontLetterica25" 1 Ссылка на комментарий
Graff46 598 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 В дополнение... Что бы в ГУИ элементах работали переносы строк стоит провести такое преобразование: function inline_str (str) return string.gsub(str, "[\r\n]",'\\n') end Ссылка на комментарий
Graff46 598 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 (изменено) Подскажите что за число возвращает метод? какоетоЧисло, ключ, секция = ini_file:r_line(string) Изменено 22 Августа 2017 пользователем Graff46 Ссылка на комментарий
7.9 174 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 6 часов назад, UnLoaded сказал: писок шрифтов, доступных в скриптах(нашел поиском в движке, то что экспортировано(в 1.0007rc1)), в виде ф-ций их получения: "GetFontSmall" "GetFontMedium" "GetFontDI" "GetFontGraffiti19Russian" "GetFontGraffiti22Russian" "GetFontLetterica16Russian" "GetFontLetterica18Russian" "GetFontGraffiti32Russian" "GetFontGraffiti50Russian" "GetFontLetterica25" Мне, в своё время, удалось реально задействовать только эти: GetFontLetterica16Russian()) GetFontLetterica18Russian()) GetFontGraffiti19Russian()) GetFontGraffiti22Russian()) GetFontArialN21Russian()) GetFontHeaderRussian()) GetFontBigDigit()) Вообще, неплохо-бы если-б ещё шрифтов добавили... всё легко Ссылка на комментарий
Graff46 598 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 Только что, 7.9 сказал: если-б ещё шрифтов добавили... Так вроде шрифты можно конфигурировать и наследовать в файле fonts.ltx. И я находил сборку шрифтов для больших экранов на ТЧ и они работали. Ссылка на комментарий
7.9 174 Опубликовано 22 Августа 2017 Поделиться Опубликовано 22 Августа 2017 (изменено) Я больше про сам набор символов имел в виду, про сами текстуры шрифтов. Помню "смайлы" хотел что-бы в текст вставить можно было, чего-то ещё то-же хотел... Изменено 22 Августа 2017 пользователем 7.9 всё легко Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти