Перейти к содержанию
Enframed

UI Monolith для OGSR Engine

Рекомендуемые сообщения

 
 

Enframed классно будет увидеть реализацию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Enframed а из какого проекта лучше брать активатор работы экранов Велеса и Сварога?

Под 2.1.394 версию. Я отсюда брал наработки:

 

Но у меня работают лишь Отклик р Медведь. Лучше из Радиофобии 3 брать скрипты или из Ганса под ТЧ раннего?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 11.04.2026 в 15:30, TheDarkestDoomslayer сказал:

активатор работы экранов Велеса и Сварога

Я брал из STCoP (анимации идентичны с ЗП и др оружейками). Также ранний Ганс не сильно отличается от Радиофобии. Лучше начать с ванильной ЗП, далее объединить с любой желаемой оружейкой, чем сначала подключать (возможно) не нужные скрипты и конфиги

 

В 11.04.2026 в 15:30, TheDarkestDoomslayer сказал:

Но у меня работают лишь Отклик р Медведь

В видео или в чате в тгк, когда-то обсуждали причину

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 час назад, Enframed сказал:

Я брал из STCoP (анимации идентичны с ЗП и др оружейками).

Всмысле? Там шейдер лишь надо для работы?

Или его и скрипты?

1 час назад, Enframed сказал:

В видео или в чате в тгк, когда-то обсуждали причину

Ну и какая на версии 2.1.394 она?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 13.04.2026 в 22:38, TheDarkestDoomslayer сказал:

Там шейдер лишь надо для работы?

Шейдеры уже есть на борту ogsr, твоя версия должна заработать (там непосредственно нужны hud3d, hud_p3d и возможно еще что-то). Скрипты не нужны.
 

Спойлер

1. Модель, руки, анимации...
2. Конфиг, например:


[detector_veles]:detector_bear
$spawn                                = "devices\detector_veles"
class                                = DET_ELIT
visual                                = dynamics\devices\dev_detector_3\dev_detector_3.ogf

hud                                    = detector_veles_hud

inv_name                            = st_detector3
inv_name_short                        = st_detector3
description                            = st_detector3_descr

inv_grid_width                        = 1
inv_grid_height                        = 1
inv_grid_x                            = 16
inv_grid_y                            = 20
cost                                = 2000

; elite x="0.00096" y="0.0035"
ui_p                                = -0.02904,0.01,0.0364
ui_r                                = 0,90,0

af_radius                            = 30
af_vis_radius                        = 2

af_class_all                        = true
af_sound_all_                        = detectors\art_beep1
af_freq_all                            = 0.05, 2

af_class_25                            = af_eye
af_sound_25_                        = detectors\art_beep1
af_freq_25                            = 0.05, 2

af_class_26                            = af_fire
af_sound_26_                        = detectors\art_beep1
af_freq_26                            = 0.05, 2

af_class_27                            = af_gravi
af_sound_27_                        = detectors\art_beep1
af_freq_27                            = 0.05, 2

af_class_28                            = af_gold_fish
af_sound_28_                        = detectors\art_beep1
af_freq_28                            = 0.05, 2

af_class_29                            = af_baloon
af_sound_29_                        = detectors\art_beep1
af_freq_29                            = 0.05, 2

af_class_30                            = af_glass
af_sound_30_                        = detectors\art_beep1
af_freq_30                            = 0.05, 2

af_class_31                            = af_dummy_dummy
af_sound_31_                        = detectors\art_beep1
af_freq_31                            = 0.05, 2

af_class_32                            = af_ice
af_sound_32_                        = detectors\art_beep1
af_freq_32                            = 0.05, 2

af_class_33                            = af_ameba_mica
af_sound_33_                        = detectors\art_beep1
af_freq_33                            = 0.05, 2

af_class_34                            = af_rusty_sea
af_sound_34_                        = detectors\art_beep1
af_freq_34                            = 0.05, 2

[detector_veles_hud]:detector_base_hud
item_visual                            = dynamics\devices\dev_detector_3\dev_detector_3_hud
item_position                        = -0.071685,0.040188,-0.009934
item_orientation                    = 318.589233,-184.420761,-189.323669

anm_show                            = d3_draw, draw
anm_show_fast                        = d3_draw, draw
anm_hide                            = d3_holster, holster
anm_hide_fast                        = d3_holster, holster
anm_idle                            = d3_idle, idle
anm_idle_moving                        = d3_move, move
anm_idle_moving_crouch                = d3_crouch, move
anm_idle_sprint                        = d3_sprint, sprint

