Отже, всі ми знаємо, що в грі є супер наворочений детектор зварювань. Але! Якщо він такий наворочений, то чому ж він не може показати нам радіозони, термозони, хімзони, псизони, телепорти та хоч пекучий пух зрештою. Так ось, показувати їх він здатний, але для цього потрібно його "налаштувати". Відкриємо: gamedata\configs\misc\devices.ltx і знайдемо там опис детектора "Сварог":
[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
І припишемо до нього два нові рядки, наприклад:
zone_class_34 = zone_teleport zone_freq_34 = 0.05 , 2
Поясню, цим ми говоримо движку, що аксесуар визначає ще одну (34-ю) аномальну зону. У разі телепорт. Але ось невдача, він її визначає, але не показує на дисплеї. А ось тут і починається цікаве. У конфізі детектора ім'я аномалії береться з файлу gamedata\configs\ui\ui_detector_artefact.xml файл містить імена аномальних зон і посилання на ID текстури для відображення цих самих зон. Для кожної зони використано 2 імені, для прикладу:
<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 < / <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 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 >
Тепер наш детектор показуватиме телепорти, але вони відображатимуться значком хімічної аномалії. А це як мінімум тупо. Коригуємо наші нові рядки:
<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\configs\ui\textures_descr\ui_actor_pda_icons.xml і після рядка:
<texture id = "ui_inGame2_Detector_icon_gravity_big" x = "105" y = "532" width = "34" height = "34" />
вставляємо:
<texture id = "ui_inGame2_Detector_icon_teleport" x = "139" y = "530" width = "34" height = "34" />
Ось, власне, і все. Тепер детектор відображатиме телепорт стрілочкою. До речі: розмір іконки на екрані детектора змінюється
<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