Пятница, 29.03.2024, 16:17
Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » S.T.A.L.K.E.R. Модострение » S.T.A.L.K.E.R. Call of Pripyat » Модернизация детектора Сварог
Модернизация детектора Сварог
Vavilov8Дата: Вторник, 11.09.2012, 18:43 | Сообщение # 1
VIP
Группа: Администраторы
Сообщений: 42
Репутация: 0
Статус: Offline
Итак, все мы знаем что в игре есть супер навороченный детектор сварог. Но! Если он такой навороченный то почему же он не может показать нам радиозоны, термозоны, химзоны, псизоны, телепорты да хоть Жгучий пух в конце то концов. Так вот, показывать их он способен но для этого нужно его "настроить". Откроем: gamedata\configs\misc\devices.ltx и найдем там описание детектора "Сварог":

Code

[detector_scientific]:detector_elite
    $spawn     = "devices\detector_scientific"
    class    = DET_SCIE
       
    visual   = dynamics\devices\dev_detector_4\dev_detector_4.ogf
       
    inv_name  = st_detector4
    inv_name_short    = st_detector4
    description  = st_detector4_descr
    hud   = detector_scientific_hud
       
    inv_grid_width  = 1
    inv_grid_height  = 1
    inv_grid_x  = 19
    inv_grid_y  = 21
    cost   = 45000
       
    ; elite x="0.00096" y="0.0035"
    ui_p   = -0.02904,0.01,0.0364
    ui_r   = 0,90,0
       
    af_radius  = 20
    af_vis_radius  = 15
       
    af_class_27  = af_oasis_heart
    af_sound_27_  = detectors\art_beep1
    af_freq_27  = 0.05, 2
       
    zone_class_1  = zone_mine_acidic_weak
    zone_class_2  = zone_mine_acidic_average
    zone_class_3  = zone_mine_acidic_strong
    zone_class_4  = zone_mine_electric_weak
    zone_class_5  = zone_mine_electric_average
    zone_class_6  = zone_mine_electric_strong
    zone_class_7  = zone_mine_gravitational_weak
    zone_class_8  = zone_mine_gravitational_average
    zone_class_9  = zone_mine_gravitational_strong
    zone_class_10  = zone_mine_thermal_weak
    zone_class_11  = zone_mine_thermal_average
    zone_class_12  = zone_mine_thermal_strong
    zone_class_13  = zone_mine_steam_weak
    zone_class_14  = zone_mine_steam_average
    zone_class_15  = zone_mine_steam_strong
    zone_class_16  = zone_mine_acidic_big
    zone_class_17  = zone_mine_chemical_weak
    zone_class_18  = zone_mine_chemical_average
    zone_class_19  = zone_mine_chemical_strong
    zone_class_20  = zone_buzz_weak
    zone_class_21  = zone_buzz_average
    zone_class_22  = zone_buzz_strong
    zone_class_23  = zone_mine_static_weak
    zone_class_24  = zone_mine_static_average
    zone_class_25  = zone_mine_static_strong
    zone_class_26  = zone_witches_galantine_weak
    zone_class_27  = zone_witches_galantine_average
    zone_class_28  = zone_witches_galantine_strong
    zone_class_29  = zone_mine_gravitational_big
    zone_class_30  = zone_gravi_zone
    zone_class_31  = zone_zharka_static_weak
    zone_class_32  = zone_zharka_static_average
    zone_class_33  = zone_zharka_static_strong
       
    zone_freq_1  = 0.05, 2
    zone_freq_2  = 0.05, 2
    zone_freq_3  = 0.05, 2
    zone_freq_4  = 0.05, 2
    zone_freq_5  = 0.05, 2
    zone_freq_6  = 0.05, 2
    zone_freq_7  = 0.05, 2
    zone_freq_8  = 0.05, 2
    zone_freq_9  = 0.05, 2
    zone_freq_10  = 0.05, 2
    zone_freq_11  = 0.05, 2
    zone_freq_12  = 0.05, 2
    zone_freq_13  = 0.05, 2
    zone_freq_14  = 0.05, 2
    zone_freq_15  = 0.05, 2
    zone_freq_16  = 0.05, 2
    zone_freq_17  = 0.05, 2
    zone_freq_18  = 0.05, 2
    zone_freq_19  = 0.05, 2
    zone_freq_20  = 0.05, 2
    zone_freq_21  = 0.05, 2
    zone_freq_22  = 0.05, 2
    zone_freq_23  = 0.05, 2
    zone_freq_24  = 0.05, 2
    zone_freq_25  = 0.05, 2
    zone_freq_26  = 0.05, 2
    zone_freq_27  = 0.05, 2
    zone_freq_28  = 0.05, 2
    zone_freq_29  = 0.05, 2
    zone_freq_30  = 0.05, 2
    zone_freq_31  = 0.05, 2
    zone_freq_32  = 0.05, 2
    zone_freq_33  = 0.05, 2