anm_show_16x9                        = d3_draw, draw
anm_show_fast_16x9                    = d3_draw, draw
anm_hide_16x9                        = d3_holster, holster
anm_hide_fast_16x9                    = d3_holster, holster
anm_idle_16x9                        = d3_idle, idle
anm_idle_moving_16x9                = d3_move, move
anm_idle_moving_crouch_16x9            = d3_crouch, move
anm_idle_sprint_16x9                = d3_sprint, sprint

3. gamedata\config\ui\ui_detector_artefact.xml (файл из ЗП, текстуры переименовал произвольно из MUI):


<w>
  <elite x="0" y="0" width="0.0576" height="0.029">
    <wrk_area width="0.0576" height="0.029">
      <auto_static width="0.0576" height="0.029" stretch="1">
        <!-- текстура полукруга -->
        <texture shader="hud\p3d"></texture>
      </auto_static>
    </wrk_area>

    <af_sign width="0.0045" height="0.005" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </af_sign>

    <palette id="af_sign" width="0.0045" height="0.005" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
  </elite>

  <scientific x="0" y="0" width="0.0576" height="0.029">
    <wrk_area width="0.0576" height="0.029">
      <auto_static width="0.0576" height="0.029" stretch="1">
        <texture shader="hud\p3d">ui_inv_icon_wound</texture>
      </auto_static>
    </wrk_area>

    <palette id="zone_mine_acidic_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
    <palette id="zone_mine_acidic_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
    <palette id="zone_mine_acidic_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>

    <palette id="zone_mine_chemical_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
    <palette id="zone_mine_chemical_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
    <palette id="zone_mine_chemical_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>

    <palette id="zone_buzz_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
    <palette id="zone_buzz_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
    <palette id="zone_buzz_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>

    <palette id="zone_mine_electric_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>
    <palette id="zone_mine_electric_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>
    <palette id="zone_mine_electric_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>

    <palette id="zone_mine_static_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>
    <palette id="zone_mine_static_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>
    <palette id="zone_mine_static_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>

    <palette id="zone_witches_galantine_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>
    <palette id="zone_witches_galantine_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>
    <palette id="zone_witches_galantine_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_electro_big</texture>
    </palette>

    <palette id="zone_mine_gravitational_strong" width="0.008" height="0.008" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_gravity_big</texture>
    </palette>
    <palette id="zone_mine_gravitational_average" width="0.008" height="0.008" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_gravity_big</texture>
    </palette>
    <palette id="zone_mine_gravitational_weak" width="0.006" height="0.006" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_gravity_big</texture>
    </palette>

    <palette id="zone_gravi_zone" width="0.008" height="0.008" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_gravity_big</texture>
    </palette>

    <palette id="zone_mine_thermal_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mine_thermal_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mine_thermal_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>

    <palette id="zone_zharka_static_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_zharka_static_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_zharka_static_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>

    <palette id="zone_mine_steam_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mine_steam_average" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>
    <palette id="zone_mine_steam_weak" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_fire_big</texture>
    </palette>

    <palette id="af_blood" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_mincer_meat" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_soul" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_fuzz_kolobok" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_baloon" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_glass" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>

    <palette id="af_electra_sparkler" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_electra_flash" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_electra_moonlight" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_dummy_battery" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_dummy_dummy" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_ice" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>

    <palette id="af_medusa" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_cristall_flower" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_night_star" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_vyvert" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_gravi" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_gold_fish" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>

    <palette id="af_cristall" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_fireball" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_dummy_glassbeads" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_eye" width="0.0015" height="0.0015" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_fire" width="0.0022" height="0.0022" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>

    <palette id="af_oasis_heart" width="0.003" height="0.003" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="af_quest_b14_twisted" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>
    <palette id="jup_b1_half_artifact" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inGame2_Detector_icon_artefact</texture>
    </palette>

  </scientific>
</w>

и как бы работает:
ss_enframed_04-16-26_00-40-10_(l01_escape).thumb.png.cb6b3e7d73c98b21bb084d782b1a4f5f.png

 

  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Enframed ясно. А ты на какой проверял хоть?

А Сварог пробовал?

Изменено пользователем TheDarkestDoomslayer

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 16.04.2026 в 15:24, TheDarkestDoomslayer сказал:

А ты на какой проверял хоть?

Модель Велеса, можно и Сварог - это одно и тоже

 

В 16.04.2026 в 15:24, TheDarkestDoomslayer сказал:

