Overf1rst 1 510 Опубликовано 1 июля, 2020 Тема посвящена моддингу на платформе Зов Припяти. Правила темы: Здесь задают вопросы и получают на них ответы. Прежде чем задать вопрос, воспользуйтесь поиском, ответ на него, вероятно, уже есть. Если у вас произошёл вылет, проверьте лог и поищите информацию об ошибке в справочнике. Также будет полезно посмотреть справочник ошибок. Если у Вас вылетает какой-то мод, то следует написать в тему этого мода. Грамотно оформляйте свой пост, чётко доносите суть своего вопроса (ответа). Благодарность выражаем в личке или же ставим реакцию. Посты с благодарностями в теме будут удаляться. 19 10 1 1 2 6 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
green_smile 23 Опубликовано 8 ноября, 2023 39 минут назад, Toplol4ik сказал: @green_smileНужно в SDK загрузить нужную вам локацию, найти там актёра и переместить его Спс. А какой именно файл нужно открыть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 42 Опубликовано 8 ноября, 2023 Помогите, вылет при загрузке локации, как я понял он связан с логикой. Спойлер FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ...k.e.r. call of pripyat\gamedata\scripts\utils.script:469: bad argument #1 to 'gsub' (string expected, got nil) stack trace: Спойлер Спойлер [logic@escape_exclusive_village_smart_medic] active = animpoint@escape_exclusive_village_smart_medic suitable = {=check_npc_name(escape_exclusive_village_smart_medic)}true prior = 94 level_spot = medic trade = misc\trade\trade_jup_b202_stalker_medic.ltx [animpoint@escape_exclusive_village_smart_medic] use_camp = false meet = meet@escape_exclusive_village_smart_medic combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = true corpse_detection_enabled = false cover_name = escape_exclusive_village_smart_medic_animpoint [meet@escape_exclusive_village_smart_medic] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Спойлер [logic@escape_exclusive_village_smart_tech] active = walker@escape_exclusive_village_smart_tech suitable = {=check_npc_name(escape_exclusive_village_smart_tech)}true prior = 93 level_spot = mechanic [walker@escape_exclusive_village_smart_tech] path_walk = tech_walk path_look = tech_look meet = meet@escape_exclusive_village_smart_tech combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@escape_exclusive_village_smart_tech] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Спойлер [logic@escape_exclusive_village_smart_torg] active = walker@escape_exclusive_village_smart_medic suitable = {=check_npc_name(escape_exclusive_village_smart_torg)}true prior = 91 level_spot = trader [walker@escape_exclusive_village_smart_torg] path_walk = torg_walk path_look = torg_look meet = meet@escape_exclusive_village_smart_torg_hello combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@escape_exclusive_village_smart_torg_hello] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Спойлер [logic@escape_exclusive_village_smart_volk] active = walker@escape_exclusive_village_smart_volk suitable = {=check_npc_name(escape_exclusive_village_smart_volk)}true prior = 92 level_spot = quest_npc [walker@escape_exclusive_village_smart_volk] path_walk = volk_walk path_look = volk_look meet = meet@escape_exclusive_village_smart_volk combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false [meet@escape_exclusive_village_smart_volk] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Спойлер [logic@escape_exclusive_village_smart_pel] active = animpoint@escape_exclusive_village_smart_pel suitable = {=check_npc_name(escape_exclusive_village_smart_pel)}true prior = 90 [animpoint@escape_exclusive_village_smart_pel] use_camp = false meet = meet@escape_exclusive_village_smart_pel combat_ignore_cond = true combat_ignore_keep_when_attacked = true invulnerable = true gather_items_enabled = false help_wounded_enabled = false corpse_detection_enabled = false cover_name = escape_exclusive_village_smart_pel_animpoint [meet@escape_exclusive_village_smart_pel] close_anim = nil close_victim = nil far_anim = nil far_victim = nil close_distance = 0 far_distance = 0 use = {=actor_enemy} false, {=dist_to_actor_le(3)} true, false snd_on_use = {!dist_to_actor_le(3)} nil meet_on_talking = false Спойлер [smart_terrain];escape_exclusive_village_smart squad_id = 5 max_population = 1 arrive_dist = 50 [exclusive] escape_exclusive_village_smart_volk = escape\escape_exclusive_village_smart_volk.ltx escape_exclusive_village_smart_pel = escape\escape_exclusive_village_smart_pel.ltx scape_exclusive_village_smart_tech = escape\escape_exclusive_village_smart_tech.ltx escape_exclusive_village_smart_medic = escape\escape_exclusive_village_smart_medic.ltx escape_exclusive_village_smart_torg = escape\escape_exclusive_village_smart_torg.ltx Дополнено 1 минуту спустя green_smile Нажми File - Open и выбери нужную локацию, если нету, значит она не декомпилирована Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 9 ноября, 2023 Toplol4ik Еще раз прошу будьте внимательнее:escape_exclusive_village_smart_tech = escape\escape_exclusive_village_smart_tech.ltx 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 9 ноября, 2023 (изменено) Есть script_sound_моялока, зарегистрирован в файле script_sound. Все новые звуки прописаны в script_sound_моялока, но при входе в зону, где должен быть звук, получаю безлоговый вылет. Если я прописываю эти же звуки в обычном script_sound, то все работает нормально. В чем беда? list - прописан, #include - имеется, в самом файле локации [list_script_sound_моялока] - существует. Изменено 9 ноября, 2023 пользователем justrainy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 42 Опубликовано 9 ноября, 2023 Здраствуйте, создал отряд эксклюзивов и всё работает, однако остальные отряды перестали спавниться (до этого было всё нормально). Также эксклюзивы созданные через точки пути (way points) не спавнятся. В деревне только 2 нпс, а должно быть 13. Как исправить? Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Toplol4ik 42 Опубликовано 9 ноября, 2023 Исправил, неправильно прописал spawn_point в squad_descr Просто создаю свой мод... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 284 Опубликовано 10 ноября, 2023 FATAL ERROR [error]Expression : !m_error_code [error]Function : raii_guard::~raii_guard [error]File : D:\prog_repository\sources\trunk\xrServerEntities\script_storage.cpp [error]Line : 748 [error]Description : ... world\farthest edge\gamedata\scripts\xr_meet.script:630: attempt to index local 'meet' (a nil value) stack trace: Подскажите, как исправить этот вылет? Возникает при приближении к группе сталкеров. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 944 Опубликовано 10 ноября, 2023 Господа, я правильно понимаю, что в ЗП никак не получится получить спавн элемент по его имени из all.spawn? типа: Спойлер local a = alife():object("имя_из_all_spawn") Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 697 Опубликовано 10 ноября, 2023 Paracetamol , для того, чтобы получить в любой момент нужный объект, разрабами сталкера был придуман story_id. По нему всё и находится. Если у вас объект не имеет story_id, но его имя уникальное, то методом перебора объектов, можно получить его серверную часть. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 10 ноября, 2023 Как такое сообщение вывести не только на экран, но и в диалоге? Выдаю из диалога. function dog_attack(actor, npc) news_manager.send_tip(db.actor, "dog_attack", 0, "default", 18000) end Дополнено 6 минуты спустя И еще: эти приколы не работают в анимпойнтах? Почему-то нпс идет к смарт каверу, а не бежит def_state_standing = guard def_state_moving1 = run def_state_moving2 = run def_state_moving3 = run Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
makdm 697 Опубликовано 10 ноября, 2023 9 минут назад, justrainy сказал: эти приколы не работают в анимпойнтах? Не работают. Работают в схеме walker. 10 минут назад, justrainy сказал: Как такое сообщение вывести не только на экран, но и в диалоге? Для сообщения вне диалогового окна используется движковый метод - give_game_news Для того чтобы сообщение попало в диалоговое окно, используется движковый метод - give_talk_message2 Отсюда и пляшите. 1 Терпение... И все получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hoperise 210 Опубликовано 11 ноября, 2023 Доброго времени суток. Напомните, уважаемые, функцию проверки (=actor_has_item(...)) нескольки одинаковых предметов в файле таск менеджере в tm_... ( Для title =... Descr =... Target =...). К примеру, 3 аптечки. Так же можно ли добавить проверку состояния предмета, к примеру оружия, все тот же таск менеджер? Дабы обновлялся квест не только после подбора предмета, на и по его состоянию. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 11 ноября, 2023 (изменено) Hoperise actor_has_item_count - проверка нескольких одиниковых предметов. А вообще в скрипт xr_conditions.script вы можете добавить свою функцию с проверкой в том числе и состояния объекта (item:condition() > 0.7) justrainy Для анимпоинта есть параметр reach_movement. Изменено 11 ноября, 2023 пользователем denis2000 1 1 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
green_smile 23 Опубликовано 11 ноября, 2023 Как убрать сюжетные квесты полностью ? Точнее квесты про вертолеты и поход в Припять Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
baraholschik 26 Опубликовано 11 ноября, 2023 Знатоки, нужен ликбез по мутантам! Я конечно не COP ковыряю, а COM, но это не столь важно Вот есть файлы типа "m_имя мутанта.ltx, в них есть базовые секции для каждого вида мутантов, а ниже секции для подвидов. В базовой секции всегда есть параметр "health" равный целому числу (например 100), который вроде только для оффлайн-состояния. А вот параметр "maxhealthvalue", как я понял, означает фактическое здоровье монстра, он тоже равен целому числу (например 100), но этот параметр в базовой секции есть почему то не у всех мутантов В секциях для подвидов параметр "maxhealthvalue" может быть представлен и целым числом (например 1.0) и десятичной дробью (например 0.75) и скорее всего является коэффициентом к параметру "maxhealthvalue" из базовой секции. Но как быть, если в базовой секции этого параметра нет? К какой строчке применяется коэффициент? Есть монстры, у которых параметр "maxhealthvalue" отсутствует и в базовой секции и в дополнительных, но зато в каждой секции есть параметр "health". И как в такой ситуации узнать реальное здоровье монстра? Мне необходимо подправить здоровье у всех подвидов всех монстров, поэтому так подробно размусоливаю Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Skala 317 Опубликовано 12 ноября, 2023 (изменено) green_smile Набери в ютубе канал Sheva Stalker. Там плэйлист есть на эту тему. Так же через character_desc_имя локации удали сюжетные диалоги, а с помощью СДК удали документы квестовые Дополнено 5 минуты спустя Sikorskyi Расскажи что ты сделал, после чего стало вылетать Как сделать субтитры в кат-сцене? Как это например было в моде Лёд Изменено 12 ноября, 2023 пользователем Skala Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 12 ноября, 2023 Есть смарт со сквадом мутантов. Настройки смарта [smart_terrain] max_population = 1 def_restr = a2_dog_def_restr respawn_params = respawn@a2_dog respawn_radius = 50 [respawn@a2_dog] spawn_dogs [spawn_dogs] spawn_squads = simulation_dog spawn_num = 1 Для def_restr создан in рестриктор. Собаки не сидят в рестрикторе, одна всегда как-то далеко от смарта или вообще идет куда-то. Ну, и бегут за мной по всей локации Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 12 ноября, 2023 11 минут назад, justrainy сказал: Для def_restr создан in рестриктор. Собаки не сидят в рестрикторе Вот где вы видели такую конструкцию!? Почему бы не сделать по массе примеров из оригинала? Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 12 ноября, 2023 По какой массе примеров? Где у каждого мутанта своя логика? Напишу я логику этим собакам с out_restr, но когда отреспавнятся дефолтные собаки они уже не будут этой логике подчиняться. Так ведь? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 12 ноября, 2023 justrainy А, изобретаете значит свое. Вопросов не имею. Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 12 ноября, 2023 Цитата Вот где вы видели такую конструкцию! В оригинале. В массе примеров Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
denis2000 1 009 Опубликовано 12 ноября, 2023 (изменено) 46 минут назад, justrainy сказал: В оригинале. Достаточно одного конкретного примера, а не пространного заявления "их там есть". Изменено 12 ноября, 2023 пользователем denis2000 Путь во мгле. Связь времен."Он ловко выхватил из-под себя табуретку и очень метко и сильно бросил ее в докладчика..." (Чугунный всадник) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sikorskyi 284 Опубликовано 13 ноября, 2023 В 12.11.2023 в 13:30, Skala сказал: Расскажи что ты сделал, после чего стало вылетать Этот вылет на постоянной основе присутствует в моде "Farthest Edge". Примерно после прохождения половины мода становиться невозможно приблизится к деревне новичков. Видимо у какого-то НПС ошибка в диалогах. Потом эта ошибка пропадает, видимо вместе с самим НПС. Так что мод вполне проходим. Но ошибка, конечно, раздражает. А мод, кстати, классный! Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Paracetamol 944 Опубликовано 13 ноября, 2023 Подскажите, как можно перенести предмет из слота для детекторов в рюкзак? (Чтобы слот стал свободен) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
justrainy 84 Опубликовано 13 ноября, 2023 (изменено) stack traceback: E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:410: in function 'load_jobs' E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:160: in function <E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\smart_terrain.script:142> [error] Line : 638 [error] Description : E:\S.T.A.L.K.E.R.CoP\gamedata\scripts\gulag_general.script:792: invalid level sequence near '"' Логика монстра: [logic@lvl_a2_dog_1] suitable = {=is_monster_dog} true prior = 70 monster_job = true active = mob_home@1 [mob_home@1] path_home = lvl_a2_dog_home_1 home_min_radius = 10 home_max_radius = 18 aggressive = true Пробовал path_home = home_1, так как lvl_a2_dog - название смарта. Изначально было просто home_1. Вылет остался. Пробовал вместо path_home ставить gulag_point = true. Вылет остался. До этого в suitable было =target_squad_name, вылета не было, но монстр логике не подчинялся. Изменено 13 ноября, 2023 пользователем justrainy Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты