Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kalambur 25 Опубликовано 11 апреля, 2021 Подскажите пожалуйста, легкий способ дать метку стрелку, чтобы на карте отмечался...qvest_nps не помогло...с другими работает а со стреоком не хочет ! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 942 Опубликовано 11 апреля, 2021 (изменено) Kalambur Обычно для этого достаточно: [logic@....] .... level_spot = quest_npc Сама метка ставиться скриптом stalker_generic.script, в нем же и определены возможные значения параметра level_spot. Изменено 11 апреля, 2021 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hozar_2002 128 Опубликовано 11 апреля, 2021 (изменено) 9 часов назад, Stepan_sovok1917 сказал: но работают на статике Если правильно понимаю речь идет в данном случае о отражении небесной коробки на всяких стеклах и оружии. Поясняю. Разные рендеры в сталкере имеют свои шейдры. Так напрмер статика (DX9) имеет "прямой" рендеринг, который позволяет использовать разные подходы к освещению объектов, но мало применим в сценах с большим количеством динамических источников света. На динамике (DX9 - DX11) используется "отложенный" рендеринг. Он позволяет использовать большое количество источников света, в ущерб разнообразию. Все что на динамике не вписывается в этот тип отрисовки (а это все полупрозрачные материалы) выглядят максимально плохо ввиду отсутствия на них нормального освещения. Вернемся к отражениям. На динамике есть отражение кубической карты, но для отражения используется не точная карта текущего неба, а сильно размытая. Правится это дело в шейдре hmodel.h и зависит от карты - спекуляра, и консольной команды r2_gloss_factor. Чтобы сделать более выраженным отражение небесной коробки на динамике нужно провести замены в 2-х файлах. Спойлер и Спойлер В данных местах нужно заменить env_s0 и env_s1 соответственно на sky_s0 и sky_s1. Для корректной работы правок на DX10 - DX11 рендерах очень желательно удалить из игровых архивов папку shaders\r3\objects. Описал действия для ЗП, но думаю для других платформ оно будет примерно аналогично. Изменено 11 апреля, 2021 пользователем Hozar_2002 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yura001 1 Опубликовано 12 апреля, 2021 Всем здравствуйте, с помощью инфопоршней сделал вход в диалог при приближении к персонажу на 3 метра. Хотелось бы, чтобы после телепортации персонаж тоже входил в диалог, но для того, чтобы он активировался приходится выходить из "ауры" в 3 метра и подходить опять. Как можно реализовать вход в диалог без нажатия клавиши, чтобы и после телепортации он открывался и не приходилось двигаться? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 12 апреля, 2021 Почему НПС с данной логикой не атакует враждебных к нему НПС? Просто дальше сидит на анимпоинте. Спойлер [logic@esc_a2_mechanic] suitable = true prior = 70 active = animpoint@base can_select_weapon = false level_spot = mechanic on_combat = combat@danger [animpoint@base] cover_name = esc_a2_mechanic_cover avail_animations = animpoint_sit_normal meet = meet@1 combat_ignore_cond = false combat_ignore_keep_when_attacked = false invulnerable = true gather_items_enabled = true help_wounded_enabled = true corpse_detection_enabled = false use_camp = false reach_movement = rush [combat@danger] meet = meet@attacked [meet@1] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = true can_trade = false allow_break = false meet_on_talking = true use_wpn = false [meet@attacked]:meet@1 use = false meet_on_talking = false allow_break = true Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Khajiit_stole_nothin 0 Опубликовано 12 апреля, 2021 (изменено) В 11.04.2021 в 01:21, Khajiit_stole_nothin сказал: Буду кратокПортированное оружие не стреляет,нет прицеливания,не убирается в кобуру словно это просто item, но config, анимация, xxx_hud.ogf и т.д есть и редактировано под условия, но не настроен HUD вообще.(правый локоть/кость на половину экрана) Также, ствол работает на 2ух сторонних модификациях. Проводил тест лично. Можете навести меня на проблему? "папка" Проблема была в анимации рук с оружием. Все еще магазин не отстегивается,затвор не дергается но главное что АСВК рабочий. За советы, всем спасибо и моя благодарность. Изменено 12 апреля, 2021 пользователем Khajiit_stole_nothin Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 12 апреля, 2021 А что означает {~25} в логике НПС? on_info = {+esc_actor_tried_kill_qn ~60} walker@killer, {+esc_actor_tried_kill_qn ~40} walker@search Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 672 Опубликовано 12 апреля, 2021 (изменено) 3 часа назад, liner сказал: Почему НПС с данной логикой не атакует враждебных к нему НПС? Потому что вы ему запретили брать в руки оружие, прописав can_select_weapon = false Он что? Пальцем стрелять будет? Потому сидит и ждет, когда его пристрелят. А вот это: combat_ignore_cond = false combat_ignore_keep_when_attacked = false gather_items_enabled = true help_wounded_enabled = true вообще указывать в логике не нужно. По умолчанию скрипты и так установят эти значения. Просто делаете лишние телодвижения и засоряете файл логики. 9 минут назад, liner сказал: А что означает {~25} в логике НПС? Вероятность. Изменено 12 апреля, 2021 пользователем makdm 1 1 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZV4X 29 Опубликовано 12 апреля, 2021 7 минут назад, makdm сказал: Он что пальцем стрелять будет? Болтами закидает 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 12 апреля, 2021 Как сделать так, чтобы враждебный НПС не стрелял только в ГГ (для того, чтобы поговорить с ним, например)? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 942 Опубликовано 12 апреля, 2021 liner combat_ignore_cond = {=check_enemy_name(actor)} true, false 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Phantom_86 64 Опубликовано 13 апреля, 2021 Ищу конвертер ТЧшной аи-сетки под ЗП. Точно помню, что существовал такой, но нигде не могу найти Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 13 апреля, 2021 (изменено) Кто-нибудь встречался с подобным вылетом? Он появляется при спавне НПС или во время его существования. Как его исправить? Спойлер stack trace: E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D59EA2D0 _matrix<float>::mul_43() in E:\OPENXRAY_REPOS\src\utils\xrMiscMath\matrix.cpp line 128 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D5582BAD AttachmentCallback() + 189 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\attachment_owner.cpp line 74 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D5621C2B VisualCallback() + 59 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\GameObject.cpp line 1152 + 5 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrRender_R2.dll at 00007FF9D8C0AC08 CKinematics::CalculateBones() + 3080 byte(s) in E:\OPENXRAY_REPOS\src\Layers\xrRender\SkeletonRigid.cpp line 120 + 5 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D599AF10 CWeapon::UpdateXForm() + 464 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Weapon.cpp line 163 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D599B306 CWeapon::UpdateFireDependencies_internal() + 54 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Weapon.cpp line 198 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D59B0A17 CWeaponMagazined::UpdateSounds() + 87 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\WeaponMagazined.cpp line 490 + 23 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D59B9D22 CWeaponMagazinedWGrenade::UpdateSounds() + 18 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\WeaponMagazinedWGrenade.cpp line 720 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F80318F2 CObjectList::SingleUpdate() + 130 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\xr_object_list.cpp line 149 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8031CB7 CObjectList::Update() + 519 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\xr_object_list.cpp line 277 + 11 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8001BB4 IGame_Level::OnFrame() + 20 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\IGame_Level.cpp line 179 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrGame.dll at 00007FF9D56F3E54 CLevel::OnFrame() + 756 byte(s) in E:\OPENXRAY_REPOS\src\xrGame\Level.cpp line 475 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE1BD6 MessageRegistry<pureRender>::Process() + 94 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\pure.h line 97 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE1421 CRenderDevice::FrameMove() + 337 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 546 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE0BCB CRenderDevice::ProcessFrame() + 75 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 323 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE0ED4 CRenderDevice::message_loop() + 532 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 448 + 8 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F7FE1199 CRenderDevice::Run() + 569 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\device.cpp line 485 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8035A9C Startup() + 1660 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\main.cpp line 311 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.dll at 00007FF9F8036024 RunApplication() + 772 byte(s) in E:\OPENXRAY_REPOS\src\xrEngine\main.cpp line 382 E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.exe at 00007FF6E90E132B entry_point() + 667 byte(s) in E:\OPENXRAY_REPOS\src\xr_3da\entry_point.cpp line 55 + 6 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.exe at 00007FF6E90E13F4 WinMain() + 20 byte(s) in E:\OPENXRAY_REPOS\src\xr_3da\entry_point.cpp line 77 + 8 byte(s) E:\S.T.A.L.K.E.R. Call of Pripyat\bin\xrEngine.exe at 00007FF6E90E169E __scrt_common_main_seh() + 262 byte(s) in d:\agent\_work\63\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl line 288 + 33 byte(s) C:\Windows\System32\KERNEL32.DLL at 00007FFA0ACC7974 BaseThreadInitThunk() + 20 byte(s) C:\Windows\SYSTEM32\ntdll.dll at 00007FFA0CBCA271 RtlUserThreadStart() + 33 byte(s) Уже несколько тысяч раз проверял, и заметил: *Этот вылет не зависит от правок движка. *Этот вылет не зависит от конфигов. *Этот вылет не зависит от исправленных костей в модели (чтобы нпс не сгибался так сильно) *Скорее всего, вылет зависит от правок в скриптах. Дополнено 53 минуты спустя Когда НПС занимает смарткавер то происходит такой вылет: Спойлер Жалуется на if(#self.st.approved_actions==0) then abort("There is no approved actions for stalker[%s] in animpoint[%s]", db.storage[self.npc_id].object:name(), self.object:name()) end В файле xr_animpoint.script Использовал SDK 0.7 от DaaGuda V2. Вылетает именно на том смарткавере, где прописана новая анимация для него - animpoint_sit_ass. Изменено 13 апреля, 2021 пользователем liner Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 3 892 Опубликовано 13 апреля, 2021 Такой вопросик, какой функцией идет запуск видео, как в моменте с рацией в Припяти? Дополнено 3 минуты спустя 4 часа назад, liner сказал: Использовал SDK 0.7 от DaaGuda V2. Вылетает именно на том смарткавере, где прописана новая анимация для него - animpoint_sit_ass. Как я знаю, эту фигню надо адаптировать и поработать с файлами. Попробуй перекинуть файл из СДК или попроси у кого-то. Вроде нужны "smart_covers_animpoint_sit_ass" и "smart_covers_loophole_animpoint_sit_ass". Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 14 апреля, 2021 8 часов назад, AziatkaVictor сказал: Такой вопросик, какой функцией идет запуск видео, как в моменте с рацией в Припяти? gamedata\configs\scripts\pripyat\pri_a28_center_radio.ltx Запускается туториал =run_tutorial(talk_ssu), в game_tutorials.xml полное описание действия. Дополнено 3 минуты спустя Добро. Возникла такая проблемка: сразу после кат-сцены запускается автодиалог с НПС, появляется диалоговое окно, но я не могу с ним взаимодействовать, зато могу открыть инвентарь, пда и даже выйти в меню и всё. Примечательно то, что этот баг не всегда возникает, то есть если перезагружать кат-сцену сначала, то диалог после неё может заработать нормально, а может и не заработать. Кто сталкивался? Что делать? 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 942 Опубликовано 14 апреля, 2021 4 часа назад, Neptun сказал: Что делать? ИМХО попробуйте сделать задержку между окончанием катсцены и запуском диалога. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Yura001 1 Опубликовано 14 апреля, 2021 denis2000 добавил эту функцию вместо ручного набора координат. Начало телепортировать не ко мне, а в угол локации. НПС вон там на горизонте Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kalambur 25 Опубликовано 14 апреля, 2021 Кто может подсказать, как в ПДА создать статью или че ищо там модно создать, для того чтобы при получении наводки за злачу квеста, эта наводка записовалась в эту "статью" и т.д. ?! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 942 Опубликовано 15 апреля, 2021 (изменено) Yura001 Пробуйте так: function teleport_npc_to_actor(npc) npc:set_npc_position(level.vertex_position(db.actor:level_vertex_id())) end Изменено 15 апреля, 2021 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 15 апреля, 2021 В 14.04.2021 в 11:47, Neptun сказал: Добро. Возникла такая проблемка: сразу после кат-сцены запускается автодиалог с НПС, появляется диалоговое окно, но я не могу с ним взаимодействовать, зато могу открыть инвентарь, пда и даже выйти в меню и всё. Примечательно то, что этот баг не всегда возникает, то есть если перезагружать кат-сцену сначала, то диалог после неё может заработать нормально, а может и не заработать. Кто сталкивался? Что делать? Вообще удалил условие автоматического возникновения диалога, в итоге при попытке говорить с НПС получил безлоговый вылет. Я просто понять не могу, почему ошибка непостоянна, чтобы можно было точно определить проблему, нет же, раз за разом перезагружаю игру и иногда получаю идеальные варианты, когда диалог появляется, отлично читается и никаких ошибок. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 15 апреля, 2021 Как проверить, что симуляционный НПС получил хит (неважно от кого), и этот НПС находится в рестрикторе? Цитата https://ibb.co/9HNr3Cm Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stepan_sovok1917 41 Опубликовано 15 апреля, 2021 Hozar_2002 Спасибо, это именно то, что я искал. Надо как-нибудь попробовать 6 часов назад, denis2000 сказал: Это потому, что у вас на тестовой локации аж один левел вертекс. А кто вообще такие эти левел вертексы и как их сделать больше? Паблик ВК Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 942 Опубликовано 15 апреля, 2021 (изменено) 4 часа назад, Neptun сказал: Вообще удалил условие автоматического возникновения диалога, в итоге при попытке говорить с НПС получил безлоговый вылет. Во первых приведите всеже логику нпс в части секции meet. Во вторых попробуйте то рекомендовал: В логику катсцены добавьте таймер, который после окончания сцены с задержкой например в 1 сек выдаст инфопорцию, а в условие автостарта диалога добавьте проверку этой инфопроции. 4 часа назад, liner сказал: Как проверить, что симуляционный НПС получил хит (неважно от кого), и этот НПС находится в рестрикторе? Для симулянтов все сложнее, чем для НПС с логикой. Это придется в скрипте xr_motivator.script в функции колбека на хит НПС motivator_binder:hit_callback проверять что данный конкретный НПС находиться в указанном рестрикторе. function motivator_binder:hit_callback(obj, amount, local_direction, who, bone_index) local zone = db.zone_by_name["имя_рестриктора"] if zone and utils.npc_in_zone(obj, zone) then ...... end end Изменено 15 апреля, 2021 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 428 Опубликовано 15 апреля, 2021 Как проверить кол-во НПС, находящихся в смарте (живых нпс)? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Kalambur 25 Опубликовано 15 апреля, 2021 (изменено) Подскажите пожалуйста, что дописать предмету чтобы после использование один раз, он пропадал !? Предмет в категории Треш...на основе веревки сделан! Изменено 16 апреля, 2021 пользователем Kalambur Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты