Перейти к контенту

Pavel_Blend

Проверенные
  • Число публикаций

    131
  • Регистрация

  • Последнее посещение

  • Дней в топе

    1
  • AMKoin

    2,251 [Подарить AMKoin]

Pavel_Blend последний раз побеждал 11 Января 2017

Pavel_Blend - автор самых популярных публикаций!

Баланс оценок

183

1 подписчик

Недавние посетители профиля

2 972 просмотра профиля
  1. @abramcumner да, проверил, это оно. Указал имя локации из выпадающего списка (имя в нижнем регистре) и после компиляции стало больше точек связей. Скомпилировал все локации и собрал спавн. Вот лог конвертера: 0(l01_escape) => 415(l02_garbage) 1(l01_escape) => 252(l02_garbage) 254(l02_garbage) => 701(l03_agroprom) 255(l02_garbage) => 1167(l05_bar) 256(l02_garbage) => 815(l04_darkvalley) 414(l02_garbage) => 1306(l05_bar) 654(l03_agroprom) => 718(l03u_agr_underground) 811(l04_darkvalley) => 1166(l04u_labx18) 1245(l05_bar) => 1543(l07_military) 1247(l05_bar) => 1307(l06_rostok) 1408(l06_rostok) => 1459(l08_yantar) 1460(l08_yantar) => 1538(l08u_brainlab) 1526(l08_yantar) => 2114(l10_radar) 1545(l07_military) => 1865(l10_radar) 1863(l10_radar) => 2400(l11_pripyat) 1975(l10_radar) => 2245(l10u_bunker) 2401(l11_pripyat) => 2528(l12_stancia) 2593(l12u_sarcofag) => 2596(l12u_control_monolith) 2594(l12u_sarcofag) => 2513(l12_stancia) 2598(l12u_control_monolith) => 2788(l12_stancia_2) Это правильный лог или нужно чтобы стрелочки двойные < = > были? Я взял граф из 1.0006 и в нём то же одинарные.
  2. Сделал заново компиляцию. На стадии New phase started: Adding interconnection points в лог пишется: Почему он не может найти локации для connection point? В СДК локации прописаны. Может ли эта ошибка зависеть от регистра символов у имени локации?
  3. @abramcumner да, поле connection заполнено. Я нашёл один граф поинт с заполненным полем. Второй не вверху, а в туннеле возле атп. это смещение задаётся в конфиге game_levels.ltx? в параметре offset? [level_01] name = l01_escape caption = "l01_escape" offset = 3000.0, 1000.0, 0.0 id = 01
  4. @abramcumner что я мог не так сделать? Конфиги вроде бы правильно настроены. Как связи могли пропасть? Или это может баг компиляторов от skyloader'а? Кстати, в файле game_graphs.ltx в этой секции: [location_0] 000 = "..." 001 = "эскейп" 002 = "свалка" 003 = "агропром" 004 = "агропром-подземка" 005 = "темная долина" 006 = "лаборатория X-18" 007 = "даркскейп" 008 = "Бар" 009 = "Росток" 010 = "Янтарь" 011 = "лаборатория X-16" 012 = "Милитари" 013 = "Мертвый город" 014 = "Радар" 015 = "Радар бункер" 016 = "Припять" 017 = "станция АЭС" Числовые id слева должны совпадать с id локации из game_levels.ltx?
  5. @abramcumner я всю папку gamedata скинул: https://disk.yandex.ru/d/zWj-qcufXL1lwQ Это для ТЧ 1.0006. Можешь зайти на свалку или бар и в консоли будет красный текст. А какие программы есть для просмотра связей? ggtool? У меня он не работает, видимо Perl не той версии.
  6. да, я именно так и делал. Использовал компиляторы skyloader'а.
  7. для меня загадка, как gsc смогли добавить эти граф поинты. Самих локаций нет, а граф поитны есть. Я надеюсь игра их не использует. то же загадка, так как я ничего не удалял. Смотрел в лог и в нём нет информации о ненайденных связях. Вообще я пытаюсь взять оригинальный all.spawn и начать с ним работать через СДК. Всё скомпилировал без изменений, но есть ошибки в игре. Кто-то до меня этим занимался? Или все моды сделаны с помощью acdc? Просто есть некоторые проблемы, которые невозможно нагуглить. Я думал, что много кто пытался править спавн в СДК.
  8. Если all.spawn разбить на level.spawn'ы, то при разбиении будут созданы файлы неизвестных локаций: _level_unknown, ai_test, ai_test_new, ai_test2, jim_dark, koan_test, l03_agroprom_hw и т. д. Откуда они взялись? Они содержат только граф поинты и их данные хранятся в game.graph. Я делал компиляцию разбитого all.spawn через СДК. И у меня игра работает не стабильно. Связано ли это с этими локациями? Я их в свой спавн/граф не добавлял. Просто удалил их и скомпилировал нормальные локации. В игре на некоторых локациях красный текст в консоли: [10/20/24 10:21:09] ! Cannot build GAME path! (object gar_stalker_respawn_116830) [10/20/24 10:21:09] ! CURRENT LEVEL : l02_garbage [10/20/24 10:21:09] ! CURRENT game point position : [-57.229004][0.422093][10.744019] [10/20/24 10:21:09] ! TARGET LEVEL : l01_escape [10/20/24 10:21:09] ! TARGET game point position : [-211.235229][-19.935835][-140.098785] [10/20/24 10:21:09] ! Target point mask [1][0][0][0] [10/20/24 10:21:09] ! Object masks (3) : [10/20/24 10:21:09] ! [8][1][255][255] [10/20/24 10:21:09] ! [12][1][255][255] [10/20/24 10:21:09] ! [255][0][255][255] И иногда вылеты.
  9. Как в all.spawn определить локацию, на которой находится объект? Я разобрал спавн элемент и получил параметры: section_name = "ammo_vog-25" name = "dar_ammo_vog-25" game_type = 0 rp = 254 position = 11.041171073913574, 5.667025089263916, 8.340907096862793 direction = 0.0, 0.0, 0.0 respawn_time = 0 object_id = 65535 id_parent = 65535 id_phantom = 65535 flags = 33 version = 118 script_version = 6 client_data_size = 0 client_data = b'' spawn_id = 3268 size = 61 graph_id = 1109 distance = 0.0 direct_control = 1 node_id = 2872 flags = 4294967103 ini_string = "" story_id = 4294967295 spawn_story_id = 4294967295 visual_name = "weapons\ammo\ammo_vog-25" flags = 0 condition = 1.0 elapsed = 1 Локация определяется по graph_id и node_id? Но как это делается?
  10. @abramcumner получилось. Только в конце 3 байта какие-то ещё остались (в самом конце NET пакета 02 00 00). Это выравнивание так сработало? Или какие-то реальные данные? Я хотел бы написать аналог acdc, только на питоне. Чтобы легче было добавлять новые функции. Но пока сложновато идёт написание.
  11. Я пишу скрипт, который разбирает формат all.spawn. Разобрал немалую часть, но не могу разобрать NET пакет для объекта esc_lager1. Вот я в архив поместил только пакет в 286 байт: https://disk.yandex.ru/d/NCsjeAAwiNoavg Я это делаю для того, чтобы разобрать каждый байт, каждый бит спавна. Мне нужно потом сравнивать значения с моим сломанным спавном, чтобы понять, почему объекты на локации те же, что в оригинале, но игра глючит или вылетает. Мне не понятно, что находится по смещению 256. Там идут 16 байт, которые мне не известны, а потом идут параметры CSE_PHSkeleton (startup animation = $editor). Мне нужно узнать, что за 16 байт до строки $editor? В исходниках движка я не могу понять, откуда эти байты берутся. В perl скриптах я тем более не разбираюсь, так как перл не знаю.
  12. @abramcumnerда, в этом acdc работает.
  13. @KD87 Привет. Нашёл один баг в acdc 1.38: Если разбить all.spawn на level.spawn'ы, то в СДК custom data будет напечатана в одну строку. Как я понял, это связано с тем, что в итоговых level.spawn файлах символ новой строки записан в виде одного символа \r, а нужно записывать \r\n. Если custom dat'у скопировать и вставить в Notepad++, то текст будет на нескольких строках. Я потом обратно в СДК копирую его. Но это не главная проблема. Основная проблема в том, что в игре от таких строк какие-то баги непонятные. Сталкеры иногда стоят на месте и появляются вылеты. Я написал свой скрипт, который чинит custom dat'у и багов стало меньше, но они всё равно есть. Может не все строки починил. Можешь исправить этот баг? Из-за него не получается полноценно пользоваться скриптами. Я хотел декомпилировать all.spawn и без изменений скомпилировать с помощью СДК+xrAI. Ничего не менял, а баги появились. all.spawn разбивал на level.spawn с помощью такой команды: universal_acdc.pl -split all.spawn -way
  14. Pavel_Blend

    Blender

    @WinCap у тебя на скриншоте - это просто метка ноды Image: Она не влияет на экспорт. На экспорт влияет имя ноды, если выключен параметр Texture name from image path, либо путь к изображению, если этот параметр влючен. Я объяснял это в видео: https://youtu.be/KG5r0vRfUtk 2 - у меня были идеи по этому поводу. Здесь описывал: https://github.com/PavelBlend/blender-xray/issues/354 Но когда я буду это делать, не знаю. Есть некоторые проблемы в уже написанном коде, поэтому я пока не хочу добавлять новый функционал, пока со старым не разберусь.
  15. Pavel_Blend

    Blender

    @WinCap 1. нужно взять текстуру из папки Textures Folder (которая в настройках аддона) или более вложенной папки. 2. Нужно именно шейдеры переименовать? То есть сами ноды Principled BSDF, Diffuse BSDF и т. д. И по какому принципу нужно переименовать? Имя, которое совпадает с именем текстуры?
×
×
  • Создать...