А Сварог пробовал?

Чтобы заработал Сварог, нужно:
1. Модель Велеса, Сварога
2. Создать секцию детектора с классом:

class = DET_SCIE
Спойлер

[detector_scientific]:detector_veles
$spawn                                = "devices\detector_scientific"
class                                = DET_SCIE
visual                                = dynamics\devices\dev_detector_4\dev_detector_4.ogf

hud                                    = detector_scientific_hud

inv_name                            = st_detector4
inv_name_short                        = st_detector4
description                            = st_detector4_descr

inv_grid_width                        = 1
inv_grid_height                        = 1
inv_grid_x                            = 16
inv_grid_y                            = 20
cost                                = 12500

; elite x="0.00096" y="0.0035"
ui_p                                = -0.02904,0.01,0.0364
ui_r                                = 0,90,0

af_radius                            = 30
af_vis_radius                        = 2

af_class_all                        = true
af_sound_all_                        = detectors\art_beep1
af_freq_all                            = 0.05, 2

af_class_35                            = af_oasis_heart
af_sound_35_                        = detectors\art_beep1
af_freq_35                            = 0.05, 2

af_class_36                            = af_dummy_pellicle
af_sound_36_                        = detectors\art_beep1
af_freq_36                            = 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_class_34                        = zone_radioactive

zone_sound_1_                        = detectors\art_beep1
zone_sound_2_                        = detectors\art_beep1
zone_sound_3_                        = detectors\art_beep1
zone_sound_4_                        = detectors\art_beep1
zone_sound_5_                        = detectors\art_beep1
zone_sound_6_                        = detectors\art_beep1
zone_sound_7_                        = detectors\art_beep1
zone_sound_8_                        = detectors\art_beep1
zone_sound_9_                        = detectors\art_beep1
zone_sound_10_                        = detectors\art_beep1
zone_sound_11_                        = detectors\art_beep1
zone_sound_12_                        = detectors\art_beep1
zone_sound_13_                        = detectors\art_beep1
zone_sound_14_                        = detectors\art_beep1
zone_sound_15_                        = detectors\art_beep1
zone_sound_16_                        = detectors\art_beep1
zone_sound_17_                        = detectors\art_beep1
zone_sound_18_                        = detectors\art_beep1
zone_sound_19_                        = detectors\art_beep1
zone_sound_20_                        = detectors\art_beep1
zone_sound_21_                        = detectors\art_beep1
zone_sound_22_                        = detectors\art_beep1
zone_sound_23_                        = detectors\art_beep1
zone_sound_24_                        = detectors\art_beep1
zone_sound_25_                        = detectors\art_beep1
zone_sound_26_                        = detectors\art_beep1
zone_sound_27_                        = detectors\art_beep1
zone_sound_28_                        = detectors\art_beep1
zone_sound_29_                        = detectors\art_beep1
zone_sound_30_                        = detectors\art_beep1
zone_sound_31_                        = detectors\art_beep1
zone_sound_32_                        = detectors\art_beep1
zone_sound_33_                        = detectors\art_beep1
zone_sound_34_                        = detectors\DA-2_beep1

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_freq_34                        = 0.05, 2

 

3. Настроить gamedata\config\ui\ui_detector_artefact.xml:

<scientific x="0" y="0" width="0.0576" height="0.029">
    <wrk_area width="0.0576" height="0.029">
      <auto_static width="0.0576" height="0.029" stretch="1">
        <texture shader="hud\p3d"></texture>
      </auto_static>
    </wrk_area>
       ...
	<! -- Пример на медузе -->
    <palette id="af_medusa" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
      ...
	<! -- Пример на аномалии "Электра" -->
    <palette id="zone_witches_galantine_strong" width="0.004" height="0.004" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>
      ...
	<! -- Пример на любом другом объекте -->
    <palette id="af_quest_b14_twisted" width="0.0011" height="0.0011" stretch="1" alignment="c">
      <texture shader="hud\p3d">ui_inv_icon_wound</texture>
    </palette>

4. Принцип id: детектор определяет только те объекты, которые прописаны в ui_detector_artefact.xml > в теге <scientific>...</scientific>, данный пример выше, говорит о том:
- id="af_medusa" - отображение будет работать, секция ТЧ/ЧН/ЗП;
- id="zone_mine_electric_strong" - отображение будет, хоть и ТЧ;
- id="af_quest_b14_twisted" - нет, это ЗП. Но с помощью этого id, можно отобразить любой объект на детекторе, например аптечку:

