Overf1rst 1 496 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 18 9 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
WolfHeart 919 Опубликовано 31 марта, 2022 (изменено) 10 часов назад, PavelStrelecky сказал: Привет всем, можно ли перенести локацию из stalker 2 2011 года на версию движка ЗП? Возможно ли это и как сделать? При желании все можно. ? В принципе, редактор имеет экспорт в формат .obj принимаемый 3D редакторами такими как Мах, Мая, да и Блендер наверняка тоже, а это значит, что потом можно будет экспортировать в форматe .object в CoP_SDK. Надо только разобраться с текстурами, а дальше все как для Сталкера. Изменено 31 марта, 2022 пользователем WolfHeart 1 AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb). Windows -10 PRO (х64) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Contentic 11 Опубликовано 1 апреля, 2022 Привет. Подскажите пожалуйста как в КПК в разделе энциклопедии в тексте добавить картинку? (например в энциклопедии есть справочник мутантов и у каждого мутанта есть небольшой текст и картинка с изображением) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Крим 790 Опубликовано 3 апреля, 2022 Мне нужна функция, которая наполняет определенный ящик определенным количеством еды. В оригинале есть такая функция, но подскажите, где её искать, пожалуйста. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 3 апреля, 2022 Крим Скрипт bind_stalker.script функция spawn_achivement_items. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
bsanek628 2 Опубликовано 3 апреля, 2022 (изменено) Господа. как на Затоне вернуть голосовое предупреждение о выбросе от Бороды? "Ищите глубокую нору..." Первый выброс в начале игры только говорит, а дальше только пиликает оповещение. Янов и Припять Гаваец и Ковальский говорят, а вот Борода не хочет. Не порядок. Изменено 3 апреля, 2022 пользователем bsanek628 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 3 апреля, 2022 bsanek628 Пробуйте смотреть в скрипт surge_manager.script в сторону воспроизведения фразы zat_a2_stalker_barmen_surge_phase_2. Код из оригинала: Спойлер if(level) then if(level.name()=="zaton") then xr_sound.set_sound_play(db.actor:id(), "zat_a2_stalker_barmen_surge_phase_2") elseif(level.name()=="jupiter") then xr_sound.set_sound_play(db.actor:id(), "jup_a6_stalker_medik_phase_2") elseif not has_alife_info("pri_b305_fifth_cam_end") then xr_sound.set_sound_play(db.actor:id(), "pri_a17_kovalsky_surge_phase_2") end end Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Contentic 11 Опубликовано 4 апреля, 2022 Приветствую, помогите мне разобраться с несколькими вопросами) 1. Подскажите возможно ли сделать проверку на убийство нпс или мутантов с определённого оружия, например с ПМ? Если это возможно, то помогите написать скрипт этой проверки? 2. Подскажите как делать логику объекту, например хочу чтобы при наведении прицела на предмет (радиоприемник) появлялась надпись включить радио и потом выключить. Пытался сделать логику, но ничего не получилось, при наведении ничего не появляется. Буду рад если поможете. 3. Подскажите как временно очистить от нпс и мутантов определённую точку с определенным радиусом? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 4 апреля, 2022 (изменено) 2 часа назад, Contentic сказал: Приветствую, помогите мне разобраться с несколькими вопросами) 1. Подскажите возможно ли сделать проверку на убийство нпс или мутантов с определённого оружия, например с ПМ? Если это возможно, то помогите написать скрипт этой проверки? 2. Подскажите как делать логику объекту, например хочу чтобы при наведении прицела на предмет (радиоприемник) появлялась надпись включить радио и потом выключить. Пытался сделать логику, но ничего не получилось, при наведении ничего не появляется. Буду рад если поможете. 3. Подскажите как временно очистить от нпс и мутантов определённую точку с определенным радиусом? 1. Используй эту функцию: function actor_active_weapon(actor, npc, p) local weapon_section = p and p[1] if weapon_section == nil then abort("Wrong parameters in function 'actor_active_weapon'") end local active_item = db.actor:active_item() return (active_item ~= nil) and active_item:section() == weapon_section end Юзай в логике хита или, собственно, death: {=actor_active_weapon(ид_оружия)} Но она проверяет, что это именно ГГ убил, остальных убийц отследить нельзя или я не знаю, как можно. 2. Работа с run_tutorial 3. Есть оригинальная функция =clear_smart_terrain(ид_смарта) Но она чистит все живые объекты в данном смарте, можно попробовать переделать для рестриктора. Есть такая функция: function clear_arena(actor, npc, p) local id, release_object, distance local arena_zone = db.zone_by_name[p[1]] for id = 1, 65535 do release_object = alife():object(id) if release_object and arena_zone then if arena_zone:inside(release_object.position) then if IsStalker(release_object) and not release_object:alive() then alife():release(release_object, true) elseif IsMonster(release_object) and not release_object:alive() then alife():release(release_object, true) end end end end end Она уже чистит трупы внутри заданного рестриктора. Можно совместить обе эти функции. Изменено 4 апреля, 2022 пользователем Neptun 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 4 апреля, 2022 (изменено) 10 часов назад, Contentic сказал: Подскажите возможно ли сделать проверку на убийство нпс или мутантов с определённого оружия, например с ПМ? Для этого нужно использовать колбэки на смерть НПС или мутантов. В которые движок передает того, кто нанес смертельный хит в качестве объекта (who). Для НПС это xr_motivator.script функция motivator_binder:death_callback Для мутантов bind_monster.script функция generic_object_binder:death_callback. В этих функциях нужно провести соответствующие проверки и выполнить необходимые действия: Спойлер if who:id() == db.actor:id() then -- проверка того, что убийца ГГ local active_item = db.actor:active_item() if (active_item ~= nil) and (active_item:section() == "wpn_pm") then -- проверка, что в руках ГГ находится ПМ -- выполнение необходимых действий end end 10 часов назад, Contentic сказал: Подскажите как делать логику объекту, например хочу чтобы при наведении прицела на предмет (радиоприемник) появлялась надпись включить радио и потом выключить. Нет ничего проще: Спойлер Приемник, который отключается ночью или вручную ГГ: [logic] active = ph_idle@radio_on [ph_idle@radio_on] on_info1 = {=dist_to_actor_le(25)} ph_idle@radio_stop %=play_sound(radio_music)% on_info2 = {!is_day} ph_idle@radio_night %=stop_sound% [ph_idle@radio_stop] tips = st_tip_device_off on_use = ph_idle@radio_off %=stop_sound% on_info1 = {=dist_to_actor_ge(25)} ph_idle@radio_on %=stop_sound% on_info2 = {!is_playing_sound()} ph_idle@radio_on on_info3 = {!is_day} ph_idle@radio_night %=stop_sound% [ph_idle@radio_off] tips = st_tip_device_on on_use = ph_idle@radio_stop %=play_sound(radio_music)% on_info = {!is_day} ph_idle@radio_night [ph_idle@radio_night] tips = st_tip_device_off on_info = {=is_day} ph_idle@radio_on Настройки объекта: Тип объекта в SDK: phisics\object Визуал: priemnik_gorizont Кастом дата: [collide] ignore_static ignore_small_objects ignore_animated_objects ignore_ragdoll Изменено 4 апреля, 2022 пользователем denis2000 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Contentic 11 Опубликовано 5 апреля, 2022 Neptun спасибо большое за информацию denis2000 спасибо большое за информацию Подскажите пожалуйста как называется партикл телепорта, который выглядит как телепорты на ЧАЭС 2 в Тенях Чернобыля? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 5 апреля, 2022 Contentic anomaly2\teleport_idle По хорошему спавнить нужно zone_teleport. 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 5 апреля, 2022 2 часа назад, Contentic сказал: Neptun спасибо большое за информацию denis2000 спасибо большое за информацию Подскажите пожалуйста как называется партикл телепорта, который выглядит как телепорты на ЧАЭС 2 в Тенях Чернобыля? Я бы уточнил, что телепорт именно КАК в ТЧ, то путь, который будешь писать при создании партикла, такой: anomaly2\effects\teleport_idle 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 6 апреля, 2022 Доброе утро. Встал такой вопрос. Возможно ли собрать локационный пак с двумя одинаковыми локациями? Например, Затон и Затон-2 Причем, Затон-2 копия Затона. Спавн ло копиях локаций предполагается разным. Движок и СДК поймут такой фокус? Или это напрасная трата времени? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Seraph 20 Опубликовано 6 апреля, 2022 Сергей Шубин привет. А в чём фокус-то? Геометрия может быть абсолютно той же самой хоть у десяти локаций. Это всего лишь набор полигонов. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Сергей Шубин 21 Опубликовано 6 апреля, 2022 4 минуты назад, Seraph сказал: А в чём фокус-то? Предложили идею для сценария. Сделать локацию, какой она может быть. Со множеством трупов, сгоревшей техникой. И такую же локацию с нормальным заселением. Это пока так на уровне - наметки и прикидки. Если бы речь шла об одноразовом случае, то было бы просто. Расставил бы в СДК, то что надо. Потом убрал. А как спавнить то, что надо в процессе игры? Возможно, несколько раз. С другой стороны, разрабы мода Связь Времен два Лиманска делать не стали. У них там ГГ попадает в параллельную реальность. Вот и возник вопрос. Даст ли СДК собрать локпак с двумя одинаковыми локами, поймет ли этот фокус движок игры. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 951 Опубликовано 6 апреля, 2022 Сергей Шубин Разные имена локаций - это разные локации для SDK/движка и абсолютно по барабану насколько разные или одинаковые там геометрия, спавн, АИ-сетка... 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Pepel 80 Опубликовано 6 апреля, 2022 Сергей Шубин задай себе все те же вопросы но представь что сделал две разные локации. По сути у тебя и будут они разными, только ты как сценарист это поймешь и игра. Дополнено 1 минуту спустя Сергей Шубин где-то в логике был такой прием от разработчиков, но с нпс и пушками - два разных объекта игрок воспринимал как 1. Дополнено 2 минуты спустя Точнее - копии. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Seraph 20 Опубликовано 6 апреля, 2022 Сергей Шубин к вышесказанному добавлю, что не стоит забывать о том, что на другую локацию игрока не перебросит моментально, произойдёт загрузка игры. Для каких-то коротких сценок с небольшим куском уровня лучше располагать дубликат на той локации, где эта сцена вызывается, но где-нибудь в недоступном месте. Хотя в таком случае могут проблемы с сеткой возникнуть, но она нужна только если в сценах планируется задействовать НПС. 1 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Contentic 11 Опубликовано 6 апреля, 2022 denis2000 спасибо большое вам Neptun спасибо большое вам Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Seraph 20 Опубликовано 6 апреля, 2022 (изменено) Помнится, здесь это уже обсуждалось, но найти никак не могу. Существует ли возможность переключать anm-файлы не по времени их окончания, а по событиям (получение инфопоршня, например)? Вернее не так: существует ли возможность переключать их не костыльно (удалил - включил новый, что ведёт сначала к переключению на вид из глаз ГГ на долю секунды), а плавно? На горьком опыте убедился, что если сцена строится на логике, а не является комплексной анимацией, как в оригинале, то тайминг событий у НПС постоянно гуляет, в результате чего камера регулярно меняет положение не тогда, когда требуется. Занимался ли кто-нибудь этим вопросом? Хочется сделать по-уму, но осваивать ради такого 3D-анимацию кажется не очень рациональным решением. Изменено 6 апреля, 2022 пользователем Seraph Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 7 апреля, 2022 8 часов назад, Seraph сказал: существует ли возможность переключать их не костыльно (удалил - включил новый, что ведёт сначала к переключению на вид из глаз ГГ на долю секунды), а плавно? Для этого существуют сеты: cam_effector_sets.script Можно группировать анимации, создавать условия появления, выстраивать порядок воспроизведения. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Boomer 463 Опубликовано 7 апреля, 2022 (изменено) Как сделать функцию, чтобы у актера забрали все имеющиеся предметы в инвентаре? Изменено 7 апреля, 2022 пользователем Boomer Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Seraph 20 Опубликовано 7 апреля, 2022 Neptun Не совсем то. Да, там камеры плавно переключаются друг за другом, но условия отвечают не за включение/выключение, а за появление конкретной камеры в принципе (как в катсцене после путепровода, где выполняется проверка, кто из напарников жив). Очень полезная штука, но отвязаться от таймингов даже с ней не вышло. Если я чего-то не заметил, буду благодарен за пример с разбором. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Doctor_Oz 29 Опубликовано 7 апреля, 2022 Добрый день/вечер/утро тем у кого оно доброе, у кого нет тому печенек... У меня возник вопрос по поводу данной функции: function deneg_hren(actor, npc) local actor = db.actor all_money_actor = actor:money() if actor and npc then dialogs.relocate_money(npc, all_money_actor, "out") end end Вопрос заключается в следующем, а возможно ли данную ф-ию поставить на апдейт и чревато ли последствиями? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Neptun 884 Опубликовано 7 апреля, 2022 3 часа назад, Boomer сказал: Как сделать функцию, чтобы у актера забрали все имеющиеся предметы в инвентаре? 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" then db.actor:transfer_item(item, inv_box_1) end end inv_box_1 = get_story_object (p[1]) actor:inventory_for_each(transfer_object_item) end Функция есть и в оригинальном скрипте, но там она закомментирована. Дополнено 2 минуты спустя Seraph а зачем, собственно, прерывать анимацию, чтобы всё равно переключить на другую анимацию? Просто любопытно. Делай анимации короткими, используй иные методы воспроизведения анимаций, которые можно прерывать в любой момент. Дополнено 8 минуты спустя 1 час назад, Doctor_Oz сказал: Вопрос заключается в следующем, а возможно ли данную ф-ию поставить на апдейт и чревато ли последствиями? А в чем препятствие поставить в апдейт и посмотреть за последствиями? Хотя функция довольно странная. Если ГГ и НПС делают что? Вероятно, должна быть проверка, что они вступили в диалог, потому что результат как раз говорит, что все бабки будут отданы этому НПС, но тут ещё надо добавить проверку, что у ГГ вообще есть деньги. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты