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

Yara

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

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

  • Посещение

Весь контент Yara

  1. Если это под ТЧ, то сперва делается компил граф каждого уровня: xrAI.exe -g level_name а потом сборка всех в game.graph: xrAI.exe -m после собирается спавн.
  2. Архив обновил. Кодом выше убрал спам: found zero length normal... Вроде ориг. движок их не поддерживает, поэтому экспорт по-умолчанию без этой штуки. А как в игре, баги с шейдингом на модели не появились? С ориг. wpn_usp_45_hud нормально.
  3. Pavel_Blend Приветствую, похоже от системы зависит, на вин7 нормально: И потом, по своему опыту - используя рус для всяких служ. параметров, путей, имён папок и прочего - верный путь к различным ошибкам.
  4. Обновление: https://drive.google.com/file/d/12tR-JjG8lCsV13g9CFFsS-chyRzI0JuC/view?usp=sharing - В АЕ, замена вылета на сообщение, при конвертации в OGF: D3DXVec3Length(&(theVerts.normal)) > 0.00001f && "found zero length normal when calculating tangent basis!, if you are not using mesh mender to compute normals, you must still pass in valid normals to be used when calculating tangents and binormals. - В LE, Images-Edit minimap заменена рабочая папка на _appdata_; - В xrAI добавлен вывод имя графпоинта, если у него в настройках указан отсутствующий уровень в game_levels.ltx, в логе будет: Cannot find level with level_id -1. Connection point [graph_point_name] will not be generated! Все изменения: https://drive.google.com/file/d/1D4yEfqlXoAJ0QtDkTfvkPboFeE7ljxWP/view?usp=share_link В настройках редактора: Preferences->Viewport: far plane и clear color.
  5. Ага, чтобы ActorEditor при экспорте в огф, сохранял сглаживание (сделанное в 3д) на моделях. При экспорте модели wpn_usp_45_hud (с исходников), тоже будет такая ошибка. Исправлял сглаживанием в 3д редакторе. И не похоже, чтобы в той функции удалялись полики: https://github.com/abramcumner/xray16/blob/6b9769832c43decc53899d7d99801f2bcb1aa92e/xray/common/NvMender2003/NVMeshMender.cpp#L845 Того фикса от кд нет, он-то в виде xrECoreB.dll, и что там правлено - хз.
  6. В ролике, после 8 минуты, автор ясно говорит, что надо компилить без ключа. Допускаю, ты собрал свой xrLC, где инвертирована логика ключа -nosmg. Вот результат этого xrLC, или ориг. ЗП: без ключа, normal smooth angle в настройках сцены: 75; меш с разным типом сглаживания (1 - верхний, 2 - нижний) Как выглядит в 3д: с ключом, те же настройки - и наглядно, как 75-кой сдк всё захреначило
  7. В материалах террейна назначаются нужные detail_grnd_ с соответствующим level-шейдером. Далее, на основе текстуры террейна делается terrain_levelname_mask (примеры есть в папке terrain), либо в фотошопе, либо в 3д редакторе, обеспечивающая плавные переходы между материалами. Можно сделать только маску, как это сделано для ЧН-болот, но тогда будут одинаковые звуки шагов на визуально разных материалах. http://youtu.be/rhzf0hfUsps https://xray-engine.org/index.php?title=Настройки_шейдеров_террейна
  8. Имя террейна уровня добавил в textures.ltx? В нём есть секция [association], туда добавь: terrain\boloto_gr = grnd\grnd_treshiny, 400.000000, usage[diffuse] или terrain\boloto_gr = detail\detail_grnd_grass, 100.000000, usage[diffuse]
  9. Вылет на дин.освещении, если нет .thm террейна или нет записи в textures.ltx (ТЧ), блок [association], типа такого: terrain\terrain_escape = detail\detail_grnd_grass, 144.000000, usage[diffuse]
  10. Обычный (бесплатный) акк без всяких плюх, это скорее из-за яндекс-почты при регистрации: Ключ -nolog, чтобы логи не плодил. По параметрам, в зп-исходнике PPEditor встречаются: https://github.com/abramcumner/xray16/blob/6b9769832c43decc53899d7d99801f2bcb1aa92e/xray/editors/PPEditor/interp.cpp#L140 но их нет в формах интерфейса, и похоже код для редактора, который в зп-сдк-designer\mixed, а я взял, который в tools, вместе с dialog_editor. https://ap-pro.ru/forums/topic/1088-videouroki-po-programme-x-ray-sdk-04-sdk-07-stalker/ Блок LevelEditor, пункт №19. Сдк ТЧ/ЧН/ЗП одинаковы, в плане - открыть уровень - накидать пропсов / прочего - сбилдить - скомпилить - получить вылет
  11. Начиная с ТЧ, помимо формата OGM, поддерживается AVI. Оба варианта можно использовать вместо текстуры, предварительно сконвертировать без звуковой дорожки. Плейлист .seq работать не будет. Если AVI, то нужно перевернуть видео по вертикали, либо развёртку тех полигонов, где будет проигрываться видео. Размер видео по x:y кратное, как для текстур - иначе вылет на r3-4, а вот на r2.5 (и ниже) для AVI любое (хоть Full HD). Есть баги с OGM (нижние тв) на любом рендере, и на r3-4: Как исправить, не знаю. Кто желает покопаться в движке, то некоторые файлы: \engine\Layers\xrRender\SH_Texture.cpp \engine\Layers\xrRender\dxUIRender.cpp \engine\xrEngine\xrTheora_Surface.cpp \engine\xrEngine\tntQAVI.cpp Шейдеры: hud_movie.s, yuv2rgb.ps Архив с геймдатой для ориг. ЗП (посмотреть как / чего): https://drive.google.com/file/d/1b_68xub0KXSEXA_C6M7CEsYb-BdCu9gA/view?usp=sharing
  12. RayTwitty 1. Проверял на чистом ТЧ, сфер.env_mod работает, а если расставлены кубические, то они (без правок) распознаются как 10м сферы. 2. Эти .pdb оставлял, чтобы при вылете в логе был полный список вызываемых функций/файлов. Сейчас вроде всё нормально работает, больше в архив их добавлять не буду. 3. Поподробнее, что там с управлением? 4. Репо только локальный, а тот удалён вместе с аккаунтом, т.к. Bitbucket ушёл из России. Можно перенести на гитхаб, но его владелец Microsoft. Он также может поступить.
  13. Она уже есть, но не работает, т.к. ориг.модели ящиков криво настроены. Тут исправлены: https://drive.google.com/file/d/1bmO3G8czkda1uIGGJjc7ZUgcWxvJ0tiv/view?usp=sharing
  14. РСФСР Вводить надо в поля ниже, там же подписано RGB. Туда или оттуда можно взять цвет для конфига погоды. Выше есть значок прицела, удерживая и перемещая его, можно получать цвет под ним.
  15. Эти числа для RGB, на скрине палитры - правая колонка (Scalar). Можно в сдк, на вкладке группы, добавить какую-нибудь из light_preset, там есть основные цвета для ламп. Вот на эту тему (блок "Цвета"): http://stalkerin.gameru.net/wiki/index.php?title=Освещение_игрового_окружения_–_как_и_почему
  16. Через погоду легче, всего-то для нужного часа дополнив амбиент (выше расписали как). Ещё можно в сдк расставить звуки: active time - время, когда может проигрываться звук play time - время, в котором звук повторяется заново pause delta - пауза между проигрываниями Тут сверчок орёт между 20-24 часами, с повтором 8-14 сек и паузой 30-55 сек.
  17. В коде за тот год: m_D3D.type = D3DLIGHT_POINT; m_D3D.diffuse.set (1.f,1.f,1.f,0); m_D3D.attenuation0 = 1.f; m_D3D.range = 8.f; m_D3D.phi = PI_DIV_8; число пи / 8 (0.392) m_Brightness = 1; далее встречается умножения цвета на яркость: L.diffuse.mul_rgb(m_Brightness); Получается, если цвет > 1, то: diffuse = 1.992157, 1.545098, 1.058824 на 0.992157, 0.545098, 0.058824 Можно делать скрины в том билде и брать с них цвет в фотошопе. Или скрин палитры в сдк, если он сбивается при нажатии на неё.
  18. Prostomod \xrServerEntities\clsid_game.h \xrServerEntities\object_factory_register.cpp \xrServerEntities\xrServer_Objects_ALife_Monsters.cpp
  19. РСФСР Использую такую, с вариантом по имени: function relocate_actor_inventory_to_box(actor, npc, p) local function transfer_object_item(item) --# Секции, которые не перемещать if item:section() ~= "wpn_binoc" and item:section() ~= "wpn_knife" and item:section() ~= "device_torch" and item:section() ~= "device_pda" then db.actor:transfer_item(item, inv_box_1) end end --# (отключено) Вариант по сиду: %=relocate_actor_inventory_to_box(123)% --# inv_box_1 = level_object_by_sid(p[1]) --# Вариант по имени: %=relocate_actor_inventory_to_box(esc_inventory_box_0123)% local s_obj = alife():object(p[1]) inv_box_1 = level.object_by_id(s_obj.id) --# actor:inventory_for_each(transfer_object_item) end
  20. fixx Походу в репаке старая версия. Можно запустить любой редактор, и в логе посмотреть версию, последняя: 'xrCore' build 8746, Apr 12 2023
  21. РСФСР Наверное, лучше с привязкой. Как-то тестил нпс без неё, по одному смарту на 2 уровнях, и он попёрся (не всегда) в другой, при прочих равных условиях.
  22. Тогда нужно так: if not has_alife_info("test1_info") and not has_alife_info("test2_info") and not has_alife_info("test3_info") or has_alife_info("test4_info") then