[af_quest_b14_twisted]:medkit, medkit_army, medkit_scientific

* Здесь, хочу сказать, что если у тебя прописан арт, аномалия, отличная от списка ui_detector_artefact.xml в  <scientific>...</scientific>, добавление строк, типа <palette id="мой_артефакт"...</palette>, не даст результат. Хочешь видеть новый объект, то наследуй в конфигах из существующего списка ui_detector_artefact.xml:

[мой_артефакт]: af_medusa
[моя_аномалия]: zone_gravi


 


Дополнено 6 минуты спустя

TheDarkestDoomslayer , но есть еще один баг: большое количество тэгов <palette> в ui_detector_artefact.xml уменьшает иконки объектов на детекторе в размерах, какое кол-во приемлимое не знаю, это надо проверять

  • Хабар 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ку, адаптировал под последнюю версию OGSR, всё работает, но не работает меню настроек. Я понимаю, что из за параметров, которые в новой версии отсутствуют. Адаптировал чисто худ, без оружейки. Я так понимаю и в скриптах менюшек тоже надо оружейку вырезать? 
Вот лог:
[error]Expression    : FATAL ERROR
[error]Function      : CScriptEngine::lua_pcall_failed
[error]File          : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\COMMON_AI\script_engine.cpp
[error]Line          : 75
[error]Description   : [CScriptEngine::lua_pcall_failed]: ....e.r v1.0006\gamedata\scripts\ui_mm_opt_video_adv.script:27: attempt to compare number with nil

И еще, если кидать бинд.сталкер с худа, то вылет при открытии инвентаря, ящиков, трупов.
Заранее спасибо)

Изменено пользователем Марк_97

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Марк_97 Привет, я сам обновился на 3.526 неделю назад

В 11.05.2026 в 06:47, Марк_97 сказал:

Вот лог

По вылету это отголоски мультивыбора рендера, ставь полностью ui_mm_opt_video_adv.script от нового OGSR, чтобы не было цветной радуги в текстах, замени:

local hint_colors = {
	["green"]  = { 255, 192, 192, 192 },
	["yellow"] = { 255, 192, 192, 192 },
	["red"]    = { 255, 192, 192, 192 },
}

Чтобы адаптировать меню настроек: нужно примнимать все новые теги в xml от OGSR в твой мод, и удалять отсутствующие функции в скриптах MUI. Разница нового движка и МUI растет с каждым обновлением, но это не новость

В 11.05.2026 в 06:47, Марк_97 сказал:

скриптах менюшек тоже надо оружейку вырезать?

А оно, как связано?

В 11.05.2026 в 06:47, Марк_97 сказал:

И еще, если кидать бинд.сталкер с худа, то вылет при открытии инвентаря, ящиков, трупов.

нужен лог

Чувствую, вылеты еще будут...

Изменено пользователем Enframed

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Небольшой тест анимации шлемов (делал не на полный экран, требуется доработка UI на ультраширокие разрешения), полное адаптирование шлемов отложу, приоритетнее займусь переработкой меню настроек, сохранений и пр.

Спойлер

 


 

  • Мастер! 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Enframed а будет адаптация под версию движка 2.1.394? Или там часть кода уже адаптирована под новейшую версию?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 16.06.2026 в 17:47, TheDarkestDoomslayer сказал:

2.1.394

Под новую версию. Обратная совместимость возможна, но с доработками и некоторыми ограничениями. Их не так много

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
   

Enframed Привет! 

Попробовал адаптировать себе некоторые штучки из версии 18.2, выскочила проблема. 

Движок не может отрисовать на худе и в инвентаре иконки быстрых слотов, вылет мол: поломана текстура, нет текстуры,

Спойлер

[error]Expression    : vl_Count [error]Function      : _VertexStream::Lock [error]File          : D:\a\OGSR-Engine\OGSR-Engine\ogsr_engine\Layers\xrRender\R_DStreams.cpp [error]Line          : 67 [error]Description   : Missing or invalid texture! vl_Count=0. Бывает vl_Count=1

 Косяк мой, я не пойму где он... 

Изменено пользователем Неизвестен

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Привет, проблема довольно редкая. Скину тот самый код из движка ogsr, где вызывается эта ошибка:

Спойлер

#include "stdafx.h"


#include "ResourceManager.h"
#include "R_DStreams.h"

#include "../xrRender/dxRenderDeviceRender.h"
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

int rsDVB_Size = 4096; // Fixed: (bytes_need<=mSize) && vl_Count
int rsDIB_Size = 512;

