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

Pavel_Blend

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

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

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

  • Дней в топе

    1
  • AMKoin

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

Весь контент пользователя Pavel_Blend

  1. @Vadyanchikus обнови acdc: https://github.com/abramcumner/universal_acdc/releases Переносы строк в custom data были исправлены ещё в 1.40. Сейчас последняя 1.43. я делал так же, как и ты. Граф поинты этих уровней удалил. Потом сделал компиляцию в СДК и получил all.spawn. Проходил всю игру со своим спавном. Вроде бы проблем не было. Прошёл игру полностью несколько раз на разных спавнах (один компилировал без изменений, другой немного подправил, менял количество денег, стартовый инвентарь и т. д.). Хотя один раз проходил и на янтаре Круглов не мог выйти из бункера учёных. Уткнулся в дверь и не мог её открыть. Перезагрузка не помогала. Но это было один раз.
  2. Переустановил windows 10 и у меня стал не правильно работать ТЧ 1.0006. НПС в деревне новичков замирают и стоят на месте. На блокпосте тоже стоят на месте и спят в первоначальных местах спавна. Моды не установлены. Уже заново установил игру, заново поставил патчи, установил directx, Visual C++ Redistributable x86 2005, 2008, 2010, OpenAL. Создавал новую игру, удалял старые сохранки, но они стоят и всё. Уже не знаю, что делать. Стоят на месте те, которые возле коста сидеть должны. Они потом садятся у костра, но после того, как уйдут в оффлайн, а потом опять появятся в онлайне. Как это исправить?
  3. @abramcumner вот: l01_escape heli_idle_move heli_sleep heli_sleep2 l08_yantar heli_move_end_1 heli_move_end_2 l12_stancia heli_death_way Неизвестные: actors_way heli_stay_3 look_enemy_1 walk_2 walk_enemy_1 way
  4. Сейчас я посмотрю. А из-за чего эти waypoint'ы невозможно привязать ни к какой локации? Потому что не правильное значение level_vertex_id, как я писал выше? Но почему оно вообще не правильное? Если бы не было бы way_prefixes.ini и таблицы way_name_exceptions, то таких кривых путей было бы куча.
  5. да, спавн оригинальный от 1.0006 всё таки этот способ не работает. Я всё так сделал, потом сделал split для полученного all.spawn и пути для x18 опять записались в unrecognized_ways.game. Наверное это потому, что, при разбиении, локация определяется по level_vertex_id (у этих путей он равен 4294967295). Неважно в каком ltx файле хранится путь, при запаковке эта информация теряется. Важно, что будет записано в level_vertex_id. В итоге после split эти пути всё равно не попадут в нужный level.game. У меня возникла другая идея. Декомпилировать unrecognized_ways.game и в СДК открыть его и перенести пути в другую сцену. Может получится сначала сохранить с помощью Save Selection As, а потом открыть x18 и загрузить пути. это сработало для x18, но что делать с heli_idle_move, heli_move_end_1, heli_move_end_2 и т. д.? Наверное для них придётся через СДК, как выше написал. @abramcumner а ты можешь в репозитории на github добавить строку l04u_labx18 = dar в way_prefixes.ini?
  6. Сейчас для проверки добавил недостающие пути в свой алл.спавн (чтобы не делать компиляцию в сдк) и пропал вылет в x18. Раскидал waypoint'ы из way__level_unknown.ltx по файлам локаций, но у меня остались пути, которые, вроде бы, не используются (искал их имена в all.spawn, конфигах, скриптах и не нашёл). Не знаю в какие локации их поместить. Вот они: actors_way heli_stay_3 look_enemy_1 walk_2 walk_enemy_1 way Я их не добавил в свой all.spawn. Надеюсь в игре не будет вылетов.
  7. у меня его нет в all.spawn. Я декомпилировал свой all.spawn и с помощью поиска в notepad++ не нашёл его. Нашёл только использование пути (прописан в custom data для esc_heli на кордоне), но самого пути нет. Я понял почему у меня нет этого и других путей. Нашёл ещё ссылки на отсутствующие пути из x18 (dar_particle_way1, dar_particle_way3, dar_particle_way4, dar_particle_way5). Я разбил all.spawn на level.spawn и получил кучу мусора в виде локаций, у которых есть только графпоинты (думаю это не страшно). Я их не добавлял в свой all.spawn, просто удалил их. Имена локаций такие: _level_unknown ai_test ai_test_new ai_test2 jim_dark koan_test l03_agroprom_hw l03u_agr_underground_hw l05_bar_hw plecha_selo slipch_al_test stohe_selo Но помимо мусорных граф поинтов, есть ещё пути, которые не удалось поместить ни на одну локацию. Эти пути сохраняются в файл unrecognized_ways.game. В этом файле хранятся пути для вертолёта, x18 и другие. Я думал это какой-то мусор и удалил его. Только, что делать с этим файлом? Может перед тем, как делать split, сделать декомпиляцию с помощью acdc и получится файл way__level_unknown.ltx. Потом с помощью поиска в notepad++ вычислить, к каким локациям относятся эти пути, потом перенести секции путей в файлы нужных локаций, потом запаковать и только после этого делать split.
  8. Ты пытаешься разбить all.spawn от 1.0006 патча или мой? У меня и первый и второй разбиваются. Для чего нужен ключ -use в конце? У меня в принципе и с ним разбивается.
  9. @abramcumner ну на самом деле у меня движок 1.0007, билд 5578 (xp_dev вроде называется, KD его правил и компилировал в году 2015). Он практически такой же, как 1.0006. На нём all.spawn из 1.0006 нормально работает. В этом движке есть читерские команды g_god, g_unlimitammo, jump_to_level и т. д. Ну и по мелочи. Вот что в логе в конце после вылета: OGSR движок даже не может создать новую игру с моим спавном. Вот последние строки из лога: Проверил на патче 1.0006. Результат тот же, что и на 1.0007.
  10. Хотел заспавнить на оригинальные локации из ТЧ много чего с помощью СДК. Но для начала решил хотя бы пересобрать оригинальный спавн. Но у меня появились ошибки. Хотя я не добавлял ни одного объекта и не менял ничего, кроме пары исправлений ошибок. - Сначала разбил all.spawn на level.spawn с помощью universal_acdc 1.42. - Потом декомпилировал все локации - Открыл каждую в LevelEditor и сделал для всех Build. Правда иногда были ошибки, которые я исправил. Например, на одной подземной локации было два источника света с одинаковым именем. Второй источник света переименовал и ошибка исчезла. Так же на ЧАЭС террейн не был добавлен ни в один сектор (добавил). И на Припяти гаражи имели не правильные шейдеры (исправил). - Изменил конфиги локаций (добавил в список локацию l10u_bunker, её не было в списке, так же удалил лишние мусорные локации, которые не используются. У меня в списке остались только 18 сингл локаций). - Потом скомпилировал все локации с помощью компиляторов от skyloader (версия 1.6b). Сначала скомпилировал геометрию, потом аи сетку и в конце глобальный граф и all.spawn. Полученные локации и all.spawn работают. Начал новую игру, все квесты выполняются нормально, всё работает, пока не попадёшь в лабораторию x18. Если подобрать документы из x18, то игра ломается. Не появляется сон (с крысами возле ЧАЭС). Не спавнятся военные в x18, после убийства огненного полтергейста. И нельзя будет перейти на другую локацию, будет вылет (хоть с помощью переходов, хоть с помощью команды jump_to_level): Expression : fatal error Function : CScriptEngine::lua_error File : script_engine.cpp Line : 73 Description : <no expression> Arguments : LUA error: d:\e\soc\gamedata\scripts\_g.script:20: bad argument #2 to 'format' (no value) Уже раз 5 пытаюсь пересобрать all.spawn с помощью СДК, но каждый раз этот вылет в лаборатории. Вот gamedata и сохранки: https://disk.yandex.ru/d/oci11hUr1Mcx3w Патч 1.0006. В gamedata добавил только то, что касается спавна (level.ai, level.gct), но не добавлял новую геометрию (level, level.geom, level.geomx, level.cform и т. д.). level.spawn и level.game не добавлял, так как игра их не использует (все спаун объекты и waypoint'ы хранятся в all.spawn). Я уже не знаю, где искать причину вылета. Я хочу, чтобы после всех этих манипуляций (разбиение all.spawn, декомпиляция, компиляция) у меня получился all.spawn, который идентичен тому, который был до декомпиляции (естественно не байт в байт, а в плане работоспособности, чтобы он работал на тех же конфигах и скриптах, что и оригинальный и не ломался). Можно ли как-то выяснить, в чём проблема моего спавна? Почему вообще этот вылет появился?
  11. @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 и в нём то же одинарные.
  12. Сделал заново компиляцию. На стадии New phase started: Adding interconnection points в лог пишется: Почему он не может найти локации для connection point? В СДК локации прописаны. Может ли эта ошибка зависеть от регистра символов у имени локации?
  13. @abramcumner да, поле connection заполнено. Я нашёл один граф поинт с заполненным полем. Второй не вверху, а в туннеле возле атп. это смещение задаётся в конфиге game_levels.ltx? в параметре offset? [level_01] name = l01_escape caption = "l01_escape" offset = 3000.0, 1000.0, 0.0 id = 01
  14. @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?
  15. @abramcumner я всю папку gamedata скинул: https://disk.yandex.ru/d/zWj-qcufXL1lwQ Это для ТЧ 1.0006. Можешь зайти на свалку или бар и в консоли будет красный текст. А какие программы есть для просмотра связей? ggtool? У меня он не работает, видимо Perl не той версии.
  16. да, я именно так и делал. Использовал компиляторы skyloader'а.
  17. для меня загадка, как компания-разработчик (признана нежелательная) смогли добавить эти граф поинты. Самих локаций нет, а граф поитны есть. Я надеюсь игра их не использует. то же загадка, так как я ничего не удалял. Смотрел в лог и в нём нет информации о ненайденных связях. Вообще я пытаюсь взять оригинальный all.spawn и начать с ним работать через СДК. Всё скомпилировал без изменений, но есть ошибки в игре. Кто-то до меня этим занимался? Или все моды сделаны с помощью acdc? Просто есть некоторые проблемы, которые невозможно нагуглить. Я думал, что много кто пытался править спавн в СДК.
  18. Если 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] И иногда вылеты.
  19. Как в 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? Но как это делается?
  20. @abramcumner получилось. Только в конце 3 байта какие-то ещё остались (в самом конце NET пакета 02 00 00). Это выравнивание так сработало? Или какие-то реальные данные? Я хотел бы написать аналог acdc, только на питоне. Чтобы легче было добавлять новые функции. Но пока сложновато идёт написание.
  21. Я пишу скрипт, который разбирает формат all.spawn. Разобрал немалую часть, но не могу разобрать NET пакет для объекта esc_lager1. Вот я в архив поместил только пакет в 286 байт: https://disk.yandex.ru/d/NCsjeAAwiNoavg Я это делаю для того, чтобы разобрать каждый байт, каждый бит спавна. Мне нужно потом сравнивать значения с моим сломанным спавном, чтобы понять, почему объекты на локации те же, что в оригинале, но игра глючит или вылетает. Мне не понятно, что находится по смещению 256. Там идут 16 байт, которые мне не известны, а потом идут параметры CSE_PHSkeleton (startup animation = $editor). Мне нужно узнать, что за 16 байт до строки $editor? В исходниках движка я не могу понять, откуда эти байты берутся. В perl скриптах я тем более не разбираюсь, так как перл не знаю.
  22. @abramcumnerда, в этом acdc работает.
  23. @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
  24. Pavel_Blend

    Blender

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

    Blender

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