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

Yara

Сталкеры
  • Публикаций

    243
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Yara


  1. Novik 

    Превышен лимит по количеству вертексов (iNumVerts) на объект. Если он не изначально такой ультра-полигональный, значит - xrLC на фазе тесселяции, его таковым сделал. В компиляторах от Ская, есть ключ -notess для пропуска этой фазы.


  2. Furrikon 

    Не до конца убрал блоки в olr_on_shoot.script, остались лишние два end'a (это вылет и поломка скрипта):

    	--if xvars.dolg_base_shot > 2 and xvars.dolg_base_shot < 4 then
    		--news_manager.send_tip(db.actor, "Тебе же сказали... Прекрати пальбу немедленно!", nil, "dolg", 25000)
    	end
    
    	--if xvars.bar_base_shot > 2 and xvars.bar_base_shot < 4 then
    		--news_manager.send_tip(db.actor, "Ты сдурел? Прекрати пальбу немедленно!", nil, "ohranik", 25000)
    	end

     

    • Лайк 1
    • Мастер! 1

  3. Furrikon 

    Спойлер
    
    scripts\bind_stalker.script, в самом начале, после строки local weapon_hide = false - добавить:
    
    local nightvision_on = false
    
    далее, найти function actor_binder:OnKey(dik) и после строки --event("actor_on_key"):trigger({dik = dik}) - добавить:
    
    	-- ночной визор
    	local cur_eq = self.object:get_current_outfit()
    	--| звуки вкл / выкл
    	local snd_nt_on = xr_sound.get_safe_sound_object([[olr_pda\contact_1]])
    	local snd_nt_off = xr_sound.get_safe_sound_object([[device\pda\pda_update]])
    
    	--| Все названия клавиш в lua_help.script (поиск по C++ class DIK_keys)
    	if dik == DIK_keys.DIK_N then
    		if nightvision_on == false then
    			if cur_eq and cur_eq:section() == "exo_outfit" then
    				--| зелёный
    				level.add_pp_effector("nightvision.ppe", 10123, true)
    				snd_nt_on:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    				nightvision_on = true
    			elseif cur_eq and cur_eq:section() == "scientific_outfit" then
    				--| фиолетовый
    				level.add_pp_effector("nightvision_good.ppe", 10123, true)
    				snd_nt_on:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    				nightvision_on = true
    			elseif cur_eq and (cur_eq:section() == "ecolog_outfit" or cur_eq:section() == "outfit_antirad") then
    				--| зелёный 2
    				level.add_pp_effector("nightvision_green.ppe", 10123, true)
    				snd_nt_on:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    				nightvision_on = true
    			end
    		else
    			level.remove_pp_effector(10123)
    			snd_nt_off:play_no_feedback(self.object, sound_object.s2d, 0, vector(), 1.0)
    			nightvision_on = false
    		end
    	end
    	-- ночной визор

    image.thumb.png.dda7335b2783701f88403b272de91c9a.png

     

    • Лайк 1
    • Хабар 1

  4. Furrikon 

    Насчёт лагов с убитыми нпс, попробуй потестить такое:

    \scripts\xr_motivator.script
    
    В функцию function motivator_binder:death_callback(victim, who), в самый конец добавить:
    	...
        --log1("npc death end done") -- ориг.строка, после которой добавлять
      
        -- Если играем на статике, отключать фонарик у нпс после смерти
        local used_render = get_console():get_token("renderer")
        if used_render == "renderer_r1" then
            local obj_dt = self.object:object("device_torch")
            if obj_dt and obj_dt ~= nil then
                local wait_time = 0
                wait_time = time_global() + 5000
                level.add_call(
                                function() return time_global() > wait_time end,
                                function() obj_dt:enable_attachable_item(false) end
                                )
            end
        end

     

    • Лайк 1

  5.   

    16 часов назад, Chickenboss226 сказал:

    1. Текстуры террейна и дороги плывут и меняют качество при движении камеры
    2. Я поместил бандитов в смарт террейн, но они из него уходят
    3. Я в другом смарт террейне сделал 2 респавна но там никто не респавнится

    1. В textures\textures.ltx, блок [association] - добавляешь свой террейн, как другие, пр.: terrain\terrain_agroprom

    2. В настройках смарта: communities = bandit, ещё можно у нпс в кастомдате указать:

    [smart_terrains]
    gar_bandit_agr = true

    3. В se_respawn.script есть ограничение на количество разной живности. Респавнер создаёт, если в смартах есть подходящие (по communities)  свободные работы. Он может не работать, если в его настройках:

    [respawn]
    respawn_radius = 100 ; отключать спавн, если дистанция до актора <= указанной

     

    • Спасибо 1

  6. В 09.08.2025 в 23:21, Chickenboss226 сказал:

    Final core params: -aispawn -s kpp -no_separator_check -insert_graph -version shoc

    Игра вылетит, если загрузить спавн, собранный с данным ключом и без указанной правки:

    В 31.08.2022 в 02:18, SkyLoader сказал:

    Второе нововведение для ТЧ спавна, это ключ -insert_graph. Он позволяет вшить все графы уровней в файл спавна, как это реализовано в ЗП. Это облегчит перенос спавна из рабочей директории сдк в директорию игры, поскольку не нужно переносить все файлы графов и таблиц связности АИ-сетки с графами, а лишь перенести один файл спавна. Однако такой формат спавна потребует изменения игрового движка, поэтому ниже приложена ссылка на коммит, который можно адаптировать под свою версию движка.

    https://github.com/SkyLoaderr/OGSR-Engine/commit/c756706c6b1fb826bfaf53a83cedea579b38b971

     


  7. Chickenboss226 

    Спойлер

    Проект расстановки тимов, сквадов и групп.

     

    1. Команда (team).

    Описывает принадлежность персонажа в определенному типу сталкеров. Таким образом все военные сталкеры имеют одинаковую команду, все сталкеры, находящиеся в одной группировке имеют одинаковую команду.

    - 0: к этой команде принадлежат: Актер, Торговец, Бармен, Представитель ученных, другие сюжетные миролюбивые персонажи. К этой команде также относятся все сталкеры-одиночки, которые по умолчанию должны быть нейтральными к актеру.

    - 1: к этой команде относятся все сталкеры-одиночки, которые по умолчанию должны быть врагами по отношению к актеру.

    - 2: Военные сталкеры, армия.

    - 3: Параноики, зомбированные и сумасшедшие сталкеры, которые уже с трудом могут принадлежать к какой то категории. Они сами по себе.

    - 4: Reserved

    - 5: Группировка «Долг»

    - 6: Группировка «Грех»

    - 7: Группировка «Монолит»

    - 8: Сталкеры анархисты из группировки «Свобода»

    - 9..31: Reserved

     

    2. Отряд (squad)

    Описывает принадлежность сталкеров из одной команды к разным группам внутри одного уровня. Это разделение существует внутри каждого уровня. Для каждой команды это разделение тоже особое. Более подробно распределение отрядов смотри в приложении

    Значение отряда должно находится в пределах от 0 до 31.

     

    3. Группа (group)

    Описывает разбиение больших отрядов на более мелкие структурные единицы. Если такое разделение не нужно – дублирует отряд. Сталкерам одиночкам лучше давать уникальные группы. Значение группы должно находится в пределах от 0 до 31.

     

     

    Распределение по сквадам и группам.

    Сквад сталкера ставится в зависимости от уровня, на котором он спавнится.

    Группа ставится каждому человеку своя отдельная. Получается что на одном уровне не может быть больше чем 32 сталкеров одиночек в каждой команде. Итого 32 нейтральных, 32 злых. Если, скажем, необходимо поставить группу из трех бандитов – то всем им нужно ставить одинаковую группу. Тогда общее число сталкеров увеличится. Вообщем думаю что хватит с головой 

    0: Escape

    1: Garbage

    2: Agroprom

    3: DarkDolina

    4: RostokBar

    5:

    6:

    7:

    8:

    9:

    10:

    11-31: Reserved

    Примеры:

    Все военные на эскейпе будут иметь команду 2 и сквад 0. Группа будет различаться в зависимости от принадлежности. Так допустим блокпост иметь 0 группу, патруль, выходящий с блокпоста – 1 группу. Трое солдат у входа в зону – 5 группу. Рейды – 6,7,8 группу. Несколько военных под мостом 10 группу, Патруль во второй половине уровня – 11 группу, охранники второго кордона – 12 группу. Такое вот расписание необходимо будет составлять на каждый уровень и более детально, и потом следовать ему.

     

     

    • Хабар 1

  8. Chickenboss226 

     

    В 06.08.2025 в 00:19, Chickenboss226 сказал:

    [05.08.25 21:06:28.082]     |    | cannot find tga texture: e:\_stalkermodding\x-ray sdk 0.4 fixed\xray_sdk_0.4\rawdata\textures\decal\decal_anarh_7.thm
    [05.08.25 21:06:28.082] FATAL ERROR
    [05.08.25 21:06:28.082] [error]Expression    : !is_thm_missing
    [05.08.25 21:06:28.082] [error]Description   : Some of required thm's are missing. See log for details.

    Создать thm для нужных текстур (в логе cannot find tga texture: её имя).

     

    А лучше использовать этот компилятор:

    В последней версии сделано:

    • Экспериментальный отказ от использования THM файлов. Данные файлы используются компилятором для определения наличия прозрачности у текстур, чтобы в дальнейшем использовать текстуры при запекании освещения. Теперь проверка прозрачности происходит через чтение игровых шейдеров (shaders.xr). Производится поиск материалов с шейдером, который поддерживает полупрозрачность, и подгружаются только нужные текстуры. Также в подгружаемых текстурах дополнительно проверяется наличие альфа канала. Если его не обнаруживается, то текстура выгружается, а поверхность становится непрозрачной. Данный переход на использование shaders.xr поможет избавиться от проблемы с обработкой сломанных и некорректно настроенных THM файлов.
    • Мастер! 1

  9. Было сделано во время прохождения:

    Спойлер
    
    - Убрано подкидывание нпс / монстра после смерти.
    - Удалены инклуды диалогов в спавн-блоки в профиле нпс (неправильно и вызывает вылеты).
    - Добавлены диалоги о помощи аптекой некоторым нпс.
    - Для некоторых диалогов (на них были вылеты) сделаны нормальные локали.
    - В диалог о продаже инфы добавлены почти все кпк / доки, кроме тех, что отдаются по заданиям.
    - При подборе уникального кпк / документа - будет добавлена инфа в раздел кпк\найденная информация.
    - Для некоторых предметов поправлено вращение иконки в рюкзаке (3д статики).
    - После переезда Жабы - убрано сообщение / штраф к репе при атаке военных на Кордоне.
    - Поправлены координаты иконок обвесов для оружия.
    - Сделаны иконки для уник. предметов.
    - Добавлены все визуалы нпс / монстров для перетаскивания.
    - Снижена масса для физ. объекта клумба / лавка, чтобы нпс не застревали и могли их сдвинуть.
    - Замена модели контейнера для артов.
    - В скриптах убраны вызовы printf (всякая отладочная инфа в логе).
    - При штурме военных базы Греха - удаляются пленные в подвалах.
    - Сон без проверки на усталость.
    - Поправлены некоторые звуки (ogg-comment).
    - Замена звуков выстрелов из CS на другие.
    - Пересобран спавн:
        а) Часть аномалий имеет тип рестриктора IN (нельзя входить), что зачастую вызывает вылет - any vertex in patrol path [123] in inaccessible for object [456], поэтому - переделано на обычный тип.
        б) Для напарника в задании на Холмах поправлена стартовая логика.

     

    Скачать

    • Лайк 3
    • Хабар 2
    • Спасибо 1

  10. Mawrak 

     

    [weather_name_00]
    flares            = flares_default                    ; секция светила из flares.ltx (удалить, если не нужно)
    sky_texture       = sky\sky_2_cube                    ; имя текстуры скайкуба
    sky_rotation      = 0                                 ; его вращение
    sky_color         = 0.41, 0.41, 0.41                  ; и цвет (яркость), на р2 влияет на освещение
    clouds_texture    = sky\sky_oblaka                    ; имя текстуры облаков
    clouds_color      = 0.81, 0.81, 0.81, 0.4, 1.0        ; их цвет, 4 параметр - прозрачность (0 - отключает облака), 5 параметр - множитель на цвет (max 2.5)
    far_plane         = 350                               ; дальность видимости
    fog_distance      = 300                               ; дистанция, с которой начинается туман (fog_distance < far_plane)
    fog_color         = 0.12, 0.12, 0.12                  ; цвет тумана
    fog_density       = 0.9                               ; его плотность
    rain_density      = 0.0                               ; плотность дождя (0 - выключает его)
    rain_color        = 0.3, 0.3, 0.3                     ; и его цвет
    thunderbolt       = thunderbolt_collection_default    ; секция грозы из thunderbolt.ltx (удалить, если не нужно)
    bolt_period       = 3.f                               ; таймаут между вспышками
    bolt_duration     = 0.25f                             ; их продолжительность
    wind_velocity     = 20                                ; сила ветра
    wind_direction    = 0                                 ; и его направление (оба параметра влияют на дождь)
    ambient           = 0.08, 0.08, 0.08                  ; цвет окружающего света (снаружи и в помещениях)
    lmap_color        = 1.0, 1.0, 1.0                     ; цвет лайтмап
    hemi_color        = 0.35, 0.35, 0.35, 1.0             ; цвет окружающего света на р1 (только снаружи), на р2 влияет на прозрачные объекты (вода, стекло)
    sun_color         = 0.50, 0.47, 0.415                 ; цвет света от светила, на р2 при нулевых значениях - отключаются тени объектов от солнца
    sun_dir           = -22, 292.0                        ; 1 параметр - высота светила над горизонтом (min/max: -0.01/-179, зенит: -90)
                                                          ; 2 параметр - и положение относительно его сторон: 0 - юг, 90 - восток, 180 - север, 270 - запад, 360 - юг
    env_ambient       = ambient_env_day                   ; секция фоновых звуков из env_ambient.ltx (удалить, если не нужно)
    
    #####################################################################
    Соответствие параметров:
    
    ТЧ                ЧН / ЗП
    
    flares            -> sun
    thunderbolt       -> thunderbolt_collection
    bolt_period       -> thunderbolt_duration
    bolt_duration     -> thunderbolt_period
    ambient           -> ambient_color
    hemi_color        -> hemisphere_color
    sun_dir (y, x)    -> sun_longitude = y, sun_altitude = x
    env_ambient       -> ambient

    flares.ltx:

    flare_opacity          - непрозрачность каждого отражения, в порядке от дальнего к ближнему
    flare_position         - позиция каждого отражения на оси, порядок соотв. верхнему
    flare_radius           - радиус каждого отражения, порядок соотв. верхнему
    flare_textures         - имена текстур, использованных на каждое отражение, порядок аналогичен
    flare_shader           - шейдер текстур
    flares                 - параметр включает или выключает блики, например, для луны - они не уместны
    gradient               - параметр, включающий / выключающий ореол вокруг светила, дающий эффект ослепления
    gradient_opacity       - непрозрачность ореола
    gradient_radius        - радиус ореола
    gradient_texture       - имя текстуры ореола
    gradient_shader        - шейдер текстуры ореола
    source                 - параметр, включающий / выключающий отображение светила, то есть самого солнца или луны
    source_radius          - радиус светила
    source_texture         - имя используемой текстуры
    source_shader          - шейдер текстуры
    source_ignore_color    - игнорирование цвета светила (sun_color в конфиге погоды)
    blend_time             - скорость перехода одной текстуры в другую, например из flares = flares_sun_rise во flares = flares_default10
    blend_rise_time        - скорость появления, если в предыдущей погодной секции был пустой flares = 
    blend_down_time        - скорость исчезновения, если в последующей погодной секции пустой flares = 

     

    • Мастер! 3
    • Сталкерский лайк 1
    • Аплодисменты 1
    • Хабар 3
    • Спасибо 1

  11. В 22.07.2025 в 17:49, DarkSnowder сказал:

    Везде warriors прописан вроде бы

    В параметр parent для своего таска добавил? Вылет как раз об этом.

     

    Эта строка отсутствует, либо там vrode_warriors_a_vrode_hz

    image.png.a6ae8c21e46a9d8af986a334f0c958c5.png


  12. DarkSnowder 

    В dialogs.xml - tm_petrenko_dialog / tm_petrenko_reward,

    game_tasks_by_vendor.xml - task_type_petrenko

    storyline_info_taskmanager.xml - описание в пда

    task_manager.ltx - проверить, чтобы в секции таска у параметра parent = petrenko (строка из game_story_ids.ltx)

    stable_task_manager.xml - сделать текст для заданий и для:

    tm_petrenko_has_no_job

    tm_petrenko_job_ask

    tm_petrenko_job_complete

    tm_petrenko_job_what

    tm_petrenko_list_job

     

     


  13. Flicker652 

    С помощью 3д редакторов - Maya / Max / Blender - выбирай любой. На ютубе полно обучающих роликов.

    Тут, в темах по ним есть плагины, которые позволяют делать импорт / экспорт в формате .object, в огф конвертирует ActorEditor из состава сдк для сталкера.


  14. CIDOPOBICH 

    Либо у них item condition 0, либо разные классы (class) в секциях сдк / игра. Флаг Used AI Locations на это не влияет.

    17 часов назад, CIDOPOBICH сказал:

    Насчёт классов не понял, где их посмотреть?

    Для примера, открываешь w_mp5.ltx (в геймдате сдк) и находишь параметр class. Его значение должно совпадать с аналогичным значением в w_mp5.ltx (в игровой геймдате / дб).