void _VertexStream::Create()
{
    mSize = rsDVB_Size * 1024;

    D3D_BUFFER_DESC bufferDesc;
    bufferDesc.ByteWidth = mSize;
    bufferDesc.Usage = D3D_USAGE_DYNAMIC;
    bufferDesc.BindFlags = D3D_BIND_VERTEX_BUFFER;
    bufferDesc.CPUAccessFlags = D3D_CPU_ACCESS_WRITE;
    bufferDesc.MiscFlags = 0;

    R_CHK(HW.pDevice->CreateBuffer(&bufferDesc, 0, &pVB));
    DXUT_SetDebugName(pVB, "_VertexStream");
    HW.stats_manager.increment_stats_vb(pVB);

    R_ASSERT(pVB);

    mPosition = 0;
    mDiscardID = 0;

    Msg("* DVB created: %dK", mSize / 1024);
}

void _VertexStream::Destroy()
{
    HW.stats_manager.decrement_stats_vb(pVB);
    _RELEASE(pVB);
    _clear();
}

void* _VertexStream::Lock(u32 vl_Count, u32 Stride, u32& vOffset)
{
    D3D11_MAPPED_SUBRESOURCE MappedSubRes;

#ifdef DEBUG
    PGO(Msg("PGO:VB_LOCK:%d", vl_Count));
    VERIFY(0 == dbg_lock);
    dbg_lock++;
#endif

    R_ASSERT(vl_Count, "Missing or invalid texture! vl_Count=0.");

    // Ensure there is enough space in the VB for this data
    const u32 bytes_need = vl_Count * Stride;
    ASSERT_FMT(bytes_need <= mSize, "bytes_need = [%u], mSize = [%u]", bytes_need, mSize);

    // Vertex-local info
    const u32 vl_mSize = mSize / Stride;
    const u32 vl_mPosition = mPosition / Stride + 1;

    // ASSERT_FMT(Device.OnMainThread(), "!![%s] NOT ON MAIN THREAD! THREAD ID: [%u]", __FUNCTION__, _Thrd_id());

    // Check if there is need to flush and perform lock
    BYTE* pData = nullptr;
    if ((vl_Count + vl_mPosition) >= vl_mSize)
    {
        // FLUSH-LOCK
        mPosition = 0;
        vOffset = 0;
        mDiscardID++;

        HW.get_context(CHW::IMM_CTX_ID)->Map(pVB, 0, D3D_MAP_WRITE_DISCARD, 0, &MappedSubRes);
        pData = (BYTE*)MappedSubRes.pData;
        pData += vOffset;

    }
    else
    {
        // APPEND-LOCK
        mPosition = vl_mPosition * Stride;
        vOffset = vl_mPosition;

        HW.get_context(CHW::IMM_CTX_ID)->Map(pVB, 0, D3D_MAP_WRITE_NO_OVERWRITE, 0, &MappedSubRes);
        pData = (BYTE*)MappedSubRes.pData;
        pData += vOffset * Stride;

    }
    VERIFY(pData);

    return LPVOID(pData);
}

void _VertexStream::Unlock(u32 Count, u32 Stride)
{
#ifdef DEBUG
    PGO(Msg("PGO:VB_UNLOCK:%d", Count));
    VERIFY(1 == dbg_lock);
    dbg_lock--;
#endif
    mPosition += Count * Stride;

    VERIFY(pVB);

    // ASSERT_FMT(Device.OnMainThread(), "!![%s] NOT ON MAIN THREAD! THREAD ID: [%u]", __FUNCTION__, _Thrd_id());

    HW.get_context(CHW::IMM_CTX_ID)->Unmap(pVB, 0);
}

void _VertexStream::reset_begin()
{
    old_pVB = pVB;
    Destroy();
}
void _VertexStream::reset_end()
{
    Create();
    // old_pVB                = NULL;
}

_VertexStream::_VertexStream() { _clear(); };

void _VertexStream::_clear()
{
    pVB = nullptr;
    mSize = 0;
    mPosition = 0;
    mDiscardID = 0;
#ifdef DEBUG
    dbg_lock = 0;
#endif
}

