-
Публикаций
243 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Yara
-
-
Превышен лимит по количеству вертексов (iNumVerts) на объект. Если он не изначально такой ультра-полигональный, значит - xrLC на фазе тесселяции, его таковым сделал. В компиляторах от Ская, есть ключ -notess для пропуска этой фазы.
-
Не до конца убрал блоки в 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
-
-
-
Спойлер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 -- ночной визор
-
1
-
1
-
-
-
Насчёт лагов с убитыми нпс, попробуй потестить такое:
\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
-
-
Вейпоинты для работ в смарте сделал? Если их нет, нпс будут бродить по уровню и респавна не будет. Посмотри как сделано в оригинале.
-
16 часов назад, Chickenboss226 сказал:1. Текстуры террейна и дороги плывут и меняют качество при движении камеры
2. Я поместил бандитов в смарт террейн, но они из него уходят
3. Я в другом смарт террейне сделал 2 респавна но там никто не респавнится1. В textures\textures.ltx, блок [association] - добавляешь свой террейн, как другие, пр.: terrain\terrain_agroprom
2. В настройках смарта: communities = bandit, ещё можно у нпс в кастомдате указать:
[smart_terrains]
gar_bandit_agr = true3. В se_respawn.script есть ограничение на количество разной живности. Респавнер создаёт, если в смартах есть подходящие (по communities) свободные работы. Он может не работать, если в его настройках:
[respawn]
respawn_radius = 100 ; отключать спавн, если дистанция до актора <= указанной-
1
-
-
Пример простого лагеря:
[smart_terrain]
type = general_lager
capacity = 4
communities = stalker-
1
-
-
Делаешь бекап папки уровня в rawdata\maps, и удаляешь по одному типу элемента, например - все патроны.
-
1
-
-
Раз ТЧ, делаешь распак оригинальных дб (1.0006), берёшь папку scripts и копируешь в геймдату сдк с заменой.
-
Для ясности, в папке уровня:
build.aimap - для компилятора, чтобы получить level.ai, который требуется для сборки графа и спавна / игры. И какой есть у тебя?
-
В 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
-
СпойлерПроект расстановки тимов, сквадов и групп.
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
-
-
В 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
-
Для мп-карты достаточно сделать Make Game в сдк. В game_maps_mp.ltx уровень добавляется, чтобы назначить секцию погоды / масштаб миникарты.
-
1
-
-
Было сделано во время прохождения:
Спойлер- Убрано подкидывание нпс / монстра после смерти. - Удалены инклуды диалогов в спавн-блоки в профиле нпс (неправильно и вызывает вылеты). - Добавлены диалоги о помощи аптекой некоторым нпс. - Для некоторых диалогов (на них были вылеты) сделаны нормальные локали. - В диалог о продаже инфы добавлены почти все кпк / доки, кроме тех, что отдаются по заданиям. - При подборе уникального кпк / документа - будет добавлена инфа в раздел кпк\найденная информация. - Для некоторых предметов поправлено вращение иконки в рюкзаке (3д статики). - После переезда Жабы - убрано сообщение / штраф к репе при атаке военных на Кордоне. - Поправлены координаты иконок обвесов для оружия. - Сделаны иконки для уник. предметов. - Добавлены все визуалы нпс / монстров для перетаскивания. - Снижена масса для физ. объекта клумба / лавка, чтобы нпс не застревали и могли их сдвинуть. - Замена модели контейнера для артов. - В скриптах убраны вызовы printf (всякая отладочная инфа в логе). - При штурме военных базы Греха - удаляются пленные в подвалах. - Сон без проверки на усталость. - Поправлены некоторые звуки (ogg-comment). - Замена звуков выстрелов из CS на другие. - Пересобран спавн: а) Часть аномалий имеет тип рестриктора IN (нельзя входить), что зачастую вызывает вылет - any vertex in patrol path [123] in inaccessible for object [456], поэтому - переделано на обычный тип. б) Для напарника в задании на Холмах поправлена стартовая логика.
-
3
-
2
-
1
-
-
[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
-
-
В 22.07.2025 в 17:49, DarkSnowder сказал:Везде warriors прописан вроде бы
В параметр parent для своего таска добавил? Вылет как раз об этом.
Эта строка отсутствует, либо там vrode_warriors_a_vrode_hz
-
В 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
-
В task_manager.script есть функции для квестодателей:
init_petrenko_task_dialog
init_petrenko_reward_dialog
Для своего нпс подобное сделал?
-
Посмотреть как настроены анимки у ориг. ножа + в его в конфиге:
anim_shoot1_start = shoot1_start
anim_shoot2_start = shoot2_start
anim_shoot1_end = shoot1_end ; при их проигрывании наносится хит
anim_shoot2_end = shoot2_endещё может маленький fire_distance.
-
С помощью 3д редакторов - Maya / Max / Blender - выбирай любой. На ютубе полно обучающих роликов.
Тут, в темах по ним есть плагины, которые позволяют делать импорт / экспорт в формате .object, в огф конвертирует ActorEditor из состава сдк для сталкера.
-
Либо у них item condition 0, либо разные классы (class) в секциях сдк / игра. Флаг Used AI Locations на это не влияет.
17 часов назад, CIDOPOBICH сказал:Насчёт классов не понял, где их посмотреть?
Для примера, открываешь w_mp5.ltx (в геймдате сдк) и находишь параметр class. Его значение должно совпадать с аналогичным значением в w_mp5.ltx (в игровой геймдате / дб).
X-Ray SDK 0.7 (CoP)
в Работа с SDK
Опубликовано
Novik
У меня тоже самое было с nosun для станции, пришлось делать такое разбиение: