Эсминец | Дата: Среда, 15.04.2015, 13:06 | Сообщение # 1 |
Что из себя представляет худ, инвентарь, "окно" обыска, т.е. то, что мы видим на экране во время игры? Какие параметры "описывают интерфейс" и за что каждый из них отвечает? "Интерфейсная" часть игры состоит из конфигов и текстур. Конфиги расположены в папке config\ui, текстуры – в textures\ui. Прежде чем перейти к детальному описанию, рассмотрим общие понятия. width – ширина текстуры или надписи height – высота текстуры или надписи font – шрифт надписей. В игре есть несколько шрифтов, которые описаны в файле fonts.ltx. Каждый элемент худа имеет свои координаты по горизонтали "Х" и по вертикали "Y". Система координат в игре Начало координат расположено в верхнем левом углу экрана. Ось "Х" расположена горизонтально, и направлена слева - направо. Ось "Y" расположена вертикально и направлена сверху - вниз. В игре есть абсолютная и относительная системы координат. Чтобы задать положение элемента на экране, достаточно задать координаты его верхнего левого угла, длину и ширину. Все остальное сделает программа. Это и есть абсолютная система координат. Теперь рассмотрим относительную систему координат. Возьмем для примера счетчик НПС на карте. Счетчик состоит из текстуры ui_hud_map_counter и числового значения счетчика. Код <static_pda_online x="138" y="167" width="35" height="28" light_anim="ui_pda_contacts" la_cyclic="0" la_texture="0" la_text="1" la_alpha="1"> <texture>ui_hud_map_counter</texture> <text y="6" align="c" font="graffiti19" r="238" g="155" b="23" a="255"/> </static_pda_online> Вот это и есть относительная система координат. stretch – данный параметр используется, если нужно чтобы текстура имела определенный (фиксированный) размер. Для этого данному параметру нужно присвоить значение "1". RGB – цвет шрифта, где R – красный, G – зеленый, B – синий. Так же вместе с этими значениями используется и четвертое – А ("интенсивность" шрифта). complex_mode – многострочный текст. Данный параметр имеет два значения – "0" и "1". Если длина строки будет больше ширины окна, то чтобы слова перенеслись на следующую строку нужно данному параметру выставить значение в "1". align – выравнивание текста. Имеет такие значения: l - по левому краю, c - по центру, r - по правому краю. Анимация элемента худа: параметр – light_anim – тип анимации (ui_pda_contacts, ui_btn_hint, ui_slow_blinking_alpha, credits_head и т.д.), параметр la_cyclic – повторение анимации (имеет два значения – "0" и "1"), параметр la_texture – использовать текстуру в анимации (имеет два значения – "0" и "1"), параметр la_text – использовать текст в анимации (имеет два значения – "0" и "1"), параметр la_alpha – задействовать альфа-канал (не уверен) в анимации (имеет два значения – "0" и "1"). Основной параметр – light_anim, все остальные параметры, с префиксом la_, идут в одной связке с ним, и без него не работают. Если нужно убрать текстуру - убираем в конфиге путь к текстуре. Если нужно убрать текст - либо убираем сам текст, либо в параметрах текста ставим а="0". Для вывода элементов худа на экран, используются конфигурационные файлы. Список задействованных файлов и описание: maingame.xml – содержит основные конфиги худа motion_icon.xml – содержит конфиги положения ГГ, а так же полоски выносливости, уровня шума и заметности ГГ ui_custom_msgs.xml – описаны часы, повреждения монстров, сообщения игры (использование предмета, недостаточно денег и т.п.) zone_map.xml – содержит конфиги миникарты. Следует учесть, что для обычных мониторов, соотношение сторон которых 4:3 (1024х768, 1280х1024), используются файлы, перечисленные выше. Если монитор широкоформатный, т.е. соотношение сторон 16:9, 16:10 (1280х720, 1600х900, 1680х1050 и т.п.), то используются вышеперечисленные файлы с приставкой "16" (maingame_16.xml и т.д.). Помимо конфигурационных файлов используются еще файлы текстур. Один из основных текстурных файлов - ui_hud.dds. Набор текстур, представленный в данном файле, расписан в ui_hud.xml. Рассмотрим более детально перечисленные файлы. \gamedata\config\ui\maingame.xml static_health – "подложка" для шкалы "жизнь". Состоит непосредственно из текстуры ui_hud_shkala_health и иконки ui_hud_icon_health. progress_bar_health – шкала "жизни". В конфиге присутствуют ключи horz="1" (в этом случае шкала будет изменяться по горизонтали, если присвоит значение "0", то по вертикали), min="0" max="100" (минимальное и максимальное значение шкалы). static_armor - "подложка" для шкалы "броня". Состоит непосредственно из текстуры ui_hud_shkala_armor и иконки ui_hud_icon_armour. progress_bar_armor – шкала "брони". Так же имеет такой же набор ключей, что и шкала "жизни". static_weapon – окно патронов. Помимо текстуры самого окна, имеет еще тип патронов. static_ammo – счетчик патронов static_wpn_icon – иконка коробки от патронов car_panel – панель машины (описана в car_panel.xml) static_pda_online – счетчик НПС на карте. Состоит из текстуры ui_hud_map_counter и числового значения счетчика. quick_info – обучение в начале игры. icons_scroll_view – список индикаторов состояния ГГ: Цитата weapon_jammed_static – заклинившее оружие radiation_static – радиация wound_static – ранения starvation_static – голод psy_health_static – "мораль" invincible_static – что-то вроде режима "бога" can_sleep_static – сон artefact_static – артефакт Данный список не поддаётся "правке" индивидуально. Правится только всё сразу параметром icons_scroll_view. pick_up_item – иконка при наведении на предмет artefact_panel – панель артефактов new_contact_snd – звук нового "контакта" (значения) счетчика НПС на карте. motion_icon.xml background – подложка для положения ГГ, а так же полоски выносливости, уровня шума и заметности ГГ state_normal – нормальное положение state_crouch – в приседе state_creep – в полном приседе state_climb – подъем по лестнице state_run – в движении state_sprint – бег power_progress – шкала выносливости ГГ luminosity_progress – шкала "видимости" ГГ noise_progress – шкала издаваемого шума ГГ ui_custom_msgs.xml hud_timer – окно для часов hud_timer_text – непосредственно сами часы controller_fx/ controller_fx2 – повреждения от контролера monster_claws – повреждения от монстров main_task – текущее задание cs_psy_danger – предупреждение о сильном излучении cs_radiation_danger – предупреждение о высоком уровне радиации game_saved – надпись "игра сохранена" autosave - "автосохранение" item_used - "использован .... " (аптечка и т.п.) gun_jammed – надпись " Оружие заклинило. Нужно перезарядить." cant_walk – надпись "Вы слишком истощены, чтобы двигаться" cant_walk_weight – надпись "Вы слишком перегружены, чтобы двигаться" not_enough_money_mine – надпись "Недостаточно денег" not_enough_money_other – надпись "у НПС недостаточно денег" max_ping_warn_1…max_ping_warn_4 – координаты сообщений, связанных с пингом (МП) zone_map.xml level_frame – непосредственно сама миникарта background – подложка карты dist_text – дистанция до цели compass – компас на миникарте center – "точка" ГГ на миникарте Список задействованных файлов и описание: inventory_new.xml – содержит основные конфиги инвентаря inventory_item.xml – описание и параметры предмета в инвентаре af_params.xml – описание и параметры артефактов в инвентаре Помимо конфигурационных файлов используются еще файлы текстур: ui_inventory.dds, ui_inventory2.dds. Набор текстур, представленный в данных файлах, расписаны в ui_inventory.xml и ui_inventory2.xml. Рассмотрим более детально перечисленные файлы. inventory_new.xml properties_box – подложка main – окно инвентаря belt_slots – слоты back – сам инвентарь, окно описания и параметров предметов, иконка ГГ в полный рост, параметры костюма bottom_static – "полоска" внизу экрана dragdrop_bag – рюкзак, здесь Цитата cell_width, cell_height – ширина и высота ячейки rows_num – количество строк cols_num – количество столбцов group_similar – "группировка" одинаковых предметов dragdrop_belt – панель артов dragdrop_outfit – панель костюма dragdrop_pistol – пистолетный слот dragdrop_automatic – слот автоматического оружия В параметрах dragdrop_outfit, dragdrop_pistol и dragdrop_automatic присутствует вот такой ключ custom_placement, который отвечает за пользовательское размещение элемента. bag_static – надпись "Вес" money_static – количество денег descr_static – надпись "Описание" character_frame_window – окно костюма с надписью "Костюм" outfit_info – описание параметров костюма, здесь auto_static – надпись "Параметры" scroll_view – секция скрола, в которой присутствует параметр always_show_scroll и принимающий значение "0" (не отображать изначально) и "1" (показывать сразу) Дальше идут описание параметров защиты костюма, которые состоят из иконки и текста. Стоит заметить, что данная секция "зашита" в движок и индивидуальной правке не поддается. progress_background – подложка для шкал Дальше идут шкалы здоровья и т.д. time_static – секция часов, состоящая из текстуры и надписи "Время" time_static_str – непосредственно сами часы exit_button – секция кнопки выход, состоящая из текстуры, надписи "Выход" и цвета самой надписи в зависимости от состояния кнопки (обычное, нажатая и т.д.) action_sounds – секция звуков, в зависимости от выполняемого действия inventory_item.xml static_name – название предмета static_weight – вес предмета static_cost – цена предмета static_condition – надпись "Состояние" descr_list – описание предмета image_static – иконка предмета condition_progress – шкала состояния предмета wpn_params – секция параметров оружия Каждый параметр оружия состоит из названия и шкалы. af_params.xml В этом файле описаны параметры артов. Каждый параметр имеет текстуру и текст. Список задействованных файлов и описание: carbody_new.xml – содержит основные конфиги окна обыска carbody_item.xml – описание и параметры предмета в окне обыска Рассмотрим более детально перечисленные файлы carbody_new.xml static_icon – иконки ГГ и мертвого НПС/мутанта our_bag_static – рюкзак ГГ dragdrop_list_our – описание сетки рюкзака ГГ others_bag_static – dragdrop_list_other – описание сетки frame_window – центральная часть окна обыска, состоящая из двух частей: верхней, где показаны иконка предмета, его состояние, вес и цена, и нижней, где представлено описание предмета descr_static – окно описания предмета auto_static – надпись "Описание" take_all_btn – секция кнопки "Взять все" bottom_background – текстура полосы вверху окна обыска top_background – текстура полосы внизу окна обыска carbody_item.xml auto – секция, в которой описаны надписи "Вес", "Цена" и "Состояние" static_name – название предмета static_weight – числовое значение веса static_cost – числовое значение цены descr_list – описание предмета image_static – иконка предмета condition_progress – шкала состояния предмета wpn_params – секция параметров оружия Список задействованных файлов и описание: talk.xml – содержит основные конфиги окна разговора ui_numpad.dds – содержит текстуры для верхней (ui_talk_dialogue) части диалогового окна и для нижней (ui_talk_dialogue2) части. left_character_icon – подложка для информации о ГГ (иконка, ранг, группировка) right_character_icon – подложка для информации о НПС/мутанте (иконка, ранг, группировка, отношение) Вся эта информация описана в файле trade_character.xml Button – параметры кнопки "Торговать" В файле присутствует две секции frame_line_window. Одна для верхней части диалогового окна, вторая – для нижней. Каждая из них состоит из текстуры и параметров имени НПС/ГГ. other_answer_item – секция текста от НПС, здесь Цитата name_caption – имя НПС content_text – сам текст Цитата name_caption – имя ГГ content_text – сам текст answers_list – положение блока текста в нижней части диалогового окна iconed_trade_info – иконка и текст задания (выбор) iconed_answer_item – иконка и текст задания (взятие, провал, успешное выполнение). Так же этот блок описывает иконку и текст с наградой. question_item – цвет текста от ГГ в нижней части диалогового окна. Состоит как бы из двух частей: первая (общая) - content_text вторая "частная" - text_color. В этом параметре описаны цвета текста в зависимости от состояния (обычное, при наведении курсора и при нажатии). Если эту часть закомментировать, то цвет текста будет тот, который указан в блоке content_text. В файле trade_character.xml описаны иконка ГГ/НПС, ранг, группировка и отношение к ГГ. Данные из этого файла используются в окнах торговли, разговора, обыске трупа. |
|