//////////////////////////////////////////////////////////////////////////
void _IndexStream::Create()
{
    mSize = rsDIB_Size * 1024;

    D3D_BUFFER_DESC bufferDesc;
    bufferDesc.ByteWidth = mSize;
    bufferDesc.Usage = D3D_USAGE_DYNAMIC;
    bufferDesc.BindFlags = D3D_BIND_INDEX_BUFFER;
    bufferDesc.CPUAccessFlags = D3D_CPU_ACCESS_WRITE;
    bufferDesc.MiscFlags = 0;

    R_CHK(HW.pDevice->CreateBuffer(&bufferDesc, 0, &pIB));
    DXUT_SetDebugName(pIB, "_IndexStream");
    HW.stats_manager.increment_stats_ib(pIB);

    R_ASSERT(pIB);

    mPosition = 0;
    mDiscardID = 0;

    Msg("* DIB created: %dK", mSize / 1024);
}

void _IndexStream::Destroy()
{
    HW.stats_manager.decrement_stats_ib(pIB);
    _RELEASE(pIB);
    _clear();
}

u16* _IndexStream::Lock(u32 Count, u32& vOffset)
{
    D3D11_MAPPED_SUBRESOURCE MappedSubRes;
    PGO(Msg("PGO:IB_LOCK:%d", Count));
    vOffset = 0;
    BYTE* pLockedData = nullptr;

    // Ensure there is enough space in the VB for this data
    R_ASSERT((2 * Count <= mSize) && Count);

    // If either user forced us to flush,
    // or there is not enough space for the index data,
    // then flush the buffer contents
    u32 dwFlags = LOCKFLAGS_APPEND;
    if (2 * (Count + mPosition) >= mSize)
    {
        mPosition = 0; // clear position
        dwFlags = LOCKFLAGS_FLUSH; // discard it's contens
        mDiscardID++;
    }

    // ASSERT_FMT(Device.OnMainThread(), "!![%s] NOT ON MAIN THREAD! THREAD ID: [%u]", __FUNCTION__, _Thrd_id());

    const D3D_MAP MapMode = (dwFlags == LOCKFLAGS_APPEND) ? D3D_MAP_WRITE_NO_OVERWRITE : D3D_MAP_WRITE_DISCARD;
    HW.get_context(CHW::IMM_CTX_ID)->Map(pIB, 0, MapMode, 0, &MappedSubRes);
    pLockedData = (BYTE*)MappedSubRes.pData;
    pLockedData += mPosition * 2;

    VERIFY(pLockedData);

    vOffset = mPosition;

    return LPWORD(pLockedData);
}

void _IndexStream::Unlock(u32 RealCount)
{
    PGO(Msg("PGO:IB_UNLOCK:%d", RealCount));
    mPosition += RealCount;
    VERIFY(pIB);

    // ASSERT_FMT(Device.OnMainThread(), "!![%s] NOT ON MAIN THREAD! THREAD ID: [%u]", __FUNCTION__, _Thrd_id());

    HW.get_context(CHW::IMM_CTX_ID)->Unmap(pIB, 0);
}

void _IndexStream::reset_begin()
{
    old_pIB = pIB;
    Destroy();
}
void _IndexStream::reset_end()
{
    Create();
    // old_pIB                = NULL;
}

 

Тут уже можно понять, куда копать. Мое предположение: что-то с текстурами

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 21.09.2026 в 10:30, Неизвестен сказал:

 

  Лог (Скрыть контент)

Description   : Missing or invalid texture! vl_Count=0. Бывает vl_Count=1

 Косяк мой, я не пойму где он... 

Встречал такой косяк когда адаптировал ПДА от АМК себе вмод. Все новые конфигурационные фалы текстур надо прописать в system.ltx(одна из причин вылета)

  • Лайк 1
  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Отмена 18.3 версии. Выпущена не будет
Переход в 19:

- Полная замена низкокачественных текстур интерфейса (2K текстуры элементов, 100x100 разрешения иконок)
- Поддержка 21x9 мониторов
- Переработка главного меню (избавление от элемента UIShnyaga)
- Замена оружейки, пока под вопросом, что выбрать
- Адаптация большинства анимаций от первого лица из модов (возможно создание новых)
- Все цели и задачи, которые не реализованы, переносятся в текущий статус - в разработке

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Сюжет ванильного тч ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
1 минуту назад, Теймуроглы сказал:

Сюжет ванильного тч ?

Я не делаю сюжетки, это всего лишь графическая модификация, как написано в шапке темы

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

Важная информация

Мы разместили cookie-файлы на ваше устройство, чтобы помочь сделать этот сайт лучше. Вы можете изменить свои настройки cookie-файлов, или продолжить без изменения настроек. Оставаясь на сайте, вы подтверждаете свое согласие на их использование. Политика конфиденциальности | Условия использования