И припишем к нему две новые строчки, для примера:

Code

zone_class_34  = zone_teleport
zone_freq_34  = 0.05, 2


Поясню, этим мы говорим движку, что девайс определяет еще одну (34-ю) аномальную зону. В данном случае телепорт. Но вот ведь незадача, он её определяет но не показывает на дисплее. А вот тут и начинается интересное. В конфиге детектора имя аномалии берется из файла gamedata\configs\ui\ui_detector_artefact.xml файл содержит в себе имена аномальных зон и ссылки на ID текстуры для отображения этих самых зон. Для каждой зоны использованны 2 имени, для примера:

Code

<palette id="zone_mine_acidic_weak" width="0.004" height="0.004" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_inGame2_Detector_icon_acid_big</texture>
</palette>
       
<palette id="zone_mine_acidic_weak" width="0.0065" height="0.0065" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_temp_ad4_mine_acidic</texture>
</palette>


Создадим в нем новые секции:

Code

<palette id="zone_teleport" width="0.004" height="0.004" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_inGame2_Detector_icon_acid_big</texture>
</palette>
       
<palette id="zone_teleport" width="0.0065" height="0.0065" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_temp_ad4_mine_acidic</texture>
</palette>

Теперь наш детектор будет показывать телепорты, но отображаться они будут значком химической аномалии. А как минимум тупо. Коректим наши новые строки:

[code]<palette id="zone_teleport" width="0.004" height="0.004" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_inGame2_Detector_icon_teleport</texture>
</palette>
       
<palette id="zone_teleport" width="0.0065" height="0.0065" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_temp_ad4_mine_acidic</texture>
</palette>


Вторую секцию не трогаем, так как в одиночной игре она не используется.

Теперь нам нужно нарисовать иконку для отображения телепорта, для чего мы используем файлик gamedata\textures\ui\ui_actor_sleep_screen.dds и PhotoShop с DDS плагином, для примера приведу 2 скрина:





Итак, теперь вычисляем адрес иконки:





Получили: 139х530; 34х34.

Записываем на бумажке =) и открываем файлик gamedata\configs\ui\textures_descr\ui_actor_pda_icons.xml и после строки:

Code
<texture id="ui_inGame2_Detector_icon_gravity_big" x="105" y="532" width="34" height="34" />


Вставляем:

Code
<texture id="ui_inGame2_Detector_icon_teleport" x="139" y="530" width="34" height="34" />


Вот, собственно, и все. Теперь детектор будет отображать телепорт стрелочкой. Кстати: размер иконки на экране детектора меняется в

Code
<palette id="zone_teleport" width="0.004" height="0.004" stretch="1" alignment="c">
<texture shader="hud\p3d">ui_inGame2_Detector_icon_teleport</texture>
</palette>


Меняем 0.004 на 0.006 или 0.008 ниже приведен скрин с использованным значением 0.008



Автор: WincentDark69
 
Форум » S.T.A.L.K.E.R. Модострение » S.T.A.L.K.E.R. Call of Pripyat » Модернизация детектора Сварог
  • Страница 1 из 1
  • 1
